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

Compare with Current View Page History

« Previous Version 5 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.

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
  • 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 ?
  • No labels