You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2017/06/14 08:06:32 UTC
[17/21] james-project git commit: JAMES-1789 Add information about
packaging
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 <bt...@linagora.com>
Authored: Sat Jun 10 11:32:08 2017 +0700
Committer: benwa <bt...@linagora.com>
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org