This is an experimental implementation of a BundlePersistenceManager and DataStore using an IMAP email server. Bundles are stored as individual messages. The node hiearchy is represented as the structure of an threaded email conversation. That is, the parent node pointer of a bundle is reflected in an email as a In-Reply-To header. The ImapPersistenceManager is not transactional! If an error occurs while committing changes the workspace may become inconsistent and unreadable! The ImapDataStore distributes a DataRecord over multiple messages. The default 'block size' is 1 MB. Both ImapPersistenceManager and ImapDataStore support the following parameters: - url (e.g. imap://localhost/) -> mandatory - username -> mandatory - password -> mandatory - useSsl -> defaults to false - useTls -> defaults to false ImapPersistenceManager also supports the following parameters: - bundleFolderName -> defaults to 'bundles' - nodeReferencesFolderName -> defaults to 'nodeReferences' ImapDataStore also supports the following parameter: - dataStoreFolderName -> defaults to 'dataStore' The methods related to data store garbage collection are not yet implemented. Tested with dovecot [1] on Fedora Core [2]. References: [1] http://www.dovecot.org/ [2] http://fedoraproject.org/