You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »

GREYProvide means to synchronize Magnolia-based forums with other means of communications, such as mailing-lists.GREY

  • Primary target: our own forum with our own nntp-archived mailing lists.

Observation (exporter) and scheduled task (importer)

By observing creation of new mgnl:message nodes, we should be able to push those to the mailing list.

By polling the mailing list archive, we should be able to add mgnl:message nodes to the forum.
Other suggestion: setup a mail server, get mails delivered to it and have a listener process those mails. (probably could be done with maillets

When sending a message to the mailing-list, we should add custom headers, so that we can recognize threads.
Mail clients, for example, should keep those headers when replying (to be validated), and thus match mail-threads with forum-threads.

When fetching new messages from the list, we check if our custom headers are there. If they are, we add the message to an existing thread. If not, we create a new thread.

New mgnl:message nodes should only be sent to the mailing-list if they have not been created by the importer(mail-poller), i.e if they do not originate from the mailing-list. To allow so, the importer will probably need to set a custom property on mgnl:message nodes.

Proposed mail headers

  • X-Magnolia-Forum-ThreadID: the UUID of the thread
  • X-Magnolia-Forum-ServerID: a unique identifier to make sure we're pushing data to/from the correct Magnolia instance ?
    • how to generate such a server id? (Jira has such an id for example, when registering a license)

Configuration

  • One forum <-> one list
    • nntp host, credentials etc
    • our mailing lists nntp-group-names are in the form of com.magnolia-cms.test1-list
  • Ignore certain email senders (typically Jira or Hudson)

Libs

I've had some reasonable success at using Kerio's NNTP with commons-net: http://commons.apache.org/net/
Still looking for alternatives as commons-net's api isn't superb, and has some scary longstanding issues: https://issues.apache.org/jira/browse/NET-298 https://issues.apache.org/jira/browse/NET-276

Open questions

  • Can we post directly to nntp with Kerio ?
  • filter forum markup ? (probably not, especially if we use markdown)
  • filter email signatures and quotes (some regex work should help, but what do we do with inlined quotes?)
  • No labels