IMAP-370 Document capabilities on mailboxes + add cassandra page
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/2782a955 Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/2782a955 Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/2782a955 Branch: refs/heads/master Commit: 2782a9551dd8e8c0a0523b447542af33348832e6 Parents: 6ffe855 Author: Benoit Tellier <[email protected]> Authored: Fri Feb 26 14:09:52 2016 +0700 Committer: Benoit Tellier <[email protected]> Committed: Fri Mar 4 19:35:24 2016 +0700 ---------------------------------------------------------------------- mailbox/src/site/site.xml | 2 +- mailbox/src/site/xdoc/index.xml | 8 +++++ mailbox/src/site/xdoc/mailbox-api.xml | 10 +++++- mailbox/src/site/xdoc/mailbox-cassandra.xml | 40 ++++++++++++++++++++++++ mailbox/src/site/xdoc/mailbox-guice.xml | 33 ------------------- mailbox/src/site/xdoc/mailbox-hbase.xml | 11 ++++--- mailbox/src/site/xdoc/mailbox-jcr.xml | 1 + mailbox/src/site/xdoc/mailbox-jpa.xml | 3 +- mailbox/src/site/xdoc/mailbox-maildir.xml | 3 +- mailbox/src/site/xdoc/mailbox-memory.xml | 1 + mailbox/src/site/xdoc/mailbox-spring.xml | 2 +- mailbox/src/site/xdoc/mailbox-store.xml | 6 ++-- 12 files changed, 74 insertions(+), 46 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/2782a955/mailbox/src/site/site.xml ---------------------------------------------------------------------- diff --git a/mailbox/src/site/site.xml b/mailbox/src/site/site.xml index 0ab1cd4..ca68afe 100644 --- a/mailbox/src/site/site.xml +++ b/mailbox/src/site/site.xml @@ -45,6 +45,7 @@ </menu> <menu name="Implementations"> <item name="Mailbox Memory" href="/mailbox-memory.html" /> + <item name="Mailbox Cassandra" href="/mailbox-cassandra.html" /> <item name="Mailbox Maildir" href="/mailbox-maildir.html" /> <item name="Mailbox JPA" href="/mailbox-jpa.html" /> <item name="Mailbox JCR" href="/mailbox-jcr.html" /> @@ -52,7 +53,6 @@ </menu> <menu name="Wiring"> <item name="Spring" href="/mailbox-spring.html" /> - <item name="Guice" href="/mailbox-guice.html" /> </menu> <menu name="References"> http://git-wip-us.apache.org/repos/asf/james-project/blob/2782a955/mailbox/src/site/xdoc/index.xml ---------------------------------------------------------------------- diff --git a/mailbox/src/site/xdoc/index.xml b/mailbox/src/site/xdoc/index.xml index 3abe9bc..f91c206 100644 --- a/mailbox/src/site/xdoc/index.xml +++ b/mailbox/src/site/xdoc/index.xml @@ -46,6 +46,14 @@ <p>You can <a href="http://james.apache.org/download.cgi">download</a> current 0.4 release. The <a href="apidocs/">API</a> as the schemas for the different implementations are susceptible to evolve. </p> + <ul>Here are the different implementations of the mailbox we propose : + <li><a href="mailbox-memory.html">Memory</a> for testing purposes</li> + <li><a href="mailbox-cassandra.html">Cassandra</a></li> + <li><a href="mailbox-maildir.html">Maildir</a></li> + <li><a href="mailbox-jpa.html">JPA</a> </li> + <li><a href="mailbox-jcr.html">JCR</a> </li> + <li><a href="mailbox-hbase.html">HBase</a>)</li> + </ul> </section> <section name="Apache James Mailbox in Server"> http://git-wip-us.apache.org/repos/asf/james-project/blob/2782a955/mailbox/src/site/xdoc/mailbox-api.xml ---------------------------------------------------------------------- diff --git a/mailbox/src/site/xdoc/mailbox-api.xml b/mailbox/src/site/xdoc/mailbox-api.xml index f80f326..a0084ce 100644 --- a/mailbox/src/site/xdoc/mailbox-api.xml +++ b/mailbox/src/site/xdoc/mailbox-api.xml @@ -49,7 +49,15 @@ <subsection name="Mailbox Manager"> <p>The Mailbox Manager is responsible for session creation, operations on mailbox (create, delete, search) - and to return a Message Manager. It also allows to copy and list messages.</p> + and to return a Message Manager. It also allows to copy and list messages. + </p> + + <ul> + Mailbox manager capabilities represents which operations a mailbox manager is able to support. For now the list is : + <li>Basic: supports all basic operations</li> + <li>Move: implements the move capability</li> + </ul> + <!-- Image is no more in line with trunk <p><img src="images/uml/org-apache-james-mailbox-api-mailboxmanager.png"/></p> http://git-wip-us.apache.org/repos/asf/james-project/blob/2782a955/mailbox/src/site/xdoc/mailbox-cassandra.xml ---------------------------------------------------------------------- diff --git a/mailbox/src/site/xdoc/mailbox-cassandra.xml b/mailbox/src/site/xdoc/mailbox-cassandra.xml new file mode 100644 index 0000000..66a1913 --- /dev/null +++ b/mailbox/src/site/xdoc/mailbox-cassandra.xml @@ -0,0 +1,40 @@ +<?xml version="1.0"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<document> + + <properties> + <title>Mailbox Cassandra</title> + </properties> + + <body> + + <section name="Mailbox Cassandra"> + <p>This module provides a mailbox implementation for persisting mailboxes (messages, and subscriptions) in a Cassandra cluster.</p> + <p>It supports the Basic and Move capabilities.</p> + </section> + + <section name="Overview"> + <p>The Cassandra implementation comes with a CassandraMailboxManager and a CassandraMessageManager for persisting users mailboxes.</p> + <p>This implementation also have a CurrentQuotaManager and a MaxQuotaManager, for storing users quotas in a Cassandra cluster.</p> + </section> + + </body> + +</document> http://git-wip-us.apache.org/repos/asf/james-project/blob/2782a955/mailbox/src/site/xdoc/mailbox-guice.xml ---------------------------------------------------------------------- diff --git a/mailbox/src/site/xdoc/mailbox-guice.xml b/mailbox/src/site/xdoc/mailbox-guice.xml deleted file mode 100644 index 6abdf12..0000000 --- a/mailbox/src/site/xdoc/mailbox-guice.xml +++ /dev/null @@ -1,33 +0,0 @@ -<?xml version="1.0"?> -<!-- - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. ---> -<document> - - <properties> - <title>Mailbox Guice</title> - </properties> - -<body> - - <section name="Mailbox Guice Responsability"> - </section> - -</body> - -</document> http://git-wip-us.apache.org/repos/asf/james-project/blob/2782a955/mailbox/src/site/xdoc/mailbox-hbase.xml ---------------------------------------------------------------------- diff --git a/mailbox/src/site/xdoc/mailbox-hbase.xml b/mailbox/src/site/xdoc/mailbox-hbase.xml index 17e8271..84681ea 100644 --- a/mailbox/src/site/xdoc/mailbox-hbase.xml +++ b/mailbox/src/site/xdoc/mailbox-hbase.xml @@ -26,7 +26,8 @@ <body> <section name="Mailbox HBase Responsibility"> - This module provides a mailbox implementation for peristing mailboxes (messages, and subscriptions) in a HBase cluster. + <p>This module provides a mailbox implementation for persisting mailboxes (messages, and subscriptions) in a HBase cluster.</p> + <p>It only supports the Basic capability.</p> </section> <section name="Overview"> @@ -68,8 +69,8 @@ </ul> </subsection> <subsection name="Misc"> - <p>Message bodyes (more importantly big attachements) sent to many users are stored many times. There is no space sharing yet.</p> - <p>Message data and mssage meta-data (flags and properties) are stored in different column families + <p>Message bodies (more importantly big attachements) sent to many users are stored many times. There is no space sharing yet.</p> + <p>Message data and message meta-data (flags and properties) are stored in different column families so the column family optimization options can apply. Keep in mind that message data does not change, while meta-data does change. </p> </subsection> @@ -83,7 +84,7 @@ </section> <section name="Mailbox HBase Classes"> - <p>This is a onverview of the most important classes in the implementation. </p> + <p>This is a overview of the most important classes in the implementation. </p> <subsection name="HBaseMailboxManager"> <p> <strong>HBaseMailboxManager</strong> extends the @@ -105,7 +106,7 @@ <p>Message bodies can have varying sizes. Some have attachements of up to 25Mb, some even greater. There are practical limits to the size of a HBase column (see <a href="http://hbase.apache.org/book.html#supported.datatypes">http://hbase.apache.org/book.html#supported.datatypes</a>). - To adress this issue, the implementation splits the message into smaller chunks and saves each chunk into a separate column. + To address this issue, the implementation splits the message into smaller chunks and saves each chunk into a separate column. The columns have increasing integer names starting with 1 and there can be at most Long.MAX_VALUE chunks. </p> <p> http://git-wip-us.apache.org/repos/asf/james-project/blob/2782a955/mailbox/src/site/xdoc/mailbox-jcr.xml ---------------------------------------------------------------------- diff --git a/mailbox/src/site/xdoc/mailbox-jcr.xml b/mailbox/src/site/xdoc/mailbox-jcr.xml index e2e4f12..3b5691a 100644 --- a/mailbox/src/site/xdoc/mailbox-jcr.xml +++ b/mailbox/src/site/xdoc/mailbox-jcr.xml @@ -30,6 +30,7 @@ <p>The default JCR provider used is <a hfre="http://jackrabbit.apache.org/">Apache Jackrabbit</a>. </p> + <p>It only supports the Basic capability.</p> </section> <!-- <section name="Installation"> http://git-wip-us.apache.org/repos/asf/james-project/blob/2782a955/mailbox/src/site/xdoc/mailbox-jpa.xml ---------------------------------------------------------------------- diff --git a/mailbox/src/site/xdoc/mailbox-jpa.xml b/mailbox/src/site/xdoc/mailbox-jpa.xml index 3b8f1f5..7f3dcf9 100644 --- a/mailbox/src/site/xdoc/mailbox-jpa.xml +++ b/mailbox/src/site/xdoc/mailbox-jpa.xml @@ -35,10 +35,11 @@ but you can roll your own by extending JPAMailboxManager and JPAMessageManager in the same way as OpenJPAMailboxManager and OpenJPAMessageManager do. </p> + <p>It only supports the Basic capability.</p> </section> <section name="Overview"> - <p>The JPA implementation uses Java Persistenca API Annotations to map Java objects to data base tables. + <p>The JPA implementation uses Java Persistence API Annotations to map Java objects to data base tables. The current implementation also supports features such as storing messages in an encrypted database and provide on the fly encryption/decryption. </p> http://git-wip-us.apache.org/repos/asf/james-project/blob/2782a955/mailbox/src/site/xdoc/mailbox-maildir.xml ---------------------------------------------------------------------- diff --git a/mailbox/src/site/xdoc/mailbox-maildir.xml b/mailbox/src/site/xdoc/mailbox-maildir.xml index fd1ac47..9ce6932 100644 --- a/mailbox/src/site/xdoc/mailbox-maildir.xml +++ b/mailbox/src/site/xdoc/mailbox-maildir.xml @@ -26,7 +26,8 @@ <body> <section name="Mailbox Maildir Responsibility"> - <p>This implementation stores messages using the popular <a href="http://en.wikipedia.org/wiki/Maildir">Maildir</a> format.</p> + <p>This implementation stores messages using the popular <a href="http://en.wikipedia.org/wiki/Maildir">Maildir</a> format.</p> + <p>It only supports the Basic capability. This implementation do not support namespaces.</p> </section> <!-- <section name="Mailbox Maildir Classes"> http://git-wip-us.apache.org/repos/asf/james-project/blob/2782a955/mailbox/src/site/xdoc/mailbox-memory.xml ---------------------------------------------------------------------- diff --git a/mailbox/src/site/xdoc/mailbox-memory.xml b/mailbox/src/site/xdoc/mailbox-memory.xml index ce55ec0..9ae4d06 100644 --- a/mailbox/src/site/xdoc/mailbox-memory.xml +++ b/mailbox/src/site/xdoc/mailbox-memory.xml @@ -27,6 +27,7 @@ <section name="Mailbox Memory Responsibility"> <p>Provides an in-memory mail store.</p> + <p>It only supports the Basic capability.</p> </section> <!-- <section name="Mailbox Memory Classes"> http://git-wip-us.apache.org/repos/asf/james-project/blob/2782a955/mailbox/src/site/xdoc/mailbox-spring.xml ---------------------------------------------------------------------- diff --git a/mailbox/src/site/xdoc/mailbox-spring.xml b/mailbox/src/site/xdoc/mailbox-spring.xml index f6a2a3b..5d18494 100644 --- a/mailbox/src/site/xdoc/mailbox-spring.xml +++ b/mailbox/src/site/xdoc/mailbox-spring.xml @@ -25,7 +25,7 @@ <body> - <section name="Mailbox Spring Responsability"> + <section name="Mailbox Spring Responsibility"> <p>The Mailbox Spring module is designed to test the loading of mailbox implementations. </p> </section> http://git-wip-us.apache.org/repos/asf/james-project/blob/2782a955/mailbox/src/site/xdoc/mailbox-store.xml ---------------------------------------------------------------------- diff --git a/mailbox/src/site/xdoc/mailbox-store.xml b/mailbox/src/site/xdoc/mailbox-store.xml index 3c84016..c8d882f 100644 --- a/mailbox/src/site/xdoc/mailbox-store.xml +++ b/mailbox/src/site/xdoc/mailbox-store.xml @@ -44,7 +44,7 @@ Image is no more in line with trunk <subsection name="Store Mailbox Manager"> <p>All public and protected methods that can be used by a Mailbox Manager implementations.</p> - <p>You need to instanciate the StoreMailboxManager with a mailboxSessionMapperFactory, + <p>You need to instantiate the StoreMailboxManager with a mailboxSessionMapperFactory, an authenticator, a uidProvider and a mailboxPathlocker.</p> <!-- Image is no more in line with trunk @@ -54,7 +54,7 @@ Image is no more in line with trunk <subsection name="Store Message Manager"> <p>All public and protected methods that can be used by a Message Manager implementations.</p> - <p>You need to instanciate the StoreMessageManager with a messageSessionMapperFactory, + <p>You need to instantiate the StoreMessageManager with a messageSessionMapperFactory, a uidProvider, a mailboxEventDispatcher and a mailbox.</p> <!-- Image is no more in line with trunk @@ -64,7 +64,7 @@ Image is no more in line with trunk <subsection name="Store Subscription Manager"> <p>All public and protected methods that can be used by a Subscription Manager implementations.</p> - <p>You need to instanciate the StoreSubscriptionManager with a subscriptionSessionMapperFactory.</p> + <p>You need to instantiate the StoreSubscriptionManager with a subscriptionSessionMapperFactory.</p> <!-- Image is no more in line with trunk <p><img src="images/uml/org-apache-james-mailbox-store-subscriptionmanager.png"/></p> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
