Hi,

A feature that is missing in James is the ability to export a complete mailbox of a user.

We are going to implement it, using ZIP as an archive format with some specific metadatas such as flags, uids. Once the archive is generated, we had to find a way to warn the admin (or the user) about the ability to download this archive. So we conceived the following workflow - An administrator generate an archive through the web admin API[1]. The result of this operation is a task. - This tasks generate a ZIP from the mailboxes and messages of the user, and store it so that it can be downloaded. - Once the task is finished, a mail is sent to the administrator (or the user) to tell him the archive is ready to download At the start and at the end of this process, an event will be fired to make this process easily customizable.

This brings some security concerns, as the archive will contain sensitive information, and so share its direct link by mail does not seem a very good idea (and we don't handle user authentication on webadmin for now).

So we chose to store the archive on an external service. For this first implementation we chose LinShare[2], which is a FOSS software specialized in file sharing. Of course we'll welcome any contribution to an other implementation, and we'll probably develop some other ourselves.

As you can expect we'll also implement restore to restore an archive to an (empty) mailbox. Here the process is simpler: - An administrator uploads an archive on a specific endpoint (parameter: mailbox)
- If the mailbox is empty, the archive is restored.

The mailbox could be full in a future, allowing some partial restoration.

Any thoughts / comments?

Regards,
Raphaƫl Ouazana.

[1] https://james.apache.org/server/manage-webadmin.html
[2] http://www.linshare.org/en/

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to