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