JAMES-1789 Add information about packaging
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/b1a812eb Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/b1a812eb Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/b1a812eb Branch: refs/heads/master Commit: b1a812eb0893a55dd3a01ffca5296342a637844b Parents: 4cbed35 Author: benwa <[email protected]> Authored: Sat Jun 10 11:32:08 2017 +0700 Committer: benwa <[email protected]> Committed: Wed Jun 14 15:01:49 2017 +0700 ---------------------------------------------------------------------- src/site/site.xml | 13 +- src/site/xdoc/server/packaging.xml | 202 ++++++++++++++++++++++++++++++++ 2 files changed, 209 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/james-project/blob/b1a812eb/src/site/site.xml ---------------------------------------------------------------------- diff --git a/src/site/site.xml b/src/site/site.xml index aca55d8..e523974 100644 --- a/src/site/site.xml +++ b/src/site/site.xml @@ -113,8 +113,9 @@ <item name="Performance" href="/server/feature-performance.html" /> <item name="Security" href="/server/feature-security.html" /> </item> - <item name="2. Install James" href="/server/install.html" /> - <item name="3. Configure James" href="/server/config.html" collapse="true" > + <item name="2. Packaging" href="/server/packaging.html" /> + <item name="3. Install James" href="/server/install.html" /> + <item name="4. Configure James" href="/server/config.html" collapse="true" > <item name="System" href="/server/config-system.html" /> <item name="Domain List" href="/server/config-domainlist.html" /> <item name="Users" href="/server/config-users.html" /> @@ -136,21 +137,21 @@ <item name="Quota" href="/server/config-quota.html" /> <item name="Events" href="/server/config-events.html" /> </item> - <item name="4. Manage" href="/server/manage.html" collapse="true" > + <item name="5. Manage" href="/server/manage.html" collapse="true" > <item name="WebAdmin" href="/server/manage-webadmin.html" /> <item name="Command line" href="/server/manage-cli.html" /> <item name="Metrics" href="/server/metrics.html" /> </item> - <item name="5. Monitor" href="/server/monitor.html" collapse="true" > + <item name="6. Monitor" href="/server/monitor.html" collapse="true" > <item name="Logging" href="/server/monitor-logging.html" /> <item name="JMX" href="/server/monitor-jmx.html" /> <item name="Folders" href="/server/monitor-folders.html" /> </item> - <item name="6. Upgrade" href="/server/upgrade.html" collapse="true" > + <item name="7. Upgrade" href="/server/upgrade.html" collapse="true" > <item name="Upgrade from 2.3" href="/server/upgrade-2.3.html" /> <item name="Upgrade database" href="/server/upgrade-database.html" /> </item> - <item name="7. Developers Corner" href="/server/dev.html" collapse="true" > + <item name="8. Developers Corner" href="/server/dev.html" collapse="true" > <item name="Build from source" href="/server/dev-build.html" /> <item name="Database Schema" href="/server/dev-database-schema.html" /> <item name="Develop Extensions" href="/server/dev-extend.html" collapse="true" > http://git-wip-us.apache.org/repos/asf/james-project/blob/b1a812eb/src/site/xdoc/server/packaging.xml ---------------------------------------------------------------------- diff --git a/src/site/xdoc/server/packaging.xml b/src/site/xdoc/server/packaging.xml new file mode 100644 index 0000000..247e8ce --- /dev/null +++ b/src/site/xdoc/server/packaging.xml @@ -0,0 +1,202 @@ +<?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>Apache James Server 3 - Packaging</title> + </properties> + + <body> + + <section name="Available packaging options"> + <p>James components are assembled in various way, called packaging.</p> + + <ul>The packaging you choose will influence: + <li>Your java requirement</li> + <li>The protocol the mail server supports</li> + <li>The components you can use</li> + </ul> + + <p>Thus, one must carefully choose his packaging.</p> + + <ul>To help you doing this, here is a list of available packages: + <li><a href="https://github.com/apache/james-project/tree/master/server/app">Spring</a>: Allows you to + choose across various available implementations for each component. Requires more configuration effort.</li> + <li><a href="https://github.com/apache/james-project/tree/master/server/container/guice/cassandra-guice"> + Cassandra-guice</a>: Ships a James server storing emails in Cassandra and index them in ElasticSearch.</li> + <li><a href="https://github.com/apache/james-project/tree/master/server/container/guice/cassandra-ldap-guice"> + Cassandra-guice-ldap</a>: Ships a James server storing emails in Cassandra and index them in ElasticSearch. User are authenticated against a LDAP server.</li> + <li><a href="https://github.com/apache/james-project/tree/master/server/container/guice/jpa-guice"> + Jpa-Guice</a>: Ships a James server storing emails in a SQL database (derby by default) accessed with JPA and Lucene to index emails.</li> + <li><a href="https://github.com/apache/james-project/tree/master/server/container/guice/jpa-smtp"> + Jpa-Smtp</a>: A tiny SMTP server shiped without mailbox, using SQL database to store data, accessed by JPA.</li> + </ul> + + <p>Note: Especially using Guice, one can easily define new modules for existing James components, as well as + for third party code. Note that building your own combination of components will lead to an untested and unsupported server. + </p> + </section> + + <section name="Support matrix"> + <p> + <table> + <tr> + <th>Packaging</th> + <th>Spring</th> + <th>Cassandra-guice</th> + <th>Cassandra-ldap-guice</th> + <th>Jpa-guice</th> + <th>Jpa-smtp</th> + </tr> + <tr> + <td>IoC framework</td> + <td>Spring</td> + <td>Guice</td> + <td>Guice</td> + <td>Guice</td> + <td>Guice</td> + </tr> + <tr> + <td>Java version</td> + <td>Java 6</td> + <td>Java 8</td> + <td>Java 8</td> + <td>Java 8</td> + <td>Java 8</td> + </tr> + <tr> + <td>Docker image</td> + <td><a href="https://github.com/apache/james-project/tree/master/dockerfiles/run/spring">Available</a></td> + <td><a href="https://github.com/apache/james-project/tree/master/dockerfiles/run/guice/cassandra">Available</a></td> + <td><a href="https://github.com/apache/james-project/tree/master/dockerfilehttps://github.com/apache/james-project/tree/master/dockerfiles/run/guice/jpas/run/guice/cassandra-ldap">Available</a></td> + <td><a href="https://github.com/apache/james-project/tree/master/dockerfiles/run/guice/jpa">Available</a></td> + <td>None</td> + </tr> + <tr> + <td>Supports SMTP</td> + <td>Yes</td> + <td>Yes</td> + <td>Yes</td> + <td>Yes</td> + <td>Yes</td> + </tr> + <tr> + <td>Supports IMAP</td> + <td>Yes</td> + <td>Yes</td> + <td>Yes</td> + <td>Yes</td> + <td>No</td> + </tr> + <tr> + <td>Supports JMAP</td> + <td>No</td> + <td>Yes</td> + <td>Yes</td> + <td>No</td> + <td>No</td> + </tr> + <tr> + <td>Supports POP3</td> + <td>Yes</td> + <td>Yes</td> + <td>Yes</td> + <td>Yes</td> + <td>No</td> + </tr> + <tr> + <td>Supports FetchMail</td> + <td>Yes</td> + <td>No</td> + <td>No</td> + <td>No</td> + <td>No</td> + </tr> + <tr> + <td>Supports CLI</td> + <td>Yes</td> + <td>Yes</td> + <td>Yes</td> + <td>Yes</td> + <td>Yes</td> + </tr> + <tr> + <td>Supports WebAdmin</td> + <td>No</td> + <td>Yes</td> + <td>Yes</td> + <td>Yes</td> + <td>Yes</td> + </tr> + <tr> + <td>Supports Grafana metrics</td> + <td>No</td> + <td>Yes</td> + <td>Yes</td> + <td>No</td> + <td>No</td> + </tr> + <tr> + <td>Mailbox implementation</td> + <td>JPA/MailDir/JCR/Memory</td> + <td>Cassandra</td> + <td>Cassandra</td> + <td>JPA</td> + <td>JPA</td> + </tr> + <tr> + <td>Indexer implementation</td> + <td>Lucene/None</td> + <td>ElasticSearch</td> + <td>ElasticSearch</td> + <td>Lucene</td> + <td>None</td> + </tr> + <tr> + <td>Server data implementation</td> + <td>JPA/File/HBase/JCR</td> + <td>Cassandra</td> + <td>Cassandra</td> + <td>JPA</td> + <td>JPA</td> + </tr> + <tr> + <td>Mail queue implementation</td> + <td>ActiveMQ</td> + <td>ActiveMQ</td> + <td>ActiveMQ</td> + <td>ActiveMQ</td> + <td>ActiveMQ</td> + </tr> + <tr> + <td>Sieve</td> + <td>Experimental</td> + <td>Experimental</td> + <td>Experimental</td> + <td>Experimental</td> + <td>No</td> + </tr> + </table> + </p> + </section> + + </body> + +</document> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
