You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by el...@apache.org on 2020/02/27 13:27:46 UTC

[mina-site] branch master updated (9135191 -> 70dc851)

This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/mina-site.git.


    from 9135191  Merge pull request #1 from rlenferink/asf-yaml
     new 887c356  Fixed displaying of html characters
     new ecea7fa  Indentation fixes and code style improvements
     new 70dc851  Merge pull request #2 from rlenferink/site-fixes

The 8 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 layouts/shortcodes/html.html                       |  1 +
 source/asyncweb-project/__index.md                 |  2 +-
 source/asyncweb-project/contributors.md            |  2 +-
 source/contributors.md                             |  6 ++--
 .../ftpserver-project/configuration_listeners.md   | 10 +++---
 source/ftpserver-project/configuration_server.md   |  4 +--
 .../configuration_user_manager_db.md               | 22 ++++++------
 .../configuration_user_manager_file.md             |  2 +-
 source/ftpserver-project/contributors.md           |  2 +-
 source/ftpserver-project/ftplet.md                 | 20 +++++------
 source/ftpserver-project/managing_users.md         | 36 +++++++++++--------
 source/ftpserver-project/messages.md               |  4 +--
 source/mina-project/__index.md                     |  8 ++---
 source/mina-project/conferences.md                 |  2 +-
 source/mina-project/documentation.md               |  2 +-
 source/mina-project/downloads_2_0.md               | 21 +++++++-----
 source/mina-project/downloads_2_1.md               |  8 ++---
 source/mina-project/downloads_old.md               | 10 +++---
 source/mina-project/features.md                    |  3 +-
 source/mina-project/testimonials.md                |  8 ++---
 .../ch1-getting-started/ch1.3-features.md          |  2 +-
 .../ch2-basics/ch2.1-application-architecture.md   |  2 +-
 .../ch2-basics/ch2.2-sample-tcp-server.md          |  2 +-
 .../ch2-basics/ch2.3-sample-tcp-client.md          |  2 +-
 .../userguide/ch4-session/ch4-session.md           |  2 +-
 .../userguide/ch5-filters/ch5-filters.md           | 24 ++++++-------
 source/special-thanks.md                           |  4 +--
 source/sshd-project/contributors.md                |  6 ++--
 source/vysper-project/embed.md                     | 12 +++----
 source/vysper-project/service_discovery.md         |  6 ++--
 source/vysper-project/socks5.md                    |  2 +-
 source/vysper-project/standards_supported.md       | 40 +++++++++++-----------
 32 files changed, 143 insertions(+), 134 deletions(-)
 create mode 100644 layouts/shortcodes/html.html


[mina-site] 01/08: Initial commit

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mina-site.git

commit 7c5ce2bb8f8c8c9f974e0a31b122d29aca3c679d
Author: Roy Lenferink <le...@gmail.com>
AuthorDate: Mon Feb 24 11:34:50 2020 +0100

    Initial commit
---
 .gitignore | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..8a4b121
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+# Hugo generated
+/resources
+target
+
+# IntelliJ generated
+*.iml
+.idea
+.java-version


[mina-site] 05/08: Merge pull request #1 from rlenferink/asf-yaml

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mina-site.git

commit 91351913861b57368d90ad82c4105d25773dfdfa
Merge: 3df2939 687ec72
Author: Emmanuel Lécharny <el...@apache.org>
AuthorDate: Tue Feb 25 18:38:44 2020 +0100

    Merge pull request #1 from rlenferink/asf-yaml
    
    Added .asf.yaml to set repository metadata

 .asf.yaml | 7 +++++++
 1 file changed, 7 insertions(+)


[mina-site] 06/08: Fixed displaying of html characters

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mina-site.git

commit 887c35681545611c1620d2b1ffa1841e571099e9
Author: Roy Lenferink <le...@gmail.com>
AuthorDate: Thu Feb 27 13:50:48 2020 +0100

    Fixed displaying of html characters
---
 layouts/shortcodes/html.html                       |  1 +
 source/asyncweb-project/contributors.md            |  2 +-
 source/contributors.md                             |  6 ++--
 .../ftpserver-project/configuration_listeners.md   | 10 +++---
 source/ftpserver-project/configuration_server.md   |  4 +--
 .../configuration_user_manager_db.md               | 22 ++++++------
 .../configuration_user_manager_file.md             |  2 +-
 source/ftpserver-project/contributors.md           |  2 +-
 source/ftpserver-project/ftplet.md                 | 20 +++++------
 source/ftpserver-project/managing_users.md         | 36 +++++++++++--------
 source/ftpserver-project/messages.md               |  4 +--
 source/mina-project/__index.md                     |  8 ++---
 source/mina-project/conferences.md                 |  2 +-
 source/mina-project/documentation.md               |  2 +-
 source/mina-project/features.md                    |  3 +-
 source/mina-project/testimonials.md                |  8 ++---
 .../ch1-getting-started/ch1.3-features.md          |  2 +-
 .../ch2-basics/ch2.1-application-architecture.md   |  2 +-
 .../ch2-basics/ch2.2-sample-tcp-server.md          |  2 +-
 .../ch2-basics/ch2.3-sample-tcp-client.md          |  2 +-
 .../userguide/ch4-session/ch4-session.md           |  2 +-
 .../userguide/ch5-filters/ch5-filters.md           | 24 ++++++-------
 source/special-thanks.md                           |  4 +--
 source/sshd-project/contributors.md                |  6 ++--
 source/vysper-project/embed.md                     | 12 +++----
 source/vysper-project/service_discovery.md         |  6 ++--
 source/vysper-project/socks5.md                    |  2 +-
 source/vysper-project/standards_supported.md       | 40 +++++++++++-----------
 28 files changed, 120 insertions(+), 116 deletions(-)

diff --git a/layouts/shortcodes/html.html b/layouts/shortcodes/html.html
new file mode 100644
index 0000000..6755cc9
--- /dev/null
+++ b/layouts/shortcodes/html.html
@@ -0,0 +1 @@
+{{ $html := .Get 0 }}{{ safeHTML $html }}
\ No newline at end of file
diff --git a/source/asyncweb-project/contributors.md b/source/asyncweb-project/contributors.md
index df70358..88e9b48 100644
--- a/source/asyncweb-project/contributors.md
+++ b/source/asyncweb-project/contributors.md
@@ -12,7 +12,7 @@ The following is a list of developers with commit privileges that have directly
 * Jeff Genender
 * Mike Heath
 * Alex Karasulu
-* Emmanuel L&eacute;charny
+* Emmanuel L{{< html "&eacute;" >}}charny
 * Sangjin Lee
 * Trustin Lee
 * Rick McGuire
diff --git a/source/contributors.md b/source/contributors.md
index 69f52d6..bf9512a 100644
--- a/source/contributors.md
+++ b/source/contributors.md
@@ -6,9 +6,9 @@ title: Apache MINA - Contributors
 
 * Alex Karasulu (akarasulu)
 * [Ashish Paliwal](http://ashishpaliwal.com/blog) (apaliwal)
-* [Emmanuel L&eacute;charny](http://www.iktek.com) (elecharny)
+* [Emmanuel L{{< html "&eacute;" >}}charny](http://www.iktek.com) (elecharny)
 * Guillaume Nodet (gnodet)
-* Jean-Fran&ccedil;ois Maury (chairman) (jeffmaury)
+* Jean-Fran{{< html "&ccedil;" >}}ois Maury (chairman) (jeffmaury)
 * Jeff Genender (jgenender)
 * Jonathan Valliere (johnnyv)
 * [Julien Vermillard](http://people.apache.org/~jvermillard/) (jvermillard)
@@ -26,7 +26,7 @@ title: Apache MINA - Contributors
 * Lyor Goldstein (lgoldstein)
 * Michael Jakl (mjakl)
 * Mike Mahonay (foodmike)
-* Rapha&euml;l P. Barazzutti (rbarazzutti)
+* Rapha{{< html "&euml;" >}}l P. Barazzutti (rbarazzutti)
 * Richard McGuire (rickmcguire)
 * Sai Pullabhotla (sai)
 * Sangjin Lee (sjlee)
diff --git a/source/ftpserver-project/configuration_listeners.md b/source/ftpserver-project/configuration_listeners.md
index f06f45f..1e1a646 100644
--- a/source/ftpserver-project/configuration_listeners.md
+++ b/source/ftpserver-project/configuration_listeners.md
@@ -39,7 +39,7 @@ The listener shipped with FtpServer is called "nio-listener" since it is based J
 
 | Attribute | Description | Required | Default value |
 |---|---|---|---|
-| name | The listener name, if "default" it will override the settings on the default listener | Yes | &nbsp; |
+| name | The listener name, if "default" it will override the settings on the default listener | Yes | {{< html "&nbsp;" >}} |
 | port | The port on which the listener will accept connections | No | 21 |
 | local-address | Server address the listener will bind to | No | All available |
 | implicit-ssl | True if the listener should use implicit SSL | No | false |
@@ -61,8 +61,8 @@ This element is required if the ssl element is provided. It provides configurati
 
 | Attribute | Description | Required | Default value |
 |---|---|---|---|
-| file | Path to the key store file | Yes | &nbsp; |
-| password | The password for the key store | Yes | &nbsp; |
+| file | Path to the key store file | Yes | {{< html "&nbsp;" >}} |
+| password | The password for the key store | Yes | {{< html "&nbsp;" >}} |
 | key-password | Password for the key within the key store | No | Key store password |
 | key-alias | Alias of the key to use within the key store | No <| Uses first key found |
 | type | Key store type | No | JRE key store default type, normally JKS |
@@ -73,7 +73,7 @@ This element provides configuration for the trust store used for locating truste
 
 | Attribute | Description | Required | Default value |
 |---|---|---|---|
-| file | Path to the trust store file | Yes | &nbsp; |
+| file | Path to the trust store file | Yes | {{< html "&nbsp;" >}} |
 | password | The password for the trust store | No | Certificates can be read without password |
 | type | Trust store type | No | JRE key store default type, normally JKS |
 | algorithm | Trust store algorithm | No | SunX509 |>
@@ -106,7 +106,7 @@ This element provides configuration for passive data connections.
 |---|---|---|---|
 | ports| The ports on which the server is allowed to accept passive data connections, see [Configure passive ports](configuration_passive_ports.html) for details| No| Any available port |
 | address| The address on which the server will listen to passive data connections| No| The same address as the control socket for the session |
-| external-address| The address the server will claim to be listening on in the PASV reply. Useful when the server is behind a NAT firewall and the client sees a different address than the server is using| No| &nbsp; |
+| external-address| The address the server will claim to be listening on in the PASV reply. Useful when the server is behind a NAT firewall and the client sees a different address than the server is using | No | {{< html "&nbsp;" >}} |
 
 ## blacklist element
 
diff --git a/source/ftpserver-project/configuration_server.md b/source/ftpserver-project/configuration_server.md
index 7d81911..ce51108 100644
--- a/source/ftpserver-project/configuration_server.md
+++ b/source/ftpserver-project/configuration_server.md
@@ -27,12 +27,10 @@ Using the XML configuration, this following examples shows all available configu
 
 | Attribute | Description | Required | Default value |
 |---|---|---|---|
-| id | A unique identifier for this server within this XML configuration | Yes |&nbsp;|
+| id | A unique identifier for this server within this XML configuration | Yes | {{< html "&nbsp;" >}} |
 | max-threads | The maximum number of threads used in the thread pool for handling client connections  | No | max-logins, or 16 if neither value is set |
 | max-logins | The maximum number of simultaneous users  | No | 10 |
 | max-anon-logins | The maximum number of simultaneous anonymous users  | No | 10 |
 | anon-enabled | Are anonymous logins enabled? | No | true |
 | max-login-failures | The number of failed login attempts before the connection is closed | No | 3 |
 | login-failure-delay | The number of milliseconds that the connection is delayed after a failed login attempt. Used to limit to possibility of brute force guessing passwords. | No | 500 |
-
-
diff --git a/source/ftpserver-project/configuration_user_manager_db.md b/source/ftpserver-project/configuration_user_manager_db.md
index 9f4eddc..334f4ba 100644
--- a/source/ftpserver-project/configuration_user_manager_db.md
+++ b/source/ftpserver-project/configuration_user_manager_db.md
@@ -66,14 +66,14 @@ You must include the required JAR files for your database in the classpath of Ft
 
 | Child element | Description | Required | Default value |
 |---|---|---|---|
-| data-source | The data source configured using the regular Spring bean element | Yes |&nbsp;|
-| insert-user | The SQL statement to insert a new user. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
-| update-user | The SQL statement to update a user. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
-| delete-user | The SQL statement to delete a user. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
-| select-user | The SQL statement to select a user. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
-| select-all-users | The SQL statement to select all users. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
-| is-admin | The SQL statement to find whether an user is admin or not. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
-| authenticate | The SQL statement to authenticate a user. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
+| data-source | The data source configured using the regular Spring bean element | Yes | {{< html "&nbsp;" >}} |
+| insert-user | The SQL statement to insert a new user. All the dynamic values will be replaced during runtime. | Yes | {{< html "&nbsp;" >}} |
+| update-user | The SQL statement to update a user. All the dynamic values will be replaced during runtime. | Yes | {{< html "&nbsp;" >}} |
+| delete-user | The SQL statement to delete a user. All the dynamic values will be replaced during runtime. | Yes | {{< html "&nbsp;" >}} |
+| select-user | The SQL statement to select a user. All the dynamic values will be replaced during runtime. | Yes | {{< html "&nbsp;" >}} |
+| select-all-users | The SQL statement to select all users. All the dynamic values will be replaced during runtime. | Yes | {{< html "&nbsp;" >}} |
+| is-admin | The SQL statement to find whether an user is admin or not. All the dynamic values will be replaced during runtime. | Yes | {{< html "&nbsp;" >}} |
+| authenticate | The SQL statement to authenticate a user. All the dynamic values will be replaced during runtime. | Yes | {{< html "&nbsp;" >}} |
 
 ### Data source configuration
 
@@ -96,9 +96,9 @@ The data source must be configured as described by the database provider. You ca
 
 | Column | Type | Default value |
 |---|---|---|
-| userid | VARCHAR(64), Primary key |&nbsp;|
-| userpassword | VARCHAR(64) |&nbsp;|
-| homedirectory | VARCHAR(128) |&nbsp;|
+| userid | VARCHAR(64), Primary key | {{< html "&nbsp;" >}} |
+| userpassword | VARCHAR(64) | {{< html "&nbsp;" >}} |
+| homedirectory | VARCHAR(128) | {{< html "&nbsp;" >}} |
 | enableflag | BOOLEAN | TRUE |
 | writepermission | BOOLEAN | FALSE |
 | idletime | INT | 0 |
diff --git a/source/ftpserver-project/configuration_user_manager_file.md b/source/ftpserver-project/configuration_user_manager_file.md
index 5cc6311..bcc07b2 100644
--- a/source/ftpserver-project/configuration_user_manager_file.md
+++ b/source/ftpserver-project/configuration_user_manager_file.md
@@ -17,5 +17,5 @@ This is the default user manager. It uses a properties file to store all the use
 
 | Attribute | Description | Required | Default value |
 |---|---|---|---|
-| file | Path to the properties file for storing users | Yes | &nbsp; |
+| file | Path to the properties file for storing users | Yes | {{< html "&nbsp;" >}} |
 | encrypt-passwords | It indicates how to stored password are encrypted. Possible values are "clear" for clear text, "md5" for hashed using MD5 or "salted" for hashed salted passwords (including multiple hash iterations). "salted" is encouraged. | No | md5 |
diff --git a/source/ftpserver-project/contributors.md b/source/ftpserver-project/contributors.md
index 58f46eb..838a53d 100644
--- a/source/ftpserver-project/contributors.md
+++ b/source/ftpserver-project/contributors.md
@@ -13,6 +13,6 @@ The following is a list of developers with commit privileges that have directly
 * [Niklas Gustavsson](http://protocol7.com/)
 * Paul Hammant
 * David Latorre
-* Emmanuel L&eacute;charny
+* Emmanuel L{{< html "&eacute;" >}}charny
 * Sai Pullabhotla
 * Sergey M Vladimirov
diff --git a/source/ftpserver-project/ftplet.md b/source/ftpserver-project/ftplet.md
index 98259d4..9c29376 100644
--- a/source/ftpserver-project/ftplet.md
+++ b/source/ftpserver-project/ftplet.md
@@ -83,13 +83,13 @@ This section gives an overview on different response codes which might be useful
 | onConnect | 220 | Service ready for new user. |
 | onConnect | 530 | No server access from the IP. |
 | onConnect | 530 | Maximum server connection has been reached. |
-| onDisconnect | &nbsp; | &nbsp; |
-| onLogin | &nbsp; | &nbsp; |
+| onDisconnect | {{< html "&nbsp;" >}} | {{< html "&nbsp;" >}} |
+| onLogin | {{< html "&nbsp;" >}} | {{< html "&nbsp;" >}} |
 | onDeleteStart | 250 | Requested file action okay |
 | onDeleteStart | 450 | No permission to delete. |
 | onDeleteStart | 550 | Not a valid file. |
 | onDeleteStart | 450 | Can't delete file. |
-| onDeleteEnd | &nbsp; | &nbsp; |
+| onDeleteEnd | {{< html "&nbsp;" >}} | {{< html "&nbsp;" >}} |
 | onUploadStart | 150 | File status okay; about to open data connection. |
 | onUploadStart | 226 | Transfer complete. |
 | onUploadStart | 550 | Invalid path. |
@@ -97,7 +97,7 @@ This section gives an overview on different response codes which might be useful
 | onUploadStart | 425 | Can't open data connection. |
 | onUploadStart | 426 | Data connection error. |
 | onUploadStart | 551 | Error on output file. |
-| onUploadEnd | &nbsp; | &nbsp; |
+| onUploadEnd | {{< html "&nbsp;" >}} | {{< html "&nbsp;" >}} |
 | onDownloadStart | 150 | File status okay; about to open data connection. |
 | onDownloadStart | 226 | Transfer complete. |
 | onDownloadStart | 550 | No such file or directory. |
@@ -106,18 +106,18 @@ This section gives an overview on different response codes which might be useful
 | onDownloadStart | 425 | Can't open data connection. |
 | onDownloadStart | 426 | Data connection error. |
 | onDownloadStart | 551 | Error on input file. |
-| onDownloadEnd | &nbsp; | &nbsp; |
+| onDownloadEnd | {{< html "&nbsp;" >}} | {{< html "&nbsp;" >}} |
 | onRmdirStart | 250 | Directory removed. |
 | onRmdirStart | 550 | Not a valid directory. |
 | onRmdirStart | 550 | Permission denied. |
 | onRmdirStart | 550 | Can't remove directory. |
-| onRmdirEnd | &nbsp; | &nbsp; |
+| onRmdirEnd | {{< html "&nbsp;" >}} | {{< html "&nbsp;" >}} |
 | onMkdirStart | 250 | Directory created. |
 | onMkdirStart | 550 | Not a valid file. |
 | onMkdirStart | 550 | Permission denied |
 | onMkdirStart | 550 | Directory already exists. |
 | onMkdirStart | 550 | Can't create directory. |
-| onMkdirEnd | &nbsp; | &nbsp; |
+| onMkdirEnd | {{< html "&nbsp;" >}} | {{< html "&nbsp;" >}} |
 | onAppendStart | 150 | File status okay; about to open data connection. |
 | onAppendStart | 226 | Transfer complete. |
 | onAppendStart | 550 | Not a plain file. |
@@ -125,7 +125,7 @@ This section gives an overview on different response codes which might be useful
 | onAppendStart | 425 | Can't open data connection. |
 | onAppendStart | 426 | Data connection error. |
 | onAppendStart | 551 | Error on output file. |
-| onAppendEnd | &nbsp; | &nbsp; |
+| onAppendEnd | {{< html "&nbsp;" >}} | {{< html "&nbsp;" >}} |
 | onUploadUniqueStart | 150 | File status okay; about to open data connection. |
 | onUploadUniqueStart | 250 | filename: Transfer started. |
 | onUploadUniqueStart | 226 | filename: Transfer complete. |
@@ -134,14 +134,14 @@ This section gives an overview on different response codes which might be useful
 | onUploadUniqueStart | 425 | Can't open data connection. |
 | onUploadUniqueStart | 426 | Data connection error. |
 | onUploadUniqueStart | 551 | Error on output file. |
-| onUploadUniqueEnd | &nbsp; | &nbsp; |
+| onUploadUniqueEnd | {{< html "&nbsp;" >}} | {{< html "&nbsp;" >}} |
 | onRenameStart | 250 | Requested file action okay, file renamed. |
 | onRenameStart | 503 | Can't find the file which has to be renamed. |
 | onRenameStart | 553 | Not a valid file name. |
 | onRenameStart | 553 | Permission denied. |
 | onRenameStart | 553 | No such file or directory. |
 | onRenameStart | 553 | Can't rename file. |
-| onRenameEnd | &nbsp; | &nbsp; |
+| onRenameEnd | {{< html "&nbsp;" >}} | {{< html "&nbsp;" >}} |
 | onSite | 200 | Command SITE okay. |
 | onSite | 530 | Permission denied. |
 | onSite | 502 | Not implemented. |
diff --git a/source/ftpserver-project/managing_users.md b/source/ftpserver-project/managing_users.md
index 4d55a81..cf45acc 100644
--- a/source/ftpserver-project/managing_users.md
+++ b/source/ftpserver-project/managing_users.md
@@ -15,15 +15,17 @@ Using either the PropertiesUserManager or DbUserManager you can access the data
 
 Using the FtpServer API, you can create a user manager, configure it as your real user manager and use that to edit users. This is a simple example:
 
-    PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory();
-    userManagerFactory.setFile(new File(&quot;myusers.properties&quot;));
-    userManagerFactory.setPasswordEncryptor(new SaltedPasswordEncryptor());
-    UserManager um = userManagerFactory.createUserManager();
-    BaseUser user = new BaseUser();
-    user.setName(&quot;myNewUser&quot;);
-    user.setPassword(&quot;secret&quot;);
-    user.setHomeDirectory(&quot;ftproot&quot;);
-    um.save(user);
+```java
+PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory();
+userManagerFactory.setFile(new File("myusers.properties"));
+userManagerFactory.setPasswordEncryptor(new SaltedPasswordEncryptor());
+UserManager um = userManagerFactory.createUserManager();
+BaseUser user = new BaseUser();
+user.setName("myNewUser");
+user.setPassword("secret");
+user.setHomeDirectory("ftproot");
+um.save(user);
+```
 
 ## Using command line tool
 
@@ -33,14 +35,18 @@ In the examples below, make sure you update the versions to reflect the correct
 
 Windows:
 
-    java -cp ftpserver-core-1.0.0-M4.jar;ftplet-api-1.0.0-M4.jar;mina-core-2.0.0-M3.jar; 
-        [slf4j-api-1.5.2.jar;<br>slf4j-simple-1.5.2.jar 
-        [ org.apache.ftpserver.main.AddUser path/to/your/config.xml
+```bash
+java -cp ftpserver-core-1.0.0-M4.jar;ftplet-api-1.0.0-M4.jar;mina-core-2.0.0-M3.jar; 
+    [slf4j-api-1.5.2.jar;<br>slf4j-simple-1.5.2.jar 
+    [ org.apache.ftpserver.main.AddUser path/to/your/config.xml
+```
 
 MacOS/Linux/Unix
 
-    java -cp ftpserver-core-1.0.0-M4.jar:ftplet-api-1.0.0-M4.jar:mina-core-2.0.0-M3.jar:\
-        slf4j-api-1.5.2.jar:<br>slf4j-simple-1.5.2.jar \
-        org.apache.ftpserver.main.AddUser path/to/your/config.xml
+```bash
+java -cp ftpserver-core-1.0.0-M4.jar:ftplet-api-1.0.0-M4.jar:mina-core-2.0.0-M3.jar:\
+    slf4j-api-1.5.2.jar:<br>slf4j-simple-1.5.2.jar \
+    org.apache.ftpserver.main.AddUser path/to/your/config.xml
+```
 
 The program will ask you for the required data.
diff --git a/source/ftpserver-project/messages.md b/source/ftpserver-project/messages.md
index 7e20b75..06dfee5 100644
--- a/source/ftpserver-project/messages.md
+++ b/source/ftpserver-project/messages.md
@@ -19,8 +19,8 @@ The FtpServer project is interested in localized message bundles, please [contac
 
 | Attribute | Description | Required | Default value |
 |--|--|--|--|
-| directory | The directory in which message bundles can be located | No | &nbsp;|
-| languages | A comma separated list of the languages that the server will provide messages in | No | &nbsp;|
+| directory | The directory in which message bundles can be located | No | {{< html "&nbsp;" >}} |
+| languages | A comma separated list of the languages that the server will provide messages in | No | {{< html "&nbsp;" >}} |
 
 ## Creating a customized message bundle
 
diff --git a/source/mina-project/__index.md b/source/mina-project/__index.md
index 6af993b..ea89ae2 100644
--- a/source/mina-project/__index.md
+++ b/source/mina-project/__index.md
@@ -8,13 +8,13 @@ slug: index
 
 ## Overview
 
-Apache  <abbr title="Multipurpose Infrastructure for Network Applications">MINA</abbr> is a network application framework which helps users develop high performance and high scalability network applications easily.  It provides an abstract &middot;event-driven &middot; asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO.
+Apache  <abbr title="Multipurpose Infrastructure for Network Applications">MINA</abbr> is a network application framework which helps users develop high performance and high scalability network applications easily.  It provides an abstract {{< html "&middot;" >}} event-driven &middot; asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO.
 
 Apache MINA is often called:
 
-* NIO framework &middot; library,
-* client &middot; server framework &middot; library, or
-* a networking &middot; socket library.
+* NIO framework {{< html "&middot;" >}} library,
+* client {{< html "&middot;" >}} server framework {{< html "&middot;" >}} library, or
+* a networking {{< html "&middot;" >}} socket library.
 
 However, it's much more than that.  Please take a look around the list of the *[features](features.html)* that enable rapid network application development, and *[what people says about MINA](testimonials.html)*.  
 
diff --git a/source/mina-project/conferences.md b/source/mina-project/conferences.md
index cd0a8b7..da63aca 100644
--- a/source/mina-project/conferences.md
+++ b/source/mina-project/conferences.md
@@ -6,7 +6,7 @@ title: MINA Presentation Materials
 # Presentation Materials
 These presentation materials will help you understand the overall architecture and core constructs of MINA.
 
-* [MINA in real life](/assets/pdfs/Mina_in_real_life_ASEU-2009.pdf) (ApacheCon EU 2009) by Emmanuel L&eacute;charny
+* [MINA in real life](/assets/pdfs/Mina_in_real_life_ASEU-2009.pdf) (ApacheCon EU 2009) by Emmanuel L{{< html "&eacute;" >}}charny
 * [Rapid Network Application Development with Apache MINA](/assets/pdfs/JavaOne2008.pdf) (JavaOne 2008) by Trustin Lee
 * [Apache MINA - The High Performance Protocol Construction Toolkit](/assets/pdfs/ACUS2007.pdf) (ApacheCon US 2007) by Peter Royal
 * [Introduction to MINA (ApacheCon Asia 2006)](/assets/pdfs/ACAsia2006.pdf) by Trustin Lee
diff --git a/source/mina-project/documentation.md b/source/mina-project/documentation.md
index d531ce4..c88281e 100644
--- a/source/mina-project/documentation.md
+++ b/source/mina-project/documentation.md
@@ -15,7 +15,7 @@ title: Documentation
 
 These presentation materials will help you understand the overall architecture and core constructs of MINA
 
-* [MINA in real life (ApacheCon EU 2009)](resources/Mina_in_real_life_ASEU-2009.pdf) by Emmanuel L&eacute;charny
+* [MINA in real life (ApacheCon EU 2009)](resources/Mina_in_real_life_ASEU-2009.pdf) by Emmanuel L{{< html "&eacute;" >}}charny
 * [Rapid Network Application Development with Apache MINA (JavaOne 2008)](resources/JavaOne2008.pdf) by Trustin Lee
 * [Apache MINA - The High Performance Protocol Construction Toolkit (ApacheCon US 2007)](resources/ACUS2007.pdf) by Peter Royal
 * [Introduction to MINA (ApacheCon Asia 2006)](resources/ACAsia2006.pdf) by Trustin Lee
diff --git a/source/mina-project/features.md b/source/mina-project/features.md
index 24e453a..1dd2264 100644
--- a/source/mina-project/features.md
+++ b/source/mina-project/features.md
@@ -20,11 +20,10 @@ MINA is a simple yet full-featured network application framework which provides:
     * Single thread
     * One thread pool
     * More than one thread pools (i.e. [SEDA](https://web.archive.org/web/20061208181754/http://www.eecs.harvard.edu/~mdw/papers/mdw-phdthesis.pdf))
-* Out-of-the-box SSL &middot; TLS &middot; StartTLS support using Java 5 `SSLEngine`
+* Out-of-the-box SSL {{< html "&middot;" >}} TLS {{< html "&middot;" >}} StartTLS support using Java 5 `SSLEngine`
 * Overload shielding & traffic throttling
 * Unit testability using mock objects
 * JMX managability
 * Stream-based I/O support via `StreamIoHandler`
 * Integration with well known containers such as PicoContainer and Spring
 * Smooth migration from Netty, an ancestor of Apache MINA.
-
diff --git a/source/mina-project/testimonials.md b/source/mina-project/testimonials.md
index 5c5a1f7..644d97d 100644
--- a/source/mina-project/testimonials.md
+++ b/source/mina-project/testimonials.md
@@ -13,7 +13,7 @@ __Maarten Bosteels__ says:
 
 > We found the speed and stability of MINA to be excellent. And although we are still using MINA 0.8.1, we found the API very elegant and easy.
 
-__Fr&eacute;d&eacute;ric Br&eacute;gier__ says:
+__Fr{{< html "&eacute;" >}}d{{< html "&eacute;" >}}ric Br{{< html "&eacute;" >}}gier__ says:
 
 > MINA helped us to get the network layout of OpenLSD done in about 2 months, saving us about 9 months to 1 year of development and fine-grained testing, so we were able to focus on our problem; Open Legacy Storage Document, a framework for document archiving in a huge storage. OpenLSD brings security, network layout, JDBC, and good performance, and allows at least 2 petabytes of documents (2000 terabytes, the limit is virtually 2^192 bytes).
 
@@ -32,7 +32,7 @@ __Nicholas Clare__ says:
 
 > We use MINA as a networking library to handle concurrent connections to our text based communication server. MINA has worked like a charm. It makes writing server applications simple and is much easier to use than Java's NIO libraries. Because of MINA's stability and ease of use, we plan on using MINA more in our future projects.
 
-__Jean-Fran&ccedil;ois Daune__ says:
+__Jean-Fran{{< html "&ccedil;" >}}ois Daune__ says:
 
 > We use MINA to communicate with [Banksys](http://www.banksys.com/) 'point of sale' terminals (Visa, Mastercard...) for technical management operations. (software upgrade, remote monitoring, log transfer...)
 
@@ -50,7 +50,7 @@ __Paolo Perrucci__ says:
 
 > We are using MINA to build the network layer of our multiplayer game server at [Leonardo.it](http://ludonet.leonardo.it/). Using MINA, we implemented different protocols in a few days; Game and HTTP tunneling. In the past, we used NIO, and the advantage of using MINA is evident; the MINA API is elegant and very simple to use. Last, but not least, MINA have a really responsive support.
 
-__Fr&eacute;d&eacute;ric Soulier__ says:
+__Fr{{< html "&eacute;" >}}d{{< html "&eacute;" >}}ric Soulier__ says:
 
 > In 3 days, starting from scratch (knowing nothing about MINA) and with help from this list, I've re-implemented something that took us 2+ months to develop! I've thrown 4000 concurrent connections at it without a problem. The only problem I faced was to increase the limit for open files on my linux box (default was 1024).
 
@@ -68,7 +68,7 @@ __Julien Vermillard__ says:
 
 > see [White Paper](http://www.hsc.com/HSFiles/Wpos/WhitePaper_Trap_Receiver_using_Apache_MINA.pdf)
 
-__Emmanuel L&eacute;charny__ says:
+__Emmanuel L{{< html "&eacute;" >}}charny__ says:
 
 > MINA handles the following protocols in ADS :
 
diff --git a/source/mina-project/userguide/ch1-getting-started/ch1.3-features.md b/source/mina-project/userguide/ch1-getting-started/ch1.3-features.md
index 7e72ac5..56a17de 100644
--- a/source/mina-project/userguide/ch1-getting-started/ch1.3-features.md
+++ b/source/mina-project/userguide/ch1-getting-started/ch1.3-features.md
@@ -26,7 +26,7 @@ MINA is a simple yet full-featured network application framework which provides:
     * Single thread
     * One thread pool
     * More than one thread pools (i.e. SEDA)
-* Out-of-the-box SSL &middot; TLS &middot; StartTLS support using Java 5 SSLEngine
+* Out-of-the-box SSL {{< html "&middot;" >}} TLS {{< html "&middot;" >}} StartTLS support using Java 5 SSLEngine
 * Overload shielding & traffic throttling
 * Unit testability using mock objects
 * JMX managability
diff --git a/source/mina-project/userguide/ch2-basics/ch2.1-application-architecture.md b/source/mina-project/userguide/ch2-basics/ch2.1-application-architecture.md
index 8b05f4c..8ffc41e 100644
--- a/source/mina-project/userguide/ch2-basics/ch2.1-application-architecture.md
+++ b/source/mina-project/userguide/ch2-basics/ch2.1-application-architecture.md
@@ -28,7 +28,7 @@ Lets take a deeper dive into the details now. The following image shows a bit mo
 
 ![](/assets/img/mina/mina_app_arch.png)
 
-(The image is from Emmanuel L&eacute;charny presentation [MINA in real life (ApacheCon EU 2009)](/assets/pdfs/Mina_in_real_life_ASEU-2009.pdf))
+(The image is from Emmanuel L{{< html "&eacute;" >}}charny presentation [MINA in real life (ApacheCon EU 2009)](/assets/pdfs/Mina_in_real_life_ASEU-2009.pdf))
 
 Broadly, MINA based applications are divided into 3 layers
 
diff --git a/source/mina-project/userguide/ch2-basics/ch2.2-sample-tcp-server.md b/source/mina-project/userguide/ch2-basics/ch2.2-sample-tcp-server.md
index a1b5d07..72b3162 100644
--- a/source/mina-project/userguide/ch2-basics/ch2.2-sample-tcp-server.md
+++ b/source/mina-project/userguide/ch2-basics/ch2.2-sample-tcp-server.md
@@ -23,7 +23,7 @@ This tutorial will walk you through the process of building a MINA based program
 
 For instance, slf4j-log4j12.jar and log4j-1.3.x.jar can not be used together, and will malfunction.
 
-We have tested this program on both Windows&copy; 2000 professional and linux.  If you have any problems getting this program to work, please do not hesitate to [contact us](../../../contact.html) in order to talk to the MINA developers.  Also, this tutorial has tried to remain independent of development environments (IDE, editors..etc).  This tutorial will work with any environment that you are comfortable with.  Compilation commands and steps to execute the program have been removed fo [...]
+We have tested this program on both Windows{{< html "&copy;" >}} 2000 professional and linux.  If you have any problems getting this program to work, please do not hesitate to [contact us](../../../contact.html) in order to talk to the MINA developers.  Also, this tutorial has tried to remain independent of development environments (IDE, editors..etc).  This tutorial will work with any environment that you are comfortable with.  Compilation commands and steps to execute the program have  [...]
 
 ## Writing the MINA time server 
 
diff --git a/source/mina-project/userguide/ch2-basics/ch2.3-sample-tcp-client.md b/source/mina-project/userguide/ch2-basics/ch2.3-sample-tcp-client.md
index 1285beb..c252dd8 100644
--- a/source/mina-project/userguide/ch2-basics/ch2.3-sample-tcp-client.md
+++ b/source/mina-project/userguide/ch2-basics/ch2.3-sample-tcp-client.md
@@ -41,7 +41,7 @@ public static void main(String[] args) throws Throwable {
             session = future.getSession();
             break;
         } catch (RuntimeIoException e) {
-            System.err.println(&quot;Failed to connect.&quot;);
+            System.err.println("Failed to connect.");
             e.printStackTrace();
             Thread.sleep(5000);
         }
diff --git a/source/mina-project/userguide/ch4-session/ch4-session.md b/source/mina-project/userguide/ch4-session/ch4-session.md
index 37d1973..4f5c706 100644
--- a/source/mina-project/userguide/ch4-session/ch4-session.md
+++ b/source/mina-project/userguide/ch4-session/ch4-session.md
@@ -194,7 +194,7 @@ There are many methods available to manipulate the session's attributes :
 * boolean containsAttribute(Object key) : tells if a given attribute is present
 * Object getAttribute(Object key) : gets the value for a given attribute
 * Object getAttribute(Object key, Object defaultValue) : gets the value for a given attribute, or a default value if absent
-* Set&lt;Object&gt; getAttributeKeys() : gets the set of all the stored attributes
+* Set{{< html "&lt;" >}}Object{{< html "&gt;" >}} getAttributeKeys() : gets the set of all the stored attributes
 * Object removeAttribute(Object key) : remove a given attribute
 * boolean removeAttribute(Object key, Object value) : remove a given attribute/value pair
 * boolean replaceAttribute(Object key, Object oldValue, Object newValue) : replace a give attribute/value pair
diff --git a/source/mina-project/userguide/ch5-filters/ch5-filters.md b/source/mina-project/userguide/ch5-filters/ch5-filters.md
index c291d17..7797bb8 100644
--- a/source/mina-project/userguide/ch5-filters/ch5-filters.md
+++ b/source/mina-project/userguide/ch5-filters/ch5-filters.md
@@ -54,24 +54,24 @@ We have many filters already written. The following table list all the existing
 |---|---|---|
 | Blacklist | [BlacklistFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/firewall/BlacklistFilter.html) | Blocks connections from blacklisted remote addresses<br class="atl-forced-newline"> |
 | Buffered Write | [BufferedWriteFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/buffer/BufferedWriteFilter.html) | Buffers outgoing requests like the BufferedOutputStream does |
-| Compression | [CompressionFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/compression/CompressionFilter.html) | &nbsp; |
-| ConnectionThrottle | [ConnectionThrottleFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/firewall/ConnectionThrottleFilter.html) | &nbsp; |
-| ErrorGenerating | [ErrorGeneratingFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.html) | &nbsp; |
-| Executor | [ExecutorFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/executor/ExecutorFilter.html) | &nbsp; |
-| FileRegionWrite | [FileRegionWriteFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/stream/FileRegionWriteFilter.html) | &nbsp; |
-| KeepAlive | [KeepAliveFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/keepalive/KeepAliveFilter.html) | &nbsp; |
+| Compression | [CompressionFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/compression/CompressionFilter.html) | {{< html "&nbsp;" >}} |
+| ConnectionThrottle | [ConnectionThrottleFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/firewall/ConnectionThrottleFilter.html) | {{< html "&nbsp;" >}} |
+| ErrorGenerating | [ErrorGeneratingFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/errorgenerating/ErrorGeneratingFilter.html) | {{< html "&nbsp;" >}} |
+| Executor | [ExecutorFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/executor/ExecutorFilter.html) | {{< html "&nbsp;" >}} |
+| FileRegionWrite | [FileRegionWriteFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/stream/FileRegionWriteFilter.html) | {{< html "&nbsp;" >}} |
+| KeepAlive | [KeepAliveFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/keepalive/KeepAliveFilter.html) | {{< html "&nbsp;" >}} |
 | Logging | [LoggingFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/logging/LoggingFilter.html) | Logs event messages, like MessageReceived, MessageSent, SessionOpened, ... |
 | MDC Injection | [MdcInjectionFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/logging/MdcInjectionFilter.html) | Inject key IoSession properties into the MDC |
 | Noop | [NoopFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/util/NoopFilter.html) | A filter that does nothing. Useful for tests. |
 | Profiler | [ProfilerTimerFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/statistic/ProfilerTimerFilter.html) | Profile event messages, like MessageReceived, MessageSent, SessionOpened, ... |
 | ProtocolCodec | [ProtocolCodecFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/codec/ProtocolCodecFilter.html) | A filter in charge of encoding and decoding messages |
-| Proxy | [ProxyFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/proxy/filter/ProxyFilter.html) | &nbsp; |
+| Proxy | [ProxyFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/proxy/filter/ProxyFilter.html) | {{< html "&nbsp;" >}} |
 | Reference counting | [ReferenceCountingFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/util/ReferenceCountingFilter.html) | Keeps track of the number of usages of this filter |
-| RequestResponse | [RequestResponseFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/reqres/RequestResponseFilter.html) | &nbsp; |
-| SessionAttributeInitializing | [SessionAttributeInitializingFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/util/SessionAttributeInitializingFilter.html) | &nbsp; |
-| StreamWrite | [StreamWriteFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/stream/StreamWriteFilter.html) | &nbsp; |
-| SslFilter | [SslFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/ssl/SslFilter.html) | &nbsp; |
-| WriteRequest | [WriteRequestFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/util/WriteRequestFilter.html) | &nbsp; |
+| RequestResponse | [RequestResponseFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/reqres/RequestResponseFilter.html) | {{< html "&nbsp;" >}} |
+| SessionAttributeInitializing | [SessionAttributeInitializingFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/util/SessionAttributeInitializingFilter.html) | {{< html "&nbsp;" >}} |
+| StreamWrite | [StreamWriteFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/stream/StreamWriteFilter.html) | {{< html "&nbsp;" >}} |
+| SslFilter | [SslFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/ssl/SslFilter.html) | {{< html "&nbsp;" >}} |
+| WriteRequest | [WriteRequestFilter](http://mina.apache.org/mina-project/xref/org/apache/mina/filter/util/WriteRequestFilter.html) | {{< html "&nbsp;" >}} |
 
 ## Overriding Events Selectively
 
diff --git a/source/special-thanks.md b/source/special-thanks.md
index 153c9c0..7997341 100644
--- a/source/special-thanks.md
+++ b/source/special-thanks.md
@@ -22,5 +22,5 @@ We would also like to thank the organizations who provided some tools and images
 
 | Company/Organization | Donation type | Organization contact | Apache contact |
 |---|---|---|---|
-|![http://www.yourkit.com/](assets/img/YourKit_logo.png) | Licenses for YourKit | Vladimir Kondratyev <br> (sales at yourkit.com) | Emmanuel L&eacute;charny |
-|![http://www.famfamfam.com/lab/icons/silk/](assets/img/FAMFAMFAM_logo.png)|[http://creativecommons.org/licenses/by/2.5/](http://creativecommons.org/licenses/by/2.5/)| Mark James | Emmanuel L&eacute;charny|
+|![http://www.yourkit.com/](assets/img/YourKit_logo.png) | Licenses for YourKit | Vladimir Kondratyev <br> (sales at yourkit.com) | Emmanuel L{{< html "&eacute;" >}}charny |
+|![http://www.famfamfam.com/lab/icons/silk/](assets/img/FAMFAMFAM_logo.png)|[http://creativecommons.org/licenses/by/2.5/](http://creativecommons.org/licenses/by/2.5/)| Mark James | Emmanuel L{{< html "&eacute;" >}}charny|
diff --git a/source/sshd-project/contributors.md b/source/sshd-project/contributors.md
index 1584b82..79608ae 100644
--- a/source/sshd-project/contributors.md
+++ b/source/sshd-project/contributors.md
@@ -7,7 +7,7 @@ title: SSHD Contributors
 
 The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
 
-* Emmanuel L&eacute;charny
+* Emmanuel L{{< html "&eacute;" >}}charny
 * Guillaume Nodet
 * Lyor Goldstein
 * Shawn Pearce 
@@ -17,9 +17,9 @@ The following is a list of developers with commit privileges that have directly
 The following additional people have contributed to this project through the way of suggestions, patches or documentation.
 
 * Leo Bayer
-* Andr&eacute; Bierwolf
+* Andr{{< html "&eacute;" >}} Bierwolf
 * Shikhar Bhushan
-* C&eacute;dric Chantepie
+* C{{< html "&eacute;" >}}dric Chantepie
 * Patrick Dessalle
 * Ken Diep
 * Laurent Duchesne
diff --git a/source/vysper-project/embed.md b/source/vysper-project/embed.md
index 41cedbe..519a342 100644
--- a/source/vysper-project/embed.md
+++ b/source/vysper-project/embed.md
@@ -23,7 +23,7 @@ Having a Vysper XMPP server instance embedded into your own application is easy:
 ```java
 import org.apache.vysper.xmpp.server;
 
-XMPPServer server = new XMPPServer(&quot;myembeddedjabber.com&quot;);
+XMPPServer server = new XMPPServer("myembeddedjabber.com");
 server.start();
 ```
 
@@ -41,8 +41,8 @@ StorageProviderRegistry providerRegistry = new JcrStorageProviderRegistry();
 
 final AccountManagement accountManagement = (AccountManagement) providerRegistry.retrieve(AccountManagement.class);
 
-if(!accountManagement.verifyAccountExists(EntityImpl.parse(&quot;user1@myembeddedjabber.com&quot;))) {
-    accountManagement.addUser(EntityImpl.parse(&quot;user1@myembeddedjabber.com&quot;), &quot;password1&quot;);
+if(!accountManagement.verifyAccountExists(EntityImpl.parse("user1@myembeddedjabber.com"))) {
+    accountManagement.addUser(EntityImpl.parse("user1@myembeddedjabber.com"), "password1");
 }
 ```
 
@@ -52,11 +52,11 @@ SSL needs a TLS certificate. There is one coming along with Vysper for testing p
 Or, even better, create your own.
 
 ```java
-XMPPServer server = new XMPPServer(&quot;myembeddedjabber.com&quot;);
+XMPPServer server = new XMPPServer("myembeddedjabber.com");
 server.addEndpoint(new TCPEndpoint());
 server.setStorageProviderRegistry(providerRegistry);
 
-server.setTLSCertificateInfo(new File(&quot;src/main/config/bogus_mina_tls.cert&quot;), &quot;boguspw&quot;);
+server.setTLSCertificateInfo(new File("src/main/config/bogus_mina_tls.cert"), "boguspw");
 ```
 
 With initializing completed, just give it a go:
@@ -64,7 +64,7 @@ With initializing completed, just give it a go:
 ```java
 try {
     server.start();
-    System.out.println(&quot;server is running...&quot;);
+    System.out.println("server is running...");
 } catch (Exception e) {
     e.printStackTrace();
 }
diff --git a/source/vysper-project/service_discovery.md b/source/vysper-project/service_discovery.md
index 67c3446..20a36d4 100644
--- a/source/vysper-project/service_discovery.md
+++ b/source/vysper-project/service_discovery.md
@@ -31,12 +31,12 @@ This is how a feature is advertised in the XEP-0092 implementation:
 ```java
 public class SoftwareVersionModule extends DefaultDiscoAwareModule implements ServerInfoRequestListener { 
     @Override 
-    protected void addServerInfoRequestListeners(List&lt;ServerInfoRequestListener&gt; serverInfoRequestListeners) { 
+    protected void addServerInfoRequestListeners(List<ServerInfoRequestListener> serverInfoRequestListeners) { 
         serverInfoRequestListeners.add(this); 
     } 
 
-    public List&lt;InfoElement&gt; getServerInfosFor(InfoRequest request) { 
-        List&lt;InfoElement&gt; infoElements = new ArrayList&lt;InfoElement&gt;(); 
+    public List<InfoElement> getServerInfosFor(InfoRequest request) { 
+        List<InfoElement> infoElements = new ArrayList<InfoElement>(); 
         infoElements.add(new Feature(NamespaceURIs.JABBER_IQ_VERSION)); 
         return infoElements; 
     } 
diff --git a/source/vysper-project/socks5.md b/source/vysper-project/socks5.md
index eaeb9ce..262d14b 100644
--- a/source/vysper-project/socks5.md
+++ b/source/vysper-project/socks5.md
@@ -14,7 +14,7 @@ The Vysper SOCKS5 Bytestream module implements mediated connections from XEP-006
 The example below shows how to add the module using the API:
 
 ```java
-XMPPServer server = new XMPPServer(&ldquo;vysper.org&rdquo;);
+XMPPServer server = new XMPPServer("vysper.org");
 server.addEndpoint(new TCPEndpoint());
 
 // other initialization
diff --git a/source/vysper-project/standards_supported.md b/source/vysper-project/standards_supported.md
index c95e388..1cb1cb8 100644
--- a/source/vysper-project/standards_supported.md
+++ b/source/vysper-project/standards_supported.md
@@ -7,25 +7,25 @@ title: Vysper Standards Supported
 
 | Specification | Status | Comment |
 |---|---|---|
-| [RFC 3920 XMPP Core](http://www.ietf.org/rfc/rfc3920.txt) | Complete | &nbsp; |
-| [RFC 3921 XMPP Instant Messaging and Presence](http://www.ietf.org/rfc/rfc3921.txt) | 80% | &nbsp; |
-| [XEP-0004 Data Forms](http://xmpp.org/extensions/xep-0004.html) | Complete |&nbsp;|
-| [XEP-0030 Service Discovery](http://xmpp.org/extensions/xep-0030.html) | Complete |&nbsp;|
-| [XEP-0045 Multi-User Chat](http://xmpp.org/extensions/xep-0045.html) | 80% |&nbsp;|
-| [XEP-0049 Private XML Storage](http://xmpp.org/extensions/xep-0029.html) | Complete |&nbsp;|
-| [XEP-0050 Ad-Hoc Commands](http://xmpp.org/extensions/xep-0050.html) | Complete |&nbsp;|
-| [XEP-0054 vcard-temp](http://xmpp.org/extensions/xep-0054.html) | Complete |&nbsp;|
-| [XEP-0060 Publish-Subscribe](http://xmpp.org/extensions/xep-0060.html)  | Complete |&nbsp;|
+| [RFC 3920 XMPP Core](http://www.ietf.org/rfc/rfc3920.txt) | Complete | {{< html "&nbsp;" >}} |
+| [RFC 3921 XMPP Instant Messaging and Presence](http://www.ietf.org/rfc/rfc3921.txt) | 80% | {{< html "&nbsp;" >}} |
+| [XEP-0004 Data Forms](http://xmpp.org/extensions/xep-0004.html) | Complete | {{< html "&nbsp;" >}} |
+| [XEP-0030 Service Discovery](http://xmpp.org/extensions/xep-0030.html) | Complete | {{< html "&nbsp;" >}} |
+| [XEP-0045 Multi-User Chat](http://xmpp.org/extensions/xep-0045.html) | 80% | {{< html "&nbsp;" >}} |
+| [XEP-0049 Private XML Storage](http://xmpp.org/extensions/xep-0029.html) | Complete | {{< html "&nbsp;" >}} |
+| [XEP-0050 Ad-Hoc Commands](http://xmpp.org/extensions/xep-0050.html) | Complete | {{< html "&nbsp;" >}} |
+| [XEP-0054 vcard-temp](http://xmpp.org/extensions/xep-0054.html) | Complete | {{< html "&nbsp;" >}} |
+| [XEP-0060 Publish-Subscribe](http://xmpp.org/extensions/xep-0060.html)  | Complete | {{< html "&nbsp;" >}} |
 | [XEP-0065 SOCKS5 Bytestreams](http://xmpp.org/extensions/xep-0065.html)  | Complete | The optional UDP support not implemented |
 | [XEP-0077 In-band registration](http://xmpp.org/extensions/xep-0077.html) | 80% | Canceling existing registration not supported |
-| [XEP-0082 XMPP Date and Time Profiles](http://xmpp.org/extensions/xep-0082.html) | Complete |&nbsp;|
-| [XEP-0092 Software Version](http://xmpp.org/extensions/xep-0092.html) | Complete |&nbsp;|
-| [XEP-0124 Bidirectional-streams Over Synchronous HTTP (BOSH)](http://xmpp.org/extensions/xep-0124.html) | Complete |&nbsp;|
-| [XEP-0133 Service Administration](http://xmpp.org/extensions/xep-0133.html) | 40% |&nbsp;|
-| [XEP-0185 Dialback Key Generation and Validation](http://xmpp.org/extensions/xep-0185.html) | Complete |&nbsp;|
-| [XEP-0199 XMPP Ping](http://xmpp.org/extensions/xep-0199.html) | Complete |&nbsp;|
-| [XEP-0202 Entity Time](http://xmpp.org/extensions/xep-0202.html) | Complete |&nbsp;|
-| [XEP-0206 XMPP Over BOSH](http://xmpp.org/extensions/xep-0206.html) | Complete |&nbsp;|
-| [XEP-0220 Server Dialback](http://xmpp.org/extensions/xep-0220.html) | Complete |&nbsp;|
-| [XEP-0220 Server Dialback](http://xmpp.org/extensions/xep-0220.html) | Complete |&nbsp;|
-| [An XMPP Sub-protocol for WebSocket](http://tools.ietf.org/html/draft-moffitt-xmpp-over-websocket-00 ) | Complete |&nbsp;|
+| [XEP-0082 XMPP Date and Time Profiles](http://xmpp.org/extensions/xep-0082.html) | Complete | {{< html "&nbsp;" >}} |
+| [XEP-0092 Software Version](http://xmpp.org/extensions/xep-0092.html) | Complete | {{< html "&nbsp;" >}} |
+| [XEP-0124 Bidirectional-streams Over Synchronous HTTP (BOSH)](http://xmpp.org/extensions/xep-0124.html) | Complete | {{< html "&nbsp;" >}} |
+| [XEP-0133 Service Administration](http://xmpp.org/extensions/xep-0133.html) | 40% | {{< html "&nbsp;" >}} |
+| [XEP-0185 Dialback Key Generation and Validation](http://xmpp.org/extensions/xep-0185.html) | Complete | {{< html "&nbsp;" >}} |
+| [XEP-0199 XMPP Ping](http://xmpp.org/extensions/xep-0199.html) | Complete | {{< html "&nbsp;" >}} |
+| [XEP-0202 Entity Time](http://xmpp.org/extensions/xep-0202.html) | Complete | {{< html "&nbsp;" >}} |
+| [XEP-0206 XMPP Over BOSH](http://xmpp.org/extensions/xep-0206.html) | Complete | {{< html "&nbsp;" >}} |
+| [XEP-0220 Server Dialback](http://xmpp.org/extensions/xep-0220.html) | Complete | {{< html "&nbsp;" >}} |
+| [XEP-0220 Server Dialback](http://xmpp.org/extensions/xep-0220.html) | Complete | {{< html "&nbsp;" >}} |
+| [An XMPP Sub-protocol for WebSocket](http://tools.ietf.org/html/draft-moffitt-xmpp-over-websocket-00 ) | Complete | {{< html "&nbsp;" >}} |


[mina-site] 03/08: Converted from Apache CMS style to Hugo style

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mina-site.git

commit 3df2939a48196076af544362811b975376148b27
Author: Roy Lenferink <le...@gmail.com>
AuthorDate: Mon Feb 24 11:41:02 2020 +0100

    Converted from Apache CMS style to Hugo style
---
 LICENSE                                            | 202 ++++++
 NOTICE                                             |   7 +
 README.md                                          |  30 +
 archetypes/default.md                              |   6 +
 config.toml                                        |  41 ++
 content/asyncweb-project/contributors.mdtext       |  33 -
 content/asyncweb-project/documentation.mdtext      |  23 -
 content/asyncweb-project/getting_involved.mdtext   |  27 -
 content/asyncweb-project/index.mdtext              |  32 -
 content/asyncweb-project/references.mdtext         |  23 -
 content/asyncweb-project/reporting_bug.mdtext      |  35 -
 content/css/mina.css                               |  48 --
 content/downloads-sshd.mdtext                      |  60 --
 content/downloads-vysper.mdtext                    |  33 -
 content/extpaths.txt                               |  87 ---
 content/ftpserver-project/building.mdtext          |  42 --
 .../ftpserver-project/configuration_server.mdtext  |  51 --
 .../configuration_user_manager.mdtext              |  33 -
 .../configuration_user_manager_db.mdtext           | 124 ----
 .../configuration_user_manager_file.mdtext         |  36 -
 content/ftpserver-project/contributors.mdtext      |  32 -
 .../ftpserver-project/draft-twine-ftpmd5-00.mdtext | 373 ----------
 .../ftpserver-project/embedding_ftpserver.mdtext   |  76 --
 content/ftpserver-project/faq.mdtext               | 108 ---
 content/ftpserver-project/features.mdtext          |  36 -
 .../ftpserver_as_windows_service.mdtext            |  48 --
 .../ftpserver_site_commands.mdtext                 |  92 ---
 content/ftpserver-project/getting_involved.mdtext  |  27 -
 content/ftpserver-project/index.mdtext             |  37 -
 content/ftpserver-project/installation.mdtext      |  61 --
 content/ftpserver-project/managing_users.mdtext    |  60 --
 content/ftpserver-project/related_project.mdtext   |  30 -
 content/ftpserver-project/releasing.mdtext         |  73 --
 content/ftpserver-project/reporting_bug.mdtext     |  35 -
 content/ftpserver-project/testimonials.mdtext      |  28 -
 content/index.mdtext                               |  32 -
 content/mina-project/conferences.mdtext            |  31 -
 content/mina-project/developer-guide.mdtext        | 616 ----------------
 content/mina-project/features.mdtext               |  43 --
 .../mina-project/set-svnprops-tortoisesvn.mdtext   |  82 ---
 .../technical-documentation/message-flow.mdtext    | 206 ------
 .../ch1-getting-started/ch1-getting-started.mdtext |  33 -
 .../ch1-getting-started/ch1.1-nio-overview.mdtext  |  58 --
 .../ch1-getting-started/ch1.3-features.mdtext      |  50 --
 .../ch1-getting-started/ch1.5-summary.mdtext       |  29 -
 .../ch10-executor-filter.mdtext                    |  47 --
 .../userguide/ch13-debugging/ch13-debugging.mdtext |  26 -
 .../userguide/ch15-proxy/ch15-proxy.mdtext         |  27 -
 .../ch16-jmx-support/ch16-jmx-support.mdtext       |  92 ---
 .../userguide/ch2-basics/ch2-basics.mdtext         |  37 -
 .../ch2.1-application-architecture.mdtext          |  66 --
 .../ch2-basics/ch2.1.2-client-architecture.mdtext  |  36 -
 .../ch2-basics/ch2.2-sample-tcp-server.mdtext      | 244 -------
 .../ch2-basics/ch2.3-sample-tcp-client.mdtext      | 123 ----
 .../ch2-basics/ch2.4-sample-udp-server.mdtext      |  99 ---
 .../ch2-basics/ch2.5-sample-udp-client.mdtext      |  83 ---
 .../userguide/ch2-basics/ch2.6-summary.mdtext      |  29 -
 .../userguide/ch3-service/ch3-service.mdtext       |  39 --
 .../userguide/ch3-service/ch3.3-acceptor.mdtext    | 122 ----
 .../userguide/ch3-service/ch3.4-connector.mdtext   |  45 --
 .../ch5-filters/ch5.1-blacklist-filter.mdtext      |  66 --
 .../ch5-filters/ch5.10-mdc-injection-filter.mdtext |  27 -
 .../ch5-filters/ch5.11-noop-filter.mdtext          |  27 -
 .../ch5-filters/ch5.12-profiler-filter.mdtext      |  27 -
 .../ch5.13-protocol-codec-filter.mdtext            |  27 -
 .../ch5-filters/ch5.14-proxy-filter.mdtext         |  27 -
 .../ch5.15-reference-counting-filter.mdtext        |  27 -
 .../ch5.16-request-response-filter.mdtext          |  27 -
 ...17-session-attribute-initializing-filter.mdtext |  27 -
 .../ch5-filters/ch5.18-stream-write-filter.mdtext  |  27 -
 .../userguide/ch5-filters/ch5.19-ssl-filter.mdtext |  27 -
 .../ch5-filters/ch5.2-buffered-write-filter.mdtext |  27 -
 .../ch5-filters/ch5.20-write-request-filter.mdtext |  27 -
 .../ch5.4-connection-throttle-filter.mdtext        |  27 -
 .../ch5.5-error-generating-filter.mdtext           |  27 -
 .../ch5-filters/ch5.6-executor-filter.mdtext       |  27 -
 .../ch5.7-file-region-write-filter.mdtext          |  27 -
 .../ch5-filters/ch5.8-keep-alive-filter.mdtext     |  27 -
 .../ch5-filters/ch5.9-logging-filter.mdtext        |  84 ---
 .../userguide/ch6-transports/ch6-transports.mdtext |  28 -
 .../ch6-transports/ch6.1-apr-transport.mdtext      |  77 --
 .../ch6-transports/ch6.2-serial-transport.mdtext   |  85 ---
 .../userguide/ch8-iobuffer/ch8-iobuffer.mdtext     | 143 ----
 .../ch9-codec-filter/ch9-codec-filter.mdtext       | 438 ------------
 content/special-thanks.mdtext                      |  40 --
 content/sshd-project/building.mdtext               |  28 -
 content/sshd-project/configuring_security.mdtext   |  48 --
 content/sshd-project/contributors.mdtext           |  64 --
 content/sshd-project/documentation.mdtext          |  32 -
 content/sshd-project/download_1.3.0.mdtext         |  25 -
 content/sshd-project/download_1.4.0.mdtext         |  25 -
 content/sshd-project/downloads.mdtext              |  60 --
 content/sshd-project/faq.mdtext                    |  22 -
 content/sshd-project/features.mdtext               |  22 -
 content/sshd-project/getting_involved.mdtext       |  28 -
 content/sshd-project/index.mdtext                  |  25 -
 content/sshd-project/issue_tracking.mdtext         |  35 -
 content/sshd-project/load_ssh_editor.mdtext        |  37 -
 content/sshd-project/required_dependencies.mdtext  |  31 -
 content/sshd-project/tips.mdtext                   |  38 -
 content/validating-release.mdtext                  |  28 -
 content/vysper-project/dependencies.mdtext         |  36 -
 content/vysper-project/downloads.mdtext            |  33 -
 content/vysper-project/embed.mdtext                |  96 ---
 content/vysper-project/getting_involved.mdtext     |  28 -
 content/vysper-project/index.mdtext                |  33 -
 content/vysper-project/issue_tracking.mdtext       |  35 -
 content/vysper-project/server_standalone.mdtext    |  37 -
 .../vysper-project/server_to_server_comm.mdtext    |  61 --
 content/vysper-project/service_discovery.mdtext    |  67 --
 content/vysper-project/test_client.mdtext          |  35 -
 content/vysper-project/user_guide.mdtext           |  29 -
 content/vysper-project/user_mgmt.mdtext            |  88 ---
 content/vysper-project/websocket_endpoint.mdtext   |  76 --
 layouts/_default/baseof.html                       |  78 +++
 layouts/_default/list.html                         |   3 +
 layouts/_default/single.html                       |   3 +
 layouts/asyncweb/baseof.html                       |  77 ++
 layouts/asyncweb/list.html                         |   3 +
 layouts/asyncweb/single.html                       |   3 +
 layouts/ftpserver/baseof.html                      |  77 ++
 layouts/ftpserver/list.html                        |   3 +
 layouts/ftpserver/single.html                      |   3 +
 layouts/mina/baseof.html                           | 102 +++
 layouts/mina/list.html                             |   3 +
 layouts/mina/single.html                           |   3 +
 layouts/partials/footer.html                       |   5 +
 layouts/partials/google-analytics.html             |  11 +
 layouts/partials/header.html                       |  51 ++
 layouts/partials/nav-headers.html                  |  29 +
 layouts/shortcodes/grabpage.html                   |   2 +
 layouts/shortcodes/toc.html                        |   1 +
 layouts/sshd/baseof.html                           |  76 ++
 layouts/sshd/list.html                             |   3 +
 layouts/sshd/single.html                           |   3 +
 layouts/vysper/baseof.html                         |  73 ++
 layouts/vysper/list.html                           |   3 +
 layouts/vysper/single.html                         |   3 +
 lib/path.pm                                        | 208 ------
 lib/view.pm                                        | 119 ----
 source/_index.md                                   |  18 +
 source/asyncweb-project/__index.md                 |  19 +
 source/asyncweb-project/contributors.md            |  19 +
 source/asyncweb-project/documentation.md           |   8 +
 source/asyncweb-project/getting_involved.md        |  12 +
 source/asyncweb-project/references.md              |   8 +
 source/asyncweb-project/reporting_bug.md           |  21 +
 .../asyncweb-project/sources.md                    |  45 +-
 content/contact.mdtext => source/contact.md        |  28 +-
 .../contributors.mdtext => source/contributors.md  |  20 +-
 .../downloads-ftpserver.md                         |  23 +-
 .../downloads-mina_2_0.md                          |  77 +-
 .../downloads-mina_2_1.md                          |  76 +-
 source/downloads-sshd.md                           |  48 ++
 source/downloads-vysper.md                         |  17 +
 source/ftpserver-project/__index.md                |  24 +
 source/ftpserver-project/building.md               |  28 +
 .../ftpserver-project/configuration.md             |  36 +-
 .../ftpserver-project/configuration_listeners.md   |  52 +-
 .../ftpserver-project/configuration_logging.md     |  40 +-
 .../configuration_passive_ports.md                 |  22 +-
 source/ftpserver-project/configuration_server.md   |  38 +
 .../configuration_ssltls_support.md                |  39 +-
 .../configuration_user_manager.md                  |  19 +
 .../configuration_user_manager_db.md               | 108 +++
 .../configuration_user_manager_file.md             |  21 +
 source/ftpserver-project/contributors.md           |  18 +
 .../ftpserver-project/documentation.md             |  27 +-
 .../ftpserver-project/download_1.0.0-M2.md         |  55 +-
 .../ftpserver-project/download_1.0.0-M3.md         |  53 +-
 .../ftpserver-project/download_1.0.0-M4.md         |  53 +-
 .../ftpserver-project/download_1.0.0-RC1.md        |  53 +-
 .../ftpserver-project/download_1.0.0-RC2.md        |  53 +-
 .../ftpserver-project/download_1.0.0.md            |  55 +-
 .../ftpserver-project/download_1.0.1.md            |  53 +-
 .../ftpserver-project/download_1.0.2.md            |  53 +-
 .../ftpserver-project/download_1.0.3.md            |  53 +-
 .../ftpserver-project/download_1.0.4.md            |  53 +-
 .../ftpserver-project/download_1.0.5.md            |  53 +-
 .../ftpserver-project/download_1.0.6.md            |  53 +-
 .../ftpserver-project/download_1.1.0.md            |  53 +-
 .../ftpserver-project/download_1.1.1.md            |  55 +-
 .../ftpserver-project/downloads.md                 |  25 +-
 source/ftpserver-project/draft-twine-ftpmd5-00.md  | 360 ++++++++++
 source/ftpserver-project/embedding_ftpserver.md    |  74 ++
 source/ftpserver-project/faq.md                    |  97 +++
 source/ftpserver-project/features.md               |  22 +
 .../ftpserver-project/ftplet.md                    |  51 +-
 .../ftpserver_as_windows_service.md                |  34 +
 .../ftpserver-project/ftpserver_commands.md        | 342 +++++----
 .../ftpserver-project/ftpserver_port_21.md         |  26 +-
 .../ftpserver-project/ftpserver_site_commands.md   |  79 +++
 source/ftpserver-project/getting_involved.md       |  12 +
 .../ftpserver-project/getting_source.md            |  21 +-
 source/ftpserver-project/installation.md           |  47 ++
 .../ftpserver-project/mailing_list.md              |  22 +-
 source/ftpserver-project/managing_users.md         |  46 ++
 .../ftpserver-project/messages.md                  |  24 +-
 source/ftpserver-project/related_project.md        |  16 +
 source/ftpserver-project/releasing.md              |  59 ++
 source/ftpserver-project/reporting_bug.md          |  21 +
 .../running_ftpserver_standalone.md                |  32 +-
 source/ftpserver-project/testimonials.md           |  14 +
 .../mailing-lists.md                               |  26 +-
 .../mina-project/2.1-vs-2.0.md                     |  72 +-
 .../mina-project/ImprovedJavaConventions.xml       |   0
 .../index.mdtext => source/mina-project/__index.md |  27 +-
 .../mina-project/codec-repo.md                     |  37 +-
 source/mina-project/conferences.md                 |  18 +
 source/mina-project/developer-guide.md             | 654 +++++++++++++++++
 .../mina-project/documentation.md                  |  29 +-
 .../mina-project/downloads_2_0.md                  |  67 +-
 .../mina-project/downloads_2_1.md                  |  67 +-
 .../mina-project/downloads_old.md                  |  65 +-
 .../faq.mdtext => source/mina-project/faq.md       | 120 ++--
 source/mina-project/features.md                    |  30 +
 .../mina-project/issue-tracking.md                 |  25 +-
 .../mina-project/mailing-lists.md                  |  27 +-
 .../news.mdtext => source/mina-project/news.md     |  25 +-
 .../mina-project/performances.md                   |  52 +-
 .../mina-project/quick-start-guide.md              | 260 ++++---
 .../mina-project/related-projects.md               |  33 +-
 .../mina-project/road-map.md                       |  23 +-
 source/mina-project/set-svnprops-tortoisesvn.md    |  70 ++
 .../mina-project/sources.md                        |  25 +-
 .../technical-documentation/message-flow.md        | 195 ++++++
 .../technical-documentation/ssl-tls-internal.md    |  31 +-
 .../mina-project/testimonials.md                   |  21 +-
 .../ch1-getting-started/ch1-getting-started.md     |  19 +
 .../ch1-getting-started/ch1.1-nio-overview.md      |  44 ++
 .../ch1-getting-started/ch1.2-why-mina.md          |  47 +-
 .../ch1-getting-started/ch1.3-features.md          |  35 +
 .../ch1-getting-started/ch1.4-first-steps.md       |  55 +-
 .../userguide/ch1-getting-started/ch1.5-summary.md |  16 +
 .../ch10-executor-filter/ch10-executor-filter.md   |  34 +
 .../userguide/ch11-ssl-filter/ch11-ssl-filter.md   |  93 ++-
 .../ch12-logging-filter/ch12-logging-filter.md     |  91 ++-
 .../userguide/ch13-debugging/ch13-debugging.md     |  14 +
 .../ch14-state-machine/ch14-state-machine.md       | 773 +++++++++++----------
 .../userguide/ch15-proxy/ch15-proxy.md             |  14 +
 .../userguide/ch16-jmx-support/ch16-jmx-support.md |  87 +++
 .../ch17-spring-integration.md                     | 116 ++--
 .../userguide/ch2-basics/ch2-basics.md             |  24 +
 .../ch2-basics/ch2.1-application-architecture.md   |  53 ++
 .../ch2-basics/ch2.1.1-server-architecture.md      |  37 +-
 .../ch2-basics/ch2.1.2-client-architecture.md      |  22 +
 .../ch2-basics/ch2.2-sample-tcp-server.md          | 239 +++++++
 .../ch2-basics/ch2.3-sample-tcp-client.md          | 115 +++
 .../ch2-basics/ch2.4-sample-udp-server.md          |  92 +++
 .../ch2-basics/ch2.5-sample-udp-client.md          |  73 ++
 .../userguide/ch2-basics/ch2.6-summary.md          |  16 +
 .../userguide/ch3-service/ch3-service.md           |  26 +
 .../userguide/ch3-service/ch3.1-io-service.md      |  42 +-
 .../ch3-service/ch3.2-io-service-details.md        |  40 +-
 .../userguide/ch3-service/ch3.3-acceptor.md        | 112 +++
 .../userguide/ch3-service/ch3.4-connector.md       |  32 +
 .../userguide/ch4-session/ch4-session.md           | 189 +++--
 .../ch4-session/ch4.1-session-configuration.md     |  41 +-
 .../ch4-session/ch4.2-session-statistics.md        |  33 +-
 .../userguide/ch5-filters/ch5-filters.md           | 193 +++--
 .../ch5-filters/ch5.1-blacklist-filter.md          |  55 ++
 .../ch5-filters/ch5.10-mdc-injection-filter.md     |  14 +
 .../userguide/ch5-filters/ch5.11-noop-filter.md    |  14 +
 .../ch5-filters/ch5.12-profiler-filter.md          |  14 +
 .../ch5-filters/ch5.13-protocol-codec-filter.md    |  14 +
 .../userguide/ch5-filters/ch5.14-proxy-filter.md   |  14 +
 .../ch5.15-reference-counting-filter.md            |  14 +
 .../ch5-filters/ch5.16-request-response-filter.md  |  14 +
 ...ch5.17-session-attribute-initializing-filter.md |  14 +
 .../ch5-filters/ch5.18-stream-write-filter.md      |  14 +
 .../userguide/ch5-filters/ch5.19-ssl-filter.md     |  14 +
 .../ch5-filters/ch5.2-buffered-write-filter.md     |  14 +
 .../ch5-filters/ch5.20-write-request-filter.md     |  14 +
 .../ch5-filters/ch5.3-compression-filter.md        |  43 +-
 .../ch5.4-connection-throttle-filter.md            |  14 +
 .../ch5-filters/ch5.5-error-generating-filter.md   |  14 +
 .../userguide/ch5-filters/ch5.6-executor-filter.md |  14 +
 .../ch5-filters/ch5.7-file-region-write-filter.md  |  14 +
 .../ch5-filters/ch5.8-keep-alive-filter.md         |  14 +
 .../userguide/ch5-filters/ch5.9-logging-filter.md  |  75 ++
 .../userguide/ch6-transports/ch6-transports.md     |  15 +
 .../ch6-transports/ch6.1-apr-transport.md          |  66 ++
 .../ch6-transports/ch6.2-serial-transport.md       |  75 ++
 .../userguide/ch7-handler/ch7-handler.md           |  33 +-
 .../userguide/ch8-iobuffer/ch8-iobuffer.md         | 138 ++++
 .../userguide/ch9-codec-filter/ch9-codec-filter.md | 435 ++++++++++++
 .../mina-project/userguide/user-guide-toc.md       |  23 +-
 .../privacy-policy.md                              |  20 +-
 source/special-thanks.md                           |  26 +
 source/sshd-project/__index.md                     |  12 +
 source/sshd-project/building.md                    |  14 +
 source/sshd-project/configuring_security.md        |  36 +
 source/sshd-project/contributors.md                |  50 ++
 source/sshd-project/documentation.md               |  19 +
 .../sshd-project/download_0.1.0.md                 |  25 +-
 .../sshd-project/download_0.10.0.md                |  22 +-
 .../sshd-project/download_0.10.1.md                |  23 +-
 .../sshd-project/download_0.11.0.md                |  22 +-
 .../sshd-project/download_0.12.0.md                |  22 +-
 .../sshd-project/download_0.13.0.md                |  22 +-
 .../sshd-project/download_0.14.0.md                |  22 +-
 .../sshd-project/download_0.2.0.md                 |  23 +-
 .../sshd-project/download_0.3.0.md                 |  27 +-
 .../sshd-project/download_0.4.0.md                 |  24 +-
 .../sshd-project/download_0.5.0.md                 |  23 +-
 .../sshd-project/download_0.6.0.md                 |  23 +-
 .../sshd-project/download_0.7.0.md                 |  25 +-
 .../sshd-project/download_0.8.0.md                 |  24 +-
 .../sshd-project/download_0.9.0.md                 |  22 +-
 .../sshd-project/download_1.0.0.md                 |  22 +-
 .../sshd-project/download_1.1.0.md                 |  22 +-
 .../sshd-project/download_1.1.1.md                 |  22 +-
 .../sshd-project/download_1.2.0.md                 |  22 +-
 source/sshd-project/download_1.3.0.md              |  12 +
 source/sshd-project/download_1.4.0.md              |  12 +
 .../sshd-project/download_1.6.0.md                 |  22 +-
 .../sshd-project/download_1.7.0.md                 |  22 +-
 .../sshd-project/download_2.0.0.md                 |  22 +-
 .../sshd-project/download_2.1.0.md                 |  21 +-
 source/sshd-project/download_2.2.0.md              |  22 +
 source/sshd-project/download_2.3.0.md              |  22 +
 source/sshd-project/downloads.md                   |  49 ++
 .../sshd-project/embedding_ssh.md                  |  56 +-
 source/sshd-project/faq.md                         |   8 +
 source/sshd-project/features.md                    |   8 +
 source/sshd-project/getting_involved.md            |  14 +
 source/sshd-project/issue_tracking.md              |  21 +
 source/sshd-project/load_ssh_editor.md             |  23 +
 .../sshd-project/mailing_lists.md                  |  22 +-
 source/sshd-project/required_dependencies.md       |  15 +
 .../sshd-project/sources.md                        |  22 +-
 source/sshd-project/tips.md                        |  24 +
 source/validating-release.md                       |  16 +
 source/vysper-project/__index.md                   |  19 +
 source/vysper-project/dependencies.md              |  22 +
 .../vysper-project/documentation.md                |  23 +-
 .../vysper-project/download_0.5.md                 |  55 +-
 .../vysper-project/download_0.6.md                 |  55 +-
 .../vysper-project/download_0.7.md                 |  53 +-
 source/vysper-project/downloads.md                 |  19 +
 source/vysper-project/embed.md                     |  87 +++
 .../vysper-project/extending_server.md             |  22 +-
 .../vysper-project/extension_roadmap.md            |  22 +-
 source/vysper-project/getting_involved.md          |  12 +
 source/vysper-project/issue_tracking.md            |  21 +
 .../vysper-project/mailing_lists.md                |  23 +-
 source/vysper-project/server_standalone.md         |  26 +
 source/vysper-project/server_to_server_comm.md     |  50 ++
 source/vysper-project/service_discovery.md         |  52 ++
 .../vysper-project/socks5.md                       |  59 +-
 .../vysper-project/sources.md                      |  29 +-
 .../vysper-project/standards_supported.md          |  22 +-
 .../vysper-project/stanza_processing_layer.md      |  22 +-
 source/vysper-project/test_client.md               |  23 +
 source/vysper-project/user_guide.md                |  15 +
 source/vysper-project/user_mgmt.md                 |  74 ++
 source/vysper-project/websocket_endpoint.md        |  66 ++
 .../vysper-project/xml_processing.md               |  22 +-
 {content => static/assets}/css/asyncweb.css        |   6 +-
 {content => static/assets}/css/common.css          |  20 +-
 {content => static/assets}/css/ftpserver.css       |   6 +-
 content/css/sshd.css => static/assets/css/mina.css |  14 +-
 {content => static/assets}/css/sshd.css            |   6 +-
 {content => static/assets}/css/vysper.css          |   6 +-
 .../assets/img}/AsyncWeb-0.9.0-SNAPSHOT.png        | Bin
 .../assets/img}/FAMFAMFAM_logo.png                 | Bin
 .../images => static/assets/img}/YourKit_logo.png  | Bin
 .../assets/img}/asyncweb/httpmessages.png          | Bin
 .../assets/img}/asyncweb/httpserver.png            | Bin
 .../images => static/assets/img}/body-bg.png       | Bin
 .../images => static/assets/img}/content-bg.png    | Bin
 .../images => static/assets/img}/default.gif       | Bin
 .../assets/img}/feed-icon16x16.png                 | Bin
 .../images => static/assets/img}/footer.png        | Bin
 .../assets/img}/header-asyncweb.png                | Bin
 .../assets/img}/header-ftpserver.png               | Bin
 .../images => static/assets/img}/header-mina.png   | Bin
 .../images => static/assets/img}/header-sshd.png   | Bin
 .../images => static/assets/img}/header-vysper.png | Bin
 .../images => static/assets/img}/header.png        | Bin
 .../assets/img}/icons/check.gif                    | Bin
 .../assets/img}/icons/forbidden.gif                | Bin
 .../assets/img}/icons/information.gif              | Bin
 .../assets/img}/icons/warning.gif                  | Bin
 .../assets/img}/mina/IoServiceAcceptor.png         | Bin
 .../assets/img}/mina/IoServiceConnector.png        | Bin
 .../assets/img}/mina/IoService_mindmap.png         | Bin
 .../assets/img}/mina/Server_arch.png               | Bin
 .../assets/img}/mina/apparch_small.png             | Bin
 .../assets/img}/mina/clientdiagram.png             | Bin
 .../assets/img}/mina/codec-filter.jpeg             | Bin
 .../assets/img}/mina/incoming-connections.png      | Bin
 .../assets/img}/mina/mina_app_arch.png             | Bin
 .../assets/img}/mina/post-mina.png                 | Bin
 .../assets/img}/mina/selector-processor.graphml    |   0
 .../assets/img}/mina/selector-processor.png        | Bin
 .../assets/img}/mina/session-state.png             | Bin
 .../assets/img}/mina/state-diagram.png             | Bin
 .../assets/img}/mina/tortoisesvn_setting.png       | Bin
 .../assets/img}/mina/tortoisesvn_settingdialog.png | Bin
 .../images => static/assets/img}/nav_next.png      | Bin
 .../images => static/assets/img}/nav_prev.png      | Bin
 .../images => static/assets/img}/nav_up.png        | Bin
 .../images => static/assets/img}/news.png          | Bin
 .../images => static/assets/img}/post.png          | Bin
 .../assets}/pdfs/ACAsia2006.pdf                    | Bin
 .../assets}/pdfs/ACEU2006.pdf                      | Bin
 .../assets}/pdfs/ACEU2007.pdf                      | Bin
 .../assets}/pdfs/ACUS2005.pdf                      | Bin
 .../assets}/pdfs/ACUS2005.swf                      | Bin
 .../assets}/pdfs/ACUS2007.pdf                      | Bin
 .../assets}/pdfs/JavaOne2008.pdf                   | Bin
 .../assets}/pdfs/Mina_in_real_life_ASEU-2009.pdf   | Bin
 .../mina-project/resources/ACAsia2006.pdf          | Bin
 .../mina-project/resources/ACEU2006.pdf            | Bin
 .../mina-project/resources/ACEU2007.pdf            | Bin
 .../mina-project/resources/ACUS2005.pdf            | Bin
 .../mina-project/resources/ACUS2005.swf            | Bin
 .../mina-project/resources/ACUS2007.pdf            | Bin
 .../mina-project/resources/JavaOne2008.pdf         | Bin
 .../resources/Mina_in_real_life_ASEU-2009.pdf      |   0
 .../userguide/images/TLS-inMessage.graphml         |   0
 .../userguide/images/TLS-inMessage.png             | Bin
 .../userguide/images/TLS-outMessage.graphml        |   0
 .../userguide/images/TLS-outMessage.png            | Bin
 .../userguide/images/TLS-protocol.graphml          |   0
 .../mina-project/userguide/images/TLS-protocol.png | Bin
 .../userguide/images/TLS-unwrap.graphml            |   0
 .../mina-project/userguide/images/TLS-unwrap.png   | Bin
 templates/asyncweb-project/navigation.html         |  31 -
 templates/asyncweb-project/page.html               |  10 -
 templates/footer.html                              |  23 -
 templates/ftpserver-project/navigation.html        |  31 -
 templates/ftpserver-project/page.html              |  10 -
 templates/header.html                              | 103 ---
 templates/mina-project/index.html                  |   7 -
 templates/mina-project/navigation.html             |  62 --
 templates/mina-project/page.html                   |  10 -
 templates/navigation.html                          |  37 -
 templates/page.html                                |  64 --
 templates/sshd-project/navigation.html             |  30 -
 templates/sshd-project/page.html                   |  10 -
 templates/vysper-project/navigation.html           |  27 -
 templates/vysper-project/page.html                 |  10 -
 444 files changed, 8463 insertions(+), 11046 deletions(-)

diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..d645695
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed 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.
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 0000000..d590ae6
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,7 @@
+                           Apache Mina
+              Copyright 2020 The Apache Software Foundation
+
+================================================================================
+
+This product includes software developed at
+The Apache Software Foundation (https://www.apache.org/).
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..10fe638
--- /dev/null
+++ b/README.md
@@ -0,0 +1,30 @@
+# Apache Mina website
+
+This is the source code for the website of [Apache Mina](https://mina.apache.org/), hosted at:
+
+    https://mina.apache.org/
+
+## Repository structure
+
+This repository uses 2 branches for serving the website.
+- The `master` branch, which contains all the sources for the website.
+- The `asf-site` branch, which contains the generated website being used for the actual website.
+
+When contributing patches, apply them to the `master` branch. Jenkins will then regenerate the website
+and commit the changes to the `asf-site` branch.
+
+## Content Management System
+
+The website uses Hugo as static website generator. 
+See [Hugo](https://gohugo.io/) for more info and for details how to install Hugo.
+
+## Generate the website
+
+To generate the static website, execute `hugo` to generate and serve the website on `localhost:1313`.
+
+During development, it may be useful to run an incremental build. For this to work, execute `hugo server -D` to 
+continuously generate and serve the website on `localhost:1313`.
+
+## Publish the website
+
+Jenkins is used for generating the website and committing the generated site to the `asf-site` branch.
diff --git a/archetypes/default.md b/archetypes/default.md
new file mode 100644
index 0000000..00e77bd
--- /dev/null
+++ b/archetypes/default.md
@@ -0,0 +1,6 @@
+---
+title: "{{ replace .Name "-" " " | title }}"
+date: {{ .Date }}
+draft: true
+---
+
diff --git a/config.toml b/config.toml
new file mode 100644
index 0000000..6180e56
--- /dev/null
+++ b/config.toml
@@ -0,0 +1,41 @@
+baseURL = "https://mina.apache.org"
+title = "Apache Mina"
+languageCode = "en"
+
+contentDir = "source"
+publishDir = "target/content"
+
+disablePathToLower = true
+uglyURLs = true
+enableRobotsTXT = true
+disableBrowserError = true
+timeout = 3000
+
+disableKinds = ["taxonomy", "taxonomyTerm"]
+ignoreFiles = [ ] # No files to ignore
+
+# Highlighting config. See https://help.farbox.com/pygments.html
+pygmentsCodeFences = true
+pygmentsUseClasses = false
+pygmentsStyle = "emacs"
+
+# Enable Git variables like commit, lastmod
+enableGitInfo = true
+
+[markup.goldmark.renderer]
+unsafe= true
+
+[blackfriday]
+# hrefTargetBlank = true # We don't want everything opened in a new window
+fractions = false
+
+[frontmatter]
+date = ["date", ":filename", "publishDate", "lastmod"]
+
+[params]
+version_asyncweb = "2.0.0-SNAPSHOT"
+version_mina_2_0 = "2.0.21"
+version_mina_2_1 = "2.1.3"
+version_ftpserver = "1.1.1"
+version_sshd = "2.4.0"
+version_vysper = "0.7"
diff --git a/content/asyncweb-project/contributors.mdtext b/content/asyncweb-project/contributors.mdtext
deleted file mode 100644
index d7466e4..0000000
--- a/content/asyncweb-project/contributors.mdtext
+++ /dev/null
@@ -1,33 +0,0 @@
-Title: FtpServer Contributors
-Notice:    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.
-
-
-# Contributors
-
-## Commiters
-
-The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
-
-* Jeff Genender
-* Mike Heath
-* Alex Karasulu
-* Emmanuel L&eacute;charny
-* Sangjin Lee
-* Trustin Lee
-* Rick McGuire
-* Julien Vermillard
diff --git a/content/asyncweb-project/documentation.mdtext b/content/asyncweb-project/documentation.mdtext
deleted file mode 100644
index 1f54902..0000000
--- a/content/asyncweb-project/documentation.mdtext
+++ /dev/null
@@ -1,23 +0,0 @@
-Title: Documentation
-Notice:    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.
-
-
-# Documentation
-
-**Asyncweb** project is currently dormant. The documentation we have can be found on [AsyncWeb WIKI](https://cwiki.apache.org/AWEB/)
-
diff --git a/content/asyncweb-project/getting_involved.mdtext b/content/asyncweb-project/getting_involved.mdtext
deleted file mode 100644
index 2851ca1..0000000
--- a/content/asyncweb-project/getting_involved.mdtext
+++ /dev/null
@@ -1,27 +0,0 @@
-Title: FtpServer Getting Involved
-Notice:    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.
-
-
-# Getting Involved
-
-Apache Asyncweb communicates using our [Mailing Lists](../mailing-lists.html). If you have any questions, feedback or suggestions, you're very welcome to join the list and send an email. We are also happy to receive [bug reports and feature requests in our JIRA](https://issues.apache.org/jira/browse/ASYNCWEB).
-
-# Patches
-
-The best chance of getting your bug or feature fixed is to provide a patch, if they fit our goals we will usually have them commited within a few days. The Apache Contributors page has excellent [information on how to produce patches](http://apache.org/dev/contributors.html#patches).
-
diff --git a/content/asyncweb-project/index.mdtext b/content/asyncweb-project/index.mdtext
deleted file mode 100644
index 6932cb4..0000000
--- a/content/asyncweb-project/index.mdtext
+++ /dev/null
@@ -1,32 +0,0 @@
-Title: AsyncWeb
-Notice:    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.
-
-
-# Apache AsyncWeb
-
-<DIV class="note" markdown="1" >
-The **AsyncWeb** project is currently dormant. We don't have committers for it, so if you feel like you can give an hand, please do contact us !
-</DIV>
-
-Apache AsyncWeb (built on top of the Apache MINA network framework) employs non-blocking selector driven IO at the transport level, and is asynchronous thoughout - from the initial parsing of requests, right through to and including the services implemented by users.
-
-Apache AsyncWeb breaks away from the blocking request / response architecture found in todays popular HTTP engines. This allows it to be highly scalable and capable of supporting very high throughput - even in high processing latency scenarios.
-
-A simple API allows new asynchronous services to be created easily - and out-of-the-box Spring integration allows them to be configured simply and with great flexibility. In addition to "endpoint" HTTP services, AsyncWeb also allows configurable "chains" of behaviour - enabling "filter" like behaviour to be applied to all requests. Pluggable "resolvers" map incoming requests to their target HTTP service - and are given access to the entire incoming request - allowing the routing possibil [...]
-
-
diff --git a/content/asyncweb-project/references.mdtext b/content/asyncweb-project/references.mdtext
deleted file mode 100644
index 7b14635..0000000
--- a/content/asyncweb-project/references.mdtext
+++ /dev/null
@@ -1,23 +0,0 @@
-Title: References
-Notice:    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.
-
-
-# References
-
-* Interesting Comet article <http://cometdaily.com/2008/04/01/new-technology-new-problems-delayed-pushes-operations/>
-
diff --git a/content/asyncweb-project/reporting_bug.mdtext b/content/asyncweb-project/reporting_bug.mdtext
deleted file mode 100644
index 15511ad..0000000
--- a/content/asyncweb-project/reporting_bug.mdtext
+++ /dev/null
@@ -1,35 +0,0 @@
-Title: FtpServer Reporting Bugs
-Notice:    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.
-
-
-# Reporting a Bug
-
-We are using JIRA to track all AsynWeb issues including bugs. Please visit our [issue tracker page](http://issues.apache.org/jira/browse/ASYNCWEB) to report a bug. 
-
-## How to report a bug
-
-Writing a bug report with detailed information will help us to fix your problem sooner.
-
-* Make sure if the bug you are going to report doesn't exist yet.
-* Attaching JUnit test case which reproduces the problem will put your report in our highest priority.
-* Attach full thread stack dump if you suspect a dead lock.
-* Attach full heap dump if you suspect a memory leak.
-* Specify the environment in detail as much as possible.
-    * Operating system version, distribution, architecture, ...
-    * JVM vendor, version, build number, command line arguments, ...
-    * Network settings
diff --git a/content/css/mina.css b/content/css/mina.css
deleted file mode 100644
index 1165b1f..0000000
--- a/content/css/mina.css
+++ /dev/null
@@ -1,48 +0,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.
- *
- */
-h1, h2, h3, h4, h5, h6 
-{
-	color: #330066;
-}
-
-#header 
-{
-	background-image: url('../staticresources/images/header-mina.png');
-}
-
-.blogDate 
-{
-	color: #330066;
-	background: url('../staticresources/images/news.png') no-repeat;
-}
-
-a.blogHeading 
-{
-	color: #330066;
-	background: url('../staticresources/images/post.png') no-repeat;
-}
-
-
-.news h2
-{
-        color: #330066;
-        background: url('../staticresources/images/mina/post-mina.png') no-repeat;
-}
-
diff --git a/content/downloads-sshd.mdtext b/content/downloads-sshd.mdtext
deleted file mode 100644
index 08e2857..0000000
--- a/content/downloads-sshd.mdtext
+++ /dev/null
@@ -1,60 +0,0 @@
-Title: Downloads
-Notice:    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.
-
-# Latest SSHD Releases
-
-The latest release is the SSHD 2.2.0 release.
- 
-* Source distributions:
-    * [Apache Mina SSHD 2.2.0 Sources (.tar.gz)](https://www.apache.org/dyn/closer.lua/mina/sshd/2.2.0/apache-sshd-2.2.0-src.tar.gz) [PGP](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0-src.tar.gz.asc) [SHA](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0-src.tar.gz.sha1)
-    * [Apache Mina SSHD 2.2.0 Sources (.zip)](https://www.apache.org/dyn/closer.lua/mina/sshd/2.2.0/apache-sshd-2.2.0-src.zip) [PGP](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0-src.zip.asc) [SHA](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0-src.zip.sha1)
-* Binary distributions:
-    * [Apache Mina SSHD 2.2.0 Binary (.tar.gz)](https://www.apache.org/dyn/closer.lua/mina/sshd/2.2.0/dist/apache-sshd-2.2.0.tar.gz) [PGP](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0.tar.gz.asc) [SHA](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0.tar.gz.sha1)
-    * [Apache Mina SSHD 2.2.0 Binary (.zip)](https://www.apache.org/dyn/closer.lua/mina/sshd/2.2.0/dist/apache-sshd-2.2.0.zip) [PGP](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0.zip.asc) [SHA](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0.zip.sha1)
-
-# Development snapshots
-
-You can [build](sshd-project/building.html) the latest version from [sources](sshd-project/sources.html).
-
-# Previous releases
-
-* [SSHD 0.1.0](sshd-project/download_0.1.0.html)
-* [SSHD 0.2.0](sshd-project/download_0.2.0.html)
-* [SSHD 0.3.0](sshd-project/download_0.3.0.html)
-* [SSHD 0.4.0](sshd-project/download_0.4.0.html)
-* [SSHD 0.5.0](sshd-project/download_0.5.0.html)
-* [SSHD 0.6.0](sshd-project/download_0.6.0.html)
-* [SSHD 0.7.0](sshd-project/download_0.7.0.html)
-* [SSHD 0.8.0](sshd-project/download_0.8.0.html)
-* [SSHD 0.9.0](sshd-project/download_0.9.0.html)
-* [SSHD 0.10.0](sshd-project/download_0.10.0.html)
-* [SSHD 0.10.1](sshd-project/download_0.10.1.html)
-* [SSHD 0.11.0](sshd-project/download_0.11.0.html)
-* [SSHD 0.12.0](sshd-project/download_0.12.0.html)
-* [SSHD 0.13.0](sshd-project/download_0.13.0.html)
-* [SSHD 0.14.0](sshd-project/download_0.14.0.html)
-* [SSHD 1.0.0](sshd-project/download_1.0.0.html)
-* [SSHD 1.1.0](sshd-project/download_1.1.0.html)
-* [SSHD 1.1.1](sshd-project/download_1.1.1.html)
-* [SSHD 1.2.0](sshd-project/download_1.2.0.html)
-* [SSHD 1.3.0](sshd-project/download_1.3.0.html)
-* [SSHD 1.4.0](sshd-project/download_1.4.0.html)
-* [SSHD 1.6.0](sshd-project/download_1.6.0.html)
-* [SSHD 1.7.0](sshd-project/download_1.7.0.html)
-* [SSHD 2.0.0](sshd-project/download_2.0.0.html)
-* [SSHD 2.1.0](sshd-project/download_2.1.0.html)
diff --git a/content/downloads-vysper.mdtext b/content/downloads-vysper.mdtext
deleted file mode 100644
index 4c2bd9b..0000000
--- a/content/downloads-vysper.mdtext
+++ /dev/null
@@ -1,33 +0,0 @@
-Title: Vysper Downloads
-Notice:    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.
-
-
-# Latest Vysper Releases
-
-The latest release is the [Apache Vysper 0.7 Release](vysper-project/download_0.7.html)
-
-# All Releases
-
-* [Apache Vysper 0.7 Release](vysper-project/download_0.7.html)
-* [Apache Vysper 0.6 Release](vysper-project/download_0.6.html)
-* [Apache Vysper 0.5 Release](vysper-project/download_0.5.html)
-
-# Maven Repositories
-
-All Apache Vysper releases are available from the Maven central repository 
-
diff --git a/content/extpaths.txt b/content/extpaths.txt
deleted file mode 100644
index d9f0a5a..0000000
--- a/content/extpaths.txt
+++ /dev/null
@@ -1,87 +0,0 @@
-# File format: lines starting with # or space chars are ignored.
-
-# MINA
-# 2.1.x
-mina-project/gen-docs/2.1.3
-mina-project/gen-docs/2.1.2
-mina-project/gen-docs/2.1.1
-mina-project/gen-docs/2.1.0
-
-# 2.0.x
-mina-project/gen-docs/2.0.21
-mina-project/gen-docs/2.0.20
-mina-project/gen-docs/2.0.19
-mina-project/gen-docs/2.0.18
-mina-project/gen-docs/2.0.17
-mina-project/gen-docs/2.0.16
-mina-project/gen-docs/2.0.15
-mina-project/gen-docs/2.0.14
-mina-project/gen-docs/2.0.13
-mina-project/gen-docs/2.0.12
-mina-project/gen-docs/2.0.11
-mina-project/gen-docs/2.0.10
-mina-project/gen-docs/2.0.9
-mina-project/gen-docs/2.0.8
-mina-project/gen-docs/2.0.7
-mina-project/gen-docs/2.0.6
-mina-project/gen-docs/2.0.5
-mina-project/gen-docs/2.0.4
-mina-project/gen-docs/2.0.3
-mina-project/gen-docs/2.0.2
-mina-project/gen-docs/2.0.1
-mina-project/gen-docs/2.0.0
-mina-project/gen-docs/2.0.0-RC1
-mina-project/gen-docs/2.0.0-M6
-mina-project/gen-docs/2.0.0-M5
-mina-project/gen-docs/2.0.0-M4
-mina-project/gen-docs/2.0.0-M3
-mina-project/gen-docs/2.0.0-M2
-mina-project/gen-docs/2.0.0-M1
-
-# 1.1.x
-mina-project/gen-docs/1.1.7
-mina-project/gen-docs/1.1.6
-mina-project/gen-docs/1.1.5
-mina-project/gen-docs/1.1.4
-mina-project/gen-docs/1.1.3
-mina-project/gen-docs/1.1.2
-mina-project/gen-docs/1.1.1
-mina-project/gen-docs/1.1.0
-
-# 1.0.x
-mina-project/gen-docs/1.0.10
-mina-project/gen-docs/1.0.9
-mina-project/gen-docs/1.0.8
-mina-project/gen-docs/1.0.7
-mina-project/gen-docs/1.0.6
-mina-project/gen-docs/1.0.5
-mina-project/gen-docs/1.0.4
-mina-project/gen-docs/1.0.3
-mina-project/gen-docs/1.0.2
-mina-project/gen-docs/1.0.1
-mina-project/gen-docs/1.0.0
-
-# 0.9.x
-mina-project/gen-docs/0.9.5
-mina-project/gen-docs/0.9.4
-mina-project/gen-docs/0.9.3
-mina-project/gen-docs/0.9.2
-mina-project/gen-docs/0.9.1
-mina-project/gen-docs/0.9.0
-
-# 0.8.x
-mina-project/gen-docs/0.8.4
-mina-project/gen-docs/0.8.3
-mina-project/gen-docs/0.8.2
-mina-project/gen-docs/0.8.1
-mina-project/gen-docs/0.8.0
-
-# 0.7.x
-mina-project/gen-docs/0.7.4
-mina-project/gen-docs/0.7.3
-mina-project/gen-docs/0.7.2
-mina-project/gen-docs/0.7.1
-
-# SSHD
-sshd-project/apidocs
-
diff --git a/content/ftpserver-project/building.mdtext b/content/ftpserver-project/building.mdtext
deleted file mode 100644
index 97795a7..0000000
--- a/content/ftpserver-project/building.mdtext
+++ /dev/null
@@ -1,42 +0,0 @@
-Title: FtpServer Building
-Notice:    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.
-
-
-# Building
-
-You need [Subversion](http://svnbook.red-bean.com/) to [check out the source code](http://apache.org/dev/version-control.html) from [our source code repository](getting_source.html), and [Maven 2](http://maven.apache.org/download.html) to build the source code. Currently, Maven 2.0.5 or 2.0.7 or newer is required for the build.
-
-The following example shows how to build the trunk.
-
-	$ svn co http://svn.apache.org/repos/asf/mina/ftpserver/trunk/ ftpserver
-	$ cd ftpserver
-	$ mvn install
-
-If you run into any problems running these steps, please report on the [mailing lists](mailing_list.html)
-
-If you want to generate Eclipse project files, run:
-
-	$ mvn eclipse:eclipse   # Generate Eclipse project files if you want
-
-To generate to distribution packages, including shell scripts and example configuration, run:
-
-	cd distribution
-	$ mvn package
-
-The build requires a minimum Java 1.5 JDK to compile.
-
diff --git a/content/ftpserver-project/configuration_server.mdtext b/content/ftpserver-project/configuration_server.mdtext
deleted file mode 100644
index 141311a..0000000
--- a/content/ftpserver-project/configuration_server.mdtext
+++ /dev/null
@@ -1,51 +0,0 @@
-Title: FtpServer Server
-Notice:    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.
-
-
-# Server
-
-Some configuration is done for the entire server. This affects all listeners, for login limits, the sum of the logins for all listeners are enforced.
-
-Using the XML configuration, this following examples shows all available configurations for the server
-
-	:::XML
-	<server xmlns="http://mina.apache.org/ftpserver/spring/v1"
-		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-		xsi:schemaLocation="http://mina.apache.org/ftpserver/spring/v1 http://mina.apache.org/ftpserver/ftpserver-1.0.xsd"
-        id="server" 	
-        max-logins="500"
-		anon-enabled="false"
-		max-anon-logins="123"
-		max-login-failures="124"
-		login-failure-delay="125">
-	...
-	</server>
-
-## server element
-
-| Attribute | Description | Required | Default value |
-|---|---|---|---|
-| id | A unique identifier for this server within this XML configiration | Yes |&nbsp;|
-| max-threads | The maximum number of threads used in the thread pool for handling client connections  | No | max-logins, or 16 if neither value is set |
-| max-logins | The maximum number of simultaneous users  | No | 10 |
-| max-anon-logins | The maximum number of simultaneous anonymous users  | No | 10 |
-| anon-enabled | Are anonymous logins enabled? | No | true |
-| max-login-failures | The number of failed login attempts before the connection is closed | No | 3 |
-| login-failure-delay | The number of milliseconds that the connection is delayed after a failed login attempt. Used to limit to possibility of brute force guessing passwords. | No | 500 |
-
-
diff --git a/content/ftpserver-project/configuration_user_manager.mdtext b/content/ftpserver-project/configuration_user_manager.mdtext
deleted file mode 100644
index ac353e1..0000000
--- a/content/ftpserver-project/configuration_user_manager.mdtext
+++ /dev/null
@@ -1,33 +0,0 @@
-Title: FtpServer User Manager
-Notice:    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.
-
-
-# User Manager
-
-## Built in user managers
-
-FtpServer comes with two different user managers:
-
-* [File based user manager](configuration_user_manager_file.html)
-* [Database user manager](configuration_user_manager_db.html)
-
-## Custom User Manager
-
-You can write your own user manager to integrate it with your existing applications. Your custom user manager should implement org.apache.ftpserver.ftplet.UserManager interface. In your configuration file, you will have to use the Spring bean element to configure your custom user manager. This gives you all the power of Spring, for example integrating with your other beans. You can also provide a custom XML format by using the Spring XML extension mechanisms.
-
-
diff --git a/content/ftpserver-project/configuration_user_manager_db.mdtext b/content/ftpserver-project/configuration_user_manager_db.mdtext
deleted file mode 100644
index f6f5648..0000000
--- a/content/ftpserver-project/configuration_user_manager_db.mdtext
+++ /dev/null
@@ -1,124 +0,0 @@
-Title: FtpServer Database user manager
-Notice:    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.
-
-
-# Database user manager
-
-You can store user user information in a database. JDBC is used to access the database. This user manager has been tested using MySQL, HSQLDB and FireBird database. All the user informations are stored in FTP_USER table. An example DDL file for the database is provided in <INSTALL_DIR>/res/ftp-db.sql.
-
-## Database JDBC libraries
-
-You must include the required JAR files for your database in the classpath of FtpServer. Typically you would do this by placing the JAR files in <INSTALL_DIR>/common/lib.
-
-## Example
-
-	:::XML
-	<db-user-manager encrypt-passwords="salted">
-		<data-source>
-			<beans:bean class="some.datasoure.class" />
-		</data-source>
-		<insert-user>INSERT INTO FTP_USER (userid, userpassword,
-			homedirectory, enableflag, writepermission, idletime, uploadrate,
-			downloadrate) VALUES ('{userid}', '{userpassword}', '{homedirectory}',
-			'{enableflag}', '{writepermission}', {idletime}, {uploadrate},
-			{downloadrate})</insert-user>
-		<update-user>
-			UPDATE FTP_USER SET
-				userpassword='{userpassword}',
-				homedirectory='{homedirectory}',
-				enableflag={enableflag},
-				writepermission={writepermission},
-				idletime={idletime},
-				uploadrate={uploadrate},
-				downloadrate={downloadrate}
-			WHERE userid='{userid}'
-		</update-user>
-		<delete-user>
-			DELETE FROM FTP_USER WHERE userid = '{userid}'
-		</delete-user>
-		<select-user>
-			SELECT userid, userpassword, homedirectory,
-				enableflag, writepermission, idletime, uploadrate, downloadrate 
-			FROM FTP_USER 
-			WHERE userid = '{userid}'
-		</select-user>
-		<select-all-users>
-			SELECT userid FROM FTP_USER ORDER BY userid
-		</select-all-users>
-		<is-admin>
-			SELECT userid 
-			FROM FTP_USER 
-			WHERE userid='{userid}' AND userid='admin'
-			</is-admin>
-		<authenticate>SELECT userpassword from FTP_USER WHERE userid='{userid}'</authenticate>
-	</db-user-manager>
-
-## Configuration Parameters
-
-### db-user-manager element
-
-| Attribute | Description | Required | Default value |
-|---|---|---|---|
-| encrypt-passwords | It indicates how to stored password are encrypted. Possible values are "clear" for clear text, "md5" for hashed using MD5 or "salted" for hashed salted passwords (including multiple hash iterations). "salted" is encouraged. | No | md5 |
-
-
-| Child element | Description | Required | Default value |
-|---|---|---|---|
-| data-source | The data source configured using the regular Spring bean element | Yes |&nbsp;|
-| insert-user | The SQL statement to insert a new user. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
-| update-user | The SQL statement to update a user. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
-| delete-user | The SQL statement to delete a user. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
-| select-user | The SQL statement to select a user. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
-| select-all-users | The SQL statement to select all users. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
-| is-admin | The SQL statement to find whether an user is admin or not. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
-| authenticate | The SQL statement to authenticate a user. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
-
-### Data source configuration
-
-The data source must be configured as described by the database provider. You can also use the general purpose [BasicDataSource](http://jakarta.apache.org/commons/dbcp/apidocs/org/apache/commons/dbcp/BasicDataSource.html) provided by the [Apache Commons DBCP project](http://jakarta.apache.org/commons/dbcp/).
-
-#### Example using the BasicDataSource to connect to MySQL
-
-	:::XML
-	<data-source>
-		<beans:bean class="org.apache.commons.dbcp.BasicDataSource">
-        	<beans:property name="driverClassName" value="com.mysql.jdbc.Driver" />
-			<beans:property name="url" value="jdbc:mysql://localhost/ftpd" />
-			<beans:property name="username" value="myuser" />
-  	  	  	<beans:property name="password" value="secret" />
-		</beans:bean>
-	</data-source>
-
-#### FTP_USER Table Structure
-
-| Column | Type | Default value |
-|---|---|---|
-| userid | VARCHAR(64), Primary key |&nbsp;|
-| userpassword | VARCHAR(64) |&nbsp;|
-| homedirectory | VARCHAR(128) |&nbsp;|
-| enableflag | BOOLEAN | TRUE |
-| writepermission | BOOLEAN | FALSE |
-| idletime | INT | 0 |
-| uploadrate | INT | 0 |
-| downloadrate | INT | 0 |
-| maxloginnumber | INT | 0 |
-| maxloginperip | INT | 0 |
-
-
-
-
diff --git a/content/ftpserver-project/configuration_user_manager_file.mdtext b/content/ftpserver-project/configuration_user_manager_file.mdtext
deleted file mode 100644
index dd6918d..0000000
--- a/content/ftpserver-project/configuration_user_manager_file.mdtext
+++ /dev/null
@@ -1,36 +0,0 @@
-Title: FtpServer File based user manager
-Notice:    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.
-
-
-# File based user manager
-
-This is the default user manager. It uses a properties file to store all the user information.
-
-## Example
-
-	:::XML
-	<file-user-manager file="users.properties" encrypt-passwords="true">
-
-## file-user-manager element
-
-| Attribute | Description | Required | Default value |
-|---|---|---|---|
-| file | Path to the properties file for storing users | Yes | &nbsp; |
-| encrypt-passwords | It indicates how to stored password are encrypted. Possible values are "clear" for clear text, "md5" for hashed using MD5 or "salted" for hashed salted passwords (including multiple hash iterations). "salted" is encouraged. | No | md5 |
-
-
diff --git a/content/ftpserver-project/contributors.mdtext b/content/ftpserver-project/contributors.mdtext
deleted file mode 100644
index ef35648..0000000
--- a/content/ftpserver-project/contributors.mdtext
+++ /dev/null
@@ -1,32 +0,0 @@
-Title: FtpServer Contributors
-Notice:    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.
-
-
-# Contributors
-
-## Commiters
-
-The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
-
-* Rana Battacharyya
-* [Niklas Gustavsson](http://protocol7.com/)
-* Paul Hammant
-* David Latorre
-* Emmanuel L&eacute;charny
-* Sai Pullabhotla
-* Sergey M Vladimirov
diff --git a/content/ftpserver-project/draft-twine-ftpmd5-00.mdtext b/content/ftpserver-project/draft-twine-ftpmd5-00.mdtext
deleted file mode 100644
index c34cade..0000000
--- a/content/ftpserver-project/draft-twine-ftpmd5-00.mdtext
+++ /dev/null
@@ -1,373 +0,0 @@
-Title: FtpServer draft-twine-ftpmd5-00 
-Notice:    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.
-
-
-# draft-twine-ftpmd5-00
-
-	:::text
-	INTERNET-DRAFT                                   JRTwine Software, LLC
-	draft-twine-ftpmd5-00.txt                                    May, 2002
-	
-	
-    		The 'MD5' and "MMD5" FTP Command Extensions
-				  
-	Status of This Document
-				  
-		This document is an Internet-Draft and is subject to all provisions
-		of Section 10 of RFC2026.
-				  
-		Internet-Drafts are working documents of the Internet Engineering
-		Task Force (IETF), its areas, and its working groups.  Note that
-		other groups may also distribute working documents as
-		Internet-Drafts.
-	
-		Internet-Drafts are draft documents valid for a maximum of six
-		months and may be updated, replaced, or obsoleted by other
-		documents at any time.  It is inappropriate to use 
-		Internet-Drafts as reference material or to cite them other than as
-		"work in progress"
-	 
-		The list of current Internet-Drafts can be accessed at
-		http://www.ietf.org/1id-abstracts.html
-		
-		The list of Internet-Draft Shadow Directories can be accessed at
-		http://www.ietf.org/shadow.html
-	
-	
-	Abstract
-	
-		This document specifies two additions to the File Transfer Protocol
-		(FTP).  These additions (new Server commands) would give FTP 
-		Servers the ability to generate (or otherwise obtain) and return 
-		MD5 checksums for the files it has available for transfer.
-	
-		It is the author's belief that this would provide a great benefit
-		to the Internet community, because it would allow automated
-		transfer agents, as well as Web Browsers and other
-		"click-to-download" applications to be able to automatically verify
-		the data of a downloaded file, and hence be able to detect any data
-		tampering and/or corruption that may occurred while "on the wire",
-		or possibly while the file was on the Server (a virus infection).
-	
-	
-	Copyright Notice
-	
-	   This document is in the public domain.  Any and all copyright
-	   protection that might apply in any jurisdiction is expressly
-	   disclaimed.  
-
-
-	Comments
-   
-		Comments should be directed to James R. Twine (jtwine@jrtwine.com).
-
-	J.Twine                      Internet-Draft                   [Page 1]
-
-	INTERNET-DRAFT   The 'MD5' and "MMD5" FTP Command Extensions   May 2002
-
-	Table of Contents
-
-		     Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . 1
-     	     Table of Contents  . . . . . . . . . . . . . . . . . . . . . 2
-		1.   Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
-	 	2.   Rational . . . . . . . . . . . . . . . . . . . . . . . . . . 3
-		3.   Server Requirements  . . . . . . . . . . . . . . . . . . . . 3
-		3.1   Command Format (MD5)  . . . . . . . . . . . . . . . . . . . 4
-		3.1.1  MD5 Examples . . . . . . . . . . . . . . . . . . . . . . . 4
-		3.2   Command Format (MMD5) . . . . . . . . . . . . . . . . . . . 5
-		3.2.1  MMD5 Examples  . . . . . . . . . . . . . . . . . . . . . . 5
-		4.   References . . . . . . . . . . . . . . . . . . . . . . . . . 6
-		5.   Author's Address . . . . . . . . . . . . . . . . . . . . . . 6
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-		
-	J.Twine                      Internet-Draft                   [Page 2]
-	
-	INTERNET-DRAFT   The 'MD5' and "MMD5" FTP Command Extensions   May 2002
-	
-	1.  Introduction
-	
-    	This Draft is being distributed to members of the Internet
-		community in order to solicit their reactions to the proposals
-		contained in it.
-		
-		
-	2.  Rational
-	
-	   FTP is still very much in use on the Internet.  These days, some
-	   servers make available files that contain the checksums for some of
-	   the files that are available.  These available checksums allow
-	   users to be able to verify the content of the files that they have
-	   downloaded.
-	   
-	   However, this introduces some additional overhead: these MD5
-	   checksums must be manually generated, put into a file, the file
-	   placed where it can be accessed.  Then, users must manually
-	   download the file containing the checksum, generate an MD5 checksum
-	   from the file they just downloaded, and (usually) visually compare
-	   the two checksums to determine the validity of the file.
-	   
-	   Having these tasks automated, by making the MD5 checksums available
-	   directly from the FTP Server proper, and having file-transfer
-	   implementations use them, alleviates some of the user intervention
-	   that would otherwise be required.
-	   
-	   
-	3.  Server Requirements
-	
-	   FTP Servers would have to implement a new server-side command,
-	   called "MD5", this command would normally generate and return a
-	   MD5 for the specified file.
-	   
-	   Optionally, the FTP Server could also implement the "MMD5" command,
-	   which is used to obtain MD5 checksums for multiple files using a
-	   single request.
-	   
-	   (These commands impose no specific or additional syntax on the 
-	   formatting of a filepath, they use the Server's existing 
-	   conventions.)
-		
-	   The Server implementation is also free to use some form of
-	   caching to keep the generated MD5 checksums, so that the MD5
-	   checksum values do not have to be regenerated over and over again
-	   when requested.
-	   
-	   This also allows the Server implementations to maintain some level
-	   of security: the Server can expose administrative commands that
-	   regenerate the cache of MD5 checksums on command, thus allowing
-	   for "known good" checksums to be kept, and would be insensitive to
-	   things like the file becoming corrupted or otherwise tampered with
-	   after the "known good" MD5 checksum was generated.
-	   
-	   
-	J.Twine                      Internet-Draft                   [Page 3]
-	
-	INTERNET-DRAFT   The 'MD5' and "MMD5" FTP Command Extensions   May 2002
-	
-	   A Server implementation could even take that approach one step
-	   further: by generating additional MD5 checksums "on the fly" and
-	   comparing them to the "known good" values that were stored earlier,
-	   the Server would now have the ability to detect file corruption
-	   and/or tampering earlier than the user would normally discover.
-	   
-	   The command would support a full or relative path, so that a
-	   directory change would not be necessary in order to obtain the
-	   MD5 checksum of a particular file.  Of course, the command
-	   should normally be restricted to the directory tree and/or files
-	   that the connected user would normally have access to.
-	   
-	   
-	3.1 Command Format (MD5)
-	
-	   The "MD5" command is used to obtain a MD5 checksum for a single
-	   file, and is specified as follows:
-	   
-		  MD5 [Filepath]
-		  
-	   Possible responses to this command would normally include:
-	   
-	   251 [FilePath] E67DED2886048D308532042B777D53CF
-	   500 Command Not Recognized
-       502 Command Not Implemented
-       504 Command Not Implemented for the Specified Argument
-	   
-	   (Note that the returned MD5 checksum is in UPPERCASE.)
-	   
-	   A successful response of "251" would contain the specified 
-	   filepath (verbatim) followed by a space (or some amount of 
-	   whitespace), and then followed by the MD5 checksum value in
-	   ASCII format.
-	   
-	   An error return of "500" would be for an obvious reason: the FTP 
-	   Server does not recognize the "MD5" command.
-	   
-	   An error return of "502" would be appropriate if the FTP Server
-	   regocnized the command, but did not support it, or the FTP Server
-	   administrator disabled it.
-	   
-	   An error return of "504" would be appropriate if the user requested
-	   an MD5 checksum for a directory (for example).
-	   
-	3.1.1 MD5 Examples
-	
-	   This first example demonstrates a request for a MD5 checksum of a 
-	   single file ("C>" is Client input, and "S>" is Server response):
-   	
-		  C> MD5 filename.ext
-		  S> 251 filename.ext E67DED2886048D308532042B777D53CF
-	  
-	   This second example demonstrates a request for a MD5 checksum of a
-	   directory:
-	   
-	J.Twine                      Internet-Draft                   [Page 4]
-	
-	INTERNET-DRAFT   The 'MD5' and "MMD5" FTP Command Extensions   May 2002
-	
-	   		C> MD5 ".."
-			S> 504 Command Not Implemented for the Specified Argument
-	   
-	   
-	   This third example demonstrates a request for a MD5 checksum of a
-	   file using a relative path:
-      	
-		  C> MD5 "../SomeDir/A File.txt"
-		  S> 251 "../SomeDir/A File.txt" 604E67DED8D308B777D53CF532042288
-		  
-	3.2 Command Format (MMD5)
-	
-	   The "MMD5" command is used to obtain MD5 checksums for multiple
-	   files by a single request.  Filepaths are comma separated, and are
-	   specified as follows (it is to be considered valid to specify a 
-	   single filepath with with MMD5 command):
-	   
-		  MMD5 [Filepath1], [Filepath2] [...]
-		  
-	   Possible responses to this command would normally include:
-	   
-		  252 [FilePath1] E67DED2886048D308532042B777D53CF,[Filepath2]
-	      	 308536048D20E67D77D53CFED28842B7 [...]
-		  500 Command Not Recognized
-		  502 Command Not Implemented
-		  504 Command Not Implemented for the Specified Argument
-	
-	   A successful response of "252" would contain comma separated 
-	   "groups" of MD5 checksum information.  Each group would contain the
-	   specified filepath (verbatim) followed by a space (or some amount
-	   of whitespace) followed by the MD5 checksum value in
-	   ASCII format.
-	   
-	   An error return of "500" would be the same as described for the "MD5" 
-	   command.
-   
-	   An error return of "502" would be appropriate if the "MMD5" command
-	   was not implemented or disabled.
-	   
-	   An error return of "504" would be the same as described form the "MD5"
-	   command, with this exception: of any of the specified filepaths were
-	   invalid, the server would return this error code (i.e. it would 
-	   no MD5 checksums at all). 
-	   
-	   
-    3.2.1 MMD5 Examples
-    
-		This first example demonstrates a request for a MD5 checksum of a 
-		single file:
-    	
-		  C> MMD5 filename.ext
-		  S> 251 filename.ext E67DED2886048D308532042B777D53CF
-
-    
-    J.Twine                      Internet-Draft                   [Page 5]
-    
-    INTERNET-DRAFT   The 'MD5' and "MMD5" FTP Command Extensions   May 2002
-    
-		This second example demonstrates a request for the MD5 checksums 
-		for two files:
-      
-    		C> MMD5 filename.ext, "../SomeDir/A File.txt"
-			S> 252 filename.ext E67DED2886048D308532042B777D53CF, 
-				"../SomeDir/A File.txt" 604E67DED8D308B777D53CF532042288
-    
-    
-		This third example demonstrates a request for the MD5 checksums of
-		a file and a directory:
-      
-		  C> MD5 filename.ext, ".."
-		  S> 504 Command Not Implemented for the Specified Argument
-
-
-    4.  References
-	
-		[1]  Postel, J., Reynolds J., "Instructions to RFC Authors",
-        	RFC 2223, October 1997
-			
-		[2]  Postel, J., Reynolds J., "FILE TRANSFER PROTOCOL (FTP)",
-        	RFC 959, October 1958
-		
-   		[3]  Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321,
-        	April 1992
-			
-		[4]  Various, "Guidelines to Authors of Internet-Drafts", 
-        	http://www.ietf.org/ietf/1id-guidelines.txt
-		
-		
-	5.  Author's Address
-	
-	   James R. Twine
-	   JRTwine Software, LLC
-	   379 Shirley Hill Road
-	   Goffstown, NH, 03045 
-	   (USA)
-	
-	   Phone: +1 603-644-1307
-	   EMail: jtwine@jrtwine.com
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	
-	J.Twine                      Internet-Draft                   [Page 6]
diff --git a/content/ftpserver-project/embedding_ftpserver.mdtext b/content/ftpserver-project/embedding_ftpserver.mdtext
deleted file mode 100644
index afba2dc..0000000
--- a/content/ftpserver-project/embedding_ftpserver.mdtext
+++ /dev/null
@@ -1,76 +0,0 @@
-Title: Embedding FtpServer in 5 minutes
-Notice:    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.
-
-
-# Embedding FtpServer in 5 minutes
-
-FtpServer is designed to be easily embedded into your application. Getting a basic server up and running is as simple as
-
-	:::java
-	FtpServerFactory serverFactory = new FtpServerFactory();
-	FtpServer server = serverFactory.createServer();
-	// start the server
-	server.start();
-
-To get this running, you need the following JAR files in your classpath:
-
-* mina-core, 2.0-M3 or later
-* slf4j-api
-* A SLF4J implementation of your choice, for example slf4j-simple-1.5.3.jar
-* ftplet-api
-* ftpserver-core
-
-Now, you will probably like to configure the server for your specific needs. For example, you might want to run on a non-privileged port to get around running as a root on Linux/Unix. To do that you need to configure a listener. Listeners are the part of FtpServer where network management is done. By default, a listener named "default" is created but you can add as many listeners as you like, for example to provide one for use outside of your firewall and one on the inside.
-
-Now, let's configure the port on which the default listener waits for connections.
-
-	:::java
-	FtpServerFactory serverFactory = new FtpServerFactory();
-	ListenerFactory factory = new ListenerFactory();
-	// set the port of the listener
-	factory.setPort(2221);
-	// replace the default listener
-	serverFactory.addListener("default", factory.createListener());
-	// start the server
-	FtpServer server = serverFactory.createServer();         
-	server.start();
-
-Now, let's make it possible for a client to use FTPS (FTP over SSL) for the default listener.
-
-	:::java
-	FtpServerFactory serverFactory = new FtpServerFactory();
-	ListenerFactory factory = new ListenerFactory();
-	// set the port of the listener
-	factory.setPort(2221);
-	// define SSL configuration
-	SslConfigurationFactory ssl = new SslConfigurationFactory();
-	ssl.setKeystoreFile(new File("src/test/resources/ftpserver.jks"));
-	ssl.setKeystorePassword("password");
-	// set the SSL configuration for the listener
-	factory.setSslConfiguration(ssl.createSslConfiguration());
-	factory.setImplicitSsl(true);
-	// replace the default listener
-	serverFactory.addListener("default", factory.createListener());
-	PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory();
-	userManagerFactory.setFile(new File("myusers.properties"));
-	serverFactory.setUserManager(userManagerFactory.createUserManager());
-	// start the server
-	FtpServer server = serverFactory.createServer(); 
-	server.start();
-
-There you have it, that's the basics that you usually need. For more advanced features, have a look at our configuration documentation.
diff --git a/content/ftpserver-project/faq.mdtext b/content/ftpserver-project/faq.mdtext
deleted file mode 100644
index 0f40482..0000000
--- a/content/ftpserver-project/faq.mdtext
+++ /dev/null
@@ -1,108 +0,0 @@
-Title: FtpServer FAQ 
-Notice:    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.
-
-
-<H1>FAQ</H1>
-
-<H2>General</H2>
-
-[TOC]
-
-### My server fails with java.net.SocketException: Too many files open
-
-Network sockets are treated like files and your operating system has a limit to the number of file handles it can manage. Running out of file handles is usually due to a large number of clients connecting and disconnecting frequently. As specified by TCP, after being closed sockets remain in the TIME_WAIT state for some additional time. The reason is to ensure that delayed packets arrive on the correct socket. In Windows, the default TIME_WAIT timeout is 4 minutes, in Linux it is 60 seconds.
-
-### Change the timeout in Windows
-
-1. Run regedit to start the Registry Editor
-2. Locate the following key: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters
-3. Add a new value named TcpTimedWaitDelay asa decimal and set the desired timeout in seconds (30-300)
-4. Reboot
-
-### Change the timeout in Linux
-
-1. Update the configuration value by running (30 seconds used in the example)
-
-	echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
-
-2. Restart the networking component, for example by running
-
-	/etc/init.d/networking restart
-
-3. or
-
-	service network restart
-
-### How can I add other language translations?
-
-First you need to specify your language name in config.message.languages configuration parameter. Then if you start the FTP server UI, you will see your language entry in the message panel. Translate messages and finally save your translated messages.
-
-We are always interested in adding more translations to the official distribution of FtpServer. If you produce a translation and can contribute it back to the project, please create a new JIRA issue so that we can add it to the core product.
-
-### How can I send binary data stored in a database when the FTP Server gets the RETR command?
-
-You can write your own ftplet to do this. The following code will clarify this.
-
-	:::java
-    public FtpletEnum onDownloadStart(FtpSession session, FtpRequest request,
-            FtpReplyOutput response) throws FtpException, IOException {
-
-        String requestedFile = request.getArgument();
-
-        // get input stream from database - BLOB data
-        InputStream in = getInputStreamFromDatabase(requestedFile);
-        if (in == null) {
-            response.write(new DefaultFtpReply(550, "Cannot find data " + requestedFile));
-            return FtpletEnum.RET_SKIP;
-        }
-
-        // open data connection
-        DataConnection out = null;
-        response.write(new DefaultFtpReply(150, "Getting data connection."));
-        try {
-            out = session.getDataConnection().openConnection();
-        } catch (Exception ex) {
-        }
-		
-        if (out == null) {
-            response.write(new DefaultFtpReply(425, "Cannot open data connection."));
-            return FtpletEnum.RET_SKIP;
-        }
-
-        // transfer data
-        try {
-            out.transferToClient(in);
-            response.write(new DefaultFtpReply(226, "Data transfer okay."));
-        } catch (Exception ex) {
-            response.write(new DefaultFtpReply(551, "Data transfer failed."));
-        } finally {
-            session.getDataConnection().closeDataConnection();
-            in.close();
-        }
-        return FtpletEnum.RET_SKIP;
-    }
-
-### Why I am getting ClassNotFoundException when I am trying to use database based user manager?
-
-JDBC driver Jar file should be in CLASSPATH or it has to be copied in the INSTALL_DIR/common/lib directory. Did you specify fully qualified JDBC driver class name in config.user-manager.jdbc-driver configuration parameter?
-
-### I am unable to run FtpServer on top of Glassfish although it is running correctly over tomcat.
-
-This can be caused by Glassfish's QuickStartup mode which was the default one in some versions. In order to disable quick startup, add the following line to your domain.xml file:
-
-	com.sun.enterprise.server.ss.ASQuickStartup=false
diff --git a/content/ftpserver-project/features.mdtext b/content/ftpserver-project/features.mdtext
deleted file mode 100644
index ba73141..0000000
--- a/content/ftpserver-project/features.mdtext
+++ /dev/null
@@ -1,36 +0,0 @@
-Title: FtpServer Features
-Notice:    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.
-
-
-# Features
-
-* 100% pure Java, free, open source resumable FTP server
-* Multi platform support and multithreaded design.
-* User virtual directory, write permission, idle time-out and upload/download bandwidth limitation support.
-* Anonymous login support.
-* Both upload and download files are resumable.
-* Handles both ASCII and binary data transfers.
-* IP restriction support to ban IPs.
-* Database and file can be used to store user data.
-* All the FTP messages are customizable.
-* Implicit/explicit SSL/TLS support.
-* MDTM support - your users can change the date-time stamp of files.
-* "MODE Z" support for faster data upload/download.
-* Custom user manager, IP restrictor, logger can be added easily.
-* User event notifications can be added (Ftplet).
-
diff --git a/content/ftpserver-project/ftpserver_as_windows_service.mdtext b/content/ftpserver-project/ftpserver_as_windows_service.mdtext
deleted file mode 100644
index 3233ed6..0000000
--- a/content/ftpserver-project/ftpserver_as_windows_service.mdtext
+++ /dev/null
@@ -1,48 +0,0 @@
-Title: Installing FtpServer as a Windows service
-Notice:    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.
-
-
-# Installing FtpServer as a Windows service
-
-## Install
-
-Apache FtpServer can be installed as a Windows service using the following command:
-
-	<install dir>bin\service install
-
-This will create a service called Apache FtpServer that can be started and stopped as a usual service.
-
-As a second parameter, the service identifier can be provided. This would normally be used if multiple FtpServer services should be installed, for example:
-
-	<install dir>bin\service install ftpd2
-
-Without any further options, this will use the default configuration. If you want to use for example an XML configuration file you should run:
-
-	<install dir>bin\service install ftpd <path to XML configuration file>
-
-## Service administration GUI
-
-After installing the service, it can be further configured using the service GUI by running:
-
-	<install dir>bin\ftpdw
-
-## Uninstall
-
-To uninstall the service, use:
-
-	<install dir>bin\service remove
diff --git a/content/ftpserver-project/ftpserver_site_commands.mdtext b/content/ftpserver-project/ftpserver_site_commands.mdtext
deleted file mode 100644
index 48d93e1..0000000
--- a/content/ftpserver-project/ftpserver_site_commands.mdtext
+++ /dev/null
@@ -1,92 +0,0 @@
-Title: FtpServer SITE Commands
-Notice:    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.
-
-
-# SITE Commands
-
-This document describes all the FTP SITE commands implemented.
-
-## SITE DESCUSER
-It displays the user details.
-
-### Sample Server Replies
-
-	200-
-    DESCUSER : display user information.
-    HELP     : display this message.
-    STAT     : show statistics.
-    WHO      : display all connected users.
-    ZONE     : display timezone.
-    200 End of help.
-
-## SITE HELP
-
-It displays all the available SITE commands.
-
-### Server Replies
-
-	200-
-    DESCUSER : display user information.
-    HELP     : display this message.
-    STAT     : show statistics.
-    WHO      : display all connected users.
-    ZONE     : display timezone.
-    200 End of help.
-
-## SITE STAT
-
-This command displays different server statistics information. Only admin user has the permission to execute this.
-
-### Sample Server Reply
-
-	200-
-	Start Time               : 2005-09-01T12:10:11
-	File Upload Number       : 0
-	File Download Number     : 0
-	File Delete Number       : 0
-	File Upload Bytes        : 0
-	File Download Bytes      : 0
-	Directory Create Number  : 0
-	Directory Remove Number  : 0
-	Current Logins           : 1
-	Total Logins             : 1
-	Current Anonymous Logins : 0
-	Total Anonymous Logins   : 0
-	Current Connections      : 1
-	Total Connections        : 1
-	200
-
-## SITE WHO
-
-This command displays all currently logged-in user information. It displays the user name, client IP, login time and last access time. Only admin user has the permission to execute this.
-
-### Sample Server Reply
-
-	200-
-	admin           127.0.0.1       2005-09-01T12:20:26 2005-09-01T12:20:52
-	anonymous       127.0.0.1       2005-09-01T12:20:37 2005-09-01T12:20:37
-	200
-
-## SITE ZONE
-
-This command displays the timezone information of the FTP server in RFC 822 4-digit time zone format. The format is
-Sign TwoDigitHours TwoDigitMinutes
-
-### Sample Server Reply
-
-	200 +0530
diff --git a/content/ftpserver-project/getting_involved.mdtext b/content/ftpserver-project/getting_involved.mdtext
deleted file mode 100644
index 9ce03b6..0000000
--- a/content/ftpserver-project/getting_involved.mdtext
+++ /dev/null
@@ -1,27 +0,0 @@
-Title: FtpServer Getting Involved
-Notice:    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.
-
-
-# Getting Involved
-
-Apache FtpServer communicates using our [Mailing Lists](mailing_list.html). If you have any questions, feedback or suggestions, you're very welcome to join the list and send an email. We are also happy to receive [bug reports and feature requests in our JIRA](https://issues.apache.org/jira/browse/FTPSERVER).
-
-# Patches
-
-The best chance of getting your bug or feature fixed is to provide a patch, if they fit our goals we will usually have them commited within a few days. The Apache Contributors page has excellent [information on how to produce patches](http://apache.org/dev/contributors.html#patches).
-
diff --git a/content/ftpserver-project/index.mdtext b/content/ftpserver-project/index.mdtext
deleted file mode 100644
index 5658f85..0000000
--- a/content/ftpserver-project/index.mdtext
+++ /dev/null
@@ -1,37 +0,0 @@
-Title: FtpServer Home
-Notice:    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.
-
-
-# Welcome to Apache FtpServer
-
-## Overview
-
-The Apache FtpServer is a 100% pure Java FTP server. It's designed to be a complete and portable FTP server engine solution based on currently available open protocols. FtpServer can be run standalone as a Windows service or Unix/Linux daemon, or embedded into a Java application. We also provide support for integration within [Spring](http://www.springsource.org/) applications and provide our releases as OSGi bundles.
-
-The default network support is based on [Apache MINA](http://mina.apache.org/), a high performance asynchronous IO library. Using MINA, FtpServer can scale to a large number of concurrent users.
-
-It is also an FTP application platform. We have developed a Java API to let you write Java code to process FTP event notifications that we call the Ftplet API. Apache FtpServer provides an implementation of an FTP server to support this API.
-
-To get started, have a look at one of our tutorials:
-
-* [Embedding FtpServer in 5 minutes](embedding_ftpserver.html)
-* [Running FtpServer stand-alone in 5 minutes](running_ftpserver_standalone.html)
-
-You can also have a look at the documentation for how to configure FtpServer to suite your needs.
-
-
diff --git a/content/ftpserver-project/installation.mdtext b/content/ftpserver-project/installation.mdtext
deleted file mode 100644
index e5d480b..0000000
--- a/content/ftpserver-project/installation.mdtext
+++ /dev/null
@@ -1,61 +0,0 @@
-Title: FtpServer Installation
-Notice:    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.
-
-
-# Installation
-
-## Binary Distribution
-
-Download the binary distribution and unzip it. The zip file includes sample configuration files
-
-Typical server set up : <INSTALL_DIR>/res/conf/ftpd-typical.xml
-
-* Full example configuration file : <INSTALL_DIR>/res/conf/ftpd-full.xml
-* If you want to use your own jar files, you can put those jar files in system CLASSPATH or copy those jar files in the <INSTALL_DIR>/common/lib directory.
-
-To run the server, go to <INSTALL_DIR> directory and execute ftpd.bat (if Windows) or ftpd.sh (if UNIX or Linux). In this case you need to pass the configuration file location. Usage:
-
-	ftpd [<options>] [<configuration file>]
-		<options> := --default
-  		<configuration file> := <XML configuration file>
-
-In case of no option, default configuration will be used.
-
-Installing FtpServer as a Windows service
-
-### Binary Distribution Directory Structure
-
-	<INSTALL_DIR>
-      |
-      |--- common
-      |     |
-      |     |--- classes
-      |     |
-      |     |--- lib
-      |
-      |--- docs
-      |     
-      |--- javadoc
-      |
-      |--- res
-            |
-            |--- conf
-            |
-            |--- home
-            |
-            |--- log
diff --git a/content/ftpserver-project/managing_users.mdtext b/content/ftpserver-project/managing_users.mdtext
deleted file mode 100644
index b4d2d82..0000000
--- a/content/ftpserver-project/managing_users.mdtext
+++ /dev/null
@@ -1,60 +0,0 @@
-Title: FtpServer Managing users
-Notice:    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.
-
-
-# Managing users
-
-Since FtpServer user manager might encrypt user passwords before saving them, manually administering the user database can be hard. There is basically three ways:
-
-## Manually
-
-Using either the PropertiesUserManager or DbUserManager you can access the data store (file or database) directly to edit users. For clear text passwords you can simply edit them. For MD5 hashed passwords, you can you use any of the available MD5 tools, for example <http://www.iwebtool.com/md5>, to hash the password before editing it. For salted passwords, use one of the methods described below.
-
-## Using the API
-
-Using the FtpServer API, you can create a user manager, configure it as your real user manager and use that to edit users. This is a simple example:
-
-	PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory();
-	userManagerFactory.setFile(new File(&quot;myusers.properties&quot;));
-	userManagerFactory.setPasswordEncryptor(new SaltedPasswordEncryptor());
-	UserManager um = userManagerFactory.createUserManager();
-	BaseUser user = new BaseUser();
-	user.setName(&quot;myNewUser&quot;);
-	user.setPassword(&quot;secret&quot;);
-	user.setHomeDirectory(&quot;ftproot&quot;);
-	um.save(user);
-
-## Using command line tool
-
-If you're using the XML configuratio, there is a command line tool available for adding new users to your user manager.
-
-In the examples below, make sure you update the versions to reflect the correct versions for your release
-
-Windows:
-
-	java -cp ftpserver-core-1.0.0-M4.jar;ftplet-api-1.0.0-M4.jar;mina-core-2.0.0-M3.jar; 
-		[slf4j-api-1.5.2.jar;<br>slf4j-simple-1.5.2.jar 
-		[ org.apache.ftpserver.main.AddUser path/to/your/config.xml
-
-MacOS/Linux/Unix
-
-	java -cp ftpserver-core-1.0.0-M4.jar:ftplet-api-1.0.0-M4.jar:mina-core-2.0.0-M3.jar:\
-		slf4j-api-1.5.2.jar:<br>slf4j-simple-1.5.2.jar \
-		org.apache.ftpserver.main.AddUser path/to/your/config.xml
-
-The program will ask you for the required data.
diff --git a/content/ftpserver-project/related_project.mdtext b/content/ftpserver-project/related_project.mdtext
deleted file mode 100644
index 96b4d0b..0000000
--- a/content/ftpserver-project/related_project.mdtext
+++ /dev/null
@@ -1,30 +0,0 @@
-Title: FtpServer Related Projects
-Notice:    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.
-
-
-# Related Projects
-
-## [VFS FTPServer Bridge](http://vfs-utils.sourceforge.net/ftpserver/index.html)
-
-This project provides an Apache Commons VFS implementation for the Apache FTPServer project. Instead of working only on local files, with this VFS bridge you can connect to any VFS provider. You can still use a local file system, but you can also use a ZIP file, loop through to another FTP server, or use any other available VFS implementation such as DctmVFS.
-
-## [HDFS over FTP](https://sites.google.com/a/iponweb.net/hadoop/Home/hdfs-over-ftp)
-
-FTP server which works on a top of HDFS. It aAllows to connect to HDFS using any FTP client. FTP server is configurable by hdfs-over-ftp.conf and users.conf. Also it allows to use secure connection over SSL and supports all HDFS permissions
-
-
diff --git a/content/ftpserver-project/releasing.mdtext b/content/ftpserver-project/releasing.mdtext
deleted file mode 100644
index ac3832b..0000000
--- a/content/ftpserver-project/releasing.mdtext
+++ /dev/null
@@ -1,73 +0,0 @@
-Title: FtpServer Releasing
-Notice:    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.
-
-
-# Releasing
-
-## Before calling a vote
-
-* Update the README.txt file
-* Copy trunk revision to branch
-
-		svn copy -m "Branching for release" -r <revision> 
-			https://svn.apache.org/repos/asf/mina/ftpserver/trunk/
-			https://svn.apache.org/repos/asf/mina/ftpserver/branches/<release version>
-		svn co https://svn.apache.org/repos/asf/mina/ftpserver/branches/<release version>
-
-* Up version in trunk
-
-		mvn versions:set -DnewVersion=<next version>-SNAPSHOT -DgenerateBackupPoms=false
-		svn -m "Increasing version for new development in trunk" commit
-
-* Update version in branch
-
-		mvn versions:set -DnewVersion=<release version> -DgenerateBackupPoms=false
-		svn -m "Setting version for release of <release version>" commit
-
-* mvn -Papache-release clean deploy
-* Close staging repository on http://repository.apache.org
-* Gather distribution files and upload to people.apache.org
-* Start vote
-
-## After a successful vote
-
-* Update site,
-* Run the auto-export plugin (else the news on the first page won't be updated correctly)
-* Wait until replication to /www/confluence-exports/FTPSERVER has run
-
-		/home/ngn/ftpserver-zip.sh
-
-* Upload XML schema
-
-		scp core/src/main/resources/org/apache/ftpserver/config/spring/ftpserver-1.0.xsd
-			@people.apache.org:/www/mina.apache.org/ftpserver
-	
-* Build and tag
-
-		mvn -Papache-release clean deploy
-		svn move -m "Tagging <release version>" 
-			https://svn.apache.org/repos/asf/mina/ftpserver/branches/<release version> 
-			https://svn.apache.org/repos/asf/mina/ftpserver/tags/<release version>
-
-* Upload to people.apache.org /www/www.apache.org/dist/mina/ftpserver
-* Release in JIRA
-* Update MINA site (add news and update latest downloads in navigation)
-* Wait for mirrors to sync
-* Send out announcement
-
-Run script to create documentation ZIP file, on people.apache.org
diff --git a/content/ftpserver-project/reporting_bug.mdtext b/content/ftpserver-project/reporting_bug.mdtext
deleted file mode 100644
index d6b8b1e..0000000
--- a/content/ftpserver-project/reporting_bug.mdtext
+++ /dev/null
@@ -1,35 +0,0 @@
-Title: FtpServer Reporting Bugs
-Notice:    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.
-
-
-# Reporting a Bug
-
-We are using JIRA to track all FtpServer issues including bugs. Please visit our [issue tracker page](http://issues.apache.org/jira/browse/FTPSERVER) to report a bug. 
-
-## How to report a bug
-
-Writing a bug report with detailed information will help us to fix your problem sooner.
-
-* Make sure if the bug you are going to report doesn't exist yet.
-* Attaching JUnit test case which reproduces the problem will put your report in our highest priority.
-* Attach full thread stack dump if you suspect a dead lock.
-* Attach full heap dump if you suspect a memory leak.
-* Specify the environment in detail as much as possible.
-    * Operating system version, distribution, architecture, ...
-    * JVM vendor, version, build number, command line arguments, ...
-    * Network settings
diff --git a/content/ftpserver-project/testimonials.mdtext b/content/ftpserver-project/testimonials.mdtext
deleted file mode 100644
index 100b192..0000000
--- a/content/ftpserver-project/testimonials.mdtext
+++ /dev/null
@@ -1,28 +0,0 @@
-Title: FtpServer Testimonials
-Notice:    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.
-
-
-# Testimonials
-
-__Daniel Frank__ says:
-
-> Apache FtpServer has proven to be a stable and reliable platform for our
-customers. It is easy to customize, and this was an important factor when
-deciding to use Apache FtpServer as the FTP server for our cloud based file
-sharing solution, [HostedFTP](HostedFTP)
-
diff --git a/content/index.mdtext b/content/index.mdtext
deleted file mode 100644
index 15856ee..0000000
--- a/content/index.mdtext
+++ /dev/null
@@ -1,32 +0,0 @@
-Title: Apache MINA
-Notice:    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.
-
-Apache MINA is a network application framework which helps users develop high performance and high scalability network applications easily. It provides an abstract event-driven asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO.
-
-Apache MINA is often called:
-
-* NIO framework library,
-* client server framework library, or
-* a networking socket library
-
-Apache MINA comes with many subprojects :
-
-* Asyncweb : An HTTP server build on top of MINA asynchronous framework
-* FtpServer : A FTP server 
-* SSHd : A Java library supporting the SSH protocol
-* Vysper : An XMPP server
diff --git a/content/mina-project/conferences.mdtext b/content/mina-project/conferences.mdtext
deleted file mode 100644
index e4fdfd6..0000000
--- a/content/mina-project/conferences.mdtext
+++ /dev/null
@@ -1,31 +0,0 @@
-Title: MINA Presentation Materials
-Notice:    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.
-
-# Presentation Materials
-These presentation materials will help you understand the overall architecture and core constructs of MINA.
-
-* [MINA in real life](../staticresources/pdfs/Mina_in_real_life_ASEU-2009.pdf) (ApacheCon EU 2009) by Emmanuel L&eacute;charny
-* [Rapid Network Application Development with Apache MINA](../staticresources/pdfs/JavaOne2008.pdf) (JavaOne 2008) by Trustin Lee
-* [Apache MINA - The High Performance Protocol Construction Toolkit](../staticresources/pdfs/ACUS2007.pdf) (ApacheCon US 2007) by Peter Royal
-* [Introduction to MINA (ApacheCon Asia 2006)](../staticresources/pdfs/ACAsia2006.pdf) by Trustin Lee
-
-# Other Presentation Materials
-
-* [Building TCP/IP Servers with Apache MINA](../staticresources/pdfs/ACEU2007.pdf) (ApacheCon EU 2007) by Peter Royal
-* [Building TCP/IP Servers with Apache MINA](../staticresources/pdfs/ACEU2006.pdf) (ApacheCon EU 2006) by Peter Royal
-* [Introduction to MINA](../staticresources/pdfs/ACUS2005.pdf) (ApacheCon US 2005) by Trustin Lee [Demo movie](../staticresources/pdfs/ACUS2005.swf)
diff --git a/content/mina-project/developer-guide.mdtext b/content/mina-project/developer-guide.mdtext
deleted file mode 100644
index 1566fa8..0000000
--- a/content/mina-project/developer-guide.mdtext
+++ /dev/null
@@ -1,616 +0,0 @@
-Title: Developer Guide
-Notice:    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.
-
-# Building MINA
-
-<DIV class="note" markdown="1">
-	Please read <a href="https://www.apache.org/dev/" class="external-link" rel="nofollow">the Developer Infrastructure Information</a> if you haven't yet before you proceed.
-</DIV>
-
-[TOC]
-
-# Checking out the code
-
-You need Git to check out the source code from our source code repository, and [Maven(http://maven.apache.org/) 2.2.1 to build the source code (Building with Maven 3.0 will also work).  The following example shows how to build the current stable branch (2.0.9).
-
-    $ git clone http://gitbox.apache.org/repos/asf/mina.git mina
-    $ cd mina
-    $ mvn -Pserial clean install             # Build packages (JARs) for the core API and other 
-                                             # extensions and install them to the local Maven repository.
-    $ mvn -Pserial site                      # Generate reports (JavaDoc and JXR)
-    $ mvn -Pserial package assembly:assembly # Generate a tarball (package goal needed to fix an assembly plugin bug)
-    $ mvn -Pserial eclipse:eclipse           # Generate Eclipse project files if you want
-
-Eclipse users:
-Don't forget to declare a classpath variable named M2_REPO, pointing to `~/.m2/repository`, otherwise many links to existing jars will be broken.
-You can declare new variables in Eclipse in Windows -> Preferences... and selecting Java -> Build Path -> Classpath Variables
-
-There are also other branches that might interest you:
-
-* trunk: Where big changes take place everyday
-
-If you want to check out the source code of previous releases, you have to select the branch you want to work on :
-
-  $ git clone http://gitbox.apache.org/repos/asf/mina.git mina
-  $ git checkout <tag>
-
-For instance, to work on the on-going 2.0 version trunk, just do :
-
-  $ git clone http://gitbox.apache.org/repos/asf/mina.git mina
-  $ git checkout 2.0
-
-# Coding Convention
-
-We follow [Sun's standard Java coding convention](https://www.oracle.com/technetwork/java/codeconventions-150003.pdf) except that we always use spaces instead of tabs. Please download [the Eclipse Java formatter settings file](ImprovedJavaConventions.xml) before you make any changes to the code.
-
-This file is also available in the `/resources` directory.
-
-# Class header
-
-As class header we use :
-
-    /** 
-     * Class desciption here.
-     *
-     * @author <a href="http://mina.apache.org">Apache MINA Project</a>
-     */
-
-The headers revisions tags are removed.
-
-# Deploying Snapshots (Commiters Only)
-
-Before running Maven to deploy artifacts, *please make sure if your umask is configured correctly*.  Unless configured properly, other committers will experience annoying 'permission denied' errors.  If your default shell is `bash`, please update your umask setting in the `~/.bashrc` file (create one if it doesn't exist.) by adding the following line:
-
-    umask 002
-
-Please note that you have to edit the correct `shrc` file.  If you use `csh`, then you will have to edit `~/.cshrc` file.
-
-Now you are ready to deploy the artifacts if you configured your umask correctly.
-
-    $ git clone http://gitbox.apache.org/repos/asf/mina.git mina
-    $ cd mina
-    $ mvn -Pserial clean deploy site site:deploy    # Make sure to run 'clean' goal first to prevent side effects from your IDE.
-
-
-Please double-check the mode (i.e. `0664` or `-rw-rw-r--`, a.k.a permission code) of the deployed artifacts, otherwise you can waste other people's time significantly.
-
-# Releasing a Point Release (Committers Only)
-
-## Preparing the release for the vote
-
-Before starting be sure to have the java and mvn command in your PATH.
-On linux you can check with the following commands :
-
-    $ type mvn
-    mvn is hashed (/opt/maven-2.2.1/bin/mvn)
-    $ type java
-    java is hashed (/usr/bin/java)
-
-### Step 0: Building MINA
-As weird as it sounds, for some unknown reason (most certainly a misconfiguration in the Maven poms), we can't just run the release without having previously build all the projects. This is done with the following command :
-
-    $ mvn clean install -Pserial
-
-### Step 1: Tagging and Deploying
-
-First you need to configure maven for using the good username for scp and operation.
-
-In the `~/.m2/settings.xml` you need the following lines :
-
-	:::xml
-    <settings xmlns="http://maven.apache.org/POM/4.0.0"
-      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
-                          http://maven.apache.org/xsd/settings-1.0.0.xsd">
-    
-      <!-- SERVER SETTINGS -->
-      <servers>
-        <!-- To publish a snapshot of some part of Maven -->
-        <server>
-          <id>apache.snapshots.https</id>
-          <username>elecharny</username>
-          <password>-----Your password here-----</password>
-        </server>
-        <!-- To publish a website of some part of Maven -->
-        <server>
-          <id>apache.websites</id>
-          <username>elecharny</username>
-          <filePermissions>664</filePermissions>
-          <directoryPermissions>775</directoryPermissions>
-        </server>
-        <!-- To stage a release of some part of Maven -->
-        <server>
-          <id>apache.releases.https</id>
-          <username>elecharny</username>
-          <password>-----Your password here-----</password>
-        </server>
-        <!-- To stage a website of some part of Maven -->
-        <server>
-          <id>stagingSite</id> <!-- must match hard-coded repository identifier in site:stage-deploy -->
-          <username>elecharny</username>
-          <filePermissions>664</filePermissions>
-          <directoryPermissions>775</directoryPermissions>
-        </server>
-      </servers>
-    
-      <!-- PROFILE SETTINGS -->
-      <profiles>
-        <profile>
-          <id>apache-release</id>
-          <properties>
-            <!-- Configuration for artifacts signature -->
-            <gpg.passphrase>-----Your passphrase here-----</gpg.passphrase>
-          </properties>
-        </profile>
-      </profiles>
-    
-    </settings>
-
-### step 2 : Processing with a dry run
-
-After having checked out the trunk, and built it (see step 0), 
-
-    $ git clone http://gitbox.apache.org/repos/asf/mina.git mina
-    $ cd mina
-    $ mvn clean install -Pserial
-
-run the following commands :
-
-    $ mvn -Pserial,apache-release -DdryRun=true release:prepare    # Dry-run first.
-
-Answer to maven questions :
-
-    "What is the release version for "Apache MINA"? (org.apache.mina:mina-parent) 2.0.7-<version>: :" 
-    <either use the default version as suggested, or type in the version you@qot;d like to be used>
-    [..]
-
-Then some other questions will be asked, about the next version to use. The default values should be fine.
-
-<DIV class="info" markdown="1">
-<strong>Be Careful</strong><br>
-	
-Make sure the change made by the release plugin is correct! (pom.xml, tags created)
-</DIV>
-	
-### Step 3 : Processing with the real release
-When the dry run is successful, then you can do in real with the following commands:
-
-    $ mvn -Pserial,apache-release release:clean      # Clean up the temporary files created by the dry-run.
-    $ mvn -Pserial,apache-release release:prepare    # Copy to tags directory.
-
-The first step will clean up the local sources, the second step will release for real. The same questions will be asked as those we had during the dry run step.
-
-At some point, it will ask for your passphrase (the one you used when you created your PGP key). Type it in.
-
-
-Three mails will be generated, and sent to commits@mina.apache.org :
-
-    git commit: [maven-release-plugin] prepare release 2.0.9
-    Git Push Summary
-    git commit: [maven-release-plugin] prepare for next development iteration
-
-The first mail tells you that the SNAPSHOT has been moved to the release version in trunk, the second mails tells you that this version has been tagged, and the last mail tells you that trunk has moved to the next version.
-
-
-### Step 4 : perform the release
-
-The last step before launching a vote is to push the potential release to Nexus so that every user can test the created packages. Perform the following actions (note that we have to run a build first for teh javadoc to be correctly generated...) :
-
-    $ mvn clean install -Pserial -DskipTests
-    ...
-    $ mvn -Pserial,apache-release release:perform
-    ...
-    [INFO] [INFO] ------------------------------------------------------------------------
-    [INFO] [INFO] Reactor Summary:
-    [INFO] [INFO] ------------------------------------------------------------------------
-    [INFO] [INFO] Apache MINA ........................................... SUCCESS [1:05.896s]
-    [INFO] [INFO] Apache MINA Legal ..................................... SUCCESS [30.708s]
-    [INFO] [INFO] Apache MINA Core ...................................... SUCCESS [4:44.973s]
-    [INFO] [INFO] Apache MINA APR Transport ............................. SUCCESS [46.082s]
-    [INFO] [INFO] Apache MINA Compression Filter ........................ SUCCESS [40.230s]
-    [INFO] [INFO] Apache MINA State Machine ............................. SUCCESS [52.718s]
-    [INFO] [INFO] Apache MINA JavaBeans Integration ..................... SUCCESS [46.358s]
-    [INFO] [INFO] Apache MINA XBean Integration ......................... SUCCESS [1:21.054s]
-    [INFO] [INFO] Apache MINA OGNL Integration .......................... SUCCESS [40.740s]
-    [INFO] [INFO] Apache MINA JMX Integration ........................... SUCCESS [40.482s]
-    [INFO] [INFO] Apache MINA Examples .................................. SUCCESS [1:13.837s]
-    [INFO] [INFO] Apache MINA Serial Communication support .............. SUCCESS [41.684s]
-    [INFO] [INFO] Apache MINA Distribution .............................. SUCCESS [12:39.542s]
-    [INFO] [INFO] ------------------------------------------------------------------------
-    [INFO] [INFO] ------------------------------------------------------------------------
-    [INFO] [INFO] BUILD SUCCESSFUL
-    [INFO] [INFO] ------------------------------------------------------------------------
-    [INFO] [INFO] Total time: 26 minutes 46 seconds
-    [INFO] [INFO] Finished at: Mon Sep 13 16:45:14 CEST 2010
-    [INFO] [INFO] Final Memory: 98M/299M
-    [INFO] [INFO] ------------------------------------------------------------------------
-    [INFO] Cleaning up after release...
-    [INFO] ------------------------------------------------------------------------
-    [INFO] BUILD SUCCESSFUL
-    [INFO] ------------------------------------------------------------------------
-    [INFO] Total time: 27 minutes 5 seconds
-    [INFO] Finished at: Mon Sep 13 16:45:18 CEST 2010
-    [INFO] Final Memory: 28M/81M
-    [INFO] ------------------------------------------------------------------------
-
-Done !
-
-### Step 5 : closing the staging release on nexus
-
-Now, you have to close the staged project on nexus. In order to do that you **must** have exported your PGP key to a PGP public server [see](https://www.apache.org/dev/openpgp.html)
-
-Connect to the [Nexus server](https://repository.apache.org), login, and select the MINA staging repository you just created, then click on the 'close' button. You are home...
-
-### Step 6 : Build the Site
-You will need to modify the **pom.xml** file to be able to run the **mvn site** command. Actually, you have to comment the executions part of the maven JXF plugin in the **maven-site-plugin** configuration :
-
-    <plugin>
-      <artifactId>maven-jxr-plugin</artifactId>
-      <configuration>
-        <aggregate>true</aggregate>
-      </configuration>
-
-      <!--executions>
-        <execution>
-          <phase>install</phase>
-          <goals>
-            <goal>jxr</goal>
-            <goal>test-jxr</goal>
-          </goals>
-        </execution>
-      </executions -->
-    </plugin>
-
-
-    $ cd target/checkout
-    $ mvn -Pserial site
-
-This creates the site.
-
-### Step 7 : Sign the packages 
-
-Now, you have to sign the binary packages which are in target/checkout/distribution/target.
-
-<DIV class="note" markdown="1">
-Use your PGP key ID (the pub key, 4096R/[XXXXXXX] where [XXXXXXX] is the key ID)
-</DIV>
-
-You can get the keys by typing :
-
-    :::text
-    gpg --list-keys
-
-You'll get something like :
-
-    :::text
-    localhost:target elecharny$ gpg --list-keys
-    /Users/elecharny/.gnupg/pubring.gpg
-    -----------------------------------
-    pub   dsa2048 2009-12-03 [SCA]
-      C62BFD988278310B5B7A43D16FC4BEA60A8A0BBA
-    uid           [ultimate] Emmanuel Lecharny <el...@nextury.com>
-    sub   elg2048 2009-12-03 [E]
-
-    pub   rsa4096 2010-09-13 [SC]
-      4D2DB2916149BAA9D0C92F3731474E5E7C6B7034
-    uid           [ultimate] Emmanuel Lecharny (CODE SIGNING KEY) <el...@apache.org>
-    sub   rsa4096 2010-09-13 [E]
-
-    ...
-
-Take the long hexadecimal tart following the 'pub' part (ie "4D2DB2916149BAA9D0C92F3731474E5E7C6B7034" for the 4096 bits key)
-
-Use a shell script to sign the packages which are stored in target/checkout/distribution/target. You will first have to delete the created .asc files :
-
-    :::text
-    localhost:target elecharny$ rm *.asc
-    localhost:target elecharny$ ~/sign.sh 
-    PGP Key ID: 
-    <your PGP key>
-    PGP Key Password: 
-    <Your PGP passphrase>
-    
-    -n Signing: ./apache-mina-2.0.9-bin.tar.bz2 ... 
-      - Generated './apache-mina-2.0.9-bin.tar.bz2.sha1'
-      - Generated './apache-mina-2.0.9-bin.tar.bz2.asc'
-    -n Signing: ./apache-mina-2.0.9-bin.tar.gz ... 
-      - Generated './apache-mina-2.0.9-bin.tar.gz.sha1'
-      - Generated './apache-mina-2.0.9-bin.tar.gz.asc'
-    ...
-
-
-Here is the sign.sh script you can use :
-
-    :::text
-    #!/bin/sh
-
-    echo "PGP Key ID: "
-    read DEFAULT_KEY
-
-    echo "PGP Key Password: "
-    stty -echo
-    read PASSWORD
-    stty echo
-    echo ""
-
-    for FILE in $(find . -maxdepth 1 -not '(' -name "sign.sh" -or -name ".*" -or -name "*.sha256" -or -name "*.sha512" -or -name "*.asc" ')' -and -type f) ; do
-      if [ -f "$FILE.asc" ]; then
-          echo "Skipping: $FILE"
-          continue
-      fi
-
-      echo -n "Signing: $FILE ... "
-
-      # SHA-256
-      if [ ! -f "$FILE.sha256" ];
-      then
-          gpg -v --default-key "$DEFAULT_KEY" --print-md SHA256 "$FILE" > "$FILE".sha256
-          echo "  - Generated '$FILE.sha256'"
-      else
-          echo "  - Skipped '$FILE.sha256' (file already existing)"
-      fi
-
-      # SHA-512
-      if [ ! -f "$FILE.shacw512256" ];
-      then
-          gpg -v --default-key "$DEFAULT_KEY" --print-md SHA512 "$FILE" > "$FILE".sha512
-          echo "  - Generated '$FILE.sha512'"
-      else
-          echo "  - Skipped '$FILE.sha512' (file already existing)"
-      fi
-
-      # ASC
-      if [ ! -f "$FILE.asc" ];
-      then
-          echo "$PASSWORD" | gpg --default-key "$DEFAULT_KEY" --detach-sign --armor --no-tty --yes --passphrase-fd 0 "$FILE"
-          echo "  - Generated '$FILE.asc'"
-      else
-          echo "  - Skipped '$FILE.asc' (file already existing)"
-      fi
-    done
-
-### Step 8 : Publish Source and Binary Distribution Packages
-
-The sources, binaries and their signatures, have to be pushed in a place where they can be downloaded by the other committers, in order to be checked while validating the release. As the ~/people.apache.org server is not anymore available for that purpose, we use the distribution space for that purpose.
-
-If you haven't checked out this space, do it now :
-
-    :::text
-    $ mkdir -p ~/mina/dist/dev/mina
-    $ svn co https://dist.apache.org/repos/dist/dev/mina ~/mina/dist/dev/mina
-
-That will checkout the full project distributions.
-
-You may want to checkout only the part that you are going to generate, to avoid getting Gb of data :
-
-    :::text
-    $ mkdir -p ~/mina/dist/dev/mina/mina
-    $ svn co https://dist.apache.org/repos/dist/dev/mina/mina ~/mina/dist/dev/mina/mina
-
-
-Now, create a sub-directory for the version you have generated (here, for version 2.0.14) :
-
-    :::text
-    $ mkdir ~/mina/dist/dev/mina/mina/2.0.14
-
-
-Then copy the packages :
-
-    :::text
-    $ cd target/checkout/distributions/target
-    $ cp apache-mina-2.0.14-* ~/mina/dist/dev/mina/mina/2.0.14/
-
-Last, not least, commit your changes
-
-    :::text
-    $ svn add ~/mina/dist/dev/mina/mina/2.0.14
-    $ svn ci ~/mina/dist/dev/mina/mina/2.0.14 -m "Apache MINA 2.0.14 packages"
-
-
-### Step 9 : Test the New Version with FtpServer, Sshd and Vysper
-
-In <em>FtpServer/pom.xml</em> change the <org.apache.directory.shared.version> property, build FtpServer. It should build with no error. Do the same thing with Sshd and Vysper.
-
-It's time to launch a vote !
-
-## Step 10 : Voting a release
-
-Once the tarballs have been created, and the binaries available in Nexus, a vote can be launched. Simply send a mail on the dev@mina.apache.org mailing list describing the new release.
-
-Here is how you  send a [VOTE] mail on the dev mailing list :
-
-
-    Hi,
-    
-    <blah blah blah>
-    
-    Here is the list of fixed issues :
-     
-    
-       * [DIRMINA-803 <https://issues.apache.org/jira/browse/DIRMINA-803>]
-         - ProtocolCodecFilter.filterWrite() is no longer thread-safe
-       * ...
-    
-    
-    Here's the Jira link for this version if you'd like to review issues in more details:
-    
-    https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10670&styleName=Html&version=12313702
-    
-    A temporary tag has been created (it can be removed if the vote is not approved)
-    
-    The newly approved Nexus has been used for the preparation of this release and all final artifacts are stored 
-    in a staging repository:
-    https://repository.apache.org/content/repositories/orgapachemina-002/
-    
-    
-    The distributions are available for download on :
-    https://repository.apache.org/content/repositories/orgapachemina-004/org/apache/mina/mina-parent/2.0.1/
-    
-    Let us vote :
-    [ ] +1 | Release MINA 2.0.1
-    [ ] +/- | Abstain
-    [ ] -1 | Do *NOT*  release MINA 2.0.1
-	
-    Thanks !
-
-The vote will be open for 72 hours. Once the delay is over, collect the votes, and count the binding +1/-1. If the vote is positive, then we can release.
-
-### Step 11 : Close the vote
-
-You can officially close the vote now. There are some more steps to fulfill :
-
-* Release the project on the [Nexus server](https://repository.apache.org)
-* Copy the tarballs and heir signature in https://dist.apache.org/repos/dist/release/mina/mina
-
-The sources, binaries and their signatures, have to be pushed in a place where they can be downloaded by users. We use the [distribution](https://dist.apache.org/repos/dist/release/mina/mina) space for that purpose.
-
-Move the distribution packages (sources and binaries) to the dist SVN repository: https://dist.apache.org/repos/dist/release/mina/mina/$(version)
-
-If you haven't checked out this space, do it now :
-
-    :::text
-    $ mkdir -p ~/mina/dist/release/mina
-    $ svn co https://dist.apache.org/repos/dist/release/mina/mina ~/mina/dist/release/mina
-
-That will checkout the full project distributions. 
-
-Then move the packages from 'dev' to 'release' :
-
-    :::text
-    # cd ~/mina/dist/release/mina
-    # cp ~/mina/dist/dev/mina/mina/<version> .
-    # svn add <version>
-    # svn ci <version>
-    ...
-    # exit
-    $
-
-The packages should now be available on http://www.us.apache.org/dist/mina/mina/<version>
-
-### Step 12: Deploy Web Reports (JavaDoc and JXR)
-
-The javadoc and xref files have been generated in step 6, it's now time to push them into the production site. They are generated in the following directory :
-
-    target/checkout/target/site
-
-We will copy two directories :
-
-    apidocs
-    xref
-
-Staging or Production?
-
-
-<DIV class="info" markdown="1">
-Those files will be stored on the production server only !!! And some extra caution ust be taken not to delete them when we will publish the staging site too...
-</DIV>
-
-First of all, you must checkout the two CMS store for the site : staging and production.
-
-    $ svn co https://svn.apache.org/repos/infra/websites/staging/mina/trunk staging
-    ...
-    $ svn co https://svn.apache.org/repos/infra/websites/production/mina production
-    ...
-
-Then copy the generated docs :
-
-    $ cp -r ~/mina/target/checkout/target/site/apidocs production/content/mina-project/
-    $ cp -r ~/mina/target/checkout/target/site/testapidocs production/content/mina-project/
-    $ cp -r ~/mina/target/checkout/target/site/xref production/content/mina-project/
-    $ cp -r ~/mina/target/checkout/target/site/xref-test production/content/mina-project/
-    $ 
-
-You have to check in those directories :
-
-    $ svn add apidocs
-    $ svn add testapidocs
-    $ svn add xref
-    $ svn add xref-test
-    $ svn ci apidocs testapidocs xref xref-test -m "Injected MINA <version> javadocs"
-
-Now, you have to update the staging site <em>extpaths.txt</em>
-
-This file list the file on the production site that will not be overriden by the publication of the staging site. It has to be updated
-
-    $ cd ~/mina/staging/content/
-    $ vi extpaths.txt
-
-The following lines should be present. If not, add them and commit the file :
-
-    # MINA
-    # 2.1.x
-    mina-project/gen-docs/2.1.2
-    mina-project/gen-docs/2.1.1
-    mina-project/gen-docs/2.1.0
-
-    # 2.0.x
-    mina-project/gen-docs/2.0.21
-    mina-project/gen-docs/2.0.20
-    mina-project/gen-docs/2.0.19
-    mina-project/apidocs
-    mina-project/testapidocs
-    mina-project/xref
-    mina-project/xref-test
-    ...
-
-Here, we just added the _mina-project/gen-docs/2.1.2_ line at the very top of this list when we released the 2.1.2 version.
-
-Last, not least, update the _.htaccess_ file on production :
-
-    $ cd ~/production/content/mina-project/gen-docs
-    $ vi .htaccess
-
-and change the references so that they point to the latest released version :
-
-    :::Text
-    RewriteEngine on
-  
-    RewriteBase /mina-project/gen-docs
-
-    RewriteRule ^latest-2.0$ 2.0.21/
-    RewriteRule ^latest-2.0/(.*)$ 2.0.21/$1
-
-    RewriteRule ^latest-2.1$ 2.1.2/
-    RewriteRule ^latest-2.1/(.*)$ 2.1.2/$1
-
-
-### Step 13: Wait 24 hours
-
-We have to wait at least 24 hours for all mirrors to retrieve the uploaded files before making any announcement.  I'd recommend you to wait for 48 hours because some mirrors might lag due to various issues.
-
-### Step 14: Update the Links in Web Site
-
-Some pages have to be updated. Assuming the MINA site has been checked out in ~/mina/site (this can be done with the command <em>$ svn co https://http://svn.apache.org/viewvc/mina/site/trunk ~/mina/site</em>), here are the pages that need to be changed :
-
-* /lib/path.pm: update the $version_mina variable with the new version.
-* /content/mina-project/downloads_2_0.mdtext or /content/mina-project/downloads_2_1.mdtext: change the version all over this page
-* /content/downloads-mina_2_0.mdtext or /content/downloads-mina_2_1.mdtext: change the version all over this page
-* /content/mina-project/downloads_old.mdtext: Add a line for the latest version which has been replaced by the released one
-* /content/mina-project/news.mdtext: add the news on top of this page
-
-
-### Step 15: Wait another 24 hours
-
-We need to wait until any changes made in the web site and metadata file(s) go live.
-
-### Step 16: Announce the New Release
-
-An announcement message can be sent to [mailto:announce@apache.org], [mailto:announce@apachenews.org], [mailto:users@mina.apache.org] and [mailto:dev@mina.apache.org].  Please note that announcement messages are rejected unless your from-address ends with `@apache.org`.  Plus, you shouldn't forget to post a news to the MINA site main page.
-
-Enjoy !
-
diff --git a/content/mina-project/features.mdtext b/content/mina-project/features.mdtext
deleted file mode 100644
index 4acfc53..0000000
--- a/content/mina-project/features.mdtext
+++ /dev/null
@@ -1,43 +0,0 @@
-Title: Features
-Notice:    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.
-		   
-# Features
-
-MINA is a simple yet full-featured network application framework which provides:
-
-* Unified API for various transport types:
-	* TCP/IP & UDP/IP via Java NIO
-	* Serial communication (RS232) via RXTX
-	* In-VM pipe communication
-	* You can implement your own!
-* Filter interface as an extension point; similar to Servlet filters
-* Low-level and high-level API:
-	* Low-level: uses ByteBuffers
-	* High-level: uses user-defined message objects and codecs
-* Highly customizable thread model:
-	* Single thread
-	* One thread pool
-	* More than one thread pools (i.e. [SEDA](https://web.archive.org/web/20061208181754/http://www.eecs.harvard.edu/~mdw/papers/mdw-phdthesis.pdf))
-* Out-of-the-box SSL &middot; TLS &middot; StartTLS support using Java 5 `SSLEngine`
-* Overload shielding & traffic throttling
-* Unit testability using mock objects
-* JMX managability
-* Stream-based I/O support via `StreamIoHandler`
-* Integration with well known containers such as PicoContainer and Spring
-* Smooth migration from Netty, an ancestor of Apache MINA.
-
diff --git a/content/mina-project/set-svnprops-tortoisesvn.mdtext b/content/mina-project/set-svnprops-tortoisesvn.mdtext
deleted file mode 100644
index f8a56d5..0000000
--- a/content/mina-project/set-svnprops-tortoisesvn.mdtext
+++ /dev/null
@@ -1,82 +0,0 @@
-Title: Setting SVN Properties in Tortoise SVN
-Notice:    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.
-
-
-# Setting SVN Properties in Tortoise SVN
-
-This article is for configuring SVN properties for TortoiseSVN Client
-
-To maintain header's with revision tags like, we need to set SVN properties.
-
-    /**
-     * @version $Rev: 529576 $, $Date: 2007-04-17 14:25:07 +0200 (mar., 17 avr. 2007) $
-    */
-
-Lets see how to set these properties in Tortoise SVN Client
-
-Open Tortoise SVN Client setting, (Right Click-> Tortoise SVN -> Settings)
-
-![TortoiseSVN](../staticresources/images/mina/tortoisesvn_setting.png)
-
-Click Edit button (as shown in figure)
-
-![TortoiseSVN setting](../staticresources/images/mina/tortoisesvn_settingdialog.png)
-
-The svn properties config file shall open up.
-
-Search for enable-auto-props = yes and uncomment, if not already done. The attribute is under miscellany
-
-Configure the properties auto-props section
-
-Please note that I have taken these properties from <http://wiki.apache.org/incubator-yoko/SetUpAutoProps>. Feel free to
-update as per your needs.
-
-	:::text
-	*.java = svn:eol-style=native;svn:keywords=Rev Date
-	*.xml = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords=Rev Date
-	*.xsl = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords=Rev Date
-	*.xsd = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords=Rev Date
-	*.wsdl = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords=Rev Date
-	*.properties = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Rev Date
-	*.c = svn:eol-style=native
-	*.cpp = svn:eol-style=native
-	*.h = svn:eol-style=native
-	*.dsp = svn:eol-style=CRLF
-	*.dsw = svn:eol-style=CRLF
-	*.sh = svn:eol-style=native;svn:executable
-	*.bat = svn:eol-style=native
-	*.pl = svn:eol-style=native
-	*.py = svn:eol-style=native
-	*.cmd = svn:eol-style=native
-	*.txt = svn:eol-style=native;svn:mime-type=text/plain
-	*.htm* = svn:eol-style=native;svn:mime-type=text/html;svn:keywords=Rev Date
-	ChangeLog = svn:eol-style=native;svn:mime-type=text/plain
-	README* = svn:eol-style=native;svn:mime-type=text/plain
-	LICENSE* = svn:eol-style=native;svn:mime-type=text/plain
-	NOTICE* = svn:eol-style=native;svn:mime-type=text/plain
-	TODO* = svn:eol-style=native;svn:mime-type=text/plain
-	KEYS* = svn:eol-style=native;svn:mime-type=text/plain
-	INSTALL* = svn:eol-style=native;svn:mime-type=text/plain
-	WHATSNEW* = svn:eol-style=native;svn:mime-type=text/plain
-	*.png = svn:mime-type=image/png
-	*.jpg = svn:mime-type=image/jpeg
-	*.gif = svn:mime-type=image/gif
-	Makefile = svn:eol-style=native
-	*.css = svn:eol-style=native
-	*.js = svn:eol-style=native
-
diff --git a/content/mina-project/technical-documentation/message-flow.mdtext b/content/mina-project/technical-documentation/message-flow.mdtext
deleted file mode 100644
index de76a48..0000000
--- a/content/mina-project/technical-documentation/message-flow.mdtext
+++ /dev/null
@@ -1,206 +0,0 @@
-Title: Message flow
-Notice:    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.
-
-# Message flow
-
-When a selector receives some _OP_READ_ event, the associated _IoProcessor_ is awaken and starts to process this event. It all starts with reading the channel, then pushing the read data through the filter chain down to the _IoHandler_ (aka, the application). If the application decides to write back a response, it goes through the chain again, andultimately the data to be pushed into the channel is pushed into a queue (_writeRequestQueue), then the stack is unfolled, down to the _IoProce [...]
-
-Here is the representation of such a flow, where the _SslFilter_ has been included (we will come back to it later)
-
-    :::text
-                       +-------------------+
-                       |     IoAcceptor    |
-                       |    +---------+    |
-                       |    | Select  |    |
-                       |    +----+----+    |
-                       |         |         |
-                       +---------+---------+
-                                 .                                           flush/
-    +---------+                  .                  +---------+              wakeup
-    | Channel <-----read------+  .  +-----write-----> Channel |              +----+
-    +---------+               |  |  |               +---------+              |    |
-                          +---+--v--+---+                               +----v----+---+
-                          |             |       writeRequestQueue       |             |
-                          | IoProcessor |       +-+-+-+-+-+-+-+-+       | IoProcessor |
-                          |             <- pop -+ | | | | | | | <- put- |             |
-                          +---+-----^---+       +-+-+-+-+-+-+-+-+       +---------^---+
-                              |     .                                       .     |
-          fireMessageReceived |     .                                       .     | write
-                              |     .                                       .     |
-                          +---v---------+                               +---v-----+---+
-                          | HeadFilter  |                               | HeadFilter  <---------------filterWrite---------------+
-                          +---+-----^---+                               +-------------+                                         |
-                              |     .                                       .                                             +-----+------+
-              MessageReceived |     .                                       .      +----------flushScheduledEvents--------> SslHandler |
-                              |     .                                       .      |                                      +-----+------+
-                          +---v---------+                               +---v------+--+                                         |
-                          | SslFilter   |                               | SslFilter   +----put----+                             |
-                          +---+-----^---+                               +---------^---+           |                             |
-                              |     .                                       .     |               |  filterWriteQueue           |
-              MessageReceived |     .                                       .     | filterWrite   |  +-+-+-+-+-+-+-+-+          |
-                              |     .                                       .     |               +--> | | | | | | | <----pop---+
-                          +---v---------+                               +---v---------+              +-+-+-+-+-+-+-+-+
-                          | <filters>   |                               | <filters>   |
-                          +---+-----v---+                               +-------------+
-                              |     .                                       .     |
-              MessageReceived |     .                                       .     | filterWrite
-                              |     .                                       .     |
-                          +---v---------+                               +---v-----+---+
-                          | TailFilter  |                               | TailFilter  |
-                          +---+-----^---+                               +---------^---+
-                              |     .                                       .     |
-              MessageReceived |     .                                       .     | fireFilterWrite
-                              |     .                                       .     |
-                          +---v---------+                                   .     |
-                          | IoHandler   |                                   .     |
-                          +---+-----^---+                                   .     |
-                              |     .                                       .     |
-                              |     .........................................     |
-                              |                                                   |
-                              +-------------------sessionWrite--------------------+
-
-
-For instance, if we consider an application which filter chain contains the _MdcInjectionFilter_, _SslFilter_, _CompressionFilter_, _ProtocolCodecFilter_, _LoggingFilter_, we end uo with a stack of 77 calls, which needs to be emptied before the response can eventually be written. Here is the stack (in reverse order, the latest call on top of it):
-
-    :::text
-    NioProcessor(AbstractPollingIoProcessor<S>).flush(S) line: 449  
-    NioProcessor(AbstractPollingIoProcessor<S>).write(S, WriteRequest) line: 436  
-    NioProcessor(AbstractPollingIoProcessor<S>).write(IoSession, WriteRequest) line: 68 
-    SimpleIoProcessorPool<S>.write(S, WriteRequest) line: 278 
-    SimpleIoProcessorPool<S>.write(IoSession, WriteRequest) line: 80  
-    DefaultIoFilterChain$HeadFilter.filterWrite(IoFilter$NextFilter, IoSession, WriteRequest) line: 914 
-    DefaultIoFilterChain.callPreviousFilterWrite(IoFilterChain$Entry, IoSession, WriteRequest) line: 753  
-    DefaultIoFilterChain.access$1500(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, WriteRequest) line: 49 
-    DefaultIoFilterChain$EntryImpl$1.filterWrite(IoSession, WriteRequest) line: 1146  
-    IoFilterEvent.fire() line: 131  
-    MdcInjectionFilter.filter(IoFilterEvent) line: 162  
-    MdcInjectionFilter(CommonEventFilter).filterWrite(IoFilter$NextFilter, IoSession, WriteRequest) line: 68  
-    DefaultIoFilterChain.callPreviousFilterWrite(IoFilterChain$Entry, IoSession, WriteRequest) line: 753  
-    DefaultIoFilterChain.access$1500(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, WriteRequest) line: 49 
-    DefaultIoFilterChain$EntryImpl$1.filterWrite(IoSession, WriteRequest) line: 1146  
-    SslHandler.flushScheduledEvents() line: 330 
-    SslFilter.filterWrite(IoFilter$NextFilter, IoSession, WriteRequest) line: 671 
-    DefaultIoFilterChain.callPreviousFilterWrite(IoFilterChain$Entry, IoSession, WriteRequest) line: 753  
-    DefaultIoFilterChain.access$1500(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, WriteRequest) line: 49 
-    DefaultIoFilterChain$EntryImpl$1.filterWrite(IoSession, WriteRequest) line: 1146  
-    CompressionFilter.filterWrite(IoFilter$NextFilter, IoSession, WriteRequest) line: 152 
-    DefaultIoFilterChain.callPreviousFilterWrite(IoFilterChain$Entry, IoSession, WriteRequest) line: 753  
-    DefaultIoFilterChain.access$1500(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, WriteRequest) line: 49 
-    DefaultIoFilterChain$EntryImpl$1.filterWrite(IoSession, WriteRequest) line: 1146  
-    ProtocolCodecFilter.filterWrite(IoFilter$NextFilter, IoSession, WriteRequest) line: 340 
-    DefaultIoFilterChain.callPreviousFilterWrite(IoFilterChain$Entry, IoSession, WriteRequest) line: 753  
-    DefaultIoFilterChain.access$1500(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, WriteRequest) line: 49 
-    DefaultIoFilterChain$EntryImpl$1.filterWrite(IoSession, WriteRequest) line: 1146  
-    LoggingFilter(IoFilterAdapter).filterWrite(IoFilter$NextFilter, IoSession, WriteRequest) line: 138  
-    DefaultIoFilterChain.callPreviousFilterWrite(IoFilterChain$Entry, IoSession, WriteRequest) line: 753  
-    DefaultIoFilterChain.access$1500(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, WriteRequest) line: 49 
-    DefaultIoFilterChain$EntryImpl$1.filterWrite(IoSession, WriteRequest) line: 1146  
-    DefaultIoFilterChain$TailFilter(IoFilterAdapter).filterWrite(IoFilter$NextFilter, IoSession, WriteRequest) line: 138  
-    DefaultIoFilterChain.callPreviousFilterWrite(IoFilterChain$Entry, IoSession, WriteRequest) line: 753  
-    DefaultIoFilterChain.fireFilterWrite(WriteRequest) line: 746  
-    NioSocketSession(AbstractIoSession).write(Object, SocketAddress) line: 570  
-    NioSocketSession(AbstractIoSession).write(Object) line: 515 
-    ChatProtocolHandler.messageReceived(IoSession, Object) line: 106  
-    DefaultIoFilterChain$TailFilter.messageReceived(IoFilter$NextFilter, IoSession, Object) line: 1015  
-    DefaultIoFilterChain.callNextMessageReceived(IoFilterChain$Entry, IoSession, Object) line: 650  
-    DefaultIoFilterChain.access$1300(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, Object) line: 49 
-    DefaultIoFilterChain$EntryImpl$1.messageReceived(IoSession, Object) line: 1128  
-    LoggingFilter.messageReceived(IoFilter$NextFilter, IoSession, Object) line: 208 
-    DefaultIoFilterChain.callNextMessageReceived(IoFilterChain$Entry, IoSession, Object) line: 650  
-    DefaultIoFilterChain.access$1300(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, Object) line: 49 
-    DefaultIoFilterChain$EntryImpl$1.messageReceived(IoSession, Object) line: 1128  
-    ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(IoFilter$NextFilter, IoSession) line: 413 
-    ProtocolCodecFilter.messageReceived(IoFilter$NextFilter, IoSession, Object) line: 257 
-    DefaultIoFilterChain.callNextMessageReceived(IoFilterChain$Entry, IoSession, Object) line: 650  
-    DefaultIoFilterChain.access$1300(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, Object) line: 49 
-    DefaultIoFilterChain$EntryImpl$1.messageReceived(IoSession, Object) line: 1128  
-    CompressionFilter.messageReceived(IoFilter$NextFilter, IoSession, Object) line: 169 
-    DefaultIoFilterChain.callNextMessageReceived(IoFilterChain$Entry, IoSession, Object) line: 650  
-    DefaultIoFilterChain.access$1300(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, Object) line: 49 
-    DefaultIoFilterChain$EntryImpl$1.messageReceived(IoSession, Object) line: 1128  
-    SslHandler.flushScheduledEvents() line: 335 
-    SslFilter.messageReceived(IoFilter$NextFilter, IoSession, Object) line: 553 
-    DefaultIoFilterChain.callNextMessageReceived(IoFilterChain$Entry, IoSession, Object) line: 650  
-    DefaultIoFilterChain.access$1300(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, Object) line: 49 
-    DefaultIoFilterChain$EntryImpl$1.messageReceived(IoSession, Object) line: 1128  
-    IoFilterEvent.fire() line: 105  
-    MdcInjectionFilter.filter(IoFilterEvent) line: 162  
-    MdcInjectionFilter(CommonEventFilter).messageReceived(IoFilter$NextFilter, IoSession, Object) line: 84  
-    DefaultIoFilterChain.callNextMessageReceived(IoFilterChain$Entry, IoSession, Object) line: 650  
-    DefaultIoFilterChain.access$1300(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, Object) line: 49 
-    DefaultIoFilterChain$EntryImpl$1.messageReceived(IoSession, Object) line: 1128  
-    DefaultIoFilterChain$HeadFilter(IoFilterAdapter).messageReceived(IoFilter$NextFilter, IoSession, Object) line: 122  
-    DefaultIoFilterChain.callNextMessageReceived(IoFilterChain$Entry, IoSession, Object) line: 650  
-    DefaultIoFilterChain.fireMessageReceived(Object) line: 643  
-    NioProcessor(AbstractPollingIoProcessor<S>).read(S) line: 539 
-    AbstractPollingIoProcessor<S>.access$1200(AbstractPollingIoProcessor, AbstractIoSession) line: 68 
-    AbstractPollingIoProcessor$Processor.process(S) line: 1223  
-    AbstractPollingIoProcessor$Processor.process() line: 1212 
-    AbstractPollingIoProcessor$Processor.run() line: 683  
-    NamePreservingRunnable.run() line: 64 
-    ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) line: 1149  
-    ThreadPoolExecutor$Worker.run() line: 624 
-    Thread.run() line: 748  
-
-Writing the data is done when we are back in the AbstractPollingIoProcessor$Processor.run() call. Here is the stack for that action :
-
-    :::text
-    NioProcessor.write(NioSession, IoBuffer, int) line: 384 
-    NioProcessor.write(AbstractIoSession, IoBuffer, int) line: 47 
-    AbstractPollingIoProcessor$Processor.writeBuffer(S, WriteRequest, boolean, int, long) line: 1107  
-    AbstractPollingIoProcessor$Processor.flushNow(S, long) line: 994  
-    AbstractPollingIoProcessor$Processor.flush(long) line: 921  
-    AbstractPollingIoProcessor$Processor.run() line: 688  
-    NamePreservingRunnable.run() line: 64 
-    ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) line: 1149  
-    ThreadPoolExecutor$Worker.run() line: 624 
-    Thread.run() line: 748  
-
-
-## The SslFilter implementation
-
-As we can see,the _SslFilter_ never calls the next filter. It delegates that to the _SslHandler_ class. The trick is that it uses a queue to store encrypted messages, which will wait until the message is fully encrypted before flushing them. The rational is that a message can be pretty big, and teh **SSL/TLS** protocol just allows limited encrypted data blocks (around 16k), so it keeps each block of encrypted data into the queue temporarily.
-
-
-# Room for improvements
-
-
-## Reducing the stack size
-
-This is clearly sub-optimal. First of all, the stack is crazy big, there is no reason for that. The idea was intially to allow a session to dynamically update the chain, by adding or removing a filter while a session is active. This is a fine idea, as some protocols need to do that: typically, LDAP allows a user to send a _startTls_ extended request which tells the server to establish a secured communication. In this very case, we add the _SslFilter_ in the session's filter chain.
-
-Now, we can do that more efficiently. A session's filter chain is created when the session itself is created. Adding a new filter in this chain is done by the application, and at this point, no other thread uses this session (each session is associated with one single _IoProcessor_ instance's thread), unless an _ExecutorFilter_ has been added to the chain. In this case, things get complicated... Having an _ExecutorFilter_ in the chain means any event can be processed concurrently, in dif [...]
-Typically, adding a _SslFilter_ in a chain while a message is being written is problematic: 
-* we have to wait for any pending messages to be sent to the remote peer, which may have already initiated a handshake (although it's the client responsability to handle this situation), or we decide to dicth any of those messages (the right thing to do, IMHO)
-* we have to deal with any message that are somewhere in the chain before the _SslFilter_. Again, the strategy would be to discard them
-* and we have to deal with any message somwhere in the chain after the _SslFilter_ and before they are pushed into the session write queue, for the exact same reason.
-
-For messages received *before* the addition of the _SslFilter_, but still in the chain, we should ditch them for the exact same reason.
-
-Bottom line, this is a application issue, and should be handled by the application, because **MINA** can't deal with all the possible. starties in place of the application.
-
-That being said, we can use the _IoProcessor_ as a controller. It would b eits responsability to propagate events from one filter to the other, using such a loop:
-
-    :::text
-    for each filter in the chain 
-      do
-        propagate the event to the filter with the previous result
-        store the result 
-      done
-
-What we call the 'result' is just the transformed data. Typically, when calling the _ProtocolCodecFilter.messageReceived_ event, the result will be the decoded message, not the _IoBuffer_ (or whatever) input. This will be passed to the next filter (remember that the _IoFilter.messageReceived_ method takes an _Object_ as a parameter).
\ No newline at end of file
diff --git a/content/mina-project/userguide/ch1-getting-started/ch1-getting-started.mdtext b/content/mina-project/userguide/ch1-getting-started/ch1-getting-started.mdtext
deleted file mode 100644
index 1dba9cb..0000000
--- a/content/mina-project/userguide/ch1-getting-started/ch1-getting-started.mdtext
+++ /dev/null
@@ -1,33 +0,0 @@
-Title: Chapter 1 - Getting Started
-NavUp: ../user-guide-toc.html
-NavUpText: User Guide
-NavNext: ../ch2-basics/ch2-basics.html
-NavNextText: Chapter 2 - Basics
-Notice:    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.
-
-# Chapter 1 - Getting Started
-
-In this chapter, we will give you first sense of what is **MINA**, what is **NIO**, why we developped a framework on top of **NIO** and what you will find inside.
-We will also show you how to run a very simple example of a server run with **MINA**
-
-[1.1 - NIO Overview](ch1.1-nio-overview.html)
-[1.2 - Why MINA ?](ch1.2-why-mina.html)
-[1.3 - Features](ch1.3-features.html)
-[1.4 - First Steps](ch1.4-first-steps.html)
-[1.5 - Summary](ch1.5-summary.html)
-
diff --git a/content/mina-project/userguide/ch1-getting-started/ch1.1-nio-overview.mdtext b/content/mina-project/userguide/ch1-getting-started/ch1.1-nio-overview.mdtext
deleted file mode 100644
index ae042c3..0000000
--- a/content/mina-project/userguide/ch1-getting-started/ch1.1-nio-overview.mdtext
+++ /dev/null
@@ -1,58 +0,0 @@
-Title: 1.1 - NIO Overview
-NavPrev: ch1-getting-started.html
-NavPrevText: Chapter 1 - Getting Started
-NavUp: ch1-getting-started.html
-NavUpText: Chapter 1 - Getting Started
-NavNext: ch1.2-why-mina.html
-NavNextText: 1.2 - Why MINA ?
-Notice:    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.
-
-# NIO Overview
-
-The **NIO** API was introduced in **Java 1.4** and had since been used for wide number of applications. The **NIO** API covers **IO** non-blocking operations.
-
-<DIV class="note" markdown="1">
-	First of all, it's good to know that <strong>MINA</strong> is written on top of <strong>NIO 1</strong>. A new version has been designed in <strong>Java 7</strong>, <strong>NIO-2</strong>, we don't yet benefit from the added features this version is carrying.
-</DIV>
-
-<DIV class="note" markdown="1">
-	It's also important to know that the <strong>N</strong> in <strong>NIO</strong> means <strong>New</strong>, but we will use the <strong>Non-Blocking</strong> term in many places. <strong>NIO-2</strong> should be seen as a <strong>New New I/O</strong>...
-</DIV>
-
-The `java.nio.*` package contains following key constructs
-
-* _Buffers_ - Data Containers
-* _Chartsets_ - Containers translators for bytes and Unicode
-* _Channels_ - represents connections to entities capable of I/O operations
-* _Selectors_ - provide selectable, multiplexed non-blocking IO 
-* _Regexps_ - provide provide some tools to manipulate regular expressions
-
-We are mostly interested in the _Channels_, _ Selectors_ and _Buffers_ parts in the **MINA** framework, except that we want to hide those elements to the user. 
-
-This user guide will thus focus on everything built on top of those internal components.
-
-# NIO vs BIO
-
-It's important to understand the difference between those two APIs. **BIO**, or **Blocking** **IO**, relies on plain sockets used in a blocking mode : when you read, write or do whatever operation on a socket, the called operation will blcok the caller until the operation is completed.
-
-In some cases, it's critical to be able to call the operation, and to expect the called operation to inform the caller when the operation is done : the caller can then do something else in the mean time.
-
-This is also where **NIO** offers a better way to handle **IO** when you have numerous connected sockets : you dn't have to create a specific thread for each connection, you can just use a few threads to do the same job.
-
-If you want to get more information about what covers **NIO**, there is a lot of good articles around the web, and a few books cobering this matter.
-
diff --git a/content/mina-project/userguide/ch1-getting-started/ch1.3-features.mdtext b/content/mina-project/userguide/ch1-getting-started/ch1.3-features.mdtext
deleted file mode 100644
index 6b73198..0000000
--- a/content/mina-project/userguide/ch1-getting-started/ch1.3-features.mdtext
+++ /dev/null
@@ -1,50 +0,0 @@
-Title: 1.3 Features
-NavPrev: ch1.2-why-mina.html
-NavPrevText: 1.2 - Why MINA ?
-NavUp: ch1-getting-started.html
-NavUpText: Chapter 1 - Getting Started
-NavNext: ch1.4-first-steps.html
-NavNextText: 1.4 - First steps
-Notice:    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.
-
-# Features
-
-MINA is a simple yet full-featured network application framework which provides:
-
-* Unified API for various transport types:
-    * TCP/IP & UDP/IP via Java NIO
-    * Serial communication (RS232) via RXTX
-    * In-VM pipe communication
-    * You can implement your own!
-* Filter interface as an extension point; similar to Servlet filters
-* Low-level and high-level API:
-    * Low-level: uses ByteBuffers
-    * High-level: uses user-defined message objects and codecs
-* Highly customizable thread model:
-    * Single thread
-    * One thread pool
-    * More than one thread pools (i.e. SEDA)
-* Out-of-the-box SSL &middot; TLS &middot; StartTLS support using Java 5 SSLEngine
-* Overload shielding & traffic throttling
-* Unit testability using mock objects
-* JMX managability
-* Stream-based I/O support via StreamIoHandler
-* Integration with well known containers such as PicoContainer and Spring
-* Smooth migration from Netty, an ancestor of Apache MINA.
-
-
diff --git a/content/mina-project/userguide/ch1-getting-started/ch1.5-summary.mdtext b/content/mina-project/userguide/ch1-getting-started/ch1.5-summary.mdtext
deleted file mode 100644
index 4196c13..0000000
--- a/content/mina-project/userguide/ch1-getting-started/ch1.5-summary.mdtext
+++ /dev/null
@@ -1,29 +0,0 @@
-Title: 1.5 - Summary
-NavPrev: ch1.4-first-steps.html
-NavPrevText: 1.4 - First Steps
-NavUp: ch1-getting-started.html
-NavUpText: Chapter 1 - Getting Started
-NavNext: ../ch2-basics/ch2-basics.html
-NavNextText: Chapter 2 - Basics
-Notice:    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.
-
-# Summary
-
-In this chapter, we looked at MINA based Application Architecture, for Client as well as Server. We also touched upon the implementation of Sample TCP Server/Client, and UDP Server and Client.
-
-In the chapters to come we shall discuss about MINA Core constructs and advanced topics
diff --git a/content/mina-project/userguide/ch10-executor-filter/ch10-executor-filter.mdtext b/content/mina-project/userguide/ch10-executor-filter/ch10-executor-filter.mdtext
deleted file mode 100644
index 9ecbce5..0000000
--- a/content/mina-project/userguide/ch10-executor-filter/ch10-executor-filter.mdtext
+++ /dev/null
@@ -1,47 +0,0 @@
-Title: Chapter 10 - Executor Filter
-NavPrev: ../ch9-codec-filter/ch9-codec-filter.html
-NavPrevText: Chapter 9 - Codec Filter
-NavUp: ../user-guide-toc.html
-NavUpText: User Guide
-NavNext: ../ch11-ssl-filter/ch11-ssl-filter.html
-NavNextText: Chapter 11 - SSL Filter
-Notice:    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.
-
-# Chapter 10 - Executor Filter
-
-MINA 1.X version let the user define the Thread Model at the Acceptor level. It was part of the Acceptor configuration. This led to complexity, and the MINA team decided to remove this option, replacing it with a much more versatile system, based on a filter : the __ExecutorFilter__.
-
-## The ExecutorFilter class
-
-This class is implementing the IoFilter interface, and basically, it contains an Executor to spread the incoming events to a pool of threads. This will allow an application to use more efficiently the processors, if some tasks are CPU intensive.
-
-This Filter can be used just before the handlers, assuming that most of the processing will be done in your application, or somewhere before some CPU intensive filter (for instance, a CodecFilter).
-
-It uses an _Executor_ instance to process the tasks, and can limit the number of events that can be sent to this executor. By default, the following events can be passed to the executor:
-
-* close
-* event
-* exceptionCaught
-* inputClosed
-* messageReceived
-* messageSent
-* sessionCreated
-* sessionClosed
-* sessionIdle
-* sessionOpened
-* write
\ No newline at end of file
diff --git a/content/mina-project/userguide/ch13-debugging/ch13-debugging.mdtext b/content/mina-project/userguide/ch13-debugging/ch13-debugging.mdtext
deleted file mode 100644
index 24a6eb0..0000000
--- a/content/mina-project/userguide/ch13-debugging/ch13-debugging.mdtext
+++ /dev/null
@@ -1,26 +0,0 @@
-Title: Chapter 13 - Debugging
-NavPrev: ../ch12-logging-filter/ch12-logging-filter.html
-NavPrevText: Chapter 12 - Logging Filter
-NavUp: ../user-guide-toc.html
-NavUpText: User Guide
-NavNext: ../ch14-state-machine/ch14-state-machine.html
-NavNextText: Chapter 14 - State Machine
-Notice:    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.
-
-# Chapter 13 - Debugging
-To be completed...
diff --git a/content/mina-project/userguide/ch15-proxy/ch15-proxy.mdtext b/content/mina-project/userguide/ch15-proxy/ch15-proxy.mdtext
deleted file mode 100644
index 99c6411..0000000
--- a/content/mina-project/userguide/ch15-proxy/ch15-proxy.mdtext
+++ /dev/null
@@ -1,27 +0,0 @@
-Title: Chapter 15 - Proxy
-NavPrev: ../ch14-state-machine/ch14-state-machine.html
-NavPrevText: Chapter 14 - State Machine
-NavUp: ../user-guide-toc.html
-NavUpText: User Guide
-NavNext: ../ch16-jmx-support/ch16-jmx-support.html
-NavNextText: Chapter 16 - JMX support
-Notice:    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.
-
-# Chapter 15 - Proxy
-
-To be completed...
diff --git a/content/mina-project/userguide/ch16-jmx-support/ch16-jmx-support.mdtext b/content/mina-project/userguide/ch16-jmx-support/ch16-jmx-support.mdtext
deleted file mode 100644
index bc267db..0000000
--- a/content/mina-project/userguide/ch16-jmx-support/ch16-jmx-support.mdtext
+++ /dev/null
@@ -1,92 +0,0 @@
-Title: Chapter 16 - JMX Support
-NavPrev: ../ch15-proxy/ch15-proxy.html
-NavPrevText: Chapter 15 - Proxy
-NavUp: ../user-guide-toc.html
-NavUpText: User Guide
-NavNext: ../ch17-spring-integration/ch17-spring-integration.html
-NavNextText: Chapter 17 - Spring Integration
-Notice:    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.
-
-# Chapter 16 - JMX Support
-
-Java Management Extensions (JMX) is used for managing and monitoring java applications.  This tutorial will provide you with an example as to how you can JMX-enable your MINA based application.
-
-This tutorial is designed to help you get the JMX technology integrated in to your MINA-based application. In this tutorial, we will integrate the MINA-JMX classes into the imagine server example program.
-
-# Adding JMX Support
-
-To JMX enable MINA application we have to perform following
-
-* Create/Get MBean server
-* Instantiate desired MBeans (IoAcceptor, IoFilter)  
-* Register MBeans with MBean server
-
-We shall follow \src\main\java\org\apache\mina\example\imagine\step3\server\ImageServer.java, for the rest of our discussion
-
-## Create/Get MBean server
-
-	:::java
-    // create a JMX MBean Server server instance
-    MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
-
-This lines get the MBean Server instance.
-
-## Instantiate MBean(s)
-
-We create an MBean for IoService
-
-	:::java
-    // create a JMX-aware bean that wraps a MINA IoService object.  In this
-    // case, a NioSocketAcceptor. 
-    IoServiceMBean acceptorMBean = new IoServiceMBean( acceptor );
-
-This creates an IoService MBean. It accepts instance of an acceptor that it exposed via JMX.
-
-Similarly, you can add IoFilterMBean and other custom MBeans as well
-
-## Registering MBeans with MBean Server
-
-	:::java
-    // create a JMX ObjectName.  This has to be in a specific format.  
-    ObjectName acceptorName = new ObjectName( acceptor.getClass().getPackage().getName() +
-            ":type=acceptor,name=" + acceptor.getClass().getSimpleName());
-        
-    // register the bean on the MBeanServer.  Without this line, no JMX will happen for
-    // this acceptor.
-    mBeanServer.registerMBean( acceptorMBean, acceptorName );
-
-
-We create an ObjectName that need to be used as logical name for accessing the MBean and register the MBean to the MBean Server. Our application in now JMX enabled. Lets see it in action.
-
-## Start the Imagine Server
-
-If you are using Java 5 or earlier:
-
-    java -Dcom.sun.management.jmxremote -classpath <CLASSPATH> org.apache.mina.example.imagine.step3.server.ImageServer
-
-If you  are using Java 6:
-
-    java  -classpath <CLASSPATH> }}{{{}org.apache.mina.example.imagine.step3.server.ImageServer
-
-## Start JConsole 
-
-Start JConsole using the following command: 
-
-   <JDK_HOME>/bin/jconsole
-
-We can see the different attributes and operations that are exposed by the MBeans
diff --git a/content/mina-project/userguide/ch2-basics/ch2-basics.mdtext b/content/mina-project/userguide/ch2-basics/ch2-basics.mdtext
deleted file mode 100644
index f866fc6..0000000
--- a/content/mina-project/userguide/ch2-basics/ch2-basics.mdtext
+++ /dev/null
@@ -1,37 +0,0 @@
-Title: Chapter 2 - Basics
-NavPrev: ../ch1-getting-started/ch1-getting-started.html
-NavPrevText: Chapter 1 - Getting Started
-NavUp: ../user-guide-toc.html
-NavUpText: User Guide
-NavNext: ../ch3-service/ch3-service.html
-NavNextText: Chapter 3 - Service
-Notice:    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.
-
-# Chapter 2 - Basics
-
-In Chapter 1, we had a brief glimpse of Apache MINA. In this chapter we shall have a look at Client/Server Architecture and details on working out a MINA based Server and Client.
-
-We will also expose some very simple Servers and Clients, based on TCP and UDP.
-
-* [2.1 - Application Architecture](ch2.1-application-architecture.html)
-    * [2.1.1 - Server Architecture](ch2.1.1-server-architecture.html)
-    * [2.1.2 - Client Architecture](ch2.1.2-tcp-server.html)
-* [2.3 - Sample TCP Client](ch2.3-sample-tcp-client.html)
-* [2.4 - Sample UDP Server](ch2.4-sample-udp-server.html)
-* [2.5 - Sample UDP Client](ch2.5-sample-udp-client.html)
-* [2.6 - Summary](ch2.6-summary.html)
diff --git a/content/mina-project/userguide/ch2-basics/ch2.1-application-architecture.mdtext b/content/mina-project/userguide/ch2-basics/ch2.1-application-architecture.mdtext
deleted file mode 100644
index e1b3a44..0000000
--- a/content/mina-project/userguide/ch2-basics/ch2.1-application-architecture.mdtext
+++ /dev/null
@@ -1,66 +0,0 @@
-Title: 2.1 - Application Architecture
-NavPrev: ch2-basics.html
-NavPrevText: Chapter 2 - Basics
-NavUp: ch2-basics.html
-NavUpText: Chapter 2 - Basics
-NavNext: ch2.2-sample-tcp-server.html
-NavNextText: 2.2 - Sample TCP Server
-Notice:    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.
-
-* [2.1.1 - Server Architecture](ch2.1.1-server-architecture.html)
-* [2.1.2 - Client Architecture](ch2.1.2-client-architecture.html)
-
-#2.1 -  MINA based Application Architecture
-
-It's the question most asked : 'How does a **MINA** based application look like'? In this article lets see what's the architecture of MINA based application. Have tried to gather the information from presentations based on **MINA**.
-
-A Bird's Eye View :
-
-![](../../../staticresources/images/mina/apparch_small.png)
-
-Here, we can see that **MINA** is the glue between your application (be it a client or a server) and the underlying network layer, which can be based on TCP, UDP, in-VM comunication or even a RS-232C serial protocol for a client.
-
-You just have to design your application on top of MINA without having to handle all the complexity of the newtork layer.
-
-Lets take a deeper dive into the details now. The following image shows a bit more the internal of **MINA**, and what are each of the **MINA** components doing :
-
-![](../../../staticresources/images/mina/mina_app_arch.png)
-
-(The image is from Emmanuel L&eacute;charny presentation [MINA in real life (ApacheCon EU 2009)](../../../staticresources/pdfs/Mina_in_real_life_ASEU-2009.pdf))
-
-Broadly, MINA based applications are divided into 3 layers
-
-* I/O Service - Performs actual I/O
-* I/O Filter Chain - Filters/Transforms bytes into desired Data Structures and vice-versa
-* I/O Handler - Here resides the actual business logic
-
-So, in order to create a MINA based Application, you have to :
-
-1. Create an I/O service - Choose from already available Services (*Acceptor) or create your own
-2. Create a Filter Chain - Choose from already existing Filters or create a custom Filter for transforming request/response
-3. Create an I/O Handler - Write business logic, on handling different messages
-
-This is pretty much it. 
-
-You can get a bit deeper by reading those two pages :
-
-* [2.1.1 - Server Architecture](ch2.2.1-server-architecture.html)
-* [2.2.2 - Client Architecture](ch2.2.2-client-architecture.html)
-
-Of course, **MINA** offers more than just that, and you will robably have to take care of many oher aspects, like the messages encoding/decoding, the network configuration how to scale up, etc... We will have a further look at those aspects in the next chapters.
-
diff --git a/content/mina-project/userguide/ch2-basics/ch2.1.2-client-architecture.mdtext b/content/mina-project/userguide/ch2-basics/ch2.1.2-client-architecture.mdtext
deleted file mode 100644
index 95a713f..0000000
--- a/content/mina-project/userguide/ch2-basics/ch2.1.2-client-architecture.mdtext
+++ /dev/null
@@ -1,36 +0,0 @@
-Title: 2.1.2 - Client Architecture
-NavPrev: ch2.1.1-server-architecture.html
-NavPrevText: 2.1.1 - Server Architecture
-NavUp: ch2.1-application-architecture.html
-NavUpText: 2.1 - Application Architecture
-NavNext: ch2.1-application-architecture.html
-NavNextText: 2.1 - Application Architecture
-Notice:    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.
-
-
-# 2.1.2 - Client Architecture
-
-
-We had a brief look at MINA based Server Architecture, lets see how Client looks like. Clients need to connect to a Server, send message and process the responses.
-
-![](../../../staticresources/images/mina/clientdiagram.png)
-
-* Client first creates an IOConnector (MINA Construct for connecting to Socket), initiates a bind with Server
-* Upon Connection creation, a Session is created and is associated with Connection
-* Application/Client writes to the Session, resulting in data being sent to Server, after traversing the Filter Chain
-* All the responses/messages received from Server are traverses the Filter Chain and lands at IOHandler, for processing
diff --git a/content/mina-project/userguide/ch2-basics/ch2.2-sample-tcp-server.mdtext b/content/mina-project/userguide/ch2-basics/ch2.2-sample-tcp-server.mdtext
deleted file mode 100644
index 63cf3f2..0000000
--- a/content/mina-project/userguide/ch2-basics/ch2.2-sample-tcp-server.mdtext
+++ /dev/null
@@ -1,244 +0,0 @@
-Title: 2.2 - Sample TCP Server
-NavPrev: ch2.1-application-architecture.html
-NavPrevText: 2.1 - Application Architecture
-NavUp: ch2-basics.html
-NavUpText: Chapter 2 - Basics
-NavNext: ch2.3-sample-tcp-client.html
-NavNextText: 2.3 - Sample TCP Client
-Notice:    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.
-
-# 2.2 - Sample TCP Server
-
-This tutorial will walk you through the process of building a MINA based program.  This tutorial will walk through building a time server.  The following prerequisites are required for this tutorial:
-
-* MINA 2.x Core
-* JDK 1.5 or greater
-* SLF4J 1.3.0 or greater
-    * __Log4J 1.2__ users: slf4j-api.jar, slf4j-log4j12.jar, and [Log4J](http://logging.apache.org/log4j/1.2/) 1.2.x
-    * __Log4J 1.3__ users: slf4j-api.jar, slf4j-log4j13.jar, and [Log4J](http://logging.apache.org/log4j/1.2/) 1.3.x
-    * __java.util.logging__ users: slf4j-api.jar and slf4j-jdk14.jar
-    * __IMPORTANT__: Please make sure you are using the right slf4j-*.jar that matches to your logging framework.
-
-For instance, slf4j-log4j12.jar and log4j-1.3.x.jar can not be used together, and will malfunction.
-
-We have tested this program on both Windows&copy; 2000 professional and linux.  If you have any problems getting this program to work, please do not hesitate to [contact us](../../../contact.html) in order to talk to the MINA developers.  Also, this tutorial has tried to remain independent of development environments (IDE, editors..etc).  This tutorial will work with any environment that you are comfortable with.  Compilation commands and steps to execute the program have been removed fo [...]
-
-## Writing the MINA time server 
-
-We will begin by creating a file called MinaTimeServer.java. The initial code can be found below:
-
-	:::java
-	public class MinaTimeServer {
-		public static void main(String[] args) {
-			// code will go here next
-		}
-	}
-
-This code should be straightforward to all.  We are simply defining a main method that will be used to kick off the program.  At this point, we will begin to add the code that will make up our server.  First off, we need an object that will be used to listen for incoming connections.  Since this program will be TCP/IP based, we will add a SocketAcceptor to our program.
-
-	:::java
-	import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
-	
-	public class MinaTimeServer
-	{
-		public static void main( String[] args )
-		{
-			IoAcceptor acceptor = new NioSocketAcceptor();
-		}
-	}
-
-With the NioSocketAcceptor class in place, we can go ahead and define the handler class and bind the NioSocketAcceptor to a port :
-
-	:::java
-	import java.net.InetSocketAddress;
-	
-	import org.apache.mina.core.service.IoAcceptor;
-	import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
-	
-	public class MinaTimeServer
-	{
-		private static final int PORT = 9123;
-		public static void main( String[] args ) throws IOException
-		{
-			IoAcceptor acceptor = new NioSocketAcceptor();
-			acceptor.bind( new InetSocketAddress(PORT) );
-		}
-	}
-
-As you see, there is a call to acceptor.setLocalAddress( new InetSocketAddress(PORT) );. This method defines what host and port this server will listen on. The final method is a call to IoAcceptor.bind(). This method will bind to the specified port and start processing of remote clients.
-
-Next we add a filter to the configuration. This filter will log all information such as newly created sessions, messages received, messages sent, session closed. The next filter is a ProtocolCodecFilter. This filter will translate binary or protocol specific data into message object and vice versa. We use an existing TextLine factory because it will handle text base message for you (you don't have to write the codec part)
-
-	:::java
-	import java.io.IOException;
-	import java.net.InetSocketAddress;
-	import java.nio.charset.Charset;
-	
-	import org.apache.mina.core.service.IoAcceptor;
-	import org.apache.mina.filter.codec.ProtocolCodecFilter;
-	import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
-	import org.apache.mina.filter.logging.LoggingFilter;
-	import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
-	
-	public class MinaTimeServer
-	{
-		public static void main( String[] args )
-		{
-			IoAcceptor acceptor = new NioSocketAcceptor();
-			acceptor.getFilterChain().addLast( "logger", new LoggingFilter() );
-			acceptor.getFilterChain().addLast( "codec", new ProtocolCodecFilter( new TextLineCodecFactory( Charset.forName( "UTF-8" ))));
-			acceptor.bind( new InetSocketAddress(PORT) );
-		}
-	}
-
-At this point, we will define the handler that will be used to service client connections and the requests for the current time. The handler class is a class that must implement the interface IoHandler. For almost all programs that use MINA, this becomes the workhorse of the program, as it services all incoming requests from the clients. For this tutorial, we will extend the class IoHandlerAdapter. This is a class that follows the [adapter design pattern](http://en.wikipedia.org/wiki/Ada [...]
-
-	:::java
-	import java.net.InetSocketAddress;
-	import java.nio.charset.Charset;
-	
-	import org.apache.mina.core.service.IoAcceptor;
-	import org.apache.mina.filter.codec.ProtocolCodecFilter;
-	import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
-	import org.apache.mina.filter.logging.LoggingFilter;
-	import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
-	
-	public class MinaTimeServer
-	{
-		public static void main( String[] args ) throws IOException
-		{
-			IoAcceptor acceptor = new NioSocketAcceptor();
-			acceptor.getFilterChain().addLast( "logger", new LoggingFilter() );
-			acceptor.getFilterChain().addLast( "codec", new ProtocolCodecFilter( new TextLineCodecFactory( Charset.forName( "UTF-8" ))));
-			acceptor.setHandler(  new TimeServerHandler() );
-			acceptor.bind( new InetSocketAddress(PORT) );
-		}
-	}
-
-We will now add in the NioSocketAcceptor configuration. This will allow us to make socket-specific settings for the socket that will be used to accept connections from clients.
-
-	:::java
-	import java.net.InetSocketAddress;
-	import java.nio.charset.Charset;
-	
-	import org.apache.mina.core.session.IdleStatus;
-	import org.apache.mina.core.service.IoAcceptor;
-	import org.apache.mina.filter.codec.ProtocolCodecFilter;
-	import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
-	import org.apache.mina.filter.logging.LoggingFilter;
-	import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
-	
-	public class MinaTimeServer
-	{
-		public static void main( String[] args ) throws IOException
-		{
-        	IoAcceptor acceptor = new NioSocketAcceptor();
-			acceptor.getFilterChain().addLast( "logger", new LoggingFilter() );
-			acceptor.getFilterChain().addLast( "codec", new ProtocolCodecFilter( new TextLineCodecFactory( Charset.forName( "UTF-8" ))));
-			acceptor.setHandler(  new TimeServerHandler() );
-			acceptor.getSessionConfig().setReadBufferSize( 2048 );
-			acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE, 10 );
-			acceptor.bind( new InetSocketAddress(PORT) );
-		}
-	}
-
-There are 2 new lines in the MinaTimeServer class. These methods set the set the IoHandler, input buffer size and the idle property for the sessions. The buffer size will be specified in order to tell the underlying operating system how much room to allocate for incoming data. The second line will specify when to check for idle sessions. In the call to setIdleTime, the first parameter defines what actions to check for when determining if a session is idle, the second parameter defines th [...]
-
-The code for the handler is shown below:
-
-	:::java
-	import java.util.Date;
-	
-	import org.apache.mina.core.session.IdleStatus;
-	import org.apache.mina.core.service.IoHandlerAdapter;
-	import org.apache.mina.core.session.IoSession;
-	
-	public class TimeServerHandler extends IoHandlerAdapter
-	{
-		@Override
-		public void exceptionCaught( IoSession session, Throwable cause ) throws Exception
-		{
-			cause.printStackTrace();
-		}
-		@Override
-		public void messageReceived( IoSession session, Object message ) throws Exception
-		{
-			String str = message.toString();
-			if( str.trim().equalsIgnoreCase("quit") ) {
-            	session.close();
-				return;
-        	}
-			Date date = new Date();
-			session.write( date.toString() );
-			System.out.println("Message written...");
-		}
-		@Override
-		public void sessionIdle( IoSession session, IdleStatus status ) throws Exception
-		{
-        	System.out.println( "IDLE " + session.getIdleCount( status ));
-		}
-	}
-
-The methods used in this class are exceptionCaught, messageReceived and sessionIdle. exceptionCaught should always be defined in a handler to process and exceptions that are raised in the normal course of handling remote connections. If this method is not defined, exceptions may not get properly reported.
-
-The exceptionCaught method will simply print the stack trace of the error and close the session. For most programs, this will be standard practice unless the handler can recover from the exception condition.
-
-The messageReceived method will receive the data from the client and write back to the client the current time. If the message received from the client is the word "quit", then the session will be closed. This method will also print out the current time to the client. Depending on the protocol codec that you use, the object (second parameter) that gets passed in to this method will be different, as well as the object that you pass in to the session.write(Object) method. If you do not spe [...]
-
-The sessionIdle method will be called once a session has remained idle for the amount of time specified in the call acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE, 10 );.
-
-All that is left to do is define the socket address that the server will listen on, and actually make the call that will start the server. That code is shown below:
-
-	:::java
-	import java.io.IOException;
-	import java.net.InetSocketAddress;
-	import java.nio.charset.Charset;
-	
-	import org.apache.mina.core.service.IoAcceptor;
-	import org.apache.mina.core.session.IdleStatus;
-	import org.apache.mina.filter.codec.ProtocolCodecFilter;
-	import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
-	import org.apache.mina.filter.logging.LoggingFilter;
-	import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
-	
-	public class MinaTimeServer
-	{
-		private static final int PORT = 9123;
-		public static void main( String[] args ) throws IOException
-		{
-        	IoAcceptor acceptor = new NioSocketAcceptor();
-			acceptor.getFilterChain().addLast( "logger", new LoggingFilter() );
-			acceptor.getFilterChain().addLast( "codec", new ProtocolCodecFilter( new TextLineCodecFactory( Charset.forName( "UTF-8" ))));
-			acceptor.setHandler( new TimeServerHandler() );
-			acceptor.getSessionConfig().setReadBufferSize( 2048 );
-			acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE, 10 );
-			acceptor.bind( new InetSocketAddress(PORT) );
-		}
-	}
-
-## Try out the Time server 
-
-At this point, we can go ahead and compile the program.  Once you have compiled the program you can run the program in order to test out what happens.  The easiest way to test the program is to start the program, and then telnet in to the program:
-
-| Client Output | Server Output |
-|---|---|
-| user@myhost:~> telnet 127.0.0.1 9123 <br/>Trying 127.0.0.1... <br/>Connected to 127.0.0.1. <br/>Escape character is '^]'. <br/>hello <br/>Wed Oct 17 23:23:36 EDT 2007 <br/>quit <br/>Connection closed by foreign host. <br/>user@myhost:~> | MINA Time server started. <br/>Message written... |
-
-## What's Next?
-
-Please visit our Documentation page to find out more resources. You can also keep reading other tutorials.
diff --git a/content/mina-project/userguide/ch2-basics/ch2.3-sample-tcp-client.mdtext b/content/mina-project/userguide/ch2-basics/ch2.3-sample-tcp-client.mdtext
deleted file mode 100644
index 0cc0207..0000000
--- a/content/mina-project/userguide/ch2-basics/ch2.3-sample-tcp-client.mdtext
+++ /dev/null
@@ -1,123 +0,0 @@
-Title: 2.3 - Sample TCP Client 
-NavPrev: ch2.2-sample-tcp-server.html
-NavPrevText: 2.2 - Sample TCP Server
-NavUp: ch2-basics.html
-NavUpText: Chapter 2 - Basics
-NavNext: ch2.4-sample-udp-server.html
-NavNextText: 2.4 - Sample UDP Server
-Notice:    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.
-
-# 2.3 - Sample TCP Client
-
-We have seen the Client Architecture. Lets explore a sample Client implementation.
-
-We shall use [Sumup Client](http://mina.apache.org/mina-project/xref/org/apache/mina/example/sumup/Client.html) as a reference implementation.
-
-We will remove boiler plate code and concentrate on the important constructs. Below the code for the Client :
-
-	:::java
-	public static void main(String[] args) throws Throwable {
-    	NioSocketConnector connector = new NioSocketConnector();
-		connector.setConnectTimeoutMillis(CONNECT_TIMEOUT);
-
-		if (USE_CUSTOM_CODEC) {
-       	connector.getFilterChain().addLast("codec",
-        	new ProtocolCodecFilter(new SumUpProtocolCodecFactory(false)));
-		} else {
-			connector.getFilterChain().addLast("codec",
-            	new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
-    	}
-		
-    	connector.getFilterChain().addLast("logger", new LoggingFilter());
-    	connector.setHandler(new ClientSessionHandler(values));
-		IoSession session;
-		
-		for (;;) {
-        	try {
-            	ConnectFuture future = connector.connect(new InetSocketAddress(HOSTNAME, PORT));
-				future.awaitUninterruptibly();
-				session = future.getSession();
-				break;
-			} catch (RuntimeIoException e) {
-				System.err.println(&quot;Failed to connect.&quot;);
-				e.printStackTrace();
-				Thread.sleep(5000);
-			}
-		}
-			
-		// wait until the summation is done
-		session.getCloseFuture().awaitUninterruptibly();
-		connector.dispose();
-	}
-
-To construct a Client, we need to do following
-
-* Create a Connector
-* Create a Filter Chain
-* Create a IOHandler and add to Connector
-* Bind to Server
-
-Lets examine each one in detail
-
-## Create a Connector
-
-	:::java
-	NioSocketConnector connector = new NioSocketConnector();
-
-Here we have created a NIO Socket connector
-
-## Create a Filter Chain
-
-	:::java
-	if (USE_CUSTOM_CODEC) {
-		connector.getFilterChain().addLast("codec",
-        	new ProtocolCodecFilter(new SumUpProtocolCodecFactory(false)));
-	} else {
-		connector.getFilterChain().addLast("codec",
-        	new ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
-	}
-
-We add Filters to the Filter Chain for the Connector. Here we have added a ProtocolCodec, to the filter Chain.
-
-## Create IOHandler
-
-	:::java
-	connector.setHandler(new ClientSessionHandler(values));
-
-Here we create an instance of [ClientSessionHandler](http://mina.apache.org/mina-project/xref/org/apache/mina/example/sumup/ClientSessionHandler.html) and set it as a handler for the Connector.
-
-## Bind to Server
-
-	:::java
-	IoSession session;
-	
-	for (;;) {
-    	try {
-        	ConnectFuture future = connector.connect(new InetSocketAddress(HOSTNAME, PORT));
-			future.awaitUninterruptibly();
-			session = future.getSession();
-			break;
-		} catch (RuntimeIoException e) {
-        	System.err.println("Failed to connect.");
-			e.printStackTrace();
-			Thread.sleep(5000);
-		}
-	}
-
-Here is the most important stuff. We connect to remote Server. Since, connect is an async task, we use the [ConnectFuture](http://mina.apache.org/mina-project/xref/org/apache/mina/core/future/ConnectFuture.html) class to know the when the connection is complete.
-Once the connection is complete, we get the associated [IoSession](http://mina.apache.org/mina-project/xref/org/apache/mina/core/session/IoSession.html). To send any message to the Server, we shall have to write to the session. All responses/messages from server shall traverse the Filter chain and finally be handled in IoHandler.
diff --git a/content/mina-project/userguide/ch2-basics/ch2.4-sample-udp-server.mdtext b/content/mina-project/userguide/ch2-basics/ch2.4-sample-udp-server.mdtext
deleted file mode 100644
index 01a8872..0000000
--- a/content/mina-project/userguide/ch2-basics/ch2.4-sample-udp-server.mdtext
+++ /dev/null
@@ -1,99 +0,0 @@
-Title: 2.4 - Sample UDP Server
-NavPrev: ch2.3-sample-tcp-client.html
-NavPrevText: 2.3 - Sample TCP-CLient
-NavUp: ch2-basics.html
-NavUpText: Chapter 2 - Basics
-NavNext: ch2.5-sample-udp-client.html
-NavNextText: 2.5 - Sample UDP Client
-Notice:    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.
-
-# 2.4 - Sample UDP Server
-
-We will begin by looking at the code found in the [org.apache.mina.example.udp](http://mina.apache.org/mina-project/xref/org/apache/mina/example/udp/package-summary.html) package. To keep life simple, we shall concentrate on MINA related constructs only.
-
-To construct the server, we shall have to do the following:
-
-1. Create a Datagram Socket to listen for incoming Client requests (See [MemoryMonitor.java](http://mina.apache.org/mina-project/xref/org/apache/mina/example/udp/MemoryMonitor.html))
-2. Create an IoHandler to handle the MINA framework generated events (See [MemoryMonitorHandler.java](http://mina.apache.org/mina-project/xref/org/apache/mina/example/udp/MemoryMonitorHandler.html))
-
-Here is the first snippet that addresses Point# 1:
-
-	:::java
-	NioDatagramAcceptor acceptor = new NioDatagramAcceptor();
-	acceptor.setHandler(new MemoryMonitorHandler(this));
-
-Here, we create a NioDatagramAcceptor to listen for incoming Client requests, and set the IoHandler.The variable 'PORT' is just an int. The next step is to add a logging filter to the filter chain that this DatagramAcceptor will use. LoggingFilter is a very nice way to see MINA in Action. It generate log statements at various stages, providing an insight into how MINA works.
-
-	:::java
-	DefaultIoFilterChainBuilder chain = acceptor.getFilterChain();
-	chain.addLast("logger", new LoggingFilter());
-
-Next we get into some more specific code for the UDP traffic. We will set the acceptor to reuse the address
-
-	:::java
-	DatagramSessionConfig dcfg = acceptor.getSessionConfig();
-	dcfg.setReuseAddress(true);acceptor.bind(new InetSocketAddress(PORT));
-
-Of course the last thing that is required here is to call bind().
-
-## IoHandler implementation
-
-There are three major events of interest for our Server Implementation
-
-* Session Created
-* Message Received
-* Session Closed
-
-Lets look at each of them in detail
-
-### Session Created Event
-
-	:::java
-	@Override
-	public void sessionCreated(IoSession session) throws Exception {
-    	SocketAddress remoteAddress = session.getRemoteAddress();
-		server.addClient(remoteAddress);
-	} 
-
-In the session creation event, we just call addClient() function, which internally adds a Tab to the UI
-
-### Message Received Event
-
-	:::java
-	@Override
-	public void messageReceived(IoSession session, Object message) throws Exception {
-        if (message instanceof IoBuffer) {
-            IoBuffer buffer = (IoBuffer) message;
-            SocketAddress remoteAddress = session.getRemoteAddress();
-            server.recvUpdate(remoteAddress, buffer.getLong());
-        }
-	 }
-
-In the message received event, we just dump the data received in the message. Applications that need to send responses, can process message and write the responses onto session in this function.
-
-### Session Closed Event
-
-	:::java
-	@Override
-	public void sessionClosed(IoSession session) throws Exception {
-    	System.out.println("Session closed...");
-		SocketAddress remoteAddress = session.getRemoteAddress();
-		server.removeClient(remoteAddress);
-	}
-
-In the Session Closed, event we just remove the Client tab from the UI
diff --git a/content/mina-project/userguide/ch2-basics/ch2.5-sample-udp-client.mdtext b/content/mina-project/userguide/ch2-basics/ch2.5-sample-udp-client.mdtext
deleted file mode 100644
index b11ff37..0000000
--- a/content/mina-project/userguide/ch2-basics/ch2.5-sample-udp-client.mdtext
+++ /dev/null
@@ -1,83 +0,0 @@
-Title: 2.5 - Sample UDP Client
-NavPrev: ch2.4-sample-udp-server.html
-NavPrevText: 2.4 - Sample UDP Server
-NavUp: ch2-basics.html
-NavUpText: Chapter 2 - Basics
-NavNext: ch2.6-summary.html
-NavNextText: 2.6 - Summary
-Notice:    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.
-
-# 2.5 -Sample UDP Client
-
-Lets look at the client code for the UDP Server from previous section.
-
-To implement the Client we need to do following:
-
-* Create Socket and Connect to Server
-* Set the IoHandler
-* Collect free memory
-* Send the Data to the Server
-
-We will begin by looking at the file [MemMonClient.java](http://mina.apache.org/mina-project/xref/org/apache/mina/example/udp/client/MemMonClient.html), found in the org.apache.mina.example.udp.client java package. The first few lines of the code are simple and straightforward.
-
-	:::java
-    connector = new NioDatagramConnector();
-    connector.setHandler( this );
-    ConnectFuture connFuture = connector.connect( new InetSocketAddress("localhost", MemoryMonitor.PORT ));
-
-Here we create a NioDatagramConnector, set the handler and connect to the server. One gotcha I ran into was that you must set the host in the InetSocketAddress object or else nothing seems to work. This example was mostly written and tested on a Windows XP machine, so things may be different elsewhere. Next we will wait for acknowledgment that the client has connected to the server. Once we know we are connected, we can start writing data to the server. Here is that code:
-
-	:::java
-    connFuture.addListener( new IoFutureListener(){
-                public void operationComplete(IoFuture future) {
-                    ConnectFuture connFuture = (ConnectFuture)future;
-                    if( connFuture.isConnected() ){
-                        session = future.getSession();
-                        try {
-                            sendData();
-                        } catch (InterruptedException e) {
-                            e.printStackTrace();
-                        }
-                    } else {
-                        log.error("Not connected...exiting");
-                    }
-                }
-            });
-
-Here we add a listener to the ConnectFuture object and when we receive a callback that the client has connected, we will start to write data. The writing of data to the server will be handled by a method called sendData. This method is shown below:
-
-	:::java
-	private void sendData() throws InterruptedException {
-        for (int i = 0; i < 30; i++) {
-            long free = Runtime.getRuntime().freeMemory();
-            IoBuffer buffer = IoBuffer.allocate(8);
-            buffer.putLong(free);
-            buffer.flip();
-            session.write(buffer);
-            try {
-                Thread.sleep(1000);
-            } catch (InterruptedException e) {
-                e.printStackTrace();
-                throw new InterruptedException(e.getMessage());
-            }
-        }
-	}
-
-This method will write the amount of free memory to the server once a second for 30 seconds. Here you can see that we allocate a IoBuffer large enough to hold a long variable and then place the amount of free memory in the buffer. This buffer is then flipped and written to the server.
-
-Our UDP Client implementation is complete.
diff --git a/content/mina-project/userguide/ch2-basics/ch2.6-summary.mdtext b/content/mina-project/userguide/ch2-basics/ch2.6-summary.mdtext
deleted file mode 100644
index e8ebbaa..0000000
--- a/content/mina-project/userguide/ch2-basics/ch2.6-summary.mdtext
+++ /dev/null
@@ -1,29 +0,0 @@
-Title: 2.6 - Summary
-NavPrev: ch2.5-sample-udp-client.html
-NavPrevText: 2.5 - Sample UDP client
-NavUp: ch2-basics.html
-NavUpText: Chapter 2 - Basics
-NavNext: ../ch3-service/ch3-service.html
-NavNextText: Chapter 3 - Service
-Notice:    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.
-
-# 2.6 - Summary
-
-In this chapter, we looked at MINA based Application Architecture, for Client as well as Server. We also touched upon the implementation of Sample TCP Server/Client, and UDP Server and Client.
-
-In the chapters to come we shall discuss about MINA Core constructs and advanced topics
diff --git a/content/mina-project/userguide/ch3-service/ch3-service.mdtext b/content/mina-project/userguide/ch3-service/ch3-service.mdtext
deleted file mode 100644
index 6fbe697..0000000
--- a/content/mina-project/userguide/ch3-service/ch3-service.mdtext
+++ /dev/null
@@ -1,39 +0,0 @@
-Title: Chapter 3 - Service
-NavPrev: ../ch2-basics/ch2-basics.html
-NavPrevText: Chapter 2 - Basics
-NavUp: ../user-guide-toc.html
-NavUpText: User Guide
-NavNext: ../ch4-session/ch4-session.html
-NavNextText: Chapter 4 - Session
-Notice:    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.
-
-# Chapter 3 - IoService
-
-A **MINA** _IoService_ - as seen in the [application architecture](../ch2-basics/ch2.1-application-architecture.html) chapter, is the base class supporting all the **IO** services, either from the server side or the client side. 
-
-It will handle all the interaction with your application, and with the remote peer, send and receive messages, manage sessions, conections, etc.
-
-It's an interface, which is implemented as an _IoAcceptor_ for the server side, and _IoConnector_ for the client side.
-
-We will expose the interface in those chapters :
-
-* [3.1 - IoService Introduction](ch3.1-io-service.html)
-* [3.2 - IoService Details](ch3.2-io-service-details.html)
-* [3.3 - IoAcceptor](ch3.3-acceptor.html)
-* [3.4 - IoConnector](ch3.4-connector.html)
-
diff --git a/content/mina-project/userguide/ch3-service/ch3.3-acceptor.mdtext b/content/mina-project/userguide/ch3-service/ch3.3-acceptor.mdtext
deleted file mode 100644
index 6ffb438..0000000
--- a/content/mina-project/userguide/ch3-service/ch3.3-acceptor.mdtext
+++ /dev/null
@@ -1,122 +0,0 @@
-Title: 3.3 - Acceptor
-NavPrev: ch3.2-io-service-details.html
-NavPrevText: 3.2 - IoService Details
-NavUp: ch3-service.html
-NavUpText: Chapter 3 - Service
-NavNext: ch3.4-connector.html
-NavNextText: 3.4 - Connector
-Notice:    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.
-
-# 3.3 - Acceptor
-
-In order to build a server, you need to select an implementation of the _IoAcceptor_ interface.
-
-## IoAcceptor
-
-Basically, this interface is named because of the _accept()_ method, responsible for the creation of new connection between a client and the server. The server accepts incoming connection request.
-
-At some point, we could have named this interface 'Server'.
-
-As we may deal with more than one kind of transport (TCP/UDP/...), we have more than one implementation for this interface. It would be very unlikely that you need to implement a new one.
-
-We have many of those implementing classes
-
-* __NioSocketAcceptor__ : the non-blocking Socket transport _IoAcceptor_
-* __NioDatagramAcceptor__ : the non-blocking UDP transport _IoAcceptor_
-* __AprSocketAcceptor__ : the blocking Socket transport _IoAcceptor_, based on APR
-* __VmPipeSocketAcceptor__ : the in-VM _IoAcceptor_
-
-Just pick the one that fit your need.
-
-Here is the class diagram for the _IoAcceptor_ interfaces and classes :
-
-![](../../../staticresources/images/mina/IoServiceAcceptor.png)
-
-## Creation
-
-You first have to select the type of _IoAcceptor_ you want to instanciate. This is a choice you will made early in the process, as it all boils down to which network protocol you will use. Let's see with an example how it works :
-
-	:::java
-    public TcpServer() throws IOException {
-		// Create a TCP acceptor
-        IoAcceptor acceptor = new NioSocketAcceptor();
-
-		// Associate the acceptor to an IoHandler instance (your application)
-        acceptor.setHandler(this);
-
-		// Bind : this will start the server...
-        acceptor.bind(new InetSocketAddress(PORT));
-
-        System.out.println("Server started...");
-    }
-
-That's it ! You have created a TCP server. If you want to start an UDP server, simply replace the first line of code :
-
-	:::java
-	...
-	// Create an UDP acceptor
-	IoAcceptor acceptor = new NioDatagramAcceptor();
-	...
-	
-## Disposal
-
-The service can be stopped by calling the _dispose()_ method. The service will be stopped only when all the pending sessions have been processed :
-
-	:::java
-	// Stop the service, waiting for the pending sessions to be inactive
-	acceptor.dispose();
-	
-You can also wait for every thread being executed to be properly completed by passing a boolean parameter to this method :
-
-	:::java
-	// Stop the service, waiting for the processing session to be properly completed
-	acceptor.dispose( true );
-	
-## Status
-
-You can get the _IoService_ status by calling one of the following methods :
-
-* _isActive()_ : true if the service can accept incoming requests
-* _isDisposing()_ : true if the _dispose()_ method has been called. It does not tell if the service is actually stopped (some sessions might be processed)
-* _isDisposed()_ : true if the _dispose(boolean)_ method has been called, and the executing threads have been completed.
-
-## Managing the IoHandler
-
-You can add or get the associated _IoHandler_ when the service has been instanciated. Youjust have to call the _setHandler(IoHandler)_ or _getHandler()_ methods.
-
-## Managing the Filters chain
-
-if you want to manage the filters chain, you will have to call the _getFilterChain()_ method. Here is an example :
-
-	:::java
-	// Add a logger filter
-	DefaultIoFilterChainBuilder chain = acceptor.getFilterChain();
-	chain.addLast("logger", new LoggingFilter());
-
-You can also create the chain before and set it into the service :
-
-	:::java
-	// Add a logger filter
-	DefaultIoFilterChainBuilder chain = new DefaultIoFilterChainBuilder();
-	chain.addLast("logger", new LoggingFilter());
-	
-	// And inject the created chain builder in the service
-	acceptor.setFilterChainBuilder(chain);
-	
-##
-
diff --git a/content/mina-project/userguide/ch3-service/ch3.4-connector.mdtext b/content/mina-project/userguide/ch3-service/ch3.4-connector.mdtext
deleted file mode 100644
index 7216c1a..0000000
--- a/content/mina-project/userguide/ch3-service/ch3.4-connector.mdtext
+++ /dev/null
@@ -1,45 +0,0 @@
-Title: 3.4 - Connector
-NavPrev: ch3.3-acceptor.html
-NavPrevText: 3.3 - Acceptor
-NavUp: ch3-service.html
-NavUpText: Chapter 3 - Service
-NavNext: ../ch4-session/ch4-session.html
-NavNextText: Chapter 4 - Session
-Notice:    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.
-
-# 3.4 - Connector
-
-For client applications, you need to implement an implementation of the IoConnector interface.
-
-## IoConnector
-
-As we have to use an IoAcceptor for servers, you have to implement the IoConnector. Again, we have many implementation classes :
-
-* __NioSocketConnector__ : the non-blocking Socket transport Connector
-* __NioDatagramConnector__ : the non-blocking UDP transport * Connector*
-* __AprSocketConnector__ : the blocking Socket transport * Connector*, based on APR
-* __ProxyConnector__ : a Connector providing proxy support
-* __SerialConnector__ : a Connector for a serial transport
-* __VmPipeConnector__ : the in-VM * Connector*
-
-Just pick the one that fit your need.
-
-Here is the class diagram for the IoConnector interfaces and classes :
-
-![](../../../staticresources/images/mina/IoServiceConnector.png)
-
diff --git a/content/mina-project/userguide/ch5-filters/ch5.1-blacklist-filter.mdtext b/content/mina-project/userguide/ch5-filters/ch5.1-blacklist-filter.mdtext
deleted file mode 100644
index 687ee20..0000000
--- a/content/mina-project/userguide/ch5-filters/ch5.1-blacklist-filter.mdtext
+++ /dev/null
@@ -1,66 +0,0 @@
-Title: 5.1 - Blacklist Filter
-NavPrev: ch5-filters.html
-NavPrevText: Chapter 5 - Filters
-NavUp: ch5-filters.html
-NavUpText: Chapter 5 - Filters
-NavNext: ch5.2-buffered-write-filter.html
-NavNextText: 5.2 - Buffered Write Filter
-Notice:    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.
-
-# 5.1 - Blacklist Filter
-
-This filter blocks connnections from blacklisted remote addresses. Onee can block _Addresses_ or _Subnets_. In any case, when an event happens on a blocked session, the session will simply be closed. Here are the events this filter handles :
-
-* _event_ (MINA 2.1)
-* _messageReceived_
-* _messageSent_
-* _sessionCreated_
-* _sessionIdle_
-* _sessionOpened_
-
-There is no need to handle any other event.
-
-## Blocking an address
-
-Any address or subnet can be blocked live, ie it does not matter if a session is already active or not, this dynamicaly activated. 
-It's enough to add the filter in the chain, and to set (or unset) the addresses to block:
-
-    :::Java
-    ...
-    BlacklistFilter blackList = new BlacklistFilter();
-    blackList.block(InetAddress.getByName("1.2.3.4"));
-    acceptor.getFilterChain().addLast("blacklist", new BlacklistFilter());
-    ...
-
-Here, the "1.2.3.4" address will be blocked. 
-
-## Unblocking an address
-
-It's possible to unblock an address, it's just a matter of fetching the filter and remove a previously blocked addres:
-
-    :::Java
-    ...
-    BlacklistFilter blackList = (BlacklistFilter)session.getFilterChain().get(BlacklistFilter.class);
-    blackList.unblock(InetAddress.getByName("1.2.3.4"));
-    ...
-
-Here, the "1.2.3.4" address will be unblocked. 
-
-## Performances
-
-Currently, the implementation is not really optimal... We use a _List_ to store the blocked addresses/subnet, so the more of them you have in the list the longer it will take to process any event.
diff --git a/content/mina-project/userguide/ch5-filters/ch5.10-mdc-injection-filter.mdtext b/content/mina-project/userguide/ch5-filters/ch5.10-mdc-injection-filter.mdtext
deleted file mode 100644
index 5a0dc78..0000000
--- a/content/mina-project/userguide/ch5-filters/ch5.10-mdc-injection-filter.mdtext
+++ /dev/null
@@ -1,27 +0,0 @@
-Title: 5.10 - MDC Injection Filter
-NavPrev: ch5.9-logging-filter.html
-NavPrevText: 5.9 - Logging Filter
-NavUp: ch5-filters.html
-NavUpText: Chapter 5 - Filters
-NavNext: ch5.11-noop-filter.html
-NavNextText: 5.11 - NOOP Filter
-Notice:    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.
-
-# 5.10 - MDC Injection Filter
-
-TBD...
\ No newline at end of file
diff --git a/content/mina-project/userguide/ch5-filters/ch5.11-noop-filter.mdtext b/content/mina-project/userguide/ch5-filters/ch5.11-noop-filter.mdtext
deleted file mode 100644
index 97eca54..0000000
--- a/content/mina-project/userguide/ch5-filters/ch5.11-noop-filter.mdtext
+++ /dev/null
@@ -1,27 +0,0 @@
-Title: 5.11 - NOOP Filter
-NavPrev: ch5.10-mdc-injection-filter.html
-NavPrevText: 5.10 - MDC Injection Filter
-NavUp: ch5-filters.html
-NavUpText: Chapter 5 - Filters
-NavNext: ch5.12-profiler-filter.html
-NavNextText: 5.12 - Profiler Filter
-Notice:    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.
-
-# 5.11 - NOOP Filter
-
-TBD...
\ No newline at end of file
diff --git a/content/mina-project/userguide/ch5-filters/ch5.12-profiler-filter.mdtext b/content/mina-project/userguide/ch5-filters/ch5.12-profiler-filter.mdtext
deleted file mode 100644
index f790853..0000000
--- a/content/mina-project/userguide/ch5-filters/ch5.12-profiler-filter.mdtext
+++ /dev/null
@@ -1,27 +0,0 @@
-Title: 5.12 - Profiler Filter
-NavPrev: ch5.11-noop-filter.html
-NavPrevText: 5.11 - NOOP Filter
-NavUp: ch5-filters.html
-NavUpText: Chapter 5 - Filters
-NavNext: ch5.13-protocol-codec-filter.html
-NavNextText: 5.13 - Protocol Codec Filter
-Notice:    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.
-
-# 5.12 - Profiler Filter
-
-TBD...
\ No newline at end of file
diff --git a/content/mina-project/userguide/ch5-filters/ch5.13-protocol-codec-filter.mdtext b/content/mina-project/userguide/ch5-filters/ch5.13-protocol-codec-filter.mdtext
deleted file mode 100644
index 19af598..0000000
--- a/content/mina-project/userguide/ch5-filters/ch5.13-protocol-codec-filter.mdtext
+++ /dev/null
@@ -1,27 +0,0 @@
-Title: 5.13 - Protocol Codec Filter
-NavPrev: ch5.12-profiler-filter.html
-NavPrevText: 5.12 - Profiler Filter
-NavUp: ch5-filters.html
-NavUpText: Chapter 5 - Filters
-NavNext: ch5.14-proxy-filter.html
-NavNextText: 5.14 - Proxy Filter
-Notice:    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.
-
-# 5.13 - Protocol Codec Filter
-
-TBD...
\ No newline at end of file
diff --git a/content/mina-project/userguide/ch5-filters/ch5.14-proxy-filter.mdtext b/content/mina-project/userguide/ch5-filters/ch5.14-proxy-filter.mdtext
deleted file mode 100644
index 4934ffc..0000000
--- a/content/mina-project/userguide/ch5-filters/ch5.14-proxy-filter.mdtext
+++ /dev/null
@@ -1,27 +0,0 @@
-Title: 5.14 - Proxy Filter
-NavPrev: ch5.13-protocol-codec-filter.html
-NavPrevText: 5.13 - Protocol Codec Filter
-NavUp: ch5-filters.html
-NavUpText: Chapter 5 - Filters
-NavNext: ch5.15-reference-counting-filter.html
-NavNextText: 5.15 - Reference Counting Filter
-Notice:    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.
-
-# 5.14 - Proxy Filter
-
-TBD...
\ No newline at end of file
diff --git a/content/mina-project/userguide/ch5-filters/ch5.15-reference-counting-filter.mdtext b/content/mina-project/userguide/ch5-filters/ch5.15-reference-counting-filter.mdtext
deleted file mode 100644
index 7ad8215..0000000
--- a/content/mina-project/userguide/ch5-filters/ch5.15-reference-counting-filter.mdtext
+++ /dev/null
@@ -1,27 +0,0 @@
-Title: 5.15 - Reference Counting Filter
-NavPrev: ch5.14-proxy-filter.html
-NavPrevText: 5.14 - Proxy Filter
-NavUp: ch5-filters.html
-NavUpText: Chapter 5 - Filters
-NavNext: ch5.16-request-response-filter.html
-NavNextText: 5.16 - Request/Response Filter
-Notice:    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.
-
-# 5.15 - Reference Counting Filter
-
-TBD...
\ No newline at end of file
diff --git a/content/mina-project/userguide/ch5-filters/ch5.16-request-response-filter.mdtext b/content/mina-project/userguide/ch5-filters/ch5.16-request-response-filter.mdtext
deleted file mode 100644
index 79fc1a4..0000000
--- a/content/mina-project/userguide/ch5-filters/ch5.16-request-response-filter.mdtext
+++ /dev/null
@@ -1,27 +0,0 @@
-Title: 5.16 - Request/Response Filter
-NavPrev: ch5.15-reference-counting-filter.html
-NavPrevText: 5.15 - Reference Counting Filter
-NavUp: ch5-filters.html
-NavUpText: Chapter 5 - Filters
-NavNext: ch5.17-session-attribute-initializing-filter.html
-NavNextText: 5.17 - Session Attribute Initializing Filter
-Notice:    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.
-
-# 5.16 - Request/Response Filter
-
-TBD...
\ No newline at end of file
diff --git a/content/mina-project/userguide/ch5-filters/ch5.17-session-attribute-initializing-filter.mdtext b/content/mina-project/userguide/ch5-filters/ch5.17-session-attribute-initializing-filter.mdtext
deleted file mode 100644
index 0e9faaf..0000000
--- a/content/mina-project/userguide/ch5-filters/ch5.17-session-attribute-initializing-filter.mdtext
+++ /dev/null
@@ -1,27 +0,0 @@
-Title: 5.17 - Session Attribute Initializing Filter
-NavPrev: ch5.16-request-response-filter.html
-NavPrevText: 5.16 - Request/Response Filter
-NavUp: ch5-filters.html
-NavUpText: Chapter 5 - Filters
-NavNext: ch5.18-stream-write-filter.html
-NavNextText: 5.18 - Stream Write Filter
-Notice:    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.
-
-# 5.17 - Session Attribute Initializing Filter
-
-TBD...
\ No newline at end of file
diff --git a/content/mina-project/userguide/ch5-filters/ch5.18-stream-write-filter.mdtext b/content/mina-project/userguide/ch5-filters/ch5.18-stream-write-filter.mdtext
deleted file mode 100644
index 63249a0..0000000
--- a/content/mina-project/userguide/ch5-filters/ch5.18-stream-write-filter.mdtext
+++ /dev/null
@@ -1,27 +0,0 @@
-Title: 5.18 - Stream Write Filter
-NavPrev: ch5.17-session-attribute-initializing-filter.html
-NavPrevText: 5.17 - Session Attribute Initializing Filter
-NavUp: ch5-filters.html
-NavUpText: Chapter 5 - Filters
-NavNext: ch5.19-ssl-filter.html
-NavNextText: 5.19 - SSL/TLS Filter
-Notice:    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.
-
-# 5.18 - Stream Write Filter
-
-TBD...
\ No newline at end of file
diff --git a/content/mina-project/userguide/ch5-filters/ch5.19-ssl-filter.mdtext b/content/mina-project/userguide/ch5-filters/ch5.19-ssl-filter.mdtext
deleted file mode 100644
index a2bfbc5..0000000
--- a/content/mina-project/userguide/ch5-filters/ch5.19-ssl-filter.mdtext
+++ /dev/null
@@ -1,27 +0,0 @@
-Title: 5.19 - SSL/TLS Filter
-NavPrev: ch5.18-stream-write-filter.html
-NavPrevText: 5.18 - Stream Write Filter
-NavUp: ch5-filters.html
-NavUpText: Chapter 5 - Filters
-NavNext: ch5.20-write-request-filter.html
-NavNextText: 5.20 - Write Request Filter
-Notice:    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.
-
-# 5.19 - SSL/TLS Filter
-
-TBD...
\ No newline at end of file
diff --git a/content/mina-project/userguide/ch5-filters/ch5.2-buffered-write-filter.mdtext b/content/mina-project/userguide/ch5-filters/ch5.2-buffered-write-filter.mdtext
deleted file mode 100644
index e2fb6d5..0000000
--- a/content/mina-project/userguide/ch5-filters/ch5.2-buffered-write-filter.mdtext
+++ /dev/null
@@ -1,27 +0,0 @@
-Title: 5.2 - Buffered Write Filter
-NavPrev: ch5.1-blacklist-filter.html
-NavPrevText: 5.1 - Blacklist Filter
-NavUp: ch5-filters.html
-NavUpText: Chapter 5 - Filters
-NavNext: ch5.3-compression-filter.html
-NavNextText: 5.3 - Compression Filter
-Notice:    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.
-
-# 5.2 - Buffered Write Filter
-
-TBD...
\ No newline at end of file
diff --git a/content/mina-project/userguide/ch5-filters/ch5.20-write-request-filter.mdtext b/content/mina-project/userguide/ch5-filters/ch5.20-write-request-filter.mdtext
deleted file mode 100644
index deaaefe..0000000
--- a/content/mina-project/userguide/ch5-filters/ch5.20-write-request-filter.mdtext
+++ /dev/null
@@ -1,27 +0,0 @@
-Title: 5.20 - Write Request Filter
-NavPrev: ch5.19-ssl-filter.html
-NavPrevText: 5.19 - SSL/TLS Filter
-NavUp: ch5-filters.html
-NavUpText: Chapter 5 - Filters
-NavNext: ch6-transports.html
-NavNextText: Chapter 6 - Transports
-Notice:    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.
-
-# 5.20 - Write Request Filter
-
-TBD...
\ No newline at end of file
diff --git a/content/mina-project/userguide/ch5-filters/ch5.4-connection-throttle-filter.mdtext b/content/mina-project/userguide/ch5-filters/ch5.4-connection-throttle-filter.mdtext
deleted file mode 100644
index 53e4422..0000000
--- a/content/mina-project/userguide/ch5-filters/ch5.4-connection-throttle-filter.mdtext
+++ /dev/null
@@ -1,27 +0,0 @@
-Title: 5.4 - Connection Throttle Filter
-NavPrev: ch5.3-compression-filter.html
-NavPrevText: 5.3 - Compression Filter
-NavUp: ch5-filters.html
-NavUpText: Chapter 5 - Filters
-NavNext: ch5.5-error-generating-filter.html
-NavNextText: 5.5 - Error Generating Filter
-Notice:    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.
-
-# 5.4 - Connection Throttle Filter
-
-TBD...
\ No newline at end of file
diff --git a/content/mina-project/userguide/ch5-filters/ch5.5-error-generating-filter.mdtext b/content/mina-project/userguide/ch5-filters/ch5.5-error-generating-filter.mdtext
deleted file mode 100644
index 90bac31..0000000
--- a/content/mina-project/userguide/ch5-filters/ch5.5-error-generating-filter.mdtext
+++ /dev/null
@@ -1,27 +0,0 @@
-Title: 5.5 - Error Generating Filter
-NavPrev: ch5.4-connection-throttle-filter.html
-NavPrevText: 5.4 - Connection Throttle Filter
-NavUp: ch5-filters.html
-NavUpText: Chapter 5 - Filters
-NavNext: ch5.6-executor-filter.html
-NavNextText: 5.6 - Executor Filter
-Notice:    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.
-
-# 5.5 - Error Generating Filter
-
-TBD...
\ No newline at end of file
diff --git a/content/mina-project/userguide/ch5-filters/ch5.6-executor-filter.mdtext b/content/mina-project/userguide/ch5-filters/ch5.6-executor-filter.mdtext
deleted file mode 100644
index 084b41b..0000000
--- a/content/mina-project/userguide/ch5-filters/ch5.6-executor-filter.mdtext
+++ /dev/null
@@ -1,27 +0,0 @@
-Title: 5.6 - Executor Filter
-NavPrev: ch5.5-error-generating-filter.html
-NavPrevText: 5.5 - Error Generating Filter
-NavUp: ch5-filters.html
-NavUpText: Chapter 5 - Filters
-NavNext: ch5.7-file-region-write-filter.html
-NavNextText: 5.7 - FileRegion Write Filter
-Notice:    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.
-
-# 5.6 - Executor Filter
-
-TBD...
\ No newline at end of file
diff --git a/content/mina-project/userguide/ch5-filters/ch5.7-file-region-write-filter.mdtext b/content/mina-project/userguide/ch5-filters/ch5.7-file-region-write-filter.mdtext
deleted file mode 100644
index c5e2abc..0000000
--- a/content/mina-project/userguide/ch5-filters/ch5.7-file-region-write-filter.mdtext
+++ /dev/null
@@ -1,27 +0,0 @@
-Title: 5.7 - FileRegion Write Filter
-NavPrev: ch5.6-executor-filter.html
-NavPrevText: 5.6 - Executor Filter
-NavUp: ch5-filters.html
-NavUpText: Chapter 5 - Filters
-NavNext: ch5.8-keep-alive-filter.html
-NavNextText: 5.8 - KeepAlive Filter
-Notice:    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.
-
-# 5.7 - FileRegion Write Filter
-
-TBD...
\ No newline at end of file
diff --git a/content/mina-project/userguide/ch5-filters/ch5.8-keep-alive-filter.mdtext b/content/mina-project/userguide/ch5-filters/ch5.8-keep-alive-filter.mdtext
deleted file mode 100644
index 3cf30a5..0000000
--- a/content/mina-project/userguide/ch5-filters/ch5.8-keep-alive-filter.mdtext
+++ /dev/null
@@ -1,27 +0,0 @@
-Title: 5.8 - KeepAlive Filter
-NavPrev: ch5.7-file-region-write-filter.html
-NavPrevText: 5.7 - FileRegion Write Filter
-NavUp: ch5-filters.html
-NavUpText: Chapter 5 - Filters
-NavNext: ch5.9-logging-filter.html
-NavNextText: 5.9 - Logging Filter
-Notice:    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.
-
-# 5.8 - KeepAlive Filter
-
-TBD...
\ No newline at end of file
diff --git a/content/mina-project/userguide/ch5-filters/ch5.9-logging-filter.mdtext b/content/mina-project/userguide/ch5-filters/ch5.9-logging-filter.mdtext
deleted file mode 100644
index ea13a9b..0000000
--- a/content/mina-project/userguide/ch5-filters/ch5.9-logging-filter.mdtext
+++ /dev/null
@@ -1,84 +0,0 @@
-Title: 5.9 - Logging Filter
-NavPrev: ch5.8-keep-alive-filter.html
-NavPrevText: 5.8 - KeepAlive Filter
-NavUp: ch5-filters.html
-NavUpText: Chapter 5 - Filters
-NavNext: ch5.10-mdc-injection-filter.html
-NavNextText: 5.10 - MDC Injection Filter
-Notice:    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.
-
-# 5.9 - Logging Filter
-
-The _Logging_ filter allows an application to logs **MINA** protocol events while they are transiting on the filters chain. It can be added dynamically (ie, a session may add a filter whenever it wants).
-
-The tracked events are :
-
-* _exceptionCaught_
-* _messageReceived_
-* _messageSent_
-* _sessionClosed_
-* _sessionCreated_
-* _sessionIdle_
-* _sessionOpened_
-
-The _event_, _filterClose_, _filterWrite_ and _inputClosed_ events are not tracked.
-
-## Adding the filter
-
-This can be done once and for each session, while creating the _IoFilterChainBuilder_ instance :
-
-    :::Java
-    ...
-    NioSocketAcceptor acceptor = new NioSocketAcceptor();
-    DefaultIoFilterChainBuilder builderChain = acceptor.getFilterChain();
-    builderChain.addLast("logger", new LoggingFilter());
-    ...
-
-or it can be added dynamically, in a given session:
-
-    :::Java
-    ...
-    session.getFilterChain().addLast("logger", new LoggingFilter());
-    ...
-
-(here, the filter is added at the end of the filter's chain, but it can added at the beginning, using _addFirst_, or before or after a given filter, with _addBefore_ or _addAfter_)
-
-## Configuring the filter
-
-Each event can be configured individually. For instance, to log the _messageReceived_ event in _DEBUG_ mode, simply add this code in  your _IoHandler_ implementation:
-
-    :::java
-    ...
-    LoggingFilter loggingFilter = (LoggingFilter)session.getFilterChain().get( LoggingFilter.class );
-
-    if (logginFilter != null) {
-        loggingFilter.setMessageReceivedLogLevel( LogLevel.DEBUG);
-    }
-    ...
-
-This is per session, and it's dynamic.
-
-
-## Removing the filter
-
-It's always possible to remove the filter for a given session :
-
-    ::Java
-    ...
-    session.getFilterChain().remove("logger");
-    ...
diff --git a/content/mina-project/userguide/ch6-transports/ch6-transports.mdtext b/content/mina-project/userguide/ch6-transports/ch6-transports.mdtext
deleted file mode 100644
index dbb2329..0000000
--- a/content/mina-project/userguide/ch6-transports/ch6-transports.mdtext
+++ /dev/null
@@ -1,28 +0,0 @@
-Title: Chapter 6 - Transports
-NavPrev: ../ch5-filters/ch5-filters.html
-NavPrevText: Chapter 5 - Filters
-NavUp: ../user-guide-toc.html
-NavUpText: User Guide
-NavNext: ../ch7-handler/ch7-handler.html
-NavNextText: Chapter 7 - Handler
-Notice:    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.
-
-# Chapter 6 - Transports
-
-* [6.1 - APR Transport](ch6.1-apr-transport.html)
-* [6.2 - Serial Transport](ch6.2-serial-transport.html)
diff --git a/content/mina-project/userguide/ch6-transports/ch6.1-apr-transport.mdtext b/content/mina-project/userguide/ch6-transports/ch6.1-apr-transport.mdtext
deleted file mode 100644
index 7edd2fb..0000000
--- a/content/mina-project/userguide/ch6-transports/ch6.1-apr-transport.mdtext
+++ /dev/null
@@ -1,77 +0,0 @@
-Title: 6.1 - APR Transport
-NavPrev: ch6-transports.html
-NavPrevText: Chapter 6 - Transports
-NavUp: ch6-transports.html
-NavUpText: Chapter 6 - Transports
-NavNext: ch6.2-serial-transport.html
-NavNextText: 6.2 - Serial Transport
-Notice:    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.
-
-# 6.1 - APR Transport
-
-## Introduction
-
-[APR (Apache Portable Runtime)](https://apr.apache.org/) provide superior scalability, performance, and better integration with native server technologies. APR transport is supported by MINA. In this section, we shall touch base upon how to use APR transport with MINA. We shall the Time Server example for this.
-
-## Pre-requisite
-
-<DIV class="info" markdown="1">
-	APR transport depends following components<BR>
-	APR library - Download/install appropriate library for the platform from <A href="https://www.apache.org/dist/tomcat/tomcat-connectors/native/" class="external-link" rel="nofollow">https://www.apache.org/dist/tomcat/tomcat-connectors/native/</A><BR>
-	JNI wrapper (tomcat-apr-5.5.23.jar) The jar is shipped with release
-	<P>Put the native library in PATH</P>
-</DIV>
-
-## Using APR Transport
-
-Refer [Time Server](https://mina.apache.org/mina-project/xref/org/apache/mina/example/gettingstarted/timeserver/) example for complete source
-
-Lets see how NIO based Time server implementation looks like
-
-	:::java
-	IoAcceptor acceptor = new NioSocketAcceptor();
-	
-	acceptor.getFilterChain().addLast( "logger", new LoggingFilter() );
-	acceptor.getFilterChain().addLast( "codec", new ProtocolCodecFilter( new TextLineCodecFactory( Charset.forName( "UTF-8" ))));
-	
-	acceptor.setHandler(  new TimeServerHandler() );
-	
-	acceptor.getSessionConfig().setReadBufferSize( 2048 );
-	acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE, 10 );
-	
-	acceptor.bind( new InetSocketAddress(PORT) );
-	
-Lets see how to use APR Transport
-	
-	:::java
-	IoAcceptor acceptor = new AprSocketAcceptor();
-	
-	acceptor.getFilterChain().addLast( "logger", new LoggingFilter() );
-	acceptor.getFilterChain().addLast( "codec", new ProtocolCodecFilter( new TextLineCodecFactory( Charset.forName( "UTF-8" ))));
-	
-	acceptor.setHandler(  new TimeServerHandler() );
-	
-	acceptor.getSessionConfig().setReadBufferSize( 2048 );
-	acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE, 10 );
-
-	acceptor.bind( new InetSocketAddress(PORT) );
-
-We just change the NioSocketAcceptor to AprSocketAcceptor. That's it, now our Time Server shall use APR transport.
-
-Rest complete process remains same.
-
diff --git a/content/mina-project/userguide/ch6-transports/ch6.2-serial-transport.mdtext b/content/mina-project/userguide/ch6-transports/ch6.2-serial-transport.mdtext
deleted file mode 100644
index fd06dd8..0000000
--- a/content/mina-project/userguide/ch6-transports/ch6.2-serial-transport.mdtext
+++ /dev/null
@@ -1,85 +0,0 @@
-Title: 6.2 - Serial Transport
-NavPrev: ch6.1-apr-transport.html
-NavPrevText: 6.1 - APR Transport
-NavUp: ch6-transports.html
-NavUpText: Chapter 6 - Transports
-NavNext: ../ch7-handler/ch7-handler.html
-NavNextText: Chapter 7 - Handler
-Notice:    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.
-
-# 6.2 - Serial Transport
-
-With the MINA 2.0 you are able to connect to serial port like you use to connect to a TCP/IP port with MINA.
-
-## Getting MINA 2.0
-
-You you can download the latest built version (2.0.2).
-
-If you prefer to build the code from the trunk, and need assistance to do so, please consult the Developer Guide.
-
-## Prerequisite
-
-<DIV class="info" markdown="1">
-	<B>Useful Information</B><BR>
-	Before accessing serial port from a Java program you need a native library (.DLL or .so depending of your OS). MINA use the one from RXTX.org : <A href="ftp://ftp.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip" class="external-link" rel="nofollow">ftp://ftp.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip</A>. <BR>
-	Just put the good .dll or .so in the jre/lib/i386/ path of your JDK/JRE or use the &#45;Djava.library.path= argument for specify where you placed the native libraries
-</DIV>
-
-<DIV class="info" markdown="1">
-	<B>Useful Information</B><BR>
-	The <B>mina-transport-serial</B> jar is not included in the full distribution. You can download it from <A href="http://repo1.maven.org/maven2/org/apache/mina/mina-transport-serial/2.0.2/" class="external-link" rel="nofollow">here</A>
-</DIV>
-
-## Connecting to a serial port
-
-Serial communication for MINA provide only an IoConnector, due to the point-to-point nature of the communication media.
-
-At this point you are supposed to have already read the MINA tutorial.
-
-Now for connecting to a serial port you need a SerialConnector :
-
-	:::java
-    // create your connector
-    IoConnector connector = new SerialConnector()
-    connector.setHandler( ... here your buisness logic IoHandler ... );
-
-Nothing very different of a SocketConnector.
-
-Let's create an address for connecting to our serial port.
-
-	:::java
-    SerialAddress portAddress=new SerialAddress( "/dev/ttyS0", 38400, 8, StopBits.BITS_1, Parity.NONE, FlowControl.NONE );
-
-The first parameter is your port identifier. For Windows computer, the serial ports are called "COM1", "COM2", etc... For Linux and some other Unix : "/dev/ttyS0", "/dev/ttyS1", "/dev/ttyUSB0".
-
-The remaining parameters are depending of the device you are driving and the supposed communications characteristics.
-
-* the baud rate
-* the data bits
-* the parity
-* the flow control mecanism
-
-Once it's done, connect the connector to the address :
-
-	:::java
-    ConnectFuture future = connector.connect( portAddress );
-    future.await();
-    IoSession sessin = future.getSession();
-
-And voila ! Everything else is as usual, you can plug your filters and codecs.
-for learn more about RS232 : <http://en.wikipedia.org/wiki/RS232>
diff --git a/content/mina-project/userguide/ch8-iobuffer/ch8-iobuffer.mdtext b/content/mina-project/userguide/ch8-iobuffer/ch8-iobuffer.mdtext
deleted file mode 100644
index a869157..0000000
--- a/content/mina-project/userguide/ch8-iobuffer/ch8-iobuffer.mdtext
+++ /dev/null
@@ -1,143 +0,0 @@
-Title: Chapter 10 - IoBuffer
-NavPrev: ../ch7-handler/ch7-handler.html
-NavPrevText: Chapter 7 - IoHandler
-NavUp: ../user-guide-toc.html
-NavUpText: User Guide
-NavNext: ../ch9-codec-filter/ch9-codec-filter.html
-NavNextText: Chapter 9 - Codec Filter
-Notice:    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.
-
-# Chapter 8 - IoBuffer
-
-A byte buffer used by MINA applications.
-
-This is a replacement for [ByteBuffer](http://java.sun.com/j2se/1.5.0/docs/api/java/nio/ByteBuffer.html). MINA does not use NIO ByteBuffer directly for two reasons:
-
-* It doesn't provide useful getters and putters such as fill, get/putString, and get/putAsciiInt() .
-* It is difficult to write variable-length data due to its fixed capacity
-
-<DIV class="note" markdown="1">
-	This will change in MINA 3. The main reason why MINA has its own wrapper on top of nio ByteBuffer is to have extensible buffers. This was a very bad decision. Buffers are just buffers : a temporary place to store temporary data, before it is used. Many other solutions exist, like defining a wrapper which relies on a list of NIO ByteBuffers, instead of copying the existing buffer to a bigger one just because we want to extend the buffer capacity.
-
-	<P>It might also be more comfortable to use an InputStream instead of a byte buffer all along the filters, as it does not imply anything about the nature of the stored data : it can be a byte array, strings, messages...</P>
-
-	<P>Last, not least, the current implementation defeat one of the target : zero-copy strategy (ie, once we have read the data from the socket, we want to avoid a copy being done later). As we use extensible byte buffers, we will most certainly copy those data if we have to manage big messages. Assuming that the MINA ByteBuffer is just a wrapper on top of NIO ByteBuffer, this can be a real problem when using direct buffers.</P>
-</DIV>
-
-## IoBuffer Operations
-
-### Allocating a new Buffer
-
-IoBuffer is an abstract class, hence can't be instantiated directly. To allocate IoBuffer, we need to use one of the two allocate() methods.
-
-	:::java
-	// Allocates a new buffer with a specific size, defining its type (direct or heap)
-	public static IoBuffer allocate(int capacity, boolean direct)
-	
-	// Allocates a new buffer with a specific size
-	public static IoBuffer allocate(int capacity)
-
-The allocate() method takes one or two arguments. The first form takes two arguments :
-
-* __capacity__ - the capacity of the buffer
-* __direct__ - type of buffer. true to get direct buffer, false to get heap buffer
-
-The default buffer allocation is handled by [SimpleBufferAllocator](http://mina.apache.org/mina-project/xref/org/apache/mina/core/buffer/SimpleBufferAllocator.html)
-
-Alternatively, following form can also be used
-
-	:::java
-	// Allocates heap buffer by default.
-	IoBuffer.setUseDirectBuffer(false);
-	// A new heap buffer is returned.
-	IoBuffer buf = IoBuffer.allocate(1024);
-
-When using the second form, don't forget to set the default buffer type before, otherwise you will get Heap buffers by default.
-
-## Creating Auto Expanding Buffer
-
-Creating auto expanding buffer is not very easy with java NIO API's, because of the fixed size of the buffers. Having a buffer, that can auto expand on needs is a big plus for networking applications. To address this, IoBuffer has introduced the autoExpand property. It automatically expands its capacity and limit value.
-
-Lets see how to create an auto expanding buffer :
-
-	:::java
-	IoBuffer buffer = IoBuffer.allocate(8);
-	buffer.setAutoExpand(true);
-	buffer.putString("12345678", encoder);
-	// Add more to this buffer
-	buffer.put((byte)10);
-
-The underlying ByteBuffer is reallocated by IoBuffer behind the scene if the encoded data is larger than 8 bytes in the example above. Its capacity will double, and its limit will increase to the last position the string is written. This behavior is very similar to the way StringBuffer class works.
-
-<DIV class="note" markdown="1">
-	This mechanism is very likely to be removed from MINA 3.0, as it's not really the best way to handle increased buffer size. It should be replaced by something like a InputStream hiding a list or an array of fixed sized ByteBuffers.
-</DIV>
-
-## Creating Auto Shrinking Buffer
-
-There are situations which calls for releasing additionally allocated bytes from the buffer, to preserve memory. IoBuffer provides autoShrink property to address the need.  If autoShrink is turned on, IoBuffer halves the capacity of the buffer when compact() is invoked and only 1/4 or less of the current capacity is being used. To manually shrink the buffer, use shrink() method.
-
-Lets see this in action :
-
-	:::java
-	IoBuffer buffer = IoBuffer.allocate(16);
-	buffer.setAutoShrink(true);
-	buffer.put((byte)1);
-	System.out.println("Initial Buffer capacity = "+buffer.capacity());
-	buffer.shrink();
-	System.out.println("Initial Buffer capacity after shrink = "+buffer.capacity());
-	buffer.capacity(32);
-	System.out.println("Buffer capacity after incrementing capacity to 32 = "+buffer.capacity());
-	buffer.shrink();
-	System.out.println("Buffer capacity after shrink= "+buffer.capacity());
-
-We have initially allocated a capacity as 16, and set the autoShrink property as true.
-
-Lets see the output of this :
-
-	:::java
-	Initial Buffer capacity = 16
-	Initial Buffer capacity after shrink = 16
-	Buffer capacity after incrementing capacity to 32 = 32
-	Buffer capacity after shrink= 16
-
-Lets take a break and analyze the output
-
-* Initial buffer capacity is 16, as we created the buffer with this capacity. Internally this becomes the minimum capacity of the buffer
-* After calling shrink(), the capacity remains 16, as capacity shall never be less than minimum capacity
-* After incrementing capacity to 32, the capacity becomes 32
-* Call to shrink(), reduces the capacity to 16, thereby eliminating extra storage
-
-<DIV class="note" markdown="1">
-	Again, this mechanism should be a default one, without needing to explicitely tells the buffer that it can shrink.
-</DIV>
-
-## Buffer Allocation
-
-IoBufferAllocater is responsible for allocating and managing buffers. To have precise control on the buffer allocation policy, implement the IoBufferAllocater interface.
-
-MINA ships with following implementations of IoBufferAllocater
-
-* __SimpleBufferAllocator (default)__ - Create a new buffer every time
-* __CachedBufferAllocator__ - caches the buffer which are likely to be reused during expansion
-
-<DIV class="note" markdown="1">
-	With the new available JVM, using cached IoBuffer is very unlikely to improve performances.
-</DIV>
-
-You can implement you own implementation of IoBufferAllocator and call setAllocator() on IoBuffer to use the same.
diff --git a/content/mina-project/userguide/ch9-codec-filter/ch9-codec-filter.mdtext b/content/mina-project/userguide/ch9-codec-filter/ch9-codec-filter.mdtext
deleted file mode 100644
index 6c988c7..0000000
--- a/content/mina-project/userguide/ch9-codec-filter/ch9-codec-filter.mdtext
+++ /dev/null
@@ -1,438 +0,0 @@
-Title: Chapter 9 - Codec Filter
-NavPrev: ../ch8-iobuffer/ch8-iobuffer.html
-NavPrevText: Chapter 8 - IoBuffer
-NavUp: ../user-guide-toc.html
-NavUpText: User Guide
-NavNext: ../ch10-executor-filter/ch10-executor-filter.html
-NavNextText: Chapter 10 - Executor Filter
-Notice:    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.
-
-# Chapter 9 - Codec Filter
-
-This tutorial tries to explain why and how to use a ProtocolCodecFilter.
-
-## Why use a ProtocolCodecFilter?
-
-* TCP guarantess delivery of all packets in the correct order.
-But there is no guarantee that one write operation on the sender-side will result in one read event on the receiving side.
-see <http://en.wikipedia.org/wiki/IPv4#Fragmentation_and_reassembly> and <http://en.wikipedia.org/wiki/Nagle%27s_algorithm>
-In MINA terminology: without a ProtocolCodecFilter one call of IoSession.write(Object message) by the sender can result in multiple messageReceived(IoSession session, Object message) events on the receiver; and multiple calls of IoSession.write(Object message) can lead to a single messageReceived event. You might not encounter this behavior when client and server are running on the same host (or an a local network) but your applications should be able to cope with this.
-* Most network applications need a way to find out where the current message ends and where the next message starts.
-* You could implement all this logic in your IoHandler, but adding a ProtocolCodecFilter will make your code much cleaner and easier to maintain.
-* It allows you to separate your protocol logic from your business logic (IoHandler).
-
-## How ?
-
-Your application is basically just receiving a bunch of bytes and you need to convert these bytes into messages (higher level objects).
-
-There are three common techniques for splitting the stream of bytes into messages:
-
-* use fixed length messages
-* use a fixed length header that indicates the length of the body
-* using a delimiter; for example many text-based protocols append a newline (or CR LF pair) after every message (<http://www.faqs.org/rfcs/rfc977.html>)
-
-In this tutorial we will use the first and second method since they are definitely easier to implement. Afterwards we will look at using a delimiter.
-
-## Example
-
-We will develop a (pretty useless) graphical chargen server to illustrate how to implement your own protocol codec (ProtocolEncoder, ProtocolDecoder, and ProtocolCodecFactory).
-The protocol is really simple. This is the layout of a request message:
-
-| 4 bytes | 4 bytes | 4 bytes |
-|---|---|---|
-| width | height | numchars |
-
-* width: the width of the requested image (an integer in network byte-order)
-* height: the height of the requested image (an integer in network byte-order)
-* numchars: the number of chars to generate (an integer in network byte-order)
-
-The server responds with two images of the requested dimensions, with the requested number of characters painted on it.
-This is the layout of a response message:
-
-| 4 bytes | variable length body | 4 bytes | variable length body | 
-|---|---|---|---|
-| length1 | image1 | length2 | image2 | 
-
-Overview of the classes we need for encoding and decoding requests and responses:
-
- * __ImageRequest__: a simple POJO representing a request to our ImageServer.
- * __ImageRequestEncoder__: encodes ImageRequest objects into protocol-specific data (used by the client)
- * __ImageRequestDecoder__: decodes protocol-specific data into ImageRequest objects (used by the server)
- * __ImageResponse__: a simple POJO representing a response from our ImageServer.
- * __ImageResponseEncoder__: used by the server for encoding ImageResponse objects
- * __ImageResponseDecoder__: used by the client for decoding ImageResponse objects
- * __ImageCodecFactory__: this class creates the necesarry encoders and decoders
-
- Here is the ImageRequest class :
-
-	:::java
-	public class ImageRequest {
-		
-		private int width;
-		private int height;
-		private int numberOfCharacters;
-		
-		public ImageRequest(int width, int height, int numberOfCharacters) {
-			this.width = width;
-			this.height = height;
-			this.numberOfCharacters = numberOfCharacters;
-		}
-		
-		public int getWidth() {
-			return width;
-		}
-		
-		public int getHeight() {
-			return height;
-		}
-		
-		public int getNumberOfCharacters() {
-			return numberOfCharacters;
-		}
-	}
-
-Encoding is usually simpler than decoding, so let's start with the ImageRequestEncoder:
-
-	:::java
-	public class ImageRequestEncoder implements ProtocolEncoder {
-		
-		public void encode(IoSession session, Object message, ProtocolEncoderOutput out) throws Exception {
-        	ImageRequest request = (ImageRequest) message;
-			IoBuffer buffer = IoBuffer.allocate(12, false);
-			buffer.putInt(request.getWidth());
-			buffer.putInt(request.getHeight());
-			buffer.putInt(request.getNumberOfCharacters());
-			buffer.flip();
-			out.write(buffer);
-		}
-		
-		public void dispose(IoSession session) throws Exception {
-			// nothing to dispose
-		}
-	}
-
-Remarks:
-
-* MINA will call the encode function for all messages in the IoSession's write queue. Since our client will only write ImageRequest objects, we can safely cast message to ImageRequest.
-* We allocate a new IoBuffer from the heap. It's best to avoid using direct buffers, since generally heap buffers perform better.
- see <http://issues.apache.org/jira/browse/DIRMINA-289>)
-* You do not have to release the buffer, MINA will do it for you, see <http://mina.apache.org/mina-project/apidocs/org/apache/mina/core/buffer/IoBuffer.html>
-* In the dispose() method you should release all resources acquired during encoding for the specified session. If there is nothing to dispose you could let your encoder inherit from ProtocolEncoderAdapter.
-
-Now let's have a look at the decoder. The CumulativeProtocolDecoder is a great help for writing your own decoder: it will buffer all incoming data until your decoder decides it can do something with it.
-In this case the message has a fixed size, so it's easiest to wait until all data is available:
-
-	:::java
-	public class ImageRequestDecoder extends CumulativeProtocolDecoder {
-		
-		protected boolean doDecode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
-			if (in.remaining() >= 12) {
-				int width = in.getInt();
-				int height = in.getInt();
-				int numberOfCharachters = in.getInt();
-				ImageRequest request = new ImageRequest(width, height, numberOfCharachters);
-				out.write(request);
-				return true;
-			} else {
-				return false;
-			}
-		}
-	}
-
-Remarks:
-
-* everytime a complete message is decoded, you should write it to the ProtocolDecoderOutput; these messages will travel along the filter-chain and eventually arrive in your IoHandler.messageReceived method
-* you are not responsible for releasing the IoBuffer
-* when there is not enough data available to decode a message, just return false
-
-The response is also a very simple POJO:
-
-	:::java
-	public class ImageResponse {
-		
-		private BufferedImage image1;
-		
-		private BufferedImage image2;
-		
-		public ImageResponse(BufferedImage image1, BufferedImage image2) {
-			this.image1 = image1;
-			this.image2 = image2;
-		}
-		
-		public BufferedImage getImage1() {
-			return image1;
-		}
-		
-		public BufferedImage getImage2() {
-			return image2;
-		}
-	}
-
-Encoding the response is also trivial:
-
-	:::java
-	public class ImageResponseEncoder extends ProtocolEncoderAdapter {
-		
-		public void encode(IoSession session, Object message, ProtocolEncoderOutput out) throws Exception {
-			ImageResponse imageResponse = (ImageResponse) message;
-			byte[] bytes1 = getBytes(imageResponse.getImage1());
-			byte[] bytes2 = getBytes(imageResponse.getImage2());
-			int capacity = bytes1.length + bytes2.length + 8;
-			IoBuffer buffer = IoBuffer.allocate(capacity, false);
-			buffer.setAutoExpand(true);
-			buffer.putInt(bytes1.length);
-			buffer.put(bytes1);
-			buffer.putInt(bytes2.length);
-			buffer.put(bytes2);
-			buffer.flip();
-			out.write(buffer);
-		}
-		
-		private byte[] getBytes(BufferedImage image) throws IOException {
-			ByteArrayOutputStream baos = new ByteArrayOutputStream();
-			ImageIO.write(image, "PNG", baos);
-			return baos.toByteArray();
-		}
-	}
-
-Remarks:
-
-* when it is impossible to calculate the length of the IoBuffer beforehand, you can use an auto-expanding buffer by calling buffer.setAutoExpand(true);
-
-Now let's have a look at decoding the response:
-
-	:::java
-	public class ImageResponseDecoder extends CumulativeProtocolDecoder {
-		
-		private static final String DECODER_STATE_KEY = ImageResponseDecoder.class.getName() + ".STATE";
-		
-		public static final int MAX_IMAGE_SIZE = 5 * 1024 * 1024;
-		
-		private static class DecoderState {
-			BufferedImage image1;
-		}
-		
-		protected boolean doDecode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
-			DecoderState decoderState = (DecoderState) session.getAttribute(DECODER_STATE_KEY);
-			if (decoderState == null) {
-				decoderState = new DecoderState();
-				session.setAttribute(DECODER_STATE_KEY, decoderState);
-			}
-			if (decoderState.image1 == null) {
-				// try to read first image
-				if (in.prefixedDataAvailable(4, MAX_IMAGE_SIZE)) {
-					decoderState.image1 = readImage(in);
-				} else {
-					// not enough data available to read first image
-					return false;
-				}
-			}
-			if (decoderState.image1 != null) {
-				// try to read second image
-				if (in.prefixedDataAvailable(4, MAX_IMAGE_SIZE)) {
-					BufferedImage image2 = readImage(in);
-					ImageResponse imageResponse = new ImageResponse(decoderState.image1, image2);
-					out.write(imageResponse);
-					decoderState.image1 = null;
-					return true;
-				} else {
-					// not enough data available to read second image
-					return false;
-				}
-			}
-			return false;
-		}
-		
-		private BufferedImage readImage(IoBuffer in) throws IOException {
-			int length = in.getInt();
-			byte[] bytes = new byte[length];
-			in.get(bytes);
-			ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
-			return ImageIO.read(bais);
-		}
-	}
-
-Remarks:
-
-* We store the state of the decoding process in a session attribute. It would also be possible to store this state in the Decoder object itself but this has several disadvantages:
-    * every IoSession would need its own Decoder instance
-    * MINA ensures that there will never be more than one thread simultaneously executing the decode() function for the same IoSession, but it does not guarantee that it will always be the same thread. Suppose the first piece of data is handled by thread-1 who decides it cannot yet decode, when the next piece of data arrives, it could be handled by another thread. To avoid visibility problems, you must properly synchronize access to this decoder state (IoSession attributes are stored in  [...]
-    * a discussion on the mailing list has lead to this conclusion: choosing between storing state in the IoSession or in the Decoder instance itself is more a matter of taste. To ensure that no two threads will run the decode method for the same IoSession, MINA needs to do some form of synchronization => this synchronization will also ensure you can't have the visibility problem described above.
-(Thanks to Adam Fisk for pointing this out)
-see <https://www.mail-archive.com/dev@mina.apache.org/msg03038.html>
-* IoBuffer.prefixedDataAvailable() is very convenient when your protocol uses a length-prefix; it supports a prefix of 1, 2 or 4 bytes.
-* don't forget to reset the decoder state when you've decoded a response (removing the session attribute is another way to do it)
-
-If the response would consist of a single image, we would not need to store decoder state:
-
-	:::java
-	protected boolean doDecode(IoSession session, IoBuffer in, ProtocolDecoderOutput out) throws Exception {
-        if (in.prefixedDataAvailable(4)) {
-            int length = in.getInt();
-            byte[] bytes = new byte[length];
-            in.get(bytes);
-            ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
-            BufferedImage image = ImageIO.read(bais);
-            out.write(image);
-            return true;
-        } else {
-            return false;
-        }
-    }
-
-
-Now let's glue it all together:
-
-	:::java
-	public class ImageCodecFactory implements ProtocolCodecFactory {
-		private ProtocolEncoder encoder;
-		private ProtocolDecoder decoder;
-		
-		public ImageCodecFactory(boolean client) {
-			if (client) {
-				encoder = new ImageRequestEncoder();
-				decoder = new ImageResponseDecoder();
-			} else {
-				encoder = new ImageResponseEncoder();
-				decoder = new ImageRequestDecoder();
-			}
-		}
-		
-		public ProtocolEncoder getEncoder(IoSession ioSession) throws Exception {
-			return encoder;
-		}
-		
-		public ProtocolDecoder getDecoder(IoSession ioSession) throws Exception {
-			return decoder;
-		}
-	}
-
-Remarks:
-
-* for every new session, MINA will ask the ImageCodecFactory for an encoder and a decoder.
-* since our encoders and decoders store no conversational state, it is safe to let all sessions share a single instance.
-
-This is how the server would use the ProtocolCodecFactory:
-
-	:::java
-	public class ImageServer {
-		public static final int PORT = 33789;
-		
-		public static void main(String[] args) throws IOException {
-			ImageServerIoHandler handler = new ImageServerIoHandler();
-			NioSocketAcceptor acceptor = new NioSocketAcceptor();
-			acceptor.getFilterChain().addLast("protocol", new ProtocolCodecFilter(new ImageCodecFactory(false)));
-			acceptor.setLocalAddress(new InetSocketAddress(PORT));
-			acceptor.setHandler(handler);
-			acceptor.bind();
-			System.out.println("server is listenig at port " + PORT);
-		}
-	}
-
-Usage by the client is identical:
-
-	:::java
-	public class ImageClient extends IoHandlerAdapter {
-		public static final int CONNECT_TIMEOUT = 3000;
-		
-		private String host;
-		private int port;
-		private SocketConnector connector;
-		private IoSession session;
-		private ImageListener imageListener;
-		
-		public ImageClient(String host, int port, ImageListener imageListener) {
-			this.host = host;
-			this.port = port;
-			this.imageListener = imageListener;
-			connector = new NioSocketConnector();
-			connector.getFilterChain().addLast("codec", new ProtocolCodecFilter(new ImageCodecFactory(true)));
-			connector.setHandler(this);
-		}
-		
-		public void messageReceived(IoSession session, Object message) throws Exception {
-			ImageResponse response = (ImageResponse) message;
-			imageListener.onImages(response.getImage1(), response.getImage2());
-		}
-		...
-
-For completeness, I will add the code for the server-side IoHandler:
-
-	:::java
-	public class ImageServerIoHandler extends IoHandlerAdapter {
-		
-		private final static String characters = "mina rocks abcdefghijklmnopqrstuvwxyz0123456789";
-		
-		public static final String INDEX_KEY = ImageServerIoHandler.class.getName() + ".INDEX";
-		
-		private Logger logger = LoggerFactory.getLogger(this.getClass());
-		
-		public void sessionOpened(IoSession session) throws Exception {
-			session.setAttribute(INDEX_KEY, 0);
-		}
-		
-		public void exceptionCaught(IoSession session, Throwable cause) throws Exception {
-			IoSessionLogger sessionLogger = IoSessionLogger.getLogger(session, logger);
-			sessionLogger.warn(cause.getMessage(), cause);
-		}
-		
-		public void messageReceived(IoSession session, Object message) throws Exception {
-			ImageRequest request = (ImageRequest) message;
-			String text1 = generateString(session, request.getNumberOfCharacters());
-			String text2 = generateString(session, request.getNumberOfCharacters());
-			BufferedImage image1 = createImage(request, text1);
-			BufferedImage image2 = createImage(request, text2);
-			ImageResponse response = new ImageResponse(image1, image2);
-			session.write(response);
-		}
-		
-		private BufferedImage createImage(ImageRequest request, String text) {
-			BufferedImage image = new BufferedImage(request.getWidth(), request.getHeight(), BufferedImage.TYPE_BYTE_INDEXED);
-			Graphics graphics = image.createGraphics();
-			graphics.setColor(Color.YELLOW);
-			graphics.fillRect(0, 0, image.getWidth(), image.getHeight());
-			Font serif = new Font("serif", Font.PLAIN, 30);
-			graphics.setFont(serif);
-			graphics.setColor(Color.BLUE);
-			graphics.drawString(text, 10, 50);
-			return image;
-		}
-		
-		private String generateString(IoSession session, int length) {
-			Integer index = (Integer) session.getAttribute(INDEX_KEY);
-			StringBuffer buffer = new StringBuffer(length);
-		
-			while (buffer.length() < length) {
-				buffer.append(characters.charAt(index));
-				index++;
-				if (index >= characters.length()) {
-					index = 0;
-				}
-			}
-			session.setAttribute(INDEX_KEY, index);
-			return buffer.toString();
-		}
-	}
-
-![](../../../staticresources/images/mina/codec-filter.jpeg)
-
-## Conclusion
-
-There is a lot more to tell about encoding and decoding. But I hope this tutorial already gets you started.
-I will try to add something about the DemuxingProtocolCodecFactory in the near future.
-And then we will also have a look at how to use a delimiter instead of a length prefix.
diff --git a/content/special-thanks.mdtext b/content/special-thanks.mdtext
deleted file mode 100644
index 1a2c549..0000000
--- a/content/special-thanks.mdtext
+++ /dev/null
@@ -1,40 +0,0 @@
-Title: Apache MINA - Special Thanks
-Notice:    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.
-
-# Special Thanks
-
-## General Apache sponsors
-
-Without those sponsors, the ASF would simply not exist or sustain its activities :
-
- * [https://www.apache.org/foundation/thanks.html](https://www.apache.org/foundation/thanks.html)
-
-For those who want to know more about the Apache Sponsorship Program, please check :
-
- * [https://www.apache.org/foundation/sponsorship.html](https://www.apache.org/foundation/sponsorship.html)
-
-Thanks !
-	
-## Organizations who helped our project ...
-
-We would also like to thank the oganizations who provided some tools and images for free :
-
-| Company/Organization | Donation type | Organization contact  | Apache contact |
-|---|---|---|---|
-|![http://www.yourkit.com/](staticresources/images/YourKit_logo.png) | Licenses for YourKit | Vladimir Kondratyev <BR/> (sales at yourkit.com) | Emmanuel L&eacute;charny |
-|![http://www.famfamfam.com/lab/icons/silk/](staticresources/images/FAMFAMFAM_logo.png)|[http://creativecommons.org/licenses/by/2.5/](http://creativecommons.org/licenses/by/2.5/)| Mark James | Emmanuel L&eacute;charny|
diff --git a/content/sshd-project/building.mdtext b/content/sshd-project/building.mdtext
deleted file mode 100644
index a50322d..0000000
--- a/content/sshd-project/building.mdtext
+++ /dev/null
@@ -1,28 +0,0 @@
-Title: SSHD Building
-Notice:    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.
-
-
-# Building SSHD
-
-SSHD uses [Maven](http://maven.apache.org/) as its build tool. If you don't fancy using Maven you can use your IDE directly or Download a distribution or JAR.
-
-* Download and [install Maven](http://maven.apache.org/download.html#Installation).
-* Get the latest code from [Git](sources.html)
-* Build the code with the following command
-
-		mvn clean install
diff --git a/content/sshd-project/configuring_security.mdtext b/content/sshd-project/configuring_security.mdtext
deleted file mode 100644
index e3473f5..0000000
--- a/content/sshd-project/configuring_security.mdtext
+++ /dev/null
@@ -1,48 +0,0 @@
-Title: SSHD Configuring Security
-Notice:    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.
-
-## Configuring Security
-
-The SSHD server needs to be integrated and the security layer has to be customized to suit your needs.
-This layer is pluggable and use the following interfaces:
-
-* [PasswordAuthenticator](http://svn.apache.org/repos/asf/mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/server/PasswordAuthenticator.java) for password based authentication
-* [PublickeyAuthenticator](http://svn.apache.org/repos/asf/mina/sshd/trunk/sshd-core/src/main/java/org/apache/sshd/server/PublickeyAuthenticator.java) for key based authentication
-
-Those custom classes can be configured on the SSHD server using the following code:
-
-	:::java
-	SshServer sshd = SshServer.setUpDefaultServer();
-	sshd.setPasswordAuthenticator(new MyPasswordAuthenticator());
-	sshd.setPublickeyAuthenticator(new MyPublickeyAuthenticator());
-
-If only one of those class is implemented, only the related authentication mechanism will be enabled.
-
-## JAAS integration
-
-SSHD provides a password based authentication that delegates to JAAS.
-This can be configured in the following way:
-
-	:::java
-	SshServer sshd = SshServer.setUpDefaultServer();
-	JaasPasswordAuthenticator pswdAuth = new JaasPasswordAuthenticator();
-	pswdAuth.setDomain("myJaasDomain");
-	sshd.setPasswordAuthenticator(pswdAuth);
-
-
-The domain name must be set to the JAAS domain that will be used for authentication.
diff --git a/content/sshd-project/contributors.mdtext b/content/sshd-project/contributors.mdtext
deleted file mode 100644
index 8c927cb..0000000
--- a/content/sshd-project/contributors.mdtext
+++ /dev/null
@@ -1,64 +0,0 @@
-Title: SSHD Contributors
-Notice:    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.
-
-
-# Commiters
-
-The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
-
-* Emmanuel L&eacute;charny
-* Guillaume Nodet
-* Lyor Goldstein
-* Shawn Pearce 
-
-# Contributors
-
-The following additional people have contributed to this project through the way of suggestions, patches or documentation.
-
-* Leo Bayer
-* Andr&eacute; Bierwolf
-* Shikhar Bhushan
-* C&eacute;dric Chantepie
-* Patrick Dessalle
-* Ken Diep
-* Laurent Duchesne
-* Richard Evans
-* Francois Fernandes
-* Otto Frost
-* Will Glass-Husain
-* Andreas Johansson
-* Nick Howes
-* Kohsuke Kawaguchi
-* Leonid Kof
-* Bill Kuker
-* Philippe Laflamme
-* Tien Luong
-* Daniel Micol-Ponce
-* David Overton
-* Simon Paradis
-* Bobby Powers
-* Taras Puchko
-* Matthew Schulze
-* Michael Stevens
-* Liu Tao
-* Pete Torgenrud
-* Denis Tulskiy
-* Frank van der Kleij
-* Jason Van Zyl
-* Tim Vernum
-
diff --git a/content/sshd-project/documentation.mdtext b/content/sshd-project/documentation.mdtext
deleted file mode 100644
index 48d5ffa..0000000
--- a/content/sshd-project/documentation.mdtext
+++ /dev/null
@@ -1,32 +0,0 @@
-Title: SSHD Documentation
-Notice:    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.
-
-# Apache SSHD documentation
-
-## Resources
-
-* [API JavaDocs](apidocs/index.html)
-
-## Tutorials
-
-* [Configuring security](configuring_security.html)
-* [Embedding SSHD in 5 minutes](embedding_ssh.html)
-* [Loading SSHD in Eclipse or IDEA](load_ssh_editor.html)
-* [Required dependencies](required_dependencies.html)
-* [Tips](tips.html)
-
diff --git a/content/sshd-project/download_1.3.0.mdtext b/content/sshd-project/download_1.3.0.mdtext
deleted file mode 100644
index 3efed97..0000000
--- a/content/sshd-project/download_1.3.0.mdtext
+++ /dev/null
@@ -1,25 +0,0 @@
-Title: Apache SSHD 1.3.0 Release
-Notice:    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.
-
-# Overview
-
-Apache Mina SSHD 1.3.0 contains a number of [enhancements and bug-fixes](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310849&version=12335499).
-
-# Getting the Distributions
-
-N/A
diff --git a/content/sshd-project/download_1.4.0.mdtext b/content/sshd-project/download_1.4.0.mdtext
deleted file mode 100644
index 57db7ec..0000000
--- a/content/sshd-project/download_1.4.0.mdtext
+++ /dev/null
@@ -1,25 +0,0 @@
-Title: Apache SSHD 1.4.0 Release
-Notice:    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.
-
-# Overview
-
-Apache Mina SSHD 1.4.0 contains a number of [enhancements and bug-fixes](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310849&version=12338322).
-
-# Getting the Distributions
-
-N/A...
diff --git a/content/sshd-project/downloads.mdtext b/content/sshd-project/downloads.mdtext
deleted file mode 100644
index 12a9d7b..0000000
--- a/content/sshd-project/downloads.mdtext
+++ /dev/null
@@ -1,60 +0,0 @@
-Title: SSHD Downloads
-Notice:    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.
-
-# Latest SSHD Releases
-
-The latest release is the SSHD 2.2.0 release.
- 
-* Source distributions:
-    * [Apache Mina SSHD 2.2.0 Sources (.tar.gz)](https://www.apache.org/dyn/closer.lua/mina/sshd/2.2.0/apache-sshd-2.2.0-src.tar.gz) [PGP](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0-src.tar.gz.asc) [SHA](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0-src.tar.gz.sha1)
-    * [Apache Mina SSHD 2.2.0 Sources (.zip)](https://www.apache.org/dyn/closer.lua/mina/sshd/2.2.0/apache-sshd-2.2.0-src.zip) [PGP](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0-src.zip.asc) [SHA](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0-src.zip.sha1)
-* Binary distributions:
-    * [Apache Mina SSHD 2.2.0 Binary (.tar.gz)](https://www.apache.org/dyn/closer.lua/mina/sshd/2.2.0/apache-sshd-2.2.0.tar.gz) [PGP](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0.tar.gz.asc) [SHA](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0.tar.gz.sha1)
-    * [Apache Mina SSHD 2.2.0 Binary (.zip)](https://www.apache.org/dyn/closer.lua/mina/sshd/2.2.0/apache-sshd-2.2.0.zip) [PGP](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0.zip.asc) [SHA](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0.zip.sha1)
-
-# Development snapshots
-
-You can [build](building.html) the latest version from [sources](sources.html).
-
-# Previous releases
-
-* [SSHD 0.1.0](download_0.1.0.html)
-* [SSHD 0.2.0](download_0.2.0.html)
-* [SSHD 0.3.0](download_0.3.0.html)
-* [SSHD 0.4.0](download_0.4.0.html)
-* [SSHD 0.5.0](download_0.5.0.html)
-* [SSHD 0.6.0](download_0.6.0.html)
-* [SSHD 0.7.0](download_0.7.0.html)
-* [SSHD 0.8.0](download_0.8.0.html)
-* [SSHD 0.9.0](download_0.9.0.html)
-* [SSHD 0.10.0](download_0.10.0.html)
-* [SSHD 0.10.1](download_0.10.1.html)
-* [SSHD 0.11.0](download_0.11.0.html)
-* [SSHD 0.12.0](download_0.12.0.html)
-* [SSHD 0.13.0](download_0.13.0.html)
-* [SSHD 0.14.0](download_0.14.0.html)
-* [SSHD 1.0.0](download_1.0.0.html)
-* [SSHD 1.1.0](download_1.1.0.html)
-* [SSHD 1.1.1](download_1.1.1.html)
-* [SSHD 1.2.0](download_1.2.0.html)
-* [SSHD 1.3.0](download_1.3.0.html)
-* [SSHD 1.4.0](download_1.4.0.html)
-* [SSHD 1.6.0](download_1.6.0.html)
-* [SSHD 1.7.0](download_1.7.0.html)
-* [SSHD 2.0.0](download_2.0.0.html)
-* [SSHD 2.1.0](download_2.1.0.html)
diff --git a/content/sshd-project/faq.mdtext b/content/sshd-project/faq.mdtext
deleted file mode 100644
index 1221532..0000000
--- a/content/sshd-project/faq.mdtext
+++ /dev/null
@@ -1,22 +0,0 @@
-Title: SSHD FAQ
-Notice:    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.
-
-
-# FAQ
-
-TODO
diff --git a/content/sshd-project/features.mdtext b/content/sshd-project/features.mdtext
deleted file mode 100644
index 7bdfd88..0000000
--- a/content/sshd-project/features.mdtext
+++ /dev/null
@@ -1,22 +0,0 @@
-Title: SSHD Features
-Notice:    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.
-
-
-# Features 
-
-TODO
diff --git a/content/sshd-project/getting_involved.mdtext b/content/sshd-project/getting_involved.mdtext
deleted file mode 100644
index 3ec02b8..0000000
--- a/content/sshd-project/getting_involved.mdtext
+++ /dev/null
@@ -1,28 +0,0 @@
-Title: SSHD Getting Involved
-Notice:    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.
-
-
-# Getting Involved
-
-The Apache SSHD developers communicates using our [Mailing Lists](mailing_lists.html). If you have any questions, feedback or suggestions, you're very welcome to join the list and send an email. We are also happy to receive [bug reports and feature requests in our JIRA](issue_tracking.html).
-
-## Patches
-
-The best chance of getting your bug or feature fixed is to provide a patch, if they fit our goals we will usually have them commited within a few days. The Apache Contributors page has excellent [information on how to produce patches](http://apache.org/dev/contributors.html#patches).
-
-
diff --git a/content/sshd-project/index.mdtext b/content/sshd-project/index.mdtext
deleted file mode 100644
index eea0903..0000000
--- a/content/sshd-project/index.mdtext
+++ /dev/null
@@ -1,25 +0,0 @@
-Title: SSHD Overview
-Notice:    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.
-
-
-# Overview
-
-Apache SSHD is a 100% pure java library to support the SSH protocols on both the client and server side.
-This library is based on [Apache MINA](http://mina.apache.org/), a scalable and high performance asynchronous IO library.
-
-SSHD does not really aim at being a replacement for the SSH client or SSH server from Unix operating systems, but rather provides support for Java based applications requiring SSH support.
diff --git a/content/sshd-project/issue_tracking.mdtext b/content/sshd-project/issue_tracking.mdtext
deleted file mode 100644
index 19fe6cf..0000000
--- a/content/sshd-project/issue_tracking.mdtext
+++ /dev/null
@@ -1,35 +0,0 @@
-Title: SSHD Issue Tracking
-Notice:    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.
-
-
-# Issue Tracking
-
-We are using JIRA to track all SSHD issues including bugs. Please visit our [issue tracker page](http://issues.apache.org/jira/browse/SSHD) to report a bug.
-
-## How to report a bug
-
-Writing a bug report with detailed information will help us to fix your problem sooner.
-
-* Make sure if the bug you are going to report doesn't exist yet.
-* Attaching JUnit test case which reproduces the problem will put your report in our highest priority.
-* Attach full thread stack dump if you suspect a dead lock.
-* Attach full heap dump if you suspect a memory leak.
-* Specify the environment in detail as much as possible.
-    * Operating system version, distribution, architecture, ...
-    * JVM vendor, version, build number, command line arguments, ...
-    * Network settings
diff --git a/content/sshd-project/load_ssh_editor.mdtext b/content/sshd-project/load_ssh_editor.mdtext
deleted file mode 100644
index e973d70..0000000
--- a/content/sshd-project/load_ssh_editor.mdtext
+++ /dev/null
@@ -1,37 +0,0 @@
-Title: Loading SSHD in Eclipse or IDEA
-Notice:    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.
-
-
-# Loading SSHD in Eclipse or IDEA
-
-If you want to debug or develop on SSHD, chances are you want to load it in your IDE. Most IDE now have some maven support (either natively or through plugins), but if you don't have those plugins installed, you can create the required project files using one of the following command:
-
-	mvn eclipse:eclipse
-
-or 
-
-	mvn idea:idea
-
-If you want to have the source code for the various dependencies available for debugging, you can add the -DdownloadSources=true parameter on the command line.
-
-Next step is to load the generated project from Eclipse or IDEA.
-
-Note that you may have to set up some global variables to point to the local maven repository.
-
-
-
diff --git a/content/sshd-project/required_dependencies.mdtext b/content/sshd-project/required_dependencies.mdtext
deleted file mode 100644
index ab58de3..0000000
--- a/content/sshd-project/required_dependencies.mdtext
+++ /dev/null
@@ -1,31 +0,0 @@
-Title: SSHD Required dependencies
-Notice:    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.
-
-# Required dependencies
-
-SSHD has 2 compile-time dependencies:
-
-* [MINA Core 2.0.x](http://repo1.maven.org/maven2/org/apache/mina/mina-core/2.0.7/mina-core-2.0.7.jar) : http://repo1.maven.org/maven2/org/apache/mina/mina-core/2.0.7/mina-core-2.0.7.jar
-* [SLF4J API 1.6.4](http://repo2.maven.org/maven2/org/slf4j/slf4j-api/1.6.4/slf4j-api-1.6.4.jar) : http://repo2.maven.org/maven2/org/slf4j/slf4j-api/1.6.4/slf4j-api-1.6.4.jar
-
-Note that since SSHD 0.9.0, the Mina Core library is optional when running in JDK 1.7 and SSHD will default to using nio2 if available.
-
-To be able to run SSHD, you will also need one SLF4J Logger implementation. The simpliest one is the one using java.util.logging underneath which can be downloaded at <http://repo2.maven.org/maven2/org/slf4j/slf4j-jdk14/1.6.4/slf4j-jdk14-1.6.4.jar>
-
-
-
diff --git a/content/sshd-project/tips.mdtext b/content/sshd-project/tips.mdtext
deleted file mode 100644
index 2e95c44..0000000
--- a/content/sshd-project/tips.mdtext
+++ /dev/null
@@ -1,38 +0,0 @@
-Title: SSHD Tips
-Notice:    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.
-
-
-# How to execute commands as processes on the server side?
-
-If you want the SSH server to support direct command execution, you need to configure it with a Factory<Command> which will allow that.
-	
-It can be done using the following code:
-
-	:::java
-	sshd.setCommandFactory(new ScpCommandFactory(new CommandFactory() {
-    	public Command createCommand(String command) {
-        	return new ProcessShellFactory(command.split(<SPAN class="code-quote">" ")).create();
-		}
-	}));
-
-This way, you can use the following:
-
-	ssh -p 8202 localhost ls -l
-
-
-
diff --git a/content/validating-release.mdtext b/content/validating-release.mdtext
deleted file mode 100644
index 8a04c05..0000000
--- a/content/validating-release.mdtext
+++ /dev/null
@@ -1,28 +0,0 @@
-Title: Verifying Release
-Notice:    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.
-
-# Validating Release
-
-Down the GPG keys and import them
-
-    wget https://www.apache.org/dist/mina/KEYS
-    gpg --import KEYS
-    
-Download the release and verify checksums and signatures
-
-WIP
\ No newline at end of file
diff --git a/content/vysper-project/dependencies.mdtext b/content/vysper-project/dependencies.mdtext
deleted file mode 100644
index 13b7ea6..0000000
--- a/content/vysper-project/dependencies.mdtext
+++ /dev/null
@@ -1,36 +0,0 @@
-Title: Vysper Dependencies
-Notice:    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.
-
-
-# Dependencies
-
-Vysper depends on these fine libraries and frameworks:
-
-[MINA](http://mina.apache.org) - for socket communication.
-
-[Spring Framework](http://springframework.org/) (optional) - for component configuration and wiring.
-
-[Bouncy Castle SSL Provider](http://www.bouncycastle.org/) - stream encryption
-
-[JUnit](http://junit.sourceforge.net/) - unit testing
-
-[slf4j](http://slf4j.org/) - logging framework, currently using [log4j](http://logging.apache.org/log4j), but this is exchangable
-
-[Jackrabbit](http://jackrabbit.apache.org/) - Jackrabbit is used for JCR container persistence.
-
-More detailed info about dependencies and libraries can be found [here](http://svn.apache.org/repos/asf/labs/vysper/lib/LIBRARY_OVERVIEW.txt).
diff --git a/content/vysper-project/downloads.mdtext b/content/vysper-project/downloads.mdtext
deleted file mode 100644
index f6515d8..0000000
--- a/content/vysper-project/downloads.mdtext
+++ /dev/null
@@ -1,33 +0,0 @@
-Title: Vysper Downloads
-Notice:    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.
-
-
-# Latest Vysper Releases
-
-The latest release is the [Apache Vysper 0.7 Release](download_0.7.html)
-
-# All Releases
-
-* [Apache Vysper 0.7 Release](download_0.7.html)
-* [Apache Vysper 0.6 Release](download_0.6.html)
-* [Apache Vysper 0.5 Release](download_0.5.html)
-
-# Maven Repositories
-
-All Apache Vysper releases are available from the Maven central repository 
-
diff --git a/content/vysper-project/embed.mdtext b/content/vysper-project/embed.mdtext
deleted file mode 100644
index b1cf1d5..0000000
--- a/content/vysper-project/embed.mdtext
+++ /dev/null
@@ -1,96 +0,0 @@
-Title: Embed Vysper into another application
-Notice:    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.
-
-
-# Embed into another application
-
-## About logging
-
-Embedding software making use of logging into another one making use of logging itself can be cumbersome.
-Vysper uses slf4j for logging, which foremost is a logging facade. The actual logging worker is then bound at runtime. It can be log4j, as in standalone Vysper, or some other logging framework. If you make use of one of these in your embedding application, just put the proper slf4j adapter lib onto the classpath. For more info about slf4j, see the website at slf4j.org.
-
-## Libraries
-
-This example doesn't make use of the Spring-based deployment. So we don't need the Spring libraries here.
-
-TODO: elaborate about the other libs needed.
-
-## Start server (naivly)
-
-Having a Vysper XMPP server instance embedded into your own application is easy:
-
-	:::java
-	import org.apache.vysper.xmpp.server;
-
-	XMPPServer server = new XMPPServer(&quot;myembeddedjabber.com&quot;);
-	server.start();
-
-Unfortunately, this is not the whole story, we need to do some more preparations first. Hang on!
-
-## Start server (full story)
-
-We make use of the JCR-persistent storage, and we add one user.
-If you need more users, add more. Just make sure their Jabber ID domain matches the server's domain ("myembeddedjabber.com", in this case).
-
-	:::java
-	// choose the storage you want to use
-	StorageProviderRegistry providerRegistry = new JcrStorageProviderRegistry();
-	//StorageProviderRegistry providerRegistry = new MemoryStorageProviderRegistry();
-
-	final AccountManagement accountManagement = (AccountManagement) providerRegistry.retrieve(AccountManagement.class);
-
-	if(!accountManagement.verifyAccountExists(EntityImpl.parse(&quot;user1@myembeddedjabber.com&quot;))) {
-	    accountManagement.addUser(EntityImpl.parse(&quot;user1@myembeddedjabber.com&quot;), &quot;password1&quot;);
-	}
-
-Now, instantiate the server and set the fundamental stuff: endpoint, user management and TLS.
-
-SSL needs a TLS certificate. There is one coming along with Vysper for testing purposes only, just make sure it is properly referenced on the file system.
-Or, even better, create your own.
-
-	:::java
-	XMPPServer server = new XMPPServer(&quot;myembeddedjabber.com&quot;);
-	server.addEndpoint(new TCPEndpoint());
-	server.setStorageProviderRegistry(providerRegistry);
-
-	server.setTLSCertificateInfo(new File(&quot;src/main/config/bogus_mina_tls.cert&quot;), &quot;boguspw&quot;);
-
-With initializing completed, just give it a go:
-
-	:::java
-	try {
-	    server.start();
-	    System.out.println(&quot;server is running...&quot;);
-	} catch (Exception e) {
-	    e.printStackTrace();
-	}
-
-## Adding modules to the server.
-
-The server starts up with two built-in modules, Roster and Service Discovery. Both can be considered as optional, but for a proper server you would normally want to have them (and if you don't, remove them from code in XMPPServer.start() and rebuild).
-
-Some handy modules can be added, but this is optional:
-
-	:::java
-	server.addModule(new SoftwareVersionModule());
-	server.addModule(new EntityTimeModule());
-	server.addModule(new VcardTempModule()); // depends on Jcr persistence
-
-## Reference
-
-The full and probably improved latest version of this code can be found [here](http://svn.apache.org/repos/asf/mina/sandbox/vysper/trunk/server/core/src/main/java/org/apache/vysper/xmpp/server/ServerMain.java)
diff --git a/content/vysper-project/getting_involved.mdtext b/content/vysper-project/getting_involved.mdtext
deleted file mode 100644
index b48849d..0000000
--- a/content/vysper-project/getting_involved.mdtext
+++ /dev/null
@@ -1,28 +0,0 @@
-Title: Vysper Getting Involved
-Notice:    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.
-
-
-# Getting Involved
-
-The Apache Vysper developers communicates using our [Mailing Lists](mailing_lists.html). If you have any questions, feedback or suggestions, you're very welcome to join the list and send an email. We are also happy to receive [bug reports and feature requests in our JIRA](issue_tracking.html).
-
-## Patches
-
-The best chance of getting your bug or feature fixed is to provide a patch, if they fit our goals we will usually have them commited within a few days. The Apache Contributors page has excellent [information on how to produce patches](http://apache.org/dev/contributors.html#patches).
-
-
diff --git a/content/vysper-project/index.mdtext b/content/vysper-project/index.mdtext
deleted file mode 100644
index bb4592e..0000000
--- a/content/vysper-project/index.mdtext
+++ /dev/null
@@ -1,33 +0,0 @@
-Title: Apache Vysper
-Notice:    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.
-
-
-# Apache Vysper
-
-Apache Vysper aims to be a modular, full featured XMPP (Jabber) server.
-
-More details on Vysper in our [documentation](documentation.html).
-
-There are already some larger XEPs as modules available, most notably
-
-* Multi User Chat ([XEP0045](http://xmpp.org/extensions/xep-0045.html)) and
-* Publish/Subscribe ([XEP0060](http://xmpp.org/extensions/xep-0060.html))
-* BOSH ([XEP0124](http://xmpp.org/extensions/xep-0124.html), [XEP0206](http://xmpp.org/extensions/xep-0206.html))
-
-To start using and/or developing extensions for Vysper, don't miss the [User Guide](user_guide.html)!
-
diff --git a/content/vysper-project/issue_tracking.mdtext b/content/vysper-project/issue_tracking.mdtext
deleted file mode 100644
index 7061970..0000000
--- a/content/vysper-project/issue_tracking.mdtext
+++ /dev/null
@@ -1,35 +0,0 @@
-Title: Vysper Issue Tracking
-Notice:    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.
-
-
-# Issue Tracking
-
-We are using JIRA to track all Vysper issues including bugs. Please visit our [issue tracker page](http://issues.apache.org/jira/browse/VYSPER) to report a bug.
-
-## How to report a bug
-
-Writing a bug report with detailed information will help us to fix your problem sooner.
-
-* Make sure if the bug you are going to report doesn't exist yet.
-* Attaching JUnit test case which reproduces the problem will put your report in our highest priority.
-* Attach full thread stack dump if you suspect a dead lock.
-* Attach full heap dump if you suspect a memory leak.
-* Specify the environment in detail as much as possible.
-    * Operating system version, distribution, architecture, ...
-    * JVM vendor, version, build number, command line arguments, ...
-    * Network settings
diff --git a/content/vysper-project/server_standalone.mdtext b/content/vysper-project/server_standalone.mdtext
deleted file mode 100644
index 65a6205..0000000
--- a/content/vysper-project/server_standalone.mdtext
+++ /dev/null
@@ -1,37 +0,0 @@
-Title: Vysper Standalone Server
-Notice:    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.
-
-
-# run main class
-
-if you like to invoke the server from an IDE or the commandline, use the Java class
-
-	:::java
-	org.apache.vysper.spring.ServerMain
-
-for example by typing
-
-	:::java
-	java org.apache.vysper.spring.ServerMain
-
-be sure to include all jars in lib/ in your classpath plus the spring-config.xml.
-
-It is also possible to load modules on the command line:
-
-	:::java
-	java org.apache.vysper.spring.ServerMain -Dvysper.add.module=module1,module2...
diff --git a/content/vysper-project/server_to_server_comm.mdtext b/content/vysper-project/server_to_server_comm.mdtext
deleted file mode 100644
index ef0f809..0000000
--- a/content/vysper-project/server_to_server_comm.mdtext
+++ /dev/null
@@ -1,61 +0,0 @@
-Title: Vysper Server-to-server
-Notice:    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.
-
-
-# Server-to-server
-
-<DIV class="info" markdown="1">
-	Available since version 0.7.
-</DIV>
-
-XMPP servers like Apache Vysper work in federated networks much like SMTP servers. Users connect to their own server, and when communicating with users on a different domain, the two servers will connect to each other and exchange XMPP stanzas. Server-to-server (S2S) connections differ from client-to-server (C2) connections in that stanzas for multiple users might be sent over the same connection. S2S connections are similar to C2S connections from the point that one of the servers serve [...]
-
-To set up server-to-server functionality in Vysper, two configurations are needed:
-
-## Allow server-to-server federation
-
-Server-to-server federation is by default disabled in Vysper. To enable sending stanzas to other servers, federations must be enabled:
-
-	:::java
-	XMPPServer server = new XMPPServer("vysper.org");
-	
-	// other initialization
-	server.start();
-	
-	// must be done after the server has been started
-	server.getServerRuntimeContext().getServerFeatures().setRelayingToFederationServers(true);
-
-## Server-to-server endpoint
-
-Next, an endpoint for incoming S2S connections must be added:
-
-	:::java
-	XMPPServer server = new XMPPServer("vysper.org");
-	
-	server.addEndpoint(new S2SEndpoint());
-	
-	// other initialization
-	server.start();
-	
-	// must be done after the server has been started
-	server.getServerRuntimeContext().getServerFeatures().setRelayingToFederationServers(true);
-
-That’s all that needs to be done. If SSL/TLS should be enabled between servers (will be negotiated during the S2S connection handshake), a keystore and keystore password must be configured:
-
-	:::java
-	server.setTLSCertificateInfo(new File("keystore.jks"), "sekrit");
diff --git a/content/vysper-project/service_discovery.mdtext b/content/vysper-project/service_discovery.mdtext
deleted file mode 100644
index 7ddb16e..0000000
--- a/content/vysper-project/service_discovery.mdtext
+++ /dev/null
@@ -1,67 +0,0 @@
-Title: Vysper Service Discovery
-Notice:    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.
-
-
-# Using Service Discovery
-
-## Disco quick start
-
-Service Discovery (or 'disco') is a XMPP extensions specified at (Service Discovery, XEP-0030).
-
-Disco resembles Directory services like LDAP, or even file systems.
-
-Disco is a server-side service. It maintains a tree of nodes (branches) and items (leafs). Clients discover child nodes and items of the root node or some other already discovered node by sending info-requests (IQ stanzas).
-The server replies with a IQ response containing a list of nodes and items.
-
-## Using disco
-
-In Vysper, Disco is itself implemented as a module (making it easy to swap disco implementations). The disco module must be loaded to link into it.
-
-Any module can publish its own features, nodes and items through disco to become 'discoverable' by clients and other servers and to expose 'stuff', whatever makes sense for that module.
-
-It is highly recommended that modules supporting disco extend DefaultDiscoAwareModule, which provides convenient integration with disco.
-
-Via DefaultDiscoAwareModule overrides, modules can register listeners for disco requests. If applicable, they simply add their part to the response. So, the disco-aware module has full control over the stuff it exposes.
-
-## The most simple form of disco is to advertise a feature. Clients knowing about that feature can then use it, for example by adding special payload to stanzas, by interacting with the module through dedicated stanzas or by using more disco.
-
-This is how a feature is advertised in the XEP-0092 implementation:
-
-	:::java
-	public class SoftwareVersionModule extends DefaultDiscoAwareModule implements ServerInfoRequestListener { 
-	    @Override 
-	    protected void addServerInfoRequestListeners(List&lt;ServerInfoRequestListener&gt; serverInfoRequestListeners) { 
-	        serverInfoRequestListeners.add(this); 
-	    } 
- 
-	    public List&lt;InfoElement&gt; getServerInfosFor(InfoRequest request) { 
-	        List&lt;InfoElement&gt; infoElements = new ArrayList&lt;InfoElement&gt;(); 
-	        infoElements.add(new Feature(NamespaceURIs.JABBER_IQ_VERSION)); 
-	        return infoElements; 
-	    } 
-	} 
-
-At init time, the listener is registered, which is the module class itself ("this").
-On every disco request occuring on server level, disco calls the listener via getServerInfosFor(), and the module advertises its support for XEP-0092. Please note that in an advanced scenario, we can make the module's behavior depending on the properties of the InfoRequest parameter.
-
-## Item and Info discovery
-
-They work similar, with similar listeners and callback.
-TODO: elaborate!
-
-
diff --git a/content/vysper-project/test_client.mdtext b/content/vysper-project/test_client.mdtext
deleted file mode 100644
index 07c0796..0000000
--- a/content/vysper-project/test_client.mdtext
+++ /dev/null
@@ -1,35 +0,0 @@
-Title: Vysper Using the test client
-Notice:    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.
-
-
-# Using the test client
-
-The test clients builds on the XMPP client library Smack.
-It takes two parameters:
-
-* login name for the 'from' user
-* login name for the 'to' user
-
-The domain is assumed to be 'vysper.org', the password to be 'password1'.
-This relates to the default users corrently configured in the default spring configuration file.
-
-The client logs into the server with the 'from' user login and starts to send messages to the 'to' user.
-
-The client is invoked similar to the server like this:
-
-	java org.apache.vysper.smack.BasicClient user1 user2
diff --git a/content/vysper-project/user_guide.mdtext b/content/vysper-project/user_guide.mdtext
deleted file mode 100644
index bb21b01..0000000
--- a/content/vysper-project/user_guide.mdtext
+++ /dev/null
@@ -1,29 +0,0 @@
-Title: Vysper User Guide
-Notice:    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.
-
-
-# User Guide
-
-* [Dependencies](dependencies.html)
-* [Embed into another application](embed.html)
-* [Extending the Server](extending_server.html)
-* [Extension Roadmap](extension_roadmap.html)
-* [Run Server Standalone](server_standalone.html)
-* [Service Discovery](service_discovery.html)
-* [Test client](test_client.html)
-* [XML Processing](xml_processing.html)
diff --git a/content/vysper-project/user_mgmt.mdtext b/content/vysper-project/user_mgmt.mdtext
deleted file mode 100644
index 67e360a..0000000
--- a/content/vysper-project/user_mgmt.mdtext
+++ /dev/null
@@ -1,88 +0,0 @@
-Title: Vysper User Management
-Notice:    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.
-
-
-# User Management
-
-Apache Vysper comes with very basic user management support out of the box. But, frequently you would rather want to integrate Vysper with your already existing authentication solution. To enable this, Vysper comes with a simple API to implement your own authentication and user management.
-
-## Authentication
-
-UserAuthentication is the interface which will get called when a client authenticates itself using SASL. Vysper currently ships with two implementations, one in-memory and one based on JCR. To write your own, simple create a class which implements UserAuthentication. In the example below, we implement an authentication provider backed by an LDAP directory.
-
-	:::java
-	public class MyLdapAuthentication implements UserAuthentication {
-	    @Override
-	    public boolean verifyCredentials(Entity jid, String passwordCleartext, Object credentials) {
-			Hashtable<String, String> env = new Hashtable<String, String>();
-			env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
-			env.put(Context.PROVIDER_URL, "ldap://localhost:389/");
-
-			env.put(Context.SECURITY_AUTHENTICATION, "simple");
-		
-			// extract the user name from the entity, e.g. from foo@example.com, foo will be used
-		        env.put(Context.SECURITY_PRINCIPAL, String.format("cn=%s, ou=Users, o=Acme", jid.getNode()));
-			env.put(Context.SECURITY_CREDENTIALS, passwordCleartext);
-
-			try {
-				// connect and authenticate with the directory
-				new InitialDirContext(env);
-				return true;
-			} catch (NamingException e) {
-				return false;
-			}
-		}
-	}
-
-Next, you need to hook the authentication provider into the Vysper XMPP server:
-
-	:::java
-    public static void main(String[] args) throws Exception {
-        OpenStorageProviderRegistry providerRegistry = new OpenStorageProviderRegistry();
-        
-        // add your custom authentication provider
-        providerRegistry.add(new MyLdapAuthentication());
-        
-        // a roster manager is also required
-        providerRegistry.add(new MemoryRosterManager());
-
-        XMPPServer server = new XMPPServer("acme.com");
-
-        // other initialization
-        // ...
-
-        server.setStorageProviderRegistry(providerRegistry);
-
-        server.start();
-    }
-
-In this example, we use the OpenStorageProviderRegistry to provide the different storage providers. Only two are required, UserAuthentication and RosterManager.
-
-That's all that's needed to implement a custom authentication provider.
-
-## User management
-
-Some Vysper modules, in particular in-band registration and service administration, requires the ability to add users and change users password. For that, Vysper uses the interface AccountManagement. This interface has three methods:
-
-* addUser(username, password): to add a new user
-* changePassword(username, newPassword): to change the password of a user
-* verifyAccountExists(username): checks if a user exists
-
-If you need to make use of any of these modules, provide an AccountManagement implementation in OpenStorageProviderRegistry as in the example above.
-
-
diff --git a/content/vysper-project/websocket_endpoint.mdtext b/content/vysper-project/websocket_endpoint.mdtext
deleted file mode 100644
index c5e8bbd..0000000
--- a/content/vysper-project/websocket_endpoint.mdtext
+++ /dev/null
@@ -1,76 +0,0 @@
-Title: Vysper Websocket endpoint
-Notice:    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.
-
-
-# Websocket endpoint
-
-<DIV class="info" markdown="1">
-	Available since version 0.7.
-</DIV>
-
-While websockets are still being specified, a draft specification for XMPP over websockets has been published at <http://tools.ietf.org/html/draft-moffitt-xmpp-over-websocket-00>. Websockets enables web browsers to establish duplex communications with servers with very little overhead.
-
-Vysper provides a websocket endpoint. The easiest way to use the endpoint is to simply add it as a regular endpoint:
-
-	:::java
-	XMPPServer server = new XMPPServer("vysper.org");
-	
-	server.addEndpoint(new TCPEndpoint());
-	
-	server.addEndpoint(new WebSocketEndpoint());
-	
-	server.start();
-
-That’s it. The default configuration will start a web server on port 8080 and supply websockets on <http://vysper.org:8080/>.
-
-The port and context path can be configured:
-
-	:::java
-	WebSocketEndpoint wsEndpoint = new WebSocketEndpoint();
-	wsEndpoint.setContextPath("/xmpp");
-	wsEndpoint.setPort(9000);
-	server.addEndpoint(wsEndpoint);
-
-## Embedded
-
-Commonly, there’s a need to use websockets within the context of a web application. For that purpose, there is a servlet available that can be configured in web.xml inside your regular application.
-
-Vysper currently supports this for Jetty and Apache Tomcat 7.0.27 or later.
-
-For Jetty, add the following to your web.xml:
-
-	:::java
-	WebSocketEndpoint wsEndpoint = new WebSocketEndpoint();
-	wsEndpoint.setSSLEnabled(true);
-	wsEndpoint.setSSLCertificateKeystore("keystore.jks", "sekrit");
-	server.addEndpoint(wsEndpoint);
-
-For Tomcat, add the following to your web.xml:
-
-	:::XML
-	<servlet>
-	  <servlet-name>WebSocket Servlet</servlet-name>
-	  <servlet-class>org.apache.vysper.xmpp.extension.websockets.TomcatXmppWebSocketServlet</servlet-class>
-	  <load-on-startup>1</load-on-startup>
-	</servlet>
-	<servlet-mapping>
-	  <servlet-name>WebSocket Servlet</servlet-name>
-	  <url-pattern>/ws</url-pattern>
-	</servlet-mapping>
-
-Also, when using the servlet, the main Vysper XMPP server needs to be started by some other mean, typically via a context listener. The ServerRuntimeContext of the Vysper server needs to be made available within the servlet context under the key “org.apache.vysper.xmpp.server.ServerRuntimeContext”. There’s an example application included in the Vysper distribution which does this. The source code is available here: <http://svn.apache.org/repos/asf/mina/vysper/trunk/examples/embedded-war/>
diff --git a/layouts/_default/baseof.html b/layouts/_default/baseof.html
new file mode 100644
index 0000000..fcd4b15
--- /dev/null
+++ b/layouts/_default/baseof.html
@@ -0,0 +1,78 @@
+<!DOCTYPE html>
+<!--
+    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.
+-->
+<html lang="en">
+<head>
+    <title>{{ .Title }} &mdash; Apache MINA</title>
+
+    <link href="/assets/css/common.css" rel="stylesheet" type="text/css"/>
+    <link href="/assets/css/mina.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="container">
+    {{ partial "header.html" (dict "context" . "project" "home") }}
+
+    <div id="content">
+        <div id="leftColumn">
+            <div id="navigation">
+                <h5>Latest Downloads</h5>
+                <ul>
+                    <li><a href="/downloads-mina_2_0.html">Mina {{ .Site.Params.version_mina_2_0 }}</a></li>
+                    <li><a href="/downloads-mina_2_1.html">Mina {{ .Site.Params.version_mina_2_1 }}</a></li>
+                    <li><a href="/downloads-ftpserver.html">FtpServer {{ .Site.Params.version_ftpserver }}</a></li>
+                    <li><a href="/downloads-sshd.html">SSHD {{ .Site.Params.version_sshd }}</a></li>
+                    <li><a href="/downloads-vysper.html">Vysper {{ .Site.Params.version_vysper }}</a></li>
+                </ul>
+                <h5>Projects</h5>
+                <ul>
+                    <li><a href="/mina-project/index.html">MINA</a></li>
+                    <li><a href="/asyncweb-project/index.html">AsyncWeb</a></li>
+                    <li><a href="/ftpserver-project/index.html">FtpServer</a></li>
+                    <li><a href="/sshd-project/index.html">SSHD</a></li>
+                    <li><a href="/vysper-project/index.html">Vysper</a></li>
+                </ul>
+
+                <h5>Community</h5>
+                <ul>
+                    <li><a href="/contributors.html" class="external-link" rel="nofollow">Team</a></li>
+                    <li><a href="https://www.apache.org/licenses/" class="external-link" rel="nofollow">License</a></li>
+                    <li><a href="https://www.apache.org/foundation/contributing.html" class="external-link" rel="nofollow">Contributing</a></li>
+                    <li><a href="https://www.apache.org/" title="Apache Software Foundation" class="external-link" rel="nofollow">ASF main site</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" title="The ASF sponsorship program" class="external-link" rel="nofollow">Sponsorship program</a></li>
+                    <li><a href="https://www.apache.org/security/" class="external-link" rel="nofollow">Security</a></li>
+                </ul>
+
+                <h3><a name="Navigation-Upcoming"></a>Upcoming</h3>
+            </div><!-- navigation -->
+        </div><!-- leftColumn -->
+        <div id="rightColumn">
+            {{ partial "nav-headers.html" . }}
+            {{ block "main" . }}{{ end }}
+            {{ partial "nav-headers.html" . }}
+        </div><!-- rightColumn -->
+        <div id="endContent"></div>
+    </div><!-- content -->
+
+    {{ partial "footer.html" . }}
+</div><!-- container -->
+
+{{ partial "google-analytics.html" . }}
+
+</body>
+
+</html>
diff --git a/layouts/_default/list.html b/layouts/_default/list.html
new file mode 100644
index 0000000..c1339be
--- /dev/null
+++ b/layouts/_default/list.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+	{{ .Content }}
+{{ end }}
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
new file mode 100644
index 0000000..c1339be
--- /dev/null
+++ b/layouts/_default/single.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+	{{ .Content }}
+{{ end }}
diff --git a/layouts/asyncweb/baseof.html b/layouts/asyncweb/baseof.html
new file mode 100644
index 0000000..35dfc97
--- /dev/null
+++ b/layouts/asyncweb/baseof.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html>
+<!--
+    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.
+-->
+<html lang="en">
+<head>
+    <title>{{ .Title }} &mdash; Apache MINA</title>
+
+    <link href="/assets/css/common.css" rel="stylesheet" type="text/css"/>
+    <link href="/assets/css/asyncweb.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="container">
+    {{ partial "header.html" (dict "context" . "project" "asyncweb") }}
+
+    <div id="content">
+        <div id="leftColumn">
+            <div id="navigation">
+                <h5>Overview</h5>
+                <ul>
+                    <li><a href="/asyncweb-project/index.html">Home</a> </li>
+                    <!--li><a href="/asyncweb-project/features.html">Features</a> </li-->
+                    <li><a href="/asyncweb-project/documentation.html">Documentation</a></li>
+                    <!--li><a href="/asyncweb-project/downloads.html">Downloads</a></li-->
+                    <li><a href="/asyncweb-project/sources.html">Sources</a></li>
+                    <!--li><a href="/asyncweb-project/faq.html">FAQ</a></li-->
+                    <!--li><a href="/asyncweb-project/related_project.html">Related Project</a></li-->
+                </ul>
+
+                <h5>Community</h5>
+                <ul>
+                    <!--li><a href="/asyncweb-project/mailing_list.html">Mailing Lists</a></li-->
+                    <li><a href="/asyncweb-project/getting_involved.html">Getting Involved</a></li>
+                    <li><a href="/asyncweb-project/reporting_bug.html">Reporting a Bug</a></li>
+                    <li><a href="/asyncweb-project/contributors.html">Contributors</a></li>
+                    <li><a href="https://www.apache.org/foundation/contributing.html">Contributing</a></li>
+                    <li><a href="https://www.apache.org/licenses/">License</a></li>
+                    <li><a href="https://www.apache.org/security/">Security</a></li>
+                </ul>
+
+                <h5>Sponsorship</h5>
+                <ul>
+                    <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/">apache.org</a></li>
+                </ul>
+            </div><!-- navigation -->
+        </div><!-- leftColumn -->
+        <div id="rightColumn">
+            {{ partial "nav-headers.html" . }}
+            {{ block "main" . }}{{ end }}
+            {{ partial "nav-headers.html" . }}
+        </div><!-- rightColumn -->
+        <div id="endContent"></div>
+    </div><!-- content -->
+
+    {{ partial "footer.html" . }}
+</div><!-- container -->
+
+{{ partial "google-analytics.html" . }}
+
+</body>
+
+</html>
diff --git a/layouts/asyncweb/list.html b/layouts/asyncweb/list.html
new file mode 100644
index 0000000..c1339be
--- /dev/null
+++ b/layouts/asyncweb/list.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+	{{ .Content }}
+{{ end }}
diff --git a/layouts/asyncweb/single.html b/layouts/asyncweb/single.html
new file mode 100644
index 0000000..c1339be
--- /dev/null
+++ b/layouts/asyncweb/single.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+	{{ .Content }}
+{{ end }}
diff --git a/layouts/ftpserver/baseof.html b/layouts/ftpserver/baseof.html
new file mode 100644
index 0000000..7f2a682
--- /dev/null
+++ b/layouts/ftpserver/baseof.html
@@ -0,0 +1,77 @@
+<!DOCTYPE html>
+<!--
+    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.
+-->
+<html lang="en">
+<head>
+    <title>{{ .Title }} &mdash; Apache MINA</title>
+
+    <link href="/assets/css/common.css" rel="stylesheet" type="text/css"/>
+    <link href="/assets/css/ftpserver.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="container">
+    {{ partial "header.html" (dict "context" . "project" "ftpserver") }}
+
+    <div id="content">
+        <div id="leftColumn">
+            <div id="navigation">
+                <h5>Overview</h5>
+                <ul>
+                    <li><a href="/ftpserver-project/index.html">Home</a> </li>
+                    <li><a href="/ftpserver-project/features.html">Features</a> </li>
+                    <li><a href="/ftpserver-project/documentation.html">Documentation</a></li>
+                    <li><a href="/ftpserver-project/downloads.html">Downloads</a></li>
+                    <li><a href="/ftpserver-project/getting_source.html">Sources</a></li>
+                    <li><a href="/ftpserver-project/faq.html">FAQ</a></li>
+                    <li><a href="/ftpserver-project/related_project.html">Related Project</a></li>
+                </ul>
+
+                <h5>Community</h5>
+                <ul>
+                    <li><a href="/ftpserver-project/mailing_list.html">Mailing Lists</a></li>
+                    <li><a href="/ftpserver-project/getting_involved.html">Getting Involved</a></li>
+                    <li><a href="/ftpserver-project/reporting_bug.html">Reporting a Bug</a></li>
+                    <li><a href="/ftpserver-project/contributors.html">Contributors</a></li>
+                    <li><a href="https://www.apache.org/foundation/contributing.html">Contributing</a></li>
+                    <li><a href="https://www.apache.org/licenses/">License</a></li>
+                    <li><a href="https://www.apache.org/security/">Security</a></li>
+                </ul>
+
+                <h5>Sponsorship</h5>
+                <ul>
+                    <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/">apache.org</a></li>
+                </ul>
+            </div><!-- navigation -->
+        </div><!-- leftColumn -->
+        <div id="rightColumn">
+            {{ partial "nav-headers.html" . }}
+            {{ block "main" . }}{{ end }}
+            {{ partial "nav-headers.html" . }}
+        </div><!-- rightColumn -->
+        <div id="endContent"></div>
+    </div><!-- content -->
+
+    {{ partial "footer.html" . }}
+</div><!-- container -->
+
+{{ partial "google-analytics.html" . }}
+
+</body>
+
+</html>
diff --git a/layouts/ftpserver/list.html b/layouts/ftpserver/list.html
new file mode 100644
index 0000000..c1339be
--- /dev/null
+++ b/layouts/ftpserver/list.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+	{{ .Content }}
+{{ end }}
diff --git a/layouts/ftpserver/single.html b/layouts/ftpserver/single.html
new file mode 100644
index 0000000..c1339be
--- /dev/null
+++ b/layouts/ftpserver/single.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+	{{ .Content }}
+{{ end }}
diff --git a/layouts/mina/baseof.html b/layouts/mina/baseof.html
new file mode 100644
index 0000000..0350c27
--- /dev/null
+++ b/layouts/mina/baseof.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html>
+<!--
+    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.
+-->
+<html lang="en">
+<head>
+    <title>{{ .Title }} &mdash; Apache MINA</title>
+
+    <link href="/assets/css/common.css" rel="stylesheet" type="text/css"/>
+    <link href="/assets/css/mina.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="container">
+    {{ partial "header.html" (dict "context" . "project" "mina") }}
+
+    <div id="content">
+        <div id="leftColumn">
+            <div id="navigation">
+                <h5>Latest Downloads</h5>
+                <ul>
+                    <li><a href="/mina-project/downloads_2_0.html">Mina {{ .Site.Params.version_mina_2_0 }}</a></li>
+                    <li><a href="/mina-project/downloads_2_1.html">Mina {{ .Site.Params.version_mina_2_1 }}</a></li>
+                    <li><a href="/mina-project/downloads_old.html">Mina old versions</a></li>
+                </ul>
+                <h5>Documentation</h5>
+                <ul>
+                    <li><a href="/mina-project/documentation.html" class="external-link" rel="nofollow">Base documentation</a></li>
+                    <li><a href="/mina-project/userguide/user-guide-toc.html" class="external-link" rel="nofollow">User guide</a></li>
+                    <li><a href="/mina-project/2.1-vs-2.0.html" class="external-link" rel="nofollow">2.1 vs 2.0</a></li>
+                    <li><a href="/mina-project/features.html" class="external-link" rel="nofollow">Features</a></li>
+                    <li><a href="/mina-project/road-map.html" class="external-link" rel="nofollow">Road Map</a></li>
+                    <li><a href="/mina-project/quick-start-guide.html" class="external-link" rel="nofollow">Quick Start Guide</a></li>
+                    <li><a href="/mina-project/faq.html" class="external-link" rel="nofollow">FAQ</a></li>
+                </ul>
+                <h5>Resources</h5>
+                <ul>
+                    <li><a href="/mina-project/mailing-lists.html" class="external-link" rel="nofollow">Mailing lists &amp; IRC</a></li>
+                    <li><a href="/mina-project/issue-tracking.html" class="external-link" rel="nofollow">Issue tracking</a></li>
+                    <li><a href="/mina-project/sources.html" class="external-link" rel="nofollow">Sources</a></li>
+                    <li><a href="/mina-project/gen-docs/latest-2.0/apidocs/index.html" class="external-link" rel="nofollow">API Javadoc {{ .Site.Params.version_mina_2_0 }}</a></li>
+                    <li><a href="/mina-project/gen-docs/latest-2.1/apidocs/index.html" class="external-link" rel="nofollow">API Javadoc {{ .Site.Params.version_mina_2_1 }}</a></li>
+                    <li><a href="/mina-project/gen-docs/latest-2.0/xref/index.html" class="external-link" rel="nofollow">API xref  {{ .Site.Params.version_mina_2_0 }}</a></li>
+                    <li><a href="/mina-project/gen-docs/latest-2.1/xref/index.html" class="external-link" rel="nofollow">API xref {{ .Site.Params.version_mina_2_1 }}</a></li>
+                    <li><a href="/mina-project/performances.html" class="external-link" rel="nofollow">Performances</a></li>
+                    <li><a href="/mina-project/testimonials.html" class="external-link" rel="nofollow">Testimonials</a></li>
+                    <li><a href="/mina-project/conferences.html" class="external-link" rel="nofollow">Conferences</a></li>
+                    <li><a href="/mina-project/developer-guide.html" class="external-link" rel="nofollow">Developers Guide</a></li>
+                    <li><a href="/mina-project/related-projects.html" class="external-link" rel="nofollow">Related Projects</a></li>
+                    <li><a href="https://people.apache.org/~vgritsenko/stats/projects/mina.html" class="external-link" rel="nofollow">Statistics</a></li>
+                </ul>
+
+                <h5>Community</h5>
+                <ul>
+                    <li><a href="https://www.apache.org/foundation/contributing.html" class="external-link" rel="nofollow">Contributing</a></li>
+                    <li><a href="/contributors.html" class="external-link" rel="nofollow">Team</a></li>
+                    <li><a href="/special-thanks.html" class="external-link" rel="nofollow">Special Thanks</a></li>
+                    <li><a href="https://www.apache.org/security/" class="external-link" rel="nofollow">Security</a></li>
+                </ul>
+
+                <h5>About Apache</h5>
+                <ul>
+                    <li><a href="https://www.apache.org" class="external-link" rel="nofollow">Apache main site</a></li>
+                    <li><a href="https://www.apache.org/licenses/" class="external-link" rel="nofollow">License</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html" title="The ASF sponsorship program" class="external-link" rel="nofollow">Sponsorship program</a></li>
+                    <li><a href="https://www.apache.org/foundation/thanks.html" class="external-link" rel="nofollow">Thanks</a></li>
+                </ul>
+
+                <h3><a name="Navigation-Upcoming"></a>Upcoming</h3>
+                <ul>
+                    <li>No event</li>
+                </ul>
+            </div><!-- navigation -->
+        </div><!-- leftColumn -->
+        <div id="rightColumn">
+            {{ partial "nav-headers.html" . }}
+            {{ block "main" . }}{{ end }}
+            {{ partial "nav-headers.html" . }}
+        </div><!-- rightColumn -->
+        <div id="endContent"></div>
+    </div><!-- content -->
+
+    {{ partial "footer.html" . }}
+</div><!-- container -->
+
+{{ partial "google-analytics.html" . }}
+
+</body>
+
+</html>
diff --git a/layouts/mina/list.html b/layouts/mina/list.html
new file mode 100644
index 0000000..c1339be
--- /dev/null
+++ b/layouts/mina/list.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+	{{ .Content }}
+{{ end }}
diff --git a/layouts/mina/single.html b/layouts/mina/single.html
new file mode 100644
index 0000000..c1339be
--- /dev/null
+++ b/layouts/mina/single.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+	{{ .Content }}
+{{ end }}
diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html
new file mode 100644
index 0000000..7ba404d
--- /dev/null
+++ b/layouts/partials/footer.html
@@ -0,0 +1,5 @@
+<div id="footer">
+    &copy; 2003-{{ now.Year }}, <a href="https://www.apache.org">The Apache Software Foundation</a> - <a href="/privacy-policy.html">Privacy Policy</a><br />
+    Apache MINA, MINA, Apache Vysper, Vysper, Apache SSHd, SSHd, Apache FtpServer, FtpServer, Apache AsyncWeb, AsyncWeb,
+    Apache, the Apache feather logo, and the Apache Mina project logos are trademarks of The Apache Software Foundation.
+</div>
diff --git a/layouts/partials/google-analytics.html b/layouts/partials/google-analytics.html
new file mode 100644
index 0000000..0b54103
--- /dev/null
+++ b/layouts/partials/google-analytics.html
@@ -0,0 +1,11 @@
+<script type="text/javascript">
+    var _gaq = _gaq || [];
+    _gaq.push(['_setAccount', 'UA-11074178-1']);
+    _gaq.push(['_trackPageview']);
+
+    (function() {
+        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+    })();
+</script>
diff --git a/layouts/partials/header.html b/layouts/partials/header.html
new file mode 100644
index 0000000..37ff8d6
--- /dev/null
+++ b/layouts/partials/header.html
@@ -0,0 +1,51 @@
+<div id="header">
+    <div id="subProjectsNavBar">
+        <a href="/">
+            {{ if eq .project "home" }}
+                <strong>Apache MINA Project</strong>
+            {{ else }}
+                Apache MINA Project
+            {{ end }}
+        </a>
+        &nbsp;|&nbsp;
+        <a href="/mina-project/">
+            {{ if eq .project "mina" }}
+                <strong>MINA</strong>
+            {{ else }}
+                MINA
+            {{ end }}
+        </a>
+        &nbsp;|&nbsp;
+        <a href="/asyncweb-project/">
+            {{ if eq .project "asyncweb" }}
+                <strong>AsyncWeb</strong>
+            {{ else }}
+                AsyncWeb
+            {{ end }}
+        </a>
+        &nbsp;|&nbsp;
+        <a href="/ftpserver-project/">
+            {{ if eq .project "ftpserver" }}
+                <strong>FtpServer</strong>
+            {{ else }}
+                FtpServer
+            {{ end }}
+        </a>
+        &nbsp;|&nbsp;
+        <a href="/sshd-project/">
+            {{ if eq .project "sshd" }}
+                <strong>SSHD</strong>
+            {{ else }}
+                SSHD
+            {{ end }}
+        </a>
+        &nbsp;|&nbsp;
+        <a href="/vysper-project/">
+            {{ if eq .project "vysper" }}
+                <strong>Vysper</strong>
+            {{ else }}
+                Vysper
+            {{ end }}
+        </a>
+    </div><!-- subProjectsNavBar -->
+</div><!-- header -->
diff --git a/layouts/partials/nav-headers.html b/layouts/partials/nav-headers.html
new file mode 100644
index 0000000..35faa6b
--- /dev/null
+++ b/layouts/partials/nav-headers.html
@@ -0,0 +1,29 @@
+{{ if or (or (isset .Params "navprev") (isset .Params "navup")) (isset .Params "navnext") }}
+    <div class="nav">
+        <div class="nav_prev">
+            {{ if isset .Params "navprev" }}
+                {{ $navprev := .Param "navprev" }}
+                <a href="{{ $navprev }}">{{ .Param "navprevtext" }}</a>
+            {{ else }}
+                &nbsp;
+            {{ end }}
+        </div>
+        <div class="nav_up">
+            {{ if isset .Params "navup" }}
+                {{ $navup := .Param "navup" }}
+                <a href="{{ $navup }}">{{ .Param "navuptext" }}</a>
+            {{ else }}
+                &nbsp;
+            {{ end }}
+        </div>
+        <div class="nav_next">
+            {{ if isset .Params "navnext" }}
+                {{ $navnext := .Param "navnext" }}
+                <a href="{{ $navnext }}">{{ .Param "navnexttext" }}</a>
+            {{ else }}
+                &nbsp;
+            {{ end }}
+        </div>
+        <div class="clearfix"></div>
+    </div>
+{{ end }}
diff --git a/layouts/shortcodes/grabpage.html b/layouts/shortcodes/grabpage.html
new file mode 100644
index 0000000..944aced
--- /dev/null
+++ b/layouts/shortcodes/grabpage.html
@@ -0,0 +1,2 @@
+{{ $file := .Get 0 }}
+{{ with .Site.GetPage $file }}{{.Content}}{{end}}
diff --git a/layouts/shortcodes/toc.html b/layouts/shortcodes/toc.html
new file mode 100644
index 0000000..aca3785
--- /dev/null
+++ b/layouts/shortcodes/toc.html
@@ -0,0 +1 @@
+{{ .Page.TableOfContents }}
\ No newline at end of file
diff --git a/layouts/sshd/baseof.html b/layouts/sshd/baseof.html
new file mode 100644
index 0000000..d85764a
--- /dev/null
+++ b/layouts/sshd/baseof.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<!--
+    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.
+-->
+<html lang="en">
+<head>
+    <title>{{ .Title }} &mdash; Apache MINA</title>
+
+    <link href="/assets/css/common.css" rel="stylesheet" type="text/css"/>
+    <link href="/assets/css/sshd.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="container">
+    {{ partial "header.html" (dict "context" . "project" "sshd") }}
+
+    <div id="content">
+        <div id="leftColumn">
+            <div id="navigation">
+                <h5>Overview</h5>
+                <ul>
+                    <li><a href="/sshd-project/index.html">Home</a> </li>
+                    <li><a href="/sshd-project/features.html">Features</a> </li>
+                    <li><a href="/sshd-project/documentation.html">Documentation</a></li>
+                    <li><a href="/sshd-project/downloads.html">Downloads</a></li>
+                    <li><a href="/sshd-project/sources.html">Sources</a></li>
+                    <li><a href="/sshd-project/faq.html">FAQ</a></li>
+                </ul>
+
+                <h5>Community</h5>
+                <ul>
+                    <li><a href="/sshd-project/mailing_lists.html">Mailing Lists</a></li>
+                    <li><a href="/sshd-project/getting_involved.html">Getting Involved</a></li>
+                    <li><a href="/sshd-project/issue_tracking.html">Issue Tracking</a></li>
+                    <li><a href="/sshd-project/contributors.html">Contributors</a></li>
+                    <li><a href="https://www.apache.org/foundation/contributing.html">Contributing</a></li>
+                    <li><a href="https://www.apache.org/licenses/">License</a></li>
+                    <li><a href="https://www.apache.org/security/">Security</a></li>
+                </ul>
+
+                <h5>Sponsorship</h5>
+                <ul>
+                    <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/">apache.org</a></li>
+                </ul>
+            </div><!-- navigation -->
+        </div><!-- leftColumn -->
+        <div id="rightColumn">
+            {{ partial "nav-headers.html" . }}
+            {{ block "main" . }}{{ end }}
+            {{ partial "nav-headers.html" . }}
+        </div><!-- rightColumn -->
+        <div id="endContent"></div>
+    </div><!-- content -->
+
+    {{ partial "footer.html" . }}
+</div><!-- container -->
+
+{{ partial "google-analytics.html" . }}
+
+</body>
+
+</html>
diff --git a/layouts/sshd/list.html b/layouts/sshd/list.html
new file mode 100644
index 0000000..c1339be
--- /dev/null
+++ b/layouts/sshd/list.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+	{{ .Content }}
+{{ end }}
diff --git a/layouts/sshd/single.html b/layouts/sshd/single.html
new file mode 100644
index 0000000..c1339be
--- /dev/null
+++ b/layouts/sshd/single.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+	{{ .Content }}
+{{ end }}
diff --git a/layouts/vysper/baseof.html b/layouts/vysper/baseof.html
new file mode 100644
index 0000000..678d8c5
--- /dev/null
+++ b/layouts/vysper/baseof.html
@@ -0,0 +1,73 @@
+<!DOCTYPE html>
+<!--
+    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.
+-->
+<html lang="en">
+<head>
+    <title>{{ .Title }} &mdash; Apache MINA</title>
+
+    <link href="/assets/css/common.css" rel="stylesheet" type="text/css"/>
+    <link href="/assets/css/vysper.css" rel="stylesheet" type="text/css"/>
+</head>
+<body>
+<div id="container">
+    {{ partial "header.html" (dict "context" . "project" "vysper") }}
+
+    <div id="content">
+        <div id="leftColumn">
+            <div id="navigation">
+                <h5>Overview</h5>
+                <ul>
+                    <li><a href="/vysper-project/index.html">Home</a> </li>
+                    <li><a href="/vysper-project/documentation.html">Documentation</a></li>
+                    <li><a href="/vysper-project/downloads.html">Downloads</a></li>
+                    <li><a href="/vysper-project/sources.html">Source</a></li>
+                </ul>
+
+                <h5>Community</h5>
+                <ul>
+                    <li><a href="/vysper-project/mailing_lists.html">Mailing Lists</a></li>
+                    <li><a href="/vysper-project/getting_involved.html">Getting Involved</a></li>
+                    <li><a href="/vysper-project/issue_tracking.html">Issue Tracking</a></li>
+                    <li><a href="https://www.apache.org/foundation/contributing.html">Contributing</a></li>
+                    <li><a href="https://www.apache.org/licenses/">License</a></li>
+                    <li><a href="https://www.apache.org/security/">Security</a></li>
+                </ul>
+
+                <h5>Sponsorship</h5>
+                <ul>
+                    <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
+                    <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
+                    <li><a href="https://www.apache.org/">apache.org</a></li>
+                </ul>
+            </div><!-- navigation -->
+        </div><!-- leftColumn -->
+        <div id="rightColumn">
+            {{ partial "nav-headers.html" . }}
+            {{ block "main" . }}{{ end }}
+            {{ partial "nav-headers.html" . }}
+        </div><!-- rightColumn -->
+        <div id="endContent"></div>
+    </div><!-- content -->
+
+    {{ partial "footer.html" . }}
+</div><!-- container -->
+
+{{ partial "google-analytics.html" . }}
+
+</body>
+
+</html>
diff --git a/layouts/vysper/list.html b/layouts/vysper/list.html
new file mode 100644
index 0000000..c1339be
--- /dev/null
+++ b/layouts/vysper/list.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+	{{ .Content }}
+{{ end }}
diff --git a/layouts/vysper/single.html b/layouts/vysper/single.html
new file mode 100644
index 0000000..c1339be
--- /dev/null
+++ b/layouts/vysper/single.html
@@ -0,0 +1,3 @@
+{{ define "main" }}
+	{{ .Content }}
+{{ end }}
diff --git a/lib/path.pm b/lib/path.pm
deleted file mode 100644
index f67d340..0000000
--- a/lib/path.pm
+++ /dev/null
@@ -1,208 +0,0 @@
-package path;
- 
-# Versions (for download links)
-our $version_asyncweb = "2.0.0-SNAPSHOT";
-our $version_mina_2_0 = "2.0.21";
-our $version_mina_2_1 = "2.1.3";
-our $version_ftpserver = "1.1.1";
-our $version_sshd = "2.1.0";
-our $version_vysper = "0.7";
-
-# All our pages use the same view function
-our @patterns = (
-    # Basic HTML content
-    [qr!^/.*\.html$!, template_page => {} ],
-    
-    #
-    # MINA sub-project pages
-    #
-    
-    # Download MINA Archive page
-    [qr!mina-project\/download\/download-archive\.mdtext$!, template_page => {
-        template => "mina-project/download-archive.html",
-        isMina => true, 
-        version_mina_2_0 => $version_mina_2_0,
-        version_mina_2_1 => $version_mina_2_1 } ],
-    
-    # Download MINA Linux BIN page
-    [qr!mina-project\/download\/download-linux-bin\.mdtext$!, template_page => {
-        template => "mina-project/download-linux-bin.html",
-        isMina => true, 
-        version_mina_2_0 => $version_mina_2_0,
-        version_mina_2_1 => $version_mina_2_1 } ],
-    
-    # Download MINA Linux DEB page
-    [qr!mina-project\/download\/download-linux-deb\.mdtext$!, template_page => {
-        template => "mina-project/download-linux-deb.html",
-        isMina => true, 
-        version_mina_2_0 => $version_mina_2_0,
-        version_mina_2_1 => $version_mina_2_1 } ],
-    
-    # Download MINA Linux RPM page
-    [qr!mina-project\/download\/download-linux-rpm\.mdtext$!, template_page => {
-        template => "mina-project/download-linux-rpm.html",
-        isMina => true, 
-        version_mina_2_0 => $version_mina_2_0,
-        version_mina_2_1 => $version_mina_2_1 } ],
-    
-    # Download MINA Mac OS X page
-    [qr!mina-project\/download\/download-macosx\.mdtext$!, template_page => {
-        template => "mina-project/download-macosx.html",
-        isMina => true, 
-        version_mina_2_0 => $version_mina_2_0,
-        version_mina_2_1 => $version_mina_2_1 } ],
-    
-    # Download MINA Sources page
-    [qr!mina-project\/download\/download-sources\.mdtext$!, template_page => {
-        template => "mina-project/download-sources.html",
-        isMina => true, 
-        version_mina_2_0 => $version_mina_2_0,
-        version_mina_2_1 => $version_mina_2_1 } ],
-    
-    # Download MINA Windows page
-    [qr!mina-project\/download\/download-windows\.mdtext$!, template_page => {
-        template => "mina-project/download-windows.html",
-        isMina => true, 
-        version_mina_2_0 => $version_mina_2_0,
-        version_mina_2_1 => $version_mina_2_1 } ],
-
-    # MINA page with news
-    [qr!mina-project\/index\.mdtext$!, template_page => {
-        template => "mina-project/index.html",
-        version_mina_2_0 => $version_mina_2_0,
-        version_mina_2_1 => $version_mina_2_1,
-        isMina => true } ],
-    
-    # Standard MINA page
-    [qr!mina-project\/.*?\.mdtext$!, template_page => {
-        template => "page.html",
-        version_mina_2_0 => $version_mina_2_0,
-        version_mina_2_1 => $version_mina_2_1,
-        isMina => true } ],
-    
-    #
-    # Apache FtpServer sub-project pages
-    #
-    
-    # Download Apache FtpServer Archive page
-    [qr!ftpserver-project\/download\/download-archive\.mdtext$!, template_page => {
-        template => "ftpserver-project/download-archive.html",
-        isFtpServer => true, 
-        version_ftpserver => $version_ftpserver } ],
-    
-    # Download Apache FtpServer Sources page
-    [qr!ftpserver-project\/download\/download-sources\.mdtext$!, template_page => {
-        templatapie => "ftpserver-project/download-sources.html",
-        isFtpServer => true, 
-        version_ftpserver => $version_ftpserver } ],
-    
-    # Standard Apache FtpServer page
-    [qr!ftpserver-project\/.*?\.mdtext$!, template_page => {
-        template => "ftpserver-project/page.html",
-        version_ftpserver => $version_ftpserver,
-        isFtpServer => true } ],
-
-    #
-    # Apache Sshd sub-project pages
-    #
-
-    # Download Apache Sshd Archive page
-    [qr!sshd-project\/download\/download-archive\.mdtext$!, template_page => {
-        template => "sshd-project/download-archive.html",
-        isSshd => true,
-        version_sshd => $version_sshd } ],
-
-    # Download Apache Sshd Sources page
-    [qr!sshd-project\/download\/download-sources\.mdtext$!, template_page => {
-        templatapie => "sshd-project/download-sources.html",
-        isSshd => true,
-        version_sshd => $version_sshd } ],
-   
-    # Standard Apache Sshd page
-    [qr!sshd-project\/.*?\.mdtext$!, template_page => {
-        template => "sshd-project/page.html",
-        version_sshd => $version_sshd,
-        isSshd => true } ],
-
-    #
-    # Apache Vysper sub-project pages
-    #
-
-    # Download Apache Vysper Archive page
-    [qr!vysper-project\/download\/download-archive\.mdtext$!, template_page => {
-        template => "vysper-project/download-archive.html",
-        isVysper => true,
-        version_vysper => $version_vysper } ],
-
-    # Download Apache Vysper Sources page
-    [qr!vysper-project\/download\/download-sources\.mdtext$!, template_page => {
-        templatapie => "vysper-project/download-sources.html",
-        isVysper => true,
-        version_vysper => $version_vysper } ],
-   
-    # Standard Apache Vysper page
-    [qr!vysper-project\/.*?\.mdtext$!, template_page => {
-        template => "vysper-project/page.html",
-        version_vysper => $version_vysper,
-        isVysper => true } ],
-   
-    #
-    # Apache AsyncWeb sub-project pages
-    #
-
-    # Download Apache AsyncWeb Archive page
-    [qr!asyncweb-project\/download\/download-archive\.mdtext$!, template_page => {
-        template => "asyncweb-project/download-archive.html",
-        isAsyncweb => true,
-        version_asyncweb => $version_asyncweb } ],
-
-    # Download Apache Asyncweb Sources page
-    [qr!asyncweb-project\/download\/download-sources\.mdtext$!, template_page => {
-        templatapie => "asyncweb-project/download-sources.html",
-        isAsyncweb => true,
-        version_asyncweb => $version_asyncweb } ],
-
-    # Standard Apache Asyncweb page
-    [qr!asyncweb-project\/.*?\.mdtext$!, template_page => {
-        template => "asyncweb-project/page.html",
-        version_asyncweb => $version_asyncweb,
-        isAsyncweb => true } ],
- 
-    #
-    # Apache MINA project pages
-    #
-    [qr!^/.*\.mdtext$!, template_page => {
-        template => "page.html",
-        isSite => true,
-        version_mina_2_0 => $version_mina_2_0,
-        version_mina_2_1 => $version_mina_2_1,
-        version_ftpserver => $version_ftpserver,
-        version_asyncweb => $version_asyncweb,
-        version_sshd => $version_sshd,
-        version_vysper => $version_vysper} ]
-);
-
-# for specifying interdependencies between files
-our %dependencies = ();
-
-1;
-
-=head1 LICENSE
-
-           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.
-
diff --git a/lib/view.pm b/lib/view.pm
deleted file mode 100644
index 5029bd7..0000000
--- a/lib/view.pm
+++ /dev/null
@@ -1,119 +0,0 @@
-package view;
-
-# BUILD CONSTRAINT:  all views must return $content, $extension.
-# additional return values (as seen below) are optional.  However,
-# careful use of symlinks and dependency management in path.pm can
-# resolve most issues with this constraint.
-
-use strict;
-use warnings;
-use Dotiac::DTL qw/Template/;
-use Dotiac::DTL::Addon::markup;
-use ASF::Util qw/read_text_file/;
-
-push @Dotiac::DTL::TEMPLATE_DIRS, "templates";
-
-# This is most widely used view.  It takes a
-# 'template' argument and a 'path' argument.
-# Assuming the path ends in foo.mdtext, any files
-# like foo.page/bar.mdtext will be parsed and
-# passed to the template in the "bar" (hash)
-# variable.
-sub template_page
-{
-    my %args = @_;
-    my $file = "content$args{path}";
-    $args{path} =~ s/\.mdtext$/\.html/;
-    $args{base} = _base($args{path});
-
-    my $template = $file;
-    if( $args{template} )
-    {
-       $template = $args{template};
-    }
-
-    read_text_file $file, \%args;
-    $args{breadcrumbs} = breadcrumbs($args{path}, $args{headers});
-
-    my $page_path = $file;
-    $page_path =~ s/\.[^.]+$/.page/;
-    if ( -d $page_path )
-    {
-        for my $f (grep -f, glob "$page_path/*.mdtext")
-        {
-            $f =~ m!/([^/]+)\.mdtext$! or die "Bad filename: $f\n";
-            $args{$1} = {};
-            read_text_file $f, $args{$1};
-        }
-    }
-
-    return Dotiac::DTL::Template($template)->render(\%args), html => \%args;
-}
-
-# Gets the base of the path
-sub _base
-{
-    my $path = shift;
-
-    my @path_components = split( m!/!, $path );
-    pop @path_components;
-    pop @path_components;
-
-    my $rel = "./";
-
-    for (@path_components)
-    {
-        $rel .= "../";
-    }
-
-    return $rel;
-}
-
-# Generates cwiki-style breadcrumbs
-sub breadcrumbs {
-    my ($fullpath, $headerref) = @_;
-    my @titles = split m!/!, $fullpath;
-    my @paths = split m!/!, $fullpath;
-
-    if($paths[scalar@paths-1] =~ /^index/) { 
-      pop @titles; 
-      pop @paths; 
-    } else {
-      if($headerref && $headerref->{title}) {
-         $titles[scalar@titles-1] = $headerref->{title};
-      }
-    }
-    $titles[0] = "Home";
-
-    my @rv;
-    my $relpath = "/";
-    for(my $i=0; $i<scalar @paths; $i++) {
-        my $title = $titles[$i];
-        $relpath .= $paths[$i];
-        push @rv, qq(<a href="$relpath">\u$title</a>);
-        unless($relpath eq "/") { $relpath .= "/"; }
-    }
-    return join "&nbsp;&raquo&nbsp;", @rv;
-}
-
-1;
-
-=head1 LICENSE
-
-           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.
-
diff --git a/source/_index.md b/source/_index.md
new file mode 100644
index 0000000..a4439e1
--- /dev/null
+++ b/source/_index.md
@@ -0,0 +1,18 @@
+---
+title: Apache MINA
+---
+
+Apache MINA is a network application framework which helps users develop high performance and high scalability network applications easily. It provides an abstract event-driven asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO.
+
+Apache MINA is often called:
+
+* NIO framework library,
+* client server framework library, or
+* a networking socket library
+
+Apache MINA comes with many subprojects :
+
+* AsyncWeb : An HTTP server build on top of MINA asynchronous framework
+* FtpServer : A FTP server 
+* SSHd : A Java library supporting the SSH protocol
+* Vysper : An XMPP server
diff --git a/source/asyncweb-project/__index.md b/source/asyncweb-project/__index.md
new file mode 100644
index 0000000..b18dd6b
--- /dev/null
+++ b/source/asyncweb-project/__index.md
@@ -0,0 +1,19 @@
+---
+type: asyncweb
+title: AsyncWeb
+slug: index
+---
+
+# Apache AsyncWeb
+
+<div class="note" markdown="1" >
+The **AsyncWeb** project is currently dormant. We don't have committers for it, so if you feel like you can give an hand, please do contact us !
+</div>
+
+Apache AsyncWeb (built on top of the Apache MINA network framework) employs non-blocking selector driven IO at the transport level, and is asynchronous throughout - from the initial parsing of requests, right through to and including the services implemented by users.
+
+Apache AsyncWeb breaks away from the blocking request / response architecture found in today's popular HTTP engines. This allows it to be highly scalable and capable of supporting very high throughput - even in high processing latency scenarios.
+
+A simple API allows new asynchronous services to be created easily - and out-of-the-box Spring integration allows them to be configured simply and with great flexibility. In addition to "endpoint" HTTP services, AsyncWeb also allows configurable "chains" of behaviour - enabling "filter" like behaviour to be applied to all requests. Pluggable "resolvers" map incoming requests to their target HTTP service - and are given access to the entire incoming request - allowing the routing possibil [...]
+
+
diff --git a/source/asyncweb-project/contributors.md b/source/asyncweb-project/contributors.md
new file mode 100644
index 0000000..df70358
--- /dev/null
+++ b/source/asyncweb-project/contributors.md
@@ -0,0 +1,19 @@
+---
+type: asyncweb
+title: AsyncWeb Contributors
+---
+
+# Contributors
+
+## Committers
+
+The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
+
+* Jeff Genender
+* Mike Heath
+* Alex Karasulu
+* Emmanuel L&eacute;charny
+* Sangjin Lee
+* Trustin Lee
+* Rick McGuire
+* Julien Vermillard
diff --git a/source/asyncweb-project/documentation.md b/source/asyncweb-project/documentation.md
new file mode 100644
index 0000000..3afdcb0
--- /dev/null
+++ b/source/asyncweb-project/documentation.md
@@ -0,0 +1,8 @@
+---
+type: asyncweb
+title: Documentation
+---
+
+# Documentation
+
+**AsyncWeb** project is currently dormant. The documentation we have can be found on [AsyncWeb WIKI](https://cwiki.apache.org/AWEB/)
diff --git a/source/asyncweb-project/getting_involved.md b/source/asyncweb-project/getting_involved.md
new file mode 100644
index 0000000..b83c732
--- /dev/null
+++ b/source/asyncweb-project/getting_involved.md
@@ -0,0 +1,12 @@
+---
+type: asyncweb
+title: AsyncWeb Getting Involved
+---
+
+# Getting Involved
+
+Apache AsyncWeb communicates using our [Mailing Lists](../mailing-lists.html). If you have any questions, feedback or suggestions, you're very welcome to join the list and send an email. We are also happy to receive [bug reports and feature requests in our JIRA](https://issues.apache.org/jira/browse/ASYNCWEB).
+
+# Patches
+
+The best chance of getting your bug or feature fixed is to provide a patch, if they fit our goals we will usually have them committed within a few days. The Apache Contributors page has excellent [information on how to produce patches](http://apache.org/dev/contributors.html#patches).
diff --git a/source/asyncweb-project/references.md b/source/asyncweb-project/references.md
new file mode 100644
index 0000000..0d4d1b1
--- /dev/null
+++ b/source/asyncweb-project/references.md
@@ -0,0 +1,8 @@
+---
+type: asyncweb
+title: References
+---
+
+# References
+
+* Interesting Comet article <http://cometdaily.com/2008/04/01/new-technology-new-problems-delayed-pushes-operations/>
diff --git a/source/asyncweb-project/reporting_bug.md b/source/asyncweb-project/reporting_bug.md
new file mode 100644
index 0000000..fb3f65c
--- /dev/null
+++ b/source/asyncweb-project/reporting_bug.md
@@ -0,0 +1,21 @@
+---
+type: asyncweb
+title: AsyncWeb Reporting Bugs
+---
+
+# Reporting a Bug
+
+We are using JIRA to track all AsyncWeb issues including bugs. Please visit our [issue tracker page](http://issues.apache.org/jira/browse/ASYNCWEB) to report a bug. 
+
+## How to report a bug
+
+Writing a bug report with detailed information will help us to fix your problem sooner.
+
+* Make sure if the bug you are going to report doesn't exist yet.
+* Attaching JUnit test case which reproduces the problem will put your report in our highest priority.
+* Attach full thread stack dump if you suspect a dead lock.
+* Attach full heap dump if you suspect a memory leak.
+* Specify the environment in detail as much as possible.
+    * Operating system version, distribution, architecture, ...
+    * JVM vendor, version, build number, command line arguments, ...
+    * Network settings
diff --git a/content/asyncweb-project/sources.mdtext b/source/asyncweb-project/sources.md
similarity index 63%
rename from content/asyncweb-project/sources.mdtext
rename to source/asyncweb-project/sources.md
index 777f315..52a6afd 100644
--- a/content/asyncweb-project/sources.mdtext
+++ b/source/asyncweb-project/sources.md
@@ -1,22 +1,9 @@
-Title: Sources
-Notice:    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.
-
-Sources for the Apache Asyncweb projects are currently managed through Subversion (SVN). Instructions on Subversion use can be found at <http://svnbook.red-bean.com/>. If you are on Windows, the excellent TortoiseSVN client is highly recommended.
+---
+type: asyncweb
+title: AsyncWeb Sources
+---
+
+Sources for the Apache AsyncWeb projects are currently managed through Subversion (SVN). Instructions on Subversion use can be found at <http://svnbook.red-bean.com/>. If you are on Windows, the excellent TortoiseSVN client is highly recommended.
 
 For each project you can find a detailed description how to checkout and build the source on the project documentation. This page is just a short overview.
 
@@ -32,7 +19,7 @@ Anyone can check code out of Subversion. You only need to specify a username and
 
 Again, anyone can do this. Use a command like to checkout the current development version (the trunk):
 
-	svn checkout http://svn.apache.org/repos/asf/mina/asyncweb/trunk
+    svn checkout http://svn.apache.org/repos/asf/mina/asyncweb/trunk
 
 # Commit Changes to Subversion
 
@@ -40,23 +27,23 @@ Any __MINA__ committer should have a shell account on svn.apache.org. Before you
 
 Once your password is set, you can use a command like this to commit:
 
-	svn commit
+    svn commit
 
 If Subversion can't figure out your username, you can tell it explicitly:
 
-	svn --username you commit
+    svn --username you commit
 
 Subversion will prompt you for a password, and once you enter it once, it will remember it for you. Note this is the password you configured with svnpasswd, not your shell or other password.
 
-<DIV class="note" markdown="1">
-	For committers to be able to commit modification, they should have had checked out the project files using <B>https</B> instead of <B>http</B>.
-</DIV>
+<div class="note" markdown="1">
+    For committers to be able to commit modification, they should have had checked out the project files using <strong>https</strong> instead of <strong>http</strong>.
+</div>
 
 ## Access from behind a firewall
 
 For those users who are stuck behind a corporate firewall which is blocking http access to the Subversion repository, you can try to access it via the developer connection:
 
-	$ svn checkout https://svn.apache.org/repos/asf/mina/asyncweb/trunk asyncweb
+    $ svn checkout https://svn.apache.org/repos/asf/mina/asyncweb/trunk asyncweb
 
 ## Access through a proxy
 
@@ -66,6 +53,6 @@ There are comments in the file explaining what to do. If you don't have that fil
 
 Example : Edit the 'servers' file and add something like :
 
-	[global]
-	http-proxy-host = your.proxy.name
-	http-proxy-port = 3128
+    [global]
+    http-proxy-host = your.proxy.name
+    http-proxy-port = 3128
diff --git a/content/contact.mdtext b/source/contact.md
similarity index 76%
rename from content/contact.mdtext
rename to source/contact.md
index a61d449..0bcce74 100644
--- a/content/contact.mdtext
+++ b/source/contact.md
@@ -1,34 +1,16 @@
-Title: Contact
-Notice:    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.
+---
+title: Contact
+---
 
 # Table of Contents
 
-* Overview
-* Before Posting Your Message
-** Step-by-Step Guide to Problem Reporting
-** Asking for a New Feature
-* Other Ways to Contact the MINA Community
+{{% toc %}}
 
 # Overview
 
 The Apache MINA project has a very active and responsive community. You will get more than you expect from usual open source communities here. Mostly, communication among the team and the users takes place in the following places:
 
-* [Mailing Lists](http://mina.apache.org/mailing-lists.html)
+* [Mailing Lists](mailing-lists.html)
 * [Issue Tracker](http://issues.apache.org/jira/browse/DIRMINA)
 
 People in the community usually:
diff --git a/content/contributors.mdtext b/source/contributors.md
similarity index 58%
rename from content/contributors.mdtext
rename to source/contributors.md
index 19f06b9..69f52d6 100644
--- a/content/contributors.mdtext
+++ b/source/contributors.md
@@ -1,20 +1,6 @@
-Title: Apache MINA - Contributors
-Notice:    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.
+---
+title: Apache MINA - Contributors
+---
 
 # Project Management Committee
 
diff --git a/content/downloads-ftpserver.mdtext b/source/downloads-ftpserver.md
similarity index 58%
rename from content/downloads-ftpserver.mdtext
rename to source/downloads-ftpserver.md
index f14e4d4..e836ef6 100644
--- a/content/downloads-ftpserver.mdtext
+++ b/source/downloads-ftpserver.md
@@ -1,27 +1,13 @@
-Title: Downloads
-Notice:    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.
-
+---
+title: Downloads
+---
 
 # Latest FTPServer Releases
 
 The latest release is the [Apache FtpServer 1.1.1 Release](ftpserver-project/download_1.1.1.html)
 
 # All Releases
+
 * [Apache FtpServer 1.1.1 Release](ftpserver-project/download_1.1.1.html)
 * [Apache FtpServer 1.1.0 Release](ftpserver-project/download_1.1.0.html)
 * [Apache FtpServer 1.0.6 Release](ftpserver-project/download_1.0.6.html)
@@ -39,4 +25,3 @@ The latest release is the [Apache FtpServer 1.1.1 Release](ftpserver-project/dow
 
 # Maven Repositories
 All Apache FtpServer releases are available from the Maven central repository
-
diff --git a/content/downloads-mina_2_0.mdtext b/source/downloads-mina_2_0.md
similarity index 67%
rename from content/downloads-mina_2_0.mdtext
rename to source/downloads-mina_2_0.md
index 285400c..78221a6 100644
--- a/content/downloads-mina_2_0.mdtext
+++ b/source/downloads-mina_2_0.md
@@ -1,24 +1,10 @@
-Title: MINA 2.0.x Downloads
-Notice:    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.
+---
+title: MINA 2.0.x Downloads
+---
 
 # Latest MINA Releases
 
-## Apache MINA 2.0.21 <FONT color="green">stable</FONT> (Java 7+)
+## Apache MINA 2.0.21 <font color="green">stable</font> (Java 7+)
 
 ### Binaries
 
@@ -32,19 +18,16 @@ Notice:    Licensed to the Apache Software Foundation (ASF) under one
 * .src.tar.bz2 archive [mina-2.0.21](https://www.apache.org/dyn/closer.lua/mina/mina/2.0.21/apache-mina-2.0.21-src.tar.bz2) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.tar.bz2.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.tar.bz2.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.tar.bz2.asc))
 * .src.zip archive [mina-2.0.21](https://www.apache.org/dyn/closer.lua/mina/mina/2.0.21/apache-mina-2.0.21-src.zip) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.zip.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.zip.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.zip.asc))
 
-<DIV class="note" markdown="1">
-	For people wanting to use the <B>serial</B> package, we don't include the <B>rxtx.jar</B> library in the releases, as it's under a LGPL license. Please download it from <A href="http://rxtx.qbang.org/wiki/index.php/Download" class="external-link" rel="nofollow">http://rxtx.qbang.org/wiki/index.php/Download</A> or add the associated dependency in your maven pom.xml :
-
-	<P>
-	&lt;dependency&gt;<BR>
-	&nbsp;&nbsp;&lt;groupId&gt;org.rxtx&lt;/groupId&gt;<BR>
-	&nbsp;&nbsp;&lt;artifactId&gt;rxtx&lt;/artifactId&gt;<BR>
-	&nbsp;&nbsp;&lt;version&gt;2.1.7&lt;/version&gt;<BR>
-	&nbsp;&nbsp;&lt;scope&gt;provided&lt;/scope&gt;<BR>
-	&lt;/dependency&gt;
-	</P>
-</DIV>
+<div class="note" markdown="1">
+    For people wanting to use the <strong>serial</strong> package, we don't include the <strong>rxtx.jar</strong> library in the releases, as it's under a LGPL license. Please download it from <a href="http://rxtx.qbang.org/wiki/index.php/Download" class="external-link" rel="nofollow">http://rxtx.qbang.org/wiki/index.php/Download</a> or add the associated dependency in your maven pom.xml :
 
+    <dependency>
+        <groupId>org.rxtx</groupId>
+        <artifactId>rxtx</artifactId>
+        <version>2.1.7</version>
+        <scope>provided<scope>
+    </dependency>
+</div>
 
 ## Older versions
 
@@ -54,18 +37,24 @@ Older versions can be found [on https://archive.apache.org/dist/mina/](https://a
 
 The PGP signatures can be verified using PGP or GPG. First download the [KEYS](https://www.apache.org/dist/mina/KEYS) as well as the asc signature file for the relevant distribution. Then verify the signatures using:
 
-	$ pgpk -a KEYS
-	$ pgpv mina-2.0.21.tar.gz.asc
+```bash
+$ pgpk -a KEYS
+$ pgpv mina-2.0.21.tar.gz.asc
+```
 
-<P>or</P>
+or
 
-	$ pgp -ka KEYS
-	$ pgp mina-2.0.21.tar.gz.asc
+```bash
+$ pgp -ka KEYS
+$ pgp mina-2.0.21.tar.gz.asc
+```
 
-<P>or</P>
+or
 
-	$ gpg --import KEYS
-	$ gpg --verify mina-2.0.21.tar.gz.asc
+```bash
+$ gpg --import KEYS
+$ gpg --verify mina-2.0.21.tar.gz.asc
+```
 
 # Previous Releases
 
@@ -75,9 +64,9 @@ The previous releases can be found on [https://archive.apache.org/dist/mina/](ht
 
 The version number of MINA has the following form:
 
-<DIV class="info" markdown="1">
-	<TT>&lt;major&gt;.&lt;minor&gt;.&lt;micro&gt;[-milestone number&gt; or -RC&lt;release candidate number&gt;]
-</DIV>
+<div class="info" markdown="1">
+    <tt>&lt;major&gt;.&lt;minor&gt;.&lt;micro&gt;[-milestone number&gt; or -RC&lt;release candidate number&gt;]</tt>
+</div>
 
 This scheme has three number components:
 
@@ -95,8 +84,8 @@ MINA is not a stand-alone software, so 'the feature set' here also includes the
 
 Here's an example that illustrates how MINA version number increases:
 
-<DIV class="info" markdown="1">
-	2.0.0-M1 -> 2.0.0-M3 -> 2.0.0-M3 -> 2.0.0-M4 ->  2.0.0-RC1 -> 2.0.0-RC2 -> 2.0.0-RC3 - <B>2.0.0</B> -> 2.0.1 ->; 2.0.2 ->; 2.1.0-M1 ...
-</DIV>
+<div class="info" markdown="1">
+    2.0.0-M1 -> 2.0.0-M3 -> 2.0.0-M3 -> 2.0.0-M4 ->  2.0.0-RC1 -> 2.0.0-RC2 -> 2.0.0-RC3 - <strong>2.0.0</strong> -> 2.0.1 ->; 2.0.2 ->; 2.1.0-M1 ...
+</div>
 
 Please note that we always specify the micro number, even if it's zero.
diff --git a/content/downloads-mina_2_1.mdtext b/source/downloads-mina_2_1.md
similarity index 67%
rename from content/downloads-mina_2_1.mdtext
rename to source/downloads-mina_2_1.md
index 71c12b0..ead2841 100644
--- a/content/downloads-mina_2_1.mdtext
+++ b/source/downloads-mina_2_1.md
@@ -1,24 +1,10 @@
-Title: MINA Downloads
-Notice:    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.
+---
+title: MINA Downloads
+---
 
 # Latest MINA Releases
 
-## Apache MINA 2.1.3 <FONT color="green">stable</FONT> (Java 8+)
+## Apache MINA 2.1.3 <font color="green">stable</font> (Java 8+)
 
 ### Binaries
 
@@ -32,18 +18,16 @@ Notice:    Licensed to the Apache Software Foundation (ASF) under one
 * .src.tar.bz2 archive [mina-2.1.3](https://www.apache.org/dyn/closer.lua/mina/mina/2.1.3/apache-mina-2.1.3-src.tar.bz2) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.tar.bz2.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.tar.bz2.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.tar.bz2.asc))
 * .src.zip archive [mina-2.1.3](https://www.apache.org/dyn/closer.lua/mina/mina/2.1.3/apache-mina-2.1.3-src.zip) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.zip.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.zip.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.zip.asc))
 
-<DIV class="note" markdown="1">
-	For people wanting to use the <B>serial</B> package, we don't include the <B>rxtx.jar</B> library in the releases, as it's under a LGPL license. Please download it from <A href="http://rxtx.qbang.org/wiki/index.php/Download" class="external-link" rel="nofollow">http://rxtx.qbang.org/wiki/index.php/Download</A> or add the associated dependency in your maven pom.xml :
+<div class="note" markdown="1">
+    For people wanting to use the <strong>serial</strong> package, we don't include the <strong>rxtx.jar</strong> library in the releases, as it's under a LGPL license. Please download it from <a href="http://rxtx.qbang.org/wiki/index.php/Download" class="external-link" rel="nofollow">http://rxtx.qbang.org/wiki/index.php/Download</a> or add the associated dependency in your maven pom.xml :
 
-	<P>
-	&lt;dependency&gt;<BR>
-	&nbsp;&nbsp;&lt;groupId&gt;org.rxtx&lt;/groupId&gt;<BR>
-	&nbsp;&nbsp;&lt;artifactId&gt;rxtx&lt;/artifactId&gt;<BR>
-	&nbsp;&nbsp;&lt;version&gt;2.1.7&lt;/version&gt;<BR>
-	&nbsp;&nbsp;&lt;scope&gt;provided&lt;/scope&gt;<BR>
-	&lt;/dependency&gt;
-	</P>
-</DIV>
+    <dependency>
+        <groupId>org.rxtx</groupId>
+        <artifactId>rxtx</artifactId>
+        <version>2.1.7</version>
+        <scope>provided<scope>
+    </dependency>
+</div>
 
 
 ## Older versions
@@ -54,18 +38,24 @@ Older versions can be found [on https://archive.apache.org/dist/mina/](https://a
 
 The PGP signatures can be verified using PGP or GPG. First download the [KEYS](https://www.apache.org/dist/mina/KEYS) as well as the asc signature file for the relevant distribution. Then verify the signatures using:
 
-	$ pgpk -a KEYS
-	$ pgpv mina-2.1.3.tar.gz.asc
+```bash
+$ pgpk -a KEYS
+$ pgpv mina-2.1.3.tar.gz.asc
+```
 
-<P>or</P>
+or
 
-	$ pgp -ka KEYS
-	$ pgp mina-2.1.3.tar.gz.asc
+```bash
+$ pgp -ka KEYS
+$ pgp mina-2.1.3.tar.gz.asc
+```
 
-<P>or</P>
+or
 
-	$ gpg --import KEYS
-	$ gpg --verify mina-2.1.3.tar.gz.asc
+```bash
+$ gpg --import KEYS
+$ gpg --verify mina-2.1.3.tar.gz.asc
+```
 
 # Previous Releases
 
@@ -75,9 +65,9 @@ The previous releases can be found on [https://archive.apache.org/dist/mina/](ht
 
 The version number of MINA has the following form:
 
-<DIV class="info" markdown="1">
-	<TT>&lt;major&gt;.&lt;minor&gt;.&lt;micro&gt;[-milestone number&gt; or -RC&lt;release candidate number&gt;]
-</DIV>
+<div class="info" markdown="1">
+    <tt>&lt;major&gt;.&lt;minor&gt;.&lt;micro&gt;[-milestone number&gt; or -RC&lt;release candidate number&gt;]
+</div>
 
 This scheme has three number components:
 
@@ -95,8 +85,8 @@ MINA is not a stand-alone software, so 'the feature set' here also includes the
 
 Here's an example that illustrates how MINA version number increases:
 
-<DIV class="info" markdown="1">
-	2.0.0-M1 -> 2.0.0-M3 -> 2.0.0-M3 -> 2.0.0-M4 ->  2.0.0-RC1 -> 2.0.0-RC2 -> 2.0.0-RC3 - <B>2.0.0</B> -> 2.0.1 ->; 2.0.2 ->; 2.1.3-M1 ...
-</DIV>
+<div class="info" markdown="1">
+    2.0.0-M1 -> 2.0.0-M3 -> 2.0.0-M3 -> 2.0.0-M4 ->  2.0.0-RC1 -> 2.0.0-RC2 -> 2.0.0-RC3 - <strong>2.0.0</strong> -> 2.0.1 ->; 2.0.2 ->; 2.1.3-M1 ...
+</div>
 
 Please note that we always specify the micro number, even if it's zero.
diff --git a/source/downloads-sshd.md b/source/downloads-sshd.md
new file mode 100644
index 0000000..8b76fac
--- /dev/null
+++ b/source/downloads-sshd.md
@@ -0,0 +1,48 @@
+---
+title: Downloads
+---
+
+# Latest SSHD Releases
+
+The latest release is the SSHD 2.4.0 release.
+ 
+* Source distributions:
+    * [Apache Mina SSHD 2.4.0 Sources (.tar.gz)](https://www.apache.org/dyn/closer.lua/mina/sshd/2.4.0/apache-sshd-2.4.0-src.tar.gz) [PGP](https://www.apache.org/dist/mina/sshd/2.4.0/apache-sshd-2.4.0-src.tar.gz.asc) [SHA](https://www.apache.org/dist/mina/sshd/2.4.0/apache-sshd-2.4.0-src.tar.gz.sha1)
+    * [Apache Mina SSHD 2.4.0 Sources (.zip)](https://www.apache.org/dyn/closer.lua/mina/sshd/2.4.0/apache-sshd-2.4.0-src.zip) [PGP](https://www.apache.org/dist/mina/sshd/2.4.0/apache-sshd-2.4.0-src.zip.asc) [SHA](https://www.apache.org/dist/mina/sshd/2.4.0/apache-sshd-2.4.0-src.zip.sha1)
+* Binary distributions:
+    * [Apache Mina SSHD 2.4.0 Binary (.tar.gz)](https://www.apache.org/dyn/closer.lua/mina/sshd/2.4.0/dist/apache-sshd-2.4.0.tar.gz) [PGP](https://www.apache.org/dist/mina/sshd/2.4.0/apache-sshd-2.4.0.tar.gz.asc) [SHA](https://www.apache.org/dist/mina/sshd/2.4.0/apache-sshd-2.4.0.tar.gz.sha1)
+    * [Apache Mina SSHD 2.4.0 Binary (.zip)](https://www.apache.org/dyn/closer.lua/mina/sshd/2.4.0/dist/apache-sshd-2.4.0.zip) [PGP](https://www.apache.org/dist/mina/sshd/2.4.0/apache-sshd-2.4.0.zip.asc) [SHA](https://www.apache.org/dist/mina/sshd/2.4.0/apache-sshd-2.4.0.zip.sha1)
+
+# Development snapshots
+
+You can [build](sshd-project/building.html) the latest version from [sources](sshd-project/sources.html).
+
+# Previous releases
+
+* [SSHD 0.1.0](sshd-project/download_0.1.0.html)
+* [SSHD 0.2.0](sshd-project/download_0.2.0.html)
+* [SSHD 0.3.0](sshd-project/download_0.3.0.html)
+* [SSHD 0.4.0](sshd-project/download_0.4.0.html)
+* [SSHD 0.5.0](sshd-project/download_0.5.0.html)
+* [SSHD 0.6.0](sshd-project/download_0.6.0.html)
+* [SSHD 0.7.0](sshd-project/download_0.7.0.html)
+* [SSHD 0.8.0](sshd-project/download_0.8.0.html)
+* [SSHD 0.9.0](sshd-project/download_0.9.0.html)
+* [SSHD 0.10.0](sshd-project/download_0.10.0.html)
+* [SSHD 0.10.1](sshd-project/download_0.10.1.html)
+* [SSHD 0.11.0](sshd-project/download_0.11.0.html)
+* [SSHD 0.12.0](sshd-project/download_0.12.0.html)
+* [SSHD 0.13.0](sshd-project/download_0.13.0.html)
+* [SSHD 0.14.0](sshd-project/download_0.14.0.html)
+* [SSHD 1.0.0](sshd-project/download_1.0.0.html)
+* [SSHD 1.1.0](sshd-project/download_1.1.0.html)
+* [SSHD 1.1.1](sshd-project/download_1.1.1.html)
+* [SSHD 1.2.0](sshd-project/download_1.2.0.html)
+* [SSHD 1.3.0](sshd-project/download_1.3.0.html)
+* [SSHD 1.4.0](sshd-project/download_1.4.0.html)
+* [SSHD 1.6.0](sshd-project/download_1.6.0.html)
+* [SSHD 1.7.0](sshd-project/download_1.7.0.html)
+* [SSHD 2.0.0](sshd-project/download_2.0.0.html)
+* [SSHD 2.1.0](sshd-project/download_2.1.0.html)
+* [SSHD 2.2.0](sshd-project/download_2.2.0.html)
+* [SSHD 2.3.0](sshd-project/download_2.3.0.html)
diff --git a/source/downloads-vysper.md b/source/downloads-vysper.md
new file mode 100644
index 0000000..d377754
--- /dev/null
+++ b/source/downloads-vysper.md
@@ -0,0 +1,17 @@
+---
+title: Vysper Downloads
+---
+
+# Latest Vysper Releases
+
+The latest release is the [Apache Vysper 0.7 Release](vysper-project/download_0.7.html)
+
+# All Releases
+
+* [Apache Vysper 0.7 Release](vysper-project/download_0.7.html)
+* [Apache Vysper 0.6 Release](vysper-project/download_0.6.html)
+* [Apache Vysper 0.5 Release](vysper-project/download_0.5.html)
+
+# Maven Repositories
+
+All Apache Vysper releases are available from the Maven central repository 
diff --git a/source/ftpserver-project/__index.md b/source/ftpserver-project/__index.md
new file mode 100644
index 0000000..df3d8dc
--- /dev/null
+++ b/source/ftpserver-project/__index.md
@@ -0,0 +1,24 @@
+---
+type: ftpserver
+title: FtpServer Home
+slug: index
+---
+
+# Welcome to Apache FtpServer
+
+## Overview
+
+The Apache FtpServer is a 100% pure Java FTP server. It's designed to be a complete and portable FTP server engine solution based on currently available open protocols. FtpServer can be run standalone as a Windows service or Unix/Linux daemon, or embedded into a Java application. We also provide support for integration within [Spring](http://www.springsource.org/) applications and provide our releases as OSGi bundles.
+
+The default network support is based on [Apache MINA](/), a high performance asynchronous IO library. Using MINA, FtpServer can scale to a large number of concurrent users.
+
+It is also an FTP application platform. We have developed a Java API to let you write Java code to process FTP event notifications that we call the Ftplet API. Apache FtpServer provides an implementation of an FTP server to support this API.
+
+To get started, have a look at one of our tutorials:
+
+* [Embedding FtpServer in 5 minutes](embedding_ftpserver.html)
+* [Running FtpServer stand-alone in 5 minutes](running_ftpserver_standalone.html)
+
+You can also have a look at the documentation for how to configure FtpServer to suite your needs.
+
+
diff --git a/source/ftpserver-project/building.md b/source/ftpserver-project/building.md
new file mode 100644
index 0000000..03cf073
--- /dev/null
+++ b/source/ftpserver-project/building.md
@@ -0,0 +1,28 @@
+---
+type: ftpserver
+title: FtpServer Building
+---
+
+# Building
+
+You need [Subversion](http://svnbook.red-bean.com/) to [check out the source code](http://apache.org/dev/version-control.html) from [our source code repository](getting_source.html), and [Maven 2](http://maven.apache.org/download.html) to build the source code. Currently, Maven 2.0.5 or 2.0.7 or newer is required for the build.
+
+The following example shows how to build the trunk.
+
+    $ svn co http://svn.apache.org/repos/asf/mina/ftpserver/trunk/ ftpserver
+    $ cd ftpserver
+    $ mvn install
+
+If you run into any problems running these steps, please report on the [mailing lists](mailing_list.html)
+
+If you want to generate Eclipse project files, run:
+
+    $ mvn eclipse:eclipse   # Generate Eclipse project files if you want
+
+To generate to distribution packages, including shell scripts and example configuration, run:
+
+    cd distribution
... 15426 lines suppressed ...


[mina-site] 02/08: Copy of svn revision 1860508

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mina-site.git

commit a5a6afd7a76382890a93639d0c37a7ed8dc9a14f
Author: Roy Lenferink <le...@gmail.com>
AuthorDate: Mon Feb 24 11:37:31 2020 +0100

    Copy of svn revision 1860508
    
    Link:
    https://svn.apache.org/repos/asf/mina/site/trunk/?p=1860508
---
 content/asyncweb-project/contributors.mdtext       |  33 +
 content/asyncweb-project/documentation.mdtext      |  23 +
 content/asyncweb-project/getting_involved.mdtext   |  27 +
 content/asyncweb-project/index.mdtext              |  32 +
 content/asyncweb-project/references.mdtext         |  23 +
 content/asyncweb-project/reporting_bug.mdtext      |  35 +
 content/asyncweb-project/sources.mdtext            |  71 ++
 content/contact.mdtext                             |  79 ++
 content/contributors.mdtext                        |  71 ++
 content/css/asyncweb.css                           |  40 +
 content/css/common.css                             | 684 ++++++++++++++++
 content/css/ftpserver.css                          |  40 +
 content/css/mina.css                               |  48 ++
 content/css/sshd.css                               |  40 +
 content/css/vysper.css                             |  40 +
 content/downloads-ftpserver.mdtext                 |  42 +
 content/downloads-mina_2_0.mdtext                  | 102 +++
 content/downloads-mina_2_1.mdtext                  | 102 +++
 content/downloads-sshd.mdtext                      |  60 ++
 content/downloads-vysper.mdtext                    |  33 +
 content/extpaths.txt                               |  87 +++
 content/ftpserver-project/building.mdtext          |  42 +
 content/ftpserver-project/configuration.mdtext     |  49 ++
 .../configuration_listeners.mdtext                 | 125 +++
 .../ftpserver-project/configuration_logging.mdtext |  59 ++
 .../configuration_passive_ports.mdtext             |  36 +
 .../ftpserver-project/configuration_server.mdtext  |  51 ++
 .../configuration_ssltls_support.mdtext            |  64 ++
 .../configuration_user_manager.mdtext              |  33 +
 .../configuration_user_manager_db.mdtext           | 124 +++
 .../configuration_user_manager_file.mdtext         |  36 +
 content/ftpserver-project/contributors.mdtext      |  32 +
 content/ftpserver-project/documentation.mdtext     |  59 ++
 content/ftpserver-project/download_1.0.0-M2.mdtext |  80 ++
 content/ftpserver-project/download_1.0.0-M3.mdtext |  80 ++
 content/ftpserver-project/download_1.0.0-M4.mdtext |  80 ++
 .../ftpserver-project/download_1.0.0-RC1.mdtext    |  81 ++
 .../ftpserver-project/download_1.0.0-RC2.mdtext    |  82 ++
 content/ftpserver-project/download_1.0.0.mdtext    |  82 ++
 content/ftpserver-project/download_1.0.1.mdtext    |  81 ++
 content/ftpserver-project/download_1.0.2.mdtext    |  82 ++
 content/ftpserver-project/download_1.0.3.mdtext    |  82 ++
 content/ftpserver-project/download_1.0.4.mdtext    |  82 ++
 content/ftpserver-project/download_1.0.5.mdtext    |  81 ++
 content/ftpserver-project/download_1.0.6.mdtext    |  82 ++
 content/ftpserver-project/download_1.1.0.mdtext    |  82 ++
 content/ftpserver-project/download_1.1.1.mdtext    |  85 ++
 content/ftpserver-project/downloads.mdtext         |  42 +
 .../ftpserver-project/draft-twine-ftpmd5-00.mdtext | 373 +++++++++
 .../ftpserver-project/embedding_ftpserver.mdtext   |  76 ++
 content/ftpserver-project/faq.mdtext               | 108 +++
 content/ftpserver-project/features.mdtext          |  36 +
 content/ftpserver-project/ftplet.mdtext            | 187 +++++
 .../ftpserver_as_windows_service.mdtext            |  48 ++
 .../ftpserver-project/ftpserver_commands.mdtext    | 475 +++++++++++
 content/ftpserver-project/ftpserver_port_21.mdtext |  29 +
 .../ftpserver_site_commands.mdtext                 |  92 +++
 content/ftpserver-project/getting_involved.mdtext  |  27 +
 content/ftpserver-project/getting_source.mdtext    |  48 ++
 content/ftpserver-project/index.mdtext             |  37 +
 content/ftpserver-project/installation.mdtext      |  61 ++
 content/ftpserver-project/mailing_list.mdtext      |  53 ++
 content/ftpserver-project/managing_users.mdtext    |  60 ++
 content/ftpserver-project/messages.mdtext          |  75 ++
 content/ftpserver-project/related_project.mdtext   |  30 +
 content/ftpserver-project/releasing.mdtext         |  73 ++
 content/ftpserver-project/reporting_bug.mdtext     |  35 +
 .../running_ftpserver_standalone.mdtext            |  58 ++
 content/ftpserver-project/testimonials.mdtext      |  28 +
 content/index.mdtext                               |  32 +
 content/mailing-lists.mdtext                       |  89 +++
 content/mina-project/2.1-vs-2.0.mdtext             |  89 +++
 content/mina-project/ImprovedJavaConventions.xml   | 251 ++++++
 content/mina-project/codec-repo.mdtext             |  49 ++
 content/mina-project/conferences.mdtext            |  31 +
 content/mina-project/developer-guide.mdtext        | 616 +++++++++++++++
 content/mina-project/documentation.mdtext          |  91 +++
 content/mina-project/downloads_2_0.mdtext          |  96 +++
 content/mina-project/downloads_2_1.mdtext          |  96 +++
 content/mina-project/downloads_old.mdtext          | 226 ++++++
 content/mina-project/faq.mdtext                    | 221 ++++++
 content/mina-project/features.mdtext               |  43 +
 content/mina-project/index.mdtext                  |  34 +
 content/mina-project/issue-tracking.mdtext         |  43 +
 content/mina-project/mailing-lists.mdtext          |  91 +++
 content/mina-project/news.mdtext                   | 439 +++++++++++
 content/mina-project/performances.mdtext           |  54 ++
 content/mina-project/quick-start-guide.mdtext      | 231 ++++++
 content/mina-project/related-projects.mdtext       | 101 +++
 content/mina-project/resources/ACAsia2006.pdf      | Bin 0 -> 219297 bytes
 content/mina-project/resources/ACEU2006.pdf        | Bin 0 -> 8479903 bytes
 content/mina-project/resources/ACEU2007.pdf        | Bin 0 -> 5013660 bytes
 content/mina-project/resources/ACUS2005.pdf        | Bin 0 -> 376301 bytes
 content/mina-project/resources/ACUS2005.swf        | Bin 0 -> 3707298 bytes
 content/mina-project/resources/ACUS2007.pdf        | Bin 0 -> 5608778 bytes
 content/mina-project/resources/JavaOne2008.pdf     | Bin 0 -> 1687944 bytes
 .../resources/Mina_in_real_life_ASEU-2009.pdf      |   9 +
 content/mina-project/road-map.mdtext               |  36 +
 .../mina-project/set-svnprops-tortoisesvn.mdtext   |  82 ++
 content/mina-project/sources.mdtext                | 110 +++
 .../technical-documentation/message-flow.mdtext    | 206 +++++
 .../ssl-tls-internal.mdtext                        |  66 ++
 content/mina-project/testimonials.mdtext           | 119 +++
 .../ch1-getting-started/ch1-getting-started.mdtext |  33 +
 .../ch1-getting-started/ch1.1-nio-overview.mdtext  |  58 ++
 .../ch1-getting-started/ch1.2-why-mina.mdtext      |  58 ++
 .../ch1-getting-started/ch1.3-features.mdtext      |  50 ++
 .../ch1-getting-started/ch1.4-first-steps.mdtext   | 104 +++
 .../ch1-getting-started/ch1.5-summary.mdtext       |  29 +
 .../ch10-executor-filter.mdtext                    |  47 ++
 .../ch11-ssl-filter/ch11-ssl-filter.mdtext         | 321 ++++++++
 .../ch12-logging-filter/ch12-logging-filter.mdtext | 120 +++
 .../userguide/ch13-debugging/ch13-debugging.mdtext |  26 +
 .../ch14-state-machine/ch14-state-machine.mdtext   | 563 +++++++++++++
 .../userguide/ch15-proxy/ch15-proxy.mdtext         |  27 +
 .../ch16-jmx-support/ch16-jmx-support.mdtext       |  92 +++
 .../ch17-spring-integration.mdtext                 | 131 ++++
 .../userguide/ch2-basics/ch2-basics.mdtext         |  37 +
 .../ch2.1-application-architecture.mdtext          |  66 ++
 .../ch2-basics/ch2.1.1-server-architecture.mdtext  |  47 ++
 .../ch2-basics/ch2.1.2-client-architecture.mdtext  |  36 +
 .../ch2-basics/ch2.2-sample-tcp-server.mdtext      | 244 ++++++
 .../ch2-basics/ch2.3-sample-tcp-client.mdtext      | 123 +++
 .../ch2-basics/ch2.4-sample-udp-server.mdtext      |  99 +++
 .../ch2-basics/ch2.5-sample-udp-client.mdtext      |  83 ++
 .../userguide/ch2-basics/ch2.6-summary.mdtext      |  29 +
 .../userguide/ch3-service/ch3-service.mdtext       |  39 +
 .../userguide/ch3-service/ch3.1-io-service.mdtext  | 161 ++++
 .../ch3-service/ch3.2-io-service-details.mdtext    |  73 ++
 .../userguide/ch3-service/ch3.3-acceptor.mdtext    | 122 +++
 .../userguide/ch3-service/ch3.4-connector.mdtext   |  45 ++
 .../userguide/ch4-session/ch4-session.mdtext       | 247 ++++++
 .../ch4-session/ch4.1-session-configuration.mdtext |  88 +++
 .../ch4-session/ch4.2-session-statistics.mdtext    |  42 +
 .../userguide/ch5-filters/ch5-filters.mdtext       | 202 +++++
 .../ch5-filters/ch5.1-blacklist-filter.mdtext      |  66 ++
 .../ch5-filters/ch5.10-mdc-injection-filter.mdtext |  27 +
 .../ch5-filters/ch5.11-noop-filter.mdtext          |  27 +
 .../ch5-filters/ch5.12-profiler-filter.mdtext      |  27 +
 .../ch5.13-protocol-codec-filter.mdtext            |  27 +
 .../ch5-filters/ch5.14-proxy-filter.mdtext         |  27 +
 .../ch5.15-reference-counting-filter.mdtext        |  27 +
 .../ch5.16-request-response-filter.mdtext          |  27 +
 ...17-session-attribute-initializing-filter.mdtext |  27 +
 .../ch5-filters/ch5.18-stream-write-filter.mdtext  |  27 +
 .../userguide/ch5-filters/ch5.19-ssl-filter.mdtext |  27 +
 .../ch5-filters/ch5.2-buffered-write-filter.mdtext |  27 +
 .../ch5-filters/ch5.20-write-request-filter.mdtext |  27 +
 .../ch5-filters/ch5.3-compression-filter.mdtext    |  65 ++
 .../ch5.4-connection-throttle-filter.mdtext        |  27 +
 .../ch5.5-error-generating-filter.mdtext           |  27 +
 .../ch5-filters/ch5.6-executor-filter.mdtext       |  27 +
 .../ch5.7-file-region-write-filter.mdtext          |  27 +
 .../ch5-filters/ch5.8-keep-alive-filter.mdtext     |  27 +
 .../ch5-filters/ch5.9-logging-filter.mdtext        |  84 ++
 .../userguide/ch6-transports/ch6-transports.mdtext |  28 +
 .../ch6-transports/ch6.1-apr-transport.mdtext      |  77 ++
 .../ch6-transports/ch6.2-serial-transport.mdtext   |  85 ++
 .../userguide/ch7-handler/ch7-handler.mdtext       |  67 ++
 .../userguide/ch8-iobuffer/ch8-iobuffer.mdtext     | 143 ++++
 .../ch9-codec-filter/ch9-codec-filter.mdtext       | 438 +++++++++++
 .../userguide/images/TLS-inMessage.graphml         | 195 +++++
 .../userguide/images/TLS-inMessage.png             | Bin 0 -> 16973 bytes
 .../userguide/images/TLS-outMessage.graphml        | 317 ++++++++
 .../userguide/images/TLS-outMessage.png            | Bin 0 -> 22031 bytes
 .../userguide/images/TLS-protocol.graphml          | 356 +++++++++
 .../mina-project/userguide/images/TLS-protocol.png | Bin 0 -> 15090 bytes
 .../userguide/images/TLS-unwrap.graphml            | 868 +++++++++++++++++++++
 .../mina-project/userguide/images/TLS-unwrap.png   | Bin 0 -> 31277 bytes
 .../mina-project/userguide/user-guide-toc.mdtext   |  86 ++
 content/privacy-policy.mdtext                      |  33 +
 content/special-thanks.mdtext                      |  40 +
 content/sshd-project/building.mdtext               |  28 +
 content/sshd-project/configuring_security.mdtext   |  48 ++
 content/sshd-project/contributors.mdtext           |  64 ++
 content/sshd-project/documentation.mdtext          |  32 +
 content/sshd-project/download_0.1.0.mdtext         |  35 +
 content/sshd-project/download_0.10.0.mdtext        |  36 +
 content/sshd-project/download_0.10.1.mdtext        |  37 +
 content/sshd-project/download_0.11.0.mdtext        |  36 +
 content/sshd-project/download_0.12.0.mdtext        |  36 +
 content/sshd-project/download_0.13.0.mdtext        |  34 +
 content/sshd-project/download_0.14.0.mdtext        |  34 +
 content/sshd-project/download_0.2.0.mdtext         |  48 ++
 content/sshd-project/download_0.3.0.mdtext         |  59 ++
 content/sshd-project/download_0.4.0.mdtext         |  57 ++
 content/sshd-project/download_0.5.0.mdtext         |  44 ++
 content/sshd-project/download_0.6.0.mdtext         |  67 ++
 content/sshd-project/download_0.7.0.mdtext         |  65 ++
 content/sshd-project/download_0.8.0.mdtext         |  36 +
 content/sshd-project/download_0.9.0.mdtext         |  36 +
 content/sshd-project/download_1.0.0.mdtext         |  34 +
 content/sshd-project/download_1.1.0.mdtext         |  34 +
 content/sshd-project/download_1.1.1.mdtext         |  34 +
 content/sshd-project/download_1.2.0.mdtext         |  34 +
 content/sshd-project/download_1.3.0.mdtext         |  25 +
 content/sshd-project/download_1.4.0.mdtext         |  25 +
 content/sshd-project/download_1.6.0.mdtext         |  34 +
 content/sshd-project/download_1.7.0.mdtext         |  34 +
 content/sshd-project/download_2.0.0.mdtext         |  41 +
 content/sshd-project/download_2.1.0.mdtext         |  58 ++
 content/sshd-project/downloads.mdtext              |  60 ++
 content/sshd-project/embedding_ssh.mdtext          |  85 ++
 content/sshd-project/faq.mdtext                    |  22 +
 content/sshd-project/features.mdtext               |  22 +
 content/sshd-project/getting_involved.mdtext       |  28 +
 content/sshd-project/index.mdtext                  |  25 +
 content/sshd-project/issue_tracking.mdtext         |  35 +
 content/sshd-project/load_ssh_editor.mdtext        |  37 +
 content/sshd-project/mailing_lists.mdtext          |  55 ++
 content/sshd-project/required_dependencies.mdtext  |  31 +
 content/sshd-project/sources.mdtext                |  49 ++
 content/sshd-project/tips.mdtext                   |  38 +
 content/staticresources/icons/check.gif            | Bin 0 -> 604 bytes
 content/staticresources/icons/forbidden.gif        | Bin 0 -> 613 bytes
 content/staticresources/icons/information.gif      | Bin 0 -> 1005 bytes
 content/staticresources/icons/warning.gif          | Bin 0 -> 569 bytes
 .../images/AsyncWeb-0.9.0-SNAPSHOT.png             | Bin 0 -> 7658 bytes
 content/staticresources/images/FAMFAMFAM_logo.png  | Bin 0 -> 2455 bytes
 content/staticresources/images/YourKit_logo.png    | Bin 0 -> 2841 bytes
 .../images/asyncweb/httpmessages.png               | Bin 0 -> 5621 bytes
 .../staticresources/images/asyncweb/httpserver.png | Bin 0 -> 9325 bytes
 content/staticresources/images/body-bg.png         | Bin 0 -> 216 bytes
 content/staticresources/images/content-bg.png      | Bin 0 -> 237 bytes
 content/staticresources/images/default.gif         | Bin 0 -> 1869 bytes
 content/staticresources/images/feed-icon16x16.png  | Bin 0 -> 764 bytes
 content/staticresources/images/footer.png          | Bin 0 -> 1120 bytes
 content/staticresources/images/header-asyncweb.png | Bin 0 -> 47793 bytes
 .../staticresources/images/header-ftpserver.png    | Bin 0 -> 58616 bytes
 content/staticresources/images/header-mina.png     | Bin 0 -> 59315 bytes
 content/staticresources/images/header-sshd.png     | Bin 0 -> 55483 bytes
 content/staticresources/images/header-vysper.png   | Bin 0 -> 48750 bytes
 content/staticresources/images/header.png          | Bin 0 -> 80209 bytes
 .../images/mina/IoServiceAcceptor.png              | Bin 0 -> 34110 bytes
 .../images/mina/IoServiceConnector.png             | Bin 0 -> 38596 bytes
 .../images/mina/IoService_mindmap.png              | Bin 0 -> 41050 bytes
 .../staticresources/images/mina/Server_arch.png    | Bin 0 -> 33362 bytes
 .../staticresources/images/mina/apparch_small.png  | Bin 0 -> 28498 bytes
 .../staticresources/images/mina/clientdiagram.png  | Bin 0 -> 25310 bytes
 .../staticresources/images/mina/codec-filter.jpeg  | Bin 0 -> 23785 bytes
 .../images/mina/incoming-connections.png           | Bin 0 -> 79854 bytes
 .../staticresources/images/mina/mina_app_arch.png  | Bin 0 -> 27527 bytes
 content/staticresources/images/mina/post-mina.png  | Bin 0 -> 838 bytes
 .../images/mina/selector-processor.graphml         | 303 +++++++
 .../images/mina/selector-processor.png             | Bin 0 -> 18004 bytes
 .../staticresources/images/mina/session-state.png  | Bin 0 -> 9829 bytes
 .../staticresources/images/mina/state-diagram.png  | Bin 0 -> 11756 bytes
 .../images/mina/tortoisesvn_setting.png            | Bin 0 -> 71759 bytes
 .../images/mina/tortoisesvn_settingdialog.png      | Bin 0 -> 52149 bytes
 content/staticresources/images/nav_next.png        | Bin 0 -> 1018 bytes
 content/staticresources/images/nav_prev.png        | Bin 0 -> 1018 bytes
 content/staticresources/images/nav_up.png          | Bin 0 -> 1020 bytes
 content/staticresources/images/news.png            | Bin 0 -> 838 bytes
 content/staticresources/images/post.png            | Bin 0 -> 658 bytes
 content/staticresources/pdfs/ACAsia2006.pdf        | Bin 0 -> 219297 bytes
 content/staticresources/pdfs/ACEU2006.pdf          | Bin 0 -> 8479903 bytes
 content/staticresources/pdfs/ACEU2007.pdf          | Bin 0 -> 5013660 bytes
 content/staticresources/pdfs/ACUS2005.pdf          | Bin 0 -> 376301 bytes
 content/staticresources/pdfs/ACUS2005.swf          | Bin 0 -> 3707298 bytes
 content/staticresources/pdfs/ACUS2007.pdf          | Bin 0 -> 5608778 bytes
 content/staticresources/pdfs/JavaOne2008.pdf       | Bin 0 -> 1687944 bytes
 .../pdfs/Mina_in_real_life_ASEU-2009.pdf           | Bin 0 -> 2564206 bytes
 content/validating-release.mdtext                  |  28 +
 content/vysper-project/dependencies.mdtext         |  36 +
 content/vysper-project/documentation.mdtext        |  50 ++
 content/vysper-project/download_0.5.mdtext         |  79 ++
 content/vysper-project/download_0.6.mdtext         |  89 +++
 content/vysper-project/download_0.7.mdtext         |  80 ++
 content/vysper-project/downloads.mdtext            |  33 +
 content/vysper-project/embed.mdtext                |  96 +++
 content/vysper-project/extending_server.mdtext     |  60 ++
 content/vysper-project/extension_roadmap.mdtext    |  57 ++
 content/vysper-project/getting_involved.mdtext     |  28 +
 content/vysper-project/index.mdtext                |  33 +
 content/vysper-project/issue_tracking.mdtext       |  35 +
 content/vysper-project/mailing_lists.mdtext        |  54 ++
 content/vysper-project/server_standalone.mdtext    |  37 +
 .../vysper-project/server_to_server_comm.mdtext    |  61 ++
 content/vysper-project/service_discovery.mdtext    |  67 ++
 content/vysper-project/socks5.mdtext               |  61 ++
 content/vysper-project/sources.mdtext              |  69 ++
 content/vysper-project/standards_supported.mdtext  |  45 ++
 .../vysper-project/stanza_processing_layer.mdtext  |  32 +
 content/vysper-project/test_client.mdtext          |  35 +
 content/vysper-project/user_guide.mdtext           |  29 +
 content/vysper-project/user_mgmt.mdtext            |  88 +++
 content/vysper-project/websocket_endpoint.mdtext   |  76 ++
 content/vysper-project/xml_processing.mdtext       |  33 +
 lib/path.pm                                        | 208 +++++
 lib/view.pm                                        | 119 +++
 templates/asyncweb-project/navigation.html         |  31 +
 templates/asyncweb-project/page.html               |  10 +
 templates/footer.html                              |  23 +
 templates/ftpserver-project/navigation.html        |  31 +
 templates/ftpserver-project/page.html              |  10 +
 templates/header.html                              | 103 +++
 templates/mina-project/index.html                  |   7 +
 templates/mina-project/navigation.html             |  62 ++
 templates/mina-project/page.html                   |  10 +
 templates/navigation.html                          |  37 +
 templates/page.html                                |  64 ++
 templates/sshd-project/navigation.html             |  30 +
 templates/sshd-project/page.html                   |  10 +
 templates/vysper-project/navigation.html           |  27 +
 templates/vysper-project/page.html                 |  10 +
 305 files changed, 20173 insertions(+)

diff --git a/content/asyncweb-project/contributors.mdtext b/content/asyncweb-project/contributors.mdtext
new file mode 100644
index 0000000..d7466e4
--- /dev/null
+++ b/content/asyncweb-project/contributors.mdtext
@@ -0,0 +1,33 @@
+Title: FtpServer Contributors
+Notice:    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.
+
+
+# Contributors
+
+## Commiters
+
+The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
+
+* Jeff Genender
+* Mike Heath
+* Alex Karasulu
+* Emmanuel L&eacute;charny
+* Sangjin Lee
+* Trustin Lee
+* Rick McGuire
+* Julien Vermillard
diff --git a/content/asyncweb-project/documentation.mdtext b/content/asyncweb-project/documentation.mdtext
new file mode 100644
index 0000000..1f54902
--- /dev/null
+++ b/content/asyncweb-project/documentation.mdtext
@@ -0,0 +1,23 @@
+Title: Documentation
+Notice:    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.
+
+
+# Documentation
+
+**Asyncweb** project is currently dormant. The documentation we have can be found on [AsyncWeb WIKI](https://cwiki.apache.org/AWEB/)
+
diff --git a/content/asyncweb-project/getting_involved.mdtext b/content/asyncweb-project/getting_involved.mdtext
new file mode 100644
index 0000000..2851ca1
--- /dev/null
+++ b/content/asyncweb-project/getting_involved.mdtext
@@ -0,0 +1,27 @@
+Title: FtpServer Getting Involved
+Notice:    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.
+
+
+# Getting Involved
+
+Apache Asyncweb communicates using our [Mailing Lists](../mailing-lists.html). If you have any questions, feedback or suggestions, you're very welcome to join the list and send an email. We are also happy to receive [bug reports and feature requests in our JIRA](https://issues.apache.org/jira/browse/ASYNCWEB).
+
+# Patches
+
+The best chance of getting your bug or feature fixed is to provide a patch, if they fit our goals we will usually have them commited within a few days. The Apache Contributors page has excellent [information on how to produce patches](http://apache.org/dev/contributors.html#patches).
+
diff --git a/content/asyncweb-project/index.mdtext b/content/asyncweb-project/index.mdtext
new file mode 100644
index 0000000..6932cb4
--- /dev/null
+++ b/content/asyncweb-project/index.mdtext
@@ -0,0 +1,32 @@
+Title: AsyncWeb
+Notice:    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.
+
+
+# Apache AsyncWeb
+
+<DIV class="note" markdown="1" >
+The **AsyncWeb** project is currently dormant. We don't have committers for it, so if you feel like you can give an hand, please do contact us !
+</DIV>
+
+Apache AsyncWeb (built on top of the Apache MINA network framework) employs non-blocking selector driven IO at the transport level, and is asynchronous thoughout - from the initial parsing of requests, right through to and including the services implemented by users.
+
+Apache AsyncWeb breaks away from the blocking request / response architecture found in todays popular HTTP engines. This allows it to be highly scalable and capable of supporting very high throughput - even in high processing latency scenarios.
+
+A simple API allows new asynchronous services to be created easily - and out-of-the-box Spring integration allows them to be configured simply and with great flexibility. In addition to "endpoint" HTTP services, AsyncWeb also allows configurable "chains" of behaviour - enabling "filter" like behaviour to be applied to all requests. Pluggable "resolvers" map incoming requests to their target HTTP service - and are given access to the entire incoming request - allowing the routing possibil [...]
+
+
diff --git a/content/asyncweb-project/references.mdtext b/content/asyncweb-project/references.mdtext
new file mode 100644
index 0000000..7b14635
--- /dev/null
+++ b/content/asyncweb-project/references.mdtext
@@ -0,0 +1,23 @@
+Title: References
+Notice:    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.
+
+
+# References
+
+* Interesting Comet article <http://cometdaily.com/2008/04/01/new-technology-new-problems-delayed-pushes-operations/>
+
diff --git a/content/asyncweb-project/reporting_bug.mdtext b/content/asyncweb-project/reporting_bug.mdtext
new file mode 100644
index 0000000..15511ad
--- /dev/null
+++ b/content/asyncweb-project/reporting_bug.mdtext
@@ -0,0 +1,35 @@
+Title: FtpServer Reporting Bugs
+Notice:    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.
+
+
+# Reporting a Bug
+
+We are using JIRA to track all AsynWeb issues including bugs. Please visit our [issue tracker page](http://issues.apache.org/jira/browse/ASYNCWEB) to report a bug. 
+
+## How to report a bug
+
+Writing a bug report with detailed information will help us to fix your problem sooner.
+
+* Make sure if the bug you are going to report doesn't exist yet.
+* Attaching JUnit test case which reproduces the problem will put your report in our highest priority.
+* Attach full thread stack dump if you suspect a dead lock.
+* Attach full heap dump if you suspect a memory leak.
+* Specify the environment in detail as much as possible.
+    * Operating system version, distribution, architecture, ...
+    * JVM vendor, version, build number, command line arguments, ...
+    * Network settings
diff --git a/content/asyncweb-project/sources.mdtext b/content/asyncweb-project/sources.mdtext
new file mode 100644
index 0000000..777f315
--- /dev/null
+++ b/content/asyncweb-project/sources.mdtext
@@ -0,0 +1,71 @@
+Title: Sources
+Notice:    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.
+
+Sources for the Apache Asyncweb projects are currently managed through Subversion (SVN). Instructions on Subversion use can be found at <http://svnbook.red-bean.com/>. If you are on Windows, the excellent TortoiseSVN client is highly recommended.
+
+For each project you can find a detailed description how to checkout and build the source on the project documentation. This page is just a short overview.
+
+# Web Access to Subversion
+
+If you just want to browse the source code, you can use the [web interface to Subversion](http://svn.apache.org/viewvc/mina/asyncweb). This is current at all times.
+
+# Normal Subversion Access
+
+Anyone can check code out of Subversion. You only need to specify a username and password in order to update the Subversion repository, and only MINA committers have the permissions to do that. We run Subversion over standard HTTPS, so hopefully you won't have problems with intervening firewalls.
+
+# Check out from Subversion
+
+Again, anyone can do this. Use a command like to checkout the current development version (the trunk):
+
+	svn checkout http://svn.apache.org/repos/asf/mina/asyncweb/trunk
+
+# Commit Changes to Subversion
+
+Any __MINA__ committer should have a shell account on svn.apache.org. Before you can commit, you'll need to set a Subversion password for yourself. To do that, log in to svn.apache.org and run the command svnpasswd.
+
+Once your password is set, you can use a command like this to commit:
+
+	svn commit
+
+If Subversion can't figure out your username, you can tell it explicitly:
+
+	svn --username you commit
+
+Subversion will prompt you for a password, and once you enter it once, it will remember it for you. Note this is the password you configured with svnpasswd, not your shell or other password.
+
+<DIV class="note" markdown="1">
+	For committers to be able to commit modification, they should have had checked out the project files using <B>https</B> instead of <B>http</B>.
+</DIV>
+
+## Access from behind a firewall
+
+For those users who are stuck behind a corporate firewall which is blocking http access to the Subversion repository, you can try to access it via the developer connection:
+
+	$ svn checkout https://svn.apache.org/repos/asf/mina/asyncweb/trunk asyncweb
+
+## Access through a proxy
+
+The Subversion client can go through a proxy, if you configure it to do so. First, edit your "servers" configuration file to indicate which proxy to use. The files location depends on your operating system. On Linux or Unix it is located in the directory "~/.subversion". On Windows it is in "%APPDATA%\Subversion". (Try "echo %APPDATA%", note this is a hidden directory.)
+
+There are comments in the file explaining what to do. If you don't have that file, get the latest Subversion client and run any command; this will cause the configuration directory and template files to be created.
+
+Example : Edit the 'servers' file and add something like :
+
+	[global]
+	http-proxy-host = your.proxy.name
+	http-proxy-port = 3128
diff --git a/content/contact.mdtext b/content/contact.mdtext
new file mode 100644
index 0000000..a61d449
--- /dev/null
+++ b/content/contact.mdtext
@@ -0,0 +1,79 @@
+Title: Contact
+Notice:    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.
+
+# Table of Contents
+
+* Overview
+* Before Posting Your Message
+** Step-by-Step Guide to Problem Reporting
+** Asking for a New Feature
+* Other Ways to Contact the MINA Community
+
+# Overview
+
+The Apache MINA project has a very active and responsive community. You will get more than you expect from usual open source communities here. Mostly, communication among the team and the users takes place in the following places:
+
+* [Mailing Lists](http://mina.apache.org/mailing-lists.html)
+* [Issue Tracker](http://issues.apache.org/jira/browse/DIRMINA)
+
+People in the community usually:
+
+* asks questions on the usage of API and how-to,
+* suggests a new feature,
+* points out a problem with general design and API usability,
+* reports a problem (or potentially a bug),
+* posts related information from other projects,
+* and post Testimonials.
+
+Of course, the list above doesn't mean that you may not post any other stuff. Please don't hesitate to post anything related with MINA.
+
+# Before Posting Your Message
+
+Are you in trouble with MINA? Are you busy and do you want to fix your problem as soon as possible? Do you want a new feature as soon as possible? Then please read this section very carefully before posting your message. Posting a message without detailed information to the mailing list is not a good idea. Sending an e-mail to the contributors directly is even worse and adds more delay to the response time. Please note that it is the worst idea to send the same message more than once, an [...]
+
+## Step-by-Step Guide to Problem Reporting
+
+1. Read all tutorials in Documentation if you didn't yet.
+2. Read Frequently Asked Questions if you didn't yet.
+3. Make sure you are using the latest stable release. If you are not using the latest stable release, please upgrade right now and test again before causing a lot of complication.
+4. Make sure if there's any related pages in MINA web site; please use the 'Google Search' form on the top-right side of this page.
+5. Make sure if there was any related discussion in the mailing list; please use the 'Mailing List Search' form on the top-right side of this page.
+6. Make sure if there's any related JIRA issues; please visit our issue tracker to search for the related issues.
+
+If you couldn't find any related information in the mailing list archive and the issue tracker,
+
+* Provide us the exact procedure including related source code to reproduce your problem. If you are going to provide us source code, please make sure it builds and runs without any modification. We can't do anything with the source code with unknown external dependencies. JUnit test case which reproduces the problem will put your report in our highest priority.
+* Attach full thread stack dump if your application is frozen or you suspect a dead lock. [(how to generate a thread dump)](http://wiki.netbeans.org/wiki/view/GenerateThreadDump)
+* Attach full heap dump if you are getting an OutOfMemoryError or you suspect a memory leak. [(how to generate a heap dump)](http://wiki.netbeans.org/wiki/view/GenerateThreadDump)
+* Specify the environment in detail as much as possible.
+** The version of MINA you are using right now.
+** Operating system version, distribution, architecture, ...
+** JVM vendor, version, build number, command line arguments, ...
+** Network settings (e.g. IPv6, Gigabit LAN, WiFi, GPS network)
+
+## Asking for a New Feature
+
+* Please check the Road Map first to avoid duplicate requests.
+* As a part of the community, please consider active contribution rather than waiting for the new feature; please read 8 Steps for Fixing Other People's Code.
+
+# Other Ways to Contact the MINA Community
+
+Contacting via [the mailing list](mailing-lists.html) is always preferred, but you can also contact us via [IRC](http://en.wikipedia.org/wiki/IRC) if you need immediate chat assistance. Please note that we might not be able to respond to your message immediately.
+
+* Server: irc.freenode.net
+* Channel: #mina
diff --git a/content/contributors.mdtext b/content/contributors.mdtext
new file mode 100644
index 0000000..19f06b9
--- /dev/null
+++ b/content/contributors.mdtext
@@ -0,0 +1,71 @@
+Title: Apache MINA - Contributors
+Notice:    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.
+
+# Project Management Committee
+
+* Alex Karasulu (akarasulu)
+* [Ashish Paliwal](http://ashishpaliwal.com/blog) (apaliwal)
+* [Emmanuel L&eacute;charny](http://www.iktek.com) (elecharny)
+* Guillaume Nodet (gnodet)
+* Jean-Fran&ccedil;ois Maury (chairman) (jeffmaury)
+* Jeff Genender (jgenender)
+* Jonathan Valliere (johnnyv)
+* [Julien Vermillard](http://people.apache.org/~jvermillard/) (jvermillard)
+* Maarten Bosteels (maarten)
+* Mark Webb (mwebb)
+* Niklas Gustavsson (ngn)
+
+# Committers
+
+* Alan Cabrera (adc)
+* Bobby Powers (bpowers)
+* Bogdan Pistol (bogdan)
+* David Latorre (dlat)
+* [Edouard De Oliveira](http://tedorg.free.fr/en/main.php) (edeoliveira)
+* Lyor Goldstein (lgoldstein)
+* Michael Jakl (mjakl)
+* Mike Mahonay (foodmike)
+* Rapha&euml;l P. Barazzutti (rbarazzutti)
+* Richard McGuire (rickmcguire)
+* Sai Pullabhotla (sai)
+* Sangjin Lee (sjlee)
+* Sebastien Baszley (sebb)
+* Serguey Vladimirov (sergey)
+* Shawn Pearce (spearce)
+
+# Code Contributors
+
+* Jan Andersson - SSL
+* Vinod Panicker - Zlib compression
+
+# Emeritus Committers and PMC
+
+* Bernd Fondermann (PMC)
+* Dan Diephouse (PMC)
+* Dave Irving (PMC)
+* Enrique Rodriguez (PMC)
+* Ersin Er (PMC)
+* Mike Heath (PMC)
+* Niklas Therning (PMC)
+* Peter Royal (PMC)
+* Timothy Bennett (PMC)
+* John Conlon (Committer)
+* Rich Dougherty (Committer)
+* Trustin Lee (Committer)
+
+... and everyone who gave us feed back including you!
diff --git a/content/css/asyncweb.css b/content/css/asyncweb.css
new file mode 100644
index 0000000..3da5022
--- /dev/null
+++ b/content/css/asyncweb.css
@@ -0,0 +1,40 @@
+/*
+ *  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.
+ *
+ */
+h1, h2, h3, h4, h5, h6 
+{
+	color: #330066;
+}
+
+#header 
+{
+	background-image: url('../staticresources/images/header-asyncweb.png');
+}
+
+.blogDate 
+{
+	color: #330066;
+	background: url('../staticresources/images/news.png') no-repeat;
+}
+
+a.blogHeading 
+{
+	color: #330066;
+	background: url('../staticresources/images/post.png') no-repeat;
+}
diff --git a/content/css/common.css b/content/css/common.css
new file mode 100644
index 0000000..19180bd
--- /dev/null
+++ b/content/css/common.css
@@ -0,0 +1,684 @@
+/*
+ *  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.
+ *
+ */
+html 
+{
+	overflow-y: scroll;
+}
+
+body 
+{
+	padding: 0;
+	margin: 0;
+	font-family: 'Lucida Sans', 'Helvetica', 'Sans-serif', 'sans';
+	font-size: 77%;
+	color: #777777;
+	background-color: white;
+	background-image: url('../staticresources/images/body-bg.png');
+	background-repeat: repeat-x;
+	background-position: bottom;
+	background-attachment: fixed;
+	height: 99%;
+}
+
+h1, h2, h3, h4, h5, h6 
+{
+	font-weight: bold;
+	margin: 0.67em 0px 0.67em 0px;
+}
+
+h1 
+{
+	font-size: 197%;
+
+/* 26px equivalent */
+}
+
+h2 
+{
+	font-size: 153.9%;
+
+/* 20px equivalent */
+}
+
+h3 
+{
+	font-size: 131%;
+
+/* 17px equivalent */
+}
+
+h4 
+{
+	font-size: 93%;
+
+/* 12px equivalent */
+}
+
+h5 
+{
+	font-size: 85%;
+
+/* 11px equivalent */
+}
+
+h6 
+{
+	font-size: 77%;
+
+/* 10px equivalent */
+}
+
+#container 
+{
+	position: absolute;
+	width: 1005px;
+	margin-left: -502px;
+	left: 50%;
+}
+
+#header 
+{
+	width: 1005px;
+	height: 165px;
+	background-repeat: no-repeat;
+}
+
+#subProjectsNavBar 
+{
+	color: white;
+	text-align: right;
+	margin: 0px;
+	color: #ffffff;
+	font-size: 12px;
+	padding: 140px 20px 2px;
+}
+
+#subProjectsNavBar a, #subProjectsNavBar a:link, #subProjectsNavBar a:visited 
+{
+	color: #ffffff;
+	text-decoration: none;
+}
+
+#subProjectsNavBar a:hover 
+{
+	color: #ffffff;
+	border-bottom: solid #ffffff 1px;
+}
+
+#subProjectsNavBar a strong 
+{
+	font-size: 14px;
+	font-weight: bold;
+	color: #ffffff;
+	border-bottom: solid #ffffff 1px;
+}
+
+#content 
+{
+	background: url('../staticresources/images/content-bg.png') repeat-y;
+}
+
+#endContent 
+{
+	clear: both;
+}
+
+#leftColumn 
+{
+	float: left;
+	width: 193px;
+	padding-top: 10px;
+	margin-left: 10px;
+	line-height: 1.8em;
+}
+
+#rightColumn 
+{
+	float: left;
+	margin-left: 15px;
+	width: 762px;
+	text-align: left;
+	line-height: 1.5em;
+}
+
+#editZone 
+{
+
+
+/* Netscape 4, IE 4.x-5.0/Win and other lesser browsers will use this */
+  position: absolute;
+	right: 0;
+	top: 0;
+	height: 60px;
+	width: 60px;
+	z-index: 1000;
+}
+
+body > div#editZone 
+{
+	
+
+/* used by Opera 5+, Netscape6+/Mozilla, Konqueror, Safari, OmniWeb 4.5+, iCab, ICEbrowser */
+  position: fixed;
+}
+
+a 
+{
+	color: #777777;
+	text-decoration: underline;
+}
+
+a:hover 
+{
+	color: #000000;
+}
+
+a.none 
+{
+	background: transparent;
+	padding-right: 0px;
+}
+
+#navigation 
+{
+	padding-left: 12px;
+	font-weight: bold;
+}
+
+#navigation ul 
+{
+	margin: 0px;
+	padding: 0px;
+	margin-bottom: 10px;
+}
+
+#navigation li 
+{
+	list-style-type: none;
+	margin-left: 15px;
+	padding-left: 0px;
+}
+
+#navigation li ul 
+{
+	margin-left: 1.5em;
+}
+
+#navigation a 
+{
+	text-decoration: none;
+	color: #777777;
+}
+
+#navigation a:hover 
+{
+	color: #000000;
+	font-weight: bolder;
+}
+
+#navigation div 
+{
+	line-height: 1.5em;
+	margin-bottom: 2em;
+}
+
+#navigation h5 
+{
+	font-size: 1em;
+	margin-bottom: 0px;
+	padding-bottom: 0px;
+}
+
+#navigation strong 
+{
+	color: #000000;
+}
+
+.blogSurtitle 
+{
+	padding-bottom: 10px;
+}
+
+.blogSurtitle img 
+{
+	display: none;
+}
+
+.endsection, .pagesubheading 
+{
+	display: none;
+}
+
+.blogpost .wiki-content 
+{
+	padding-left: 25px;
+}
+
+.blogDate 
+{
+	text-decoration: none;
+	font-weight: bolder;
+	padding: 1px;
+	padding-left: 20px;
+}
+
+a.blogHeading 
+{
+	text-decoration: none;
+	font-weight: bolder;
+	padding-left: 20px;
+	margin: 10px;
+}
+
+#footer
+{
+        font-size: 11px;
+        padding-left: 215px;
+        padding-right: 20px;
+        padding-bottom: 15px;
+        text-align: center;
+        background-image: url('../staticresources/images/footer.png');
+        background-repeat: no-repeat;
+        background-position: bottom;
+}
+
+.nobr sup img 
+{
+	display: none;
+}
+
+.preformattedContent pre 
+{
+	padding: 5px 10px;
+	border: 1px dashed #1a6c0b;
+	background-color: #f0f0f0;
+}
+
+blockquote 
+{
+	margin: 10px;
+	padding: 0px 10px;
+	border-left: 1px solid #1a6c0b;
+}
+
+table 
+{
+	margin: 5px;
+	border-collapse: collapse;
+}
+
+table td 
+{
+	border-width: 1px;
+	border-style: solid;
+	border-color: #ccc;
+	padding: 3px 4px 3px 4px;
+}
+
+table th 
+{
+	border-width: 1px;
+	border-style: solid;
+	border-color: #ccc;
+	padding: 3px 4px 3px 4px;
+	background-color: #f0f0f0;
+	text-align: center;
+}
+
+td 
+{
+	border-width: 1px;
+	border-style: solid;
+	border-color: #ccc;
+	padding: 3px 4px 3px 4px;
+}
+
+th 
+{
+	border-width: 1px;
+	border-style: solid;
+	border-color: #ccc;
+	padding: 3px 4px 3px 4px;
+	background-color: #f0f0f0;
+	text-align: center;
+}
+
+table.confluenceTable 
+{
+	margin: 5px;
+	border-collapse: collapse;
+}
+
+/* Added as a temporary fix for CONF-4223. The table elements appear to be inheriting the border: none attribute from the sectionMacro class */
+
+table.confluenceTable td.confluenceTd 
+{
+	border-width: 1px;
+	border-style: solid;
+	border-color: #ccc;
+	padding: 3px 4px 3px 4px;
+}
+
+/* Added as a temporary fix for CONF-4223. The table elements appear to be inheriting the border: none attribute from the sectionMacro class */
+
+table.confluenceTable th.confluenceTh 
+{
+	border-width: 1px;
+	border-style: solid;
+	border-color: #ccc;
+	padding: 3px 4px 3px 4px;
+	background-color: #f0f0f0;
+	text-align: center;
+}
+
+td.confluenceTd 
+{
+	border-width: 1px;
+	border-style: solid;
+	border-color: #ccc;
+	padding: 3px 4px 3px 4px;
+}
+
+th.confluenceTh 
+{
+	border-width: 1px;
+	border-style: solid;
+	border-color: #ccc;
+	padding: 3px 4px 3px 4px;
+	background-color: #f0f0f0;
+	text-align: center;
+}
+
+.note
+{
+	border: 1px solid #f0c000;
+	background: #ffffce url('../staticresources/icons/warning.gif') no-repeat 5px 5px;
+	text-align: left;
+	margin-top: 5px;
+	margin-bottom: 5px;
+	padding: 5px 5px 5px 28px;
+}
+
+.warning
+{
+	border: 1px solid #f0c000;
+	background: #ffffce url('../staticresources/icons/forbidden.gif') no-repeat 5px 5px;
+	text-align: left;
+	margin-top: 5px;
+	margin-bottom: 5px;
+	padding: 5px 5px 5px 28px;
+}
+
+.info
+{
+	border: 1px solid #3c78b5;
+	background: #D8E4F1 url('../staticresources/icons/information.gif') no-repeat 5px 5px;
+	text-align: left;
+	margin-top: 5px;
+	margin-bottom: 5px;
+	padding: 5px 5px 5px 28px;
+}
+
+.tip
+{
+	border: 1px solid #090;
+	background: #dfd url('../staticresources/icons/check.gif') no-repeat 5px 5px;
+	text-align: left;
+	margin-top: 5px;
+	margin-bottom: 5px;
+	padding: 5px 5px 5px 28px;
+}
+
+.code 
+{
+	border: 1px dashed #1a6c0b;
+	font-size: 11px;
+	font-family: Courier;
+	margin: 10px;
+	line-height: 13px;
+}
+
+.codeHeader 
+{
+	background-color: #f0f0f0;
+	border-bottom: 1px dashed #1a6c0b;
+	padding: 3px;
+	text-align: center;
+}
+
+.codeContent 
+{
+	text-align: left;
+	background-color: #f0f0f0;
+	padding: 3px;
+}
+
+.code-keyword 
+{
+	color: #000091;
+	background-color: inherit;
+}
+
+.code-object 
+{
+	color: #910091;
+	background-color: inherit;
+}
+
+.code-quote 
+{
+	color: #009100;
+	background-color: inherit;
+}
+
+.code-comment 
+{
+	color: #808080;
+	background-color: inherit;
+}
+
+.code-xml .code-keyword 
+{
+	color: inherit;
+	font-weight: bold;
+}
+
+.code-tag 
+{
+	color: #000091;
+	background-color: inherit;
+}
+
+.news h1
+{
+    font-size: 153.9%;
+}
+
+.news h2
+{
+    font-size: 100%;
+        text-decoration: none;
+        font-weight: bolder;
+        padding-left: 20px;
+        margin: 10px;
+}
+
+.news h2 em
+{
+    color: #777;
+    font-size: 100%;
+    font-style: italic;
+    float: right;
+        font-weight: normal;
+    clear: right;
+}
+
+/*---------------------------------------------*/
+/* CSS used for the included code              */
+/*---------------------------------------------*/
+
+.codehilite pre
+{
+        padding: 5px 10px;
+        border-width: 1px;
+        border-style: dashed;
+        background-color: #f0f0f0;
+}
+
+.codehilite .hll { background-color: #ffffcc }
+.codehilite  { background: #f0f0f0; }
+.codehilite .c { color: #60a0b0; font-style: italic } /* Comment */
+.codehilite .err { border: 1px solid #FF0000 } /* Error */
+.codehilite .k { color: #007020; font-weight: bold } /* Keyword */
+.codehilite .o { color: #666666 } /* Operator */
+.codehilite .cm { color: #60a0b0; font-style: italic } /* Comment.Multiline */
+.codehilite .cp { color: #007020 } /* Comment.Preproc */
+.codehilite .c1 { color: #60a0b0; font-style: italic } /* Comment.Single */
+.codehilite .cs { color: #60a0b0; background-color: #fff0f0 } /* Comment.Special */
+.codehilite .gd { color: #A00000 } /* Generic.Deleted */
+.codehilite .ge { font-style: italic } /* Generic.Emph */
+.codehilite .gr { color: #FF0000 } /* Generic.Error */
+.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.codehilite .gi { color: #00A000 } /* Generic.Inserted */
+.codehilite .go { color: #808080 } /* Generic.Output */
+.codehilite .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.codehilite .gs { font-weight: bold } /* Generic.Strong */
+.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.codehilite .gt { color: #0040D0 } /* Generic.Traceback */
+.codehilite .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
+.codehilite .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
+.codehilite .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
+.codehilite .kp { color: #007020 } /* Keyword.Pseudo */
+.codehilite .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
+.codehilite .kt { color: #902000 } /* Keyword.Type */
+.codehilite .m { color: #40a070 } /* Literal.Number */
+.codehilite .s { color: #4070a0 } /* Literal.String */
+.codehilite .na { color: #4070a0 } /* Name.Attribute */
+.codehilite .nb { color: #007020 } /* Name.Builtin */
+.codehilite .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
+.codehilite .no { color: #60add5 } /* Name.Constant */
+.codehilite .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.codehilite .ni { color: #d55537; font-weight: bold } /* Name.Entity */
+.codehilite .ne { color: #007020 } /* Name.Exception */
+.codehilite .nf { color: #06287e } /* Name.Function */
+.codehilite .nl { color: #002070; font-weight: bold } /* Name.Label */
+.codehilite .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.codehilite .nt { color: #062873; font-weight: bold } /* Name.Tag */
+.codehilite .nv { color: #bb60d5 } /* Name.Variable */
+.codehilite .ow { color: #007020; font-weight: bold } /* Operator.Word */
+.codehilite .w { color: #bbbbbb } /* Text.Whitespace */
+.codehilite .mf { color: #40a070 } /* Literal.Number.Float */
+.codehilite .mh { color: #40a070 } /* Literal.Number.Hex */
+.codehilite .mi { color: #40a070 } /* Literal.Number.Integer */
+.codehilite .mo { color: #40a070 } /* Literal.Number.Oct */
+.codehilite .sb { color: #4070a0 } /* Literal.String.Backtick */
+.codehilite .sc { color: #4070a0 } /* Literal.String.Char */
+.codehilite .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
+.codehilite .s2 { color: #4070a0 } /* Literal.String.Double */
+..codehilite .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
+.codehilite .sh { color: #4070a0 } /* Literal.String.Heredoc */
+.codehilite .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
+.codehilite .sx { color: #c65d09 } /* Literal.String.Other */
+.codehilite .sr { color: #235388 } /* Literal.String.Regex */
+.codehilite .s1 { color: #4070a0 } /* Literal.String.Single */
+.codehilite .ss { color: #517918 } /* Literal.String.Symbol */
+.codehilite .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.codehilite .vc { color: #bb60d5 } /* Name.Variable.Class */
+.codehilite .vg { color: #bb60d5 } /* Name.Variable.Global */
+.codehilite .vi { color: #bb60d5 } /* Name.Variable.Instance */
+.codehilite .il { color: #40a070 } /* Literal.Number.Integer.Long */
+
+
+/* nav */
+
+.nav
+{
+    background-color: #f0f0f0;
+	margin-top: 5px;
+    padding: 5px;
+	-webkit-box-shadow: 2px 2px 2px rgba(50, 50, 50, 0.5);
+	-moz-box-shadow:    2px 2px 2px rgba(50, 50, 50, 0.5);
+	box-shadow:         2px 2px 2px rgba(50, 50, 50, 0.5);
+}
+
+.nav_prev,
+.nav_up,
+.nav_next
+{
+    display: block;
+    float: left;
+    width: 33%;
+}
+
+.nav_prev
+{
+    text-align: left;
+}
+
+.nav_prev a
+{
+    padding-left: 20px;
+    background: url('../staticresources/images/nav_prev.png') no-repeat left;
+}
+
+.nav_up
+{
+    width: 34%;
+    text-align: center;
+}
+
+.nav_up a
+{
+    padding-left: 18px;
+    background: url('../staticresources/images/nav_up.png') no-repeat left;
+}
+
+.nav_next
+{
+    float: right;
+    text-align: right;
+}
+
+.nav_next a
+{
+    padding-right: 20px;
+    background: url('../staticresources/images/nav_next.png') no-repeat right;
+}
+
+
+/* clearfix */
+
+.clearfix
+{
+  *zoom: 1;
+}
+
+.clearfix:before,
+.clearfix:after
+{
+    display: table;
+    line-height: 0;
+    content: "";
+}
+
+.clearfix:after
+{
+    clear: both;
+}
diff --git a/content/css/ftpserver.css b/content/css/ftpserver.css
new file mode 100644
index 0000000..14048f7
--- /dev/null
+++ b/content/css/ftpserver.css
@@ -0,0 +1,40 @@
+/*
+ *  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.
+ *
+ */
+h1, h2, h3, h4, h5, h6 
+{
+	color: #330066;
+}
+
+#header 
+{
+	background-image: url('../staticresources/images/header-ftpserver.png');
+}
+
+.blogDate 
+{
+	color: #330066;
+	background: url('../staticresources/images/news.png') no-repeat;
+}
+
+a.blogHeading 
+{
+	color: #330066;
+	background: url('../staticresources/images/post.png') no-repeat;
+}
diff --git a/content/css/mina.css b/content/css/mina.css
new file mode 100644
index 0000000..1165b1f
--- /dev/null
+++ b/content/css/mina.css
@@ -0,0 +1,48 @@
+/*
+ *  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.
+ *
+ */
+h1, h2, h3, h4, h5, h6 
+{
+	color: #330066;
+}
+
+#header 
+{
+	background-image: url('../staticresources/images/header-mina.png');
+}
+
+.blogDate 
+{
+	color: #330066;
+	background: url('../staticresources/images/news.png') no-repeat;
+}
+
+a.blogHeading 
+{
+	color: #330066;
+	background: url('../staticresources/images/post.png') no-repeat;
+}
+
+
+.news h2
+{
+        color: #330066;
+        background: url('../staticresources/images/mina/post-mina.png') no-repeat;
+}
+
diff --git a/content/css/sshd.css b/content/css/sshd.css
new file mode 100644
index 0000000..2910a8a
--- /dev/null
+++ b/content/css/sshd.css
@@ -0,0 +1,40 @@
+/*
+ *  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.
+ *
+ */
+h1, h2, h3, h4, h5, h6 
+{
+	color: #330066;
+}
+
+#header 
+{
+	background-image: url('../staticresources/images/header-sshd.png');
+}
+
+.blogDate 
+{
+	color: #330066;
+	background: url('../staticresources/images/news.png') no-repeat;
+}
+
+a.blogHeading 
+{
+	color: #330066;
+	background: url('../staticresources/images/post.png') no-repeat;
+}
diff --git a/content/css/vysper.css b/content/css/vysper.css
new file mode 100644
index 0000000..37a6315
--- /dev/null
+++ b/content/css/vysper.css
@@ -0,0 +1,40 @@
+/*
+ *  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.
+ *
+ */
+h1, h2, h3, h4, h5, h6 
+{
+	color: #330066;
+}
+
+#header 
+{
+	background-image: url('../staticresources/images/header-vysper.png');
+}
+
+.blogDate 
+{
+	color: #330066;
+	background: url('../staticresources/images/news.png') no-repeat;
+}
+
+a.blogHeading 
+{
+	color: #330066;
+	background: url('../staticresources/images/post.png') no-repeat;
+}
diff --git a/content/downloads-ftpserver.mdtext b/content/downloads-ftpserver.mdtext
new file mode 100644
index 0000000..f14e4d4
--- /dev/null
+++ b/content/downloads-ftpserver.mdtext
@@ -0,0 +1,42 @@
+Title: Downloads
+Notice:    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.
+
+
+# Latest FTPServer Releases
+
+The latest release is the [Apache FtpServer 1.1.1 Release](ftpserver-project/download_1.1.1.html)
+
+# All Releases
+* [Apache FtpServer 1.1.1 Release](ftpserver-project/download_1.1.1.html)
+* [Apache FtpServer 1.1.0 Release](ftpserver-project/download_1.1.0.html)
+* [Apache FtpServer 1.0.6 Release](ftpserver-project/download_1.0.6.html)
+* [Apache FtpServer 1.0.5 Release](ftpserver-project/download_1.0.5.html)
+* [Apache FtpServer 1.0.4 Release](ftpserver-project/download_1.0.4.html)
+* [Apache FtpServer 1.0.3 Release](ftpserver-project/download_1.0.3.html)
+* [Apache FtpServer 1.0.2 Release](ftpserver-project/download_1.0.2.html)
+* [Apache FtpServer 1.0.1 Release](ftpserver-project/download_1.0.1.html)
+* [Apache FtpServer 1.0.0 Release](ftpserver-project/download_1.0.1.html)
+* [Apache FtpServer 1.0.0-RC2 Release](ftpserver-project/download_1.0.0-RC2.html)
+* [Apache FtpServer 1.0.0-RC1 release](ftpserver-project/download_1.0.0-RC1.html)
+* [Apache FtpServer 1.0.0-M4 release](ftpserver-project/download_1.0.0-M4.html)
+* [Apache FtpServer 1.0.0-M3 release](ftpserver-project/download_1.0.0-M3.html)
+* [Apache FtpServer 1.0.0-M2 release](ftpserver-project/download_1.0.0-M2.html)
+
+# Maven Repositories
+All Apache FtpServer releases are available from the Maven central repository
+
diff --git a/content/downloads-mina_2_0.mdtext b/content/downloads-mina_2_0.mdtext
new file mode 100644
index 0000000..285400c
--- /dev/null
+++ b/content/downloads-mina_2_0.mdtext
@@ -0,0 +1,102 @@
+Title: MINA 2.0.x Downloads
+Notice:    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.
+
+# Latest MINA Releases
+
+## Apache MINA 2.0.21 <FONT color="green">stable</FONT> (Java 7+)
+
+### Binaries
+
+* .tar.gz archive [mina-2.0.21](https://www.apache.org/dyn/closer.lua/mina/mina/2.0.21/apache-mina-2.0.21-bin.tar.gz) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-bin.tar.gz.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-bin.tar.gz.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-bin.tar.gz.asc))
+* .tar.bz2 archive [mina-2.0.21](https://www.apache.org/dyn/closer.lua/mina/mina/2.0.21/apache-mina-2.0.21-bin.tar.bz2) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-bin.tar.bz2.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-bin.tar.bz2.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-bin.tar.bz2.asc))
+* .zip archive [mina-2.0.21](https://www.apache.org/dyn/closer.lua/mina/mina/2.0.21/apache-mina-2.0.21-bin.zip) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-bin.zip.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-bin.zip.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-bin.zip.asc))
+
+### Sources
+
+* .src.tar.gz archive [mina-2.0.21](https://www.apache.org/dyn/closer.lua/mina/mina/2.0.21/apache-mina-2.0.21-src.tar.gz) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.tar.gz.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.tar.gz.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.tar.gz.asc))
+* .src.tar.bz2 archive [mina-2.0.21](https://www.apache.org/dyn/closer.lua/mina/mina/2.0.21/apache-mina-2.0.21-src.tar.bz2) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.tar.bz2.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.tar.bz2.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.tar.bz2.asc))
+* .src.zip archive [mina-2.0.21](https://www.apache.org/dyn/closer.lua/mina/mina/2.0.21/apache-mina-2.0.21-src.zip) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.zip.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.zip.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.zip.asc))
+
+<DIV class="note" markdown="1">
+	For people wanting to use the <B>serial</B> package, we don't include the <B>rxtx.jar</B> library in the releases, as it's under a LGPL license. Please download it from <A href="http://rxtx.qbang.org/wiki/index.php/Download" class="external-link" rel="nofollow">http://rxtx.qbang.org/wiki/index.php/Download</A> or add the associated dependency in your maven pom.xml :
+
+	<P>
+	&lt;dependency&gt;<BR>
+	&nbsp;&nbsp;&lt;groupId&gt;org.rxtx&lt;/groupId&gt;<BR>
+	&nbsp;&nbsp;&lt;artifactId&gt;rxtx&lt;/artifactId&gt;<BR>
+	&nbsp;&nbsp;&lt;version&gt;2.1.7&lt;/version&gt;<BR>
+	&nbsp;&nbsp;&lt;scope&gt;provided&lt;/scope&gt;<BR>
+	&lt;/dependency&gt;
+	</P>
+</DIV>
+
+
+## Older versions
+
+Older versions can be found [on https://archive.apache.org/dist/mina/](https://archive.apache.org/dist/mina/)
+
+# Verify the integrity of the files
+
+The PGP signatures can be verified using PGP or GPG. First download the [KEYS](https://www.apache.org/dist/mina/KEYS) as well as the asc signature file for the relevant distribution. Then verify the signatures using:
+
+	$ pgpk -a KEYS
+	$ pgpv mina-2.0.21.tar.gz.asc
+
+<P>or</P>
+
+	$ pgp -ka KEYS
+	$ pgp mina-2.0.21.tar.gz.asc
+
+<P>or</P>
+
+	$ gpg --import KEYS
+	$ gpg --verify mina-2.0.21.tar.gz.asc
+
+# Previous Releases
+
+The previous releases can be found on [https://archive.apache.org/dist/mina/](https://archive.apache.org/dist/mina/). Please note that the following releases contains a LGPL licensed file, rxtx-2.1.7.jar: 2.0.0-M4, 2.0.0-M5, 2.0.0-M6, 2.0.0-RC1.
+
+# Version Numbering Scheme
+
+The version number of MINA has the following form:
+
+<DIV class="info" markdown="1">
+	<TT>&lt;major&gt;.&lt;minor&gt;.&lt;micro&gt;[-milestone number&gt; or -RC&lt;release candidate number&gt;]
+</DIV>
+
+This scheme has three number components:
+
+* The __major__ number increases when there are incompatible changes in the API.
+* The __minor__ number increases when a new feature is introduced.
+* The __micro__ number increases when a bug or a trivial change is made.
+
+and an optional label that indicates the maturity of a release:
+
+* __M__ (Milestone) means the feature set can change at any time in the next milestone releases. The last milestone release becomes the first release candidate after a vote.
+* __RC__ (Release Candidate) means the feature set is frozen and the next RC releases will focus on fixing problems unless there is a serious flaw in design. The last release candidate becomes the first GA release after a vote.
+* No label implies __GA__ (General Availability), which means the release is stable enough and therefore ready for production environment.
+
+MINA is not a stand-alone software, so 'the feature set' here also includes the API of the newly introduced features and the overall architecture of the software,
+
+Here's an example that illustrates how MINA version number increases:
+
+<DIV class="info" markdown="1">
+	2.0.0-M1 -> 2.0.0-M3 -> 2.0.0-M3 -> 2.0.0-M4 ->  2.0.0-RC1 -> 2.0.0-RC2 -> 2.0.0-RC3 - <B>2.0.0</B> -> 2.0.1 ->; 2.0.2 ->; 2.1.0-M1 ...
+</DIV>
+
+Please note that we always specify the micro number, even if it's zero.
diff --git a/content/downloads-mina_2_1.mdtext b/content/downloads-mina_2_1.mdtext
new file mode 100644
index 0000000..71c12b0
--- /dev/null
+++ b/content/downloads-mina_2_1.mdtext
@@ -0,0 +1,102 @@
+Title: MINA Downloads
+Notice:    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.
+
+# Latest MINA Releases
+
+## Apache MINA 2.1.3 <FONT color="green">stable</FONT> (Java 8+)
+
+### Binaries
+
+* .tar.gz archive [mina-2.1.3](https://www.apache.org/dyn/closer.lua/mina/mina/2.1.3/apache-mina-2.1.3-bin.tar.gz) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-bin.tar.gz.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-bin.tar.gz.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-bin.tar.gz.asc))
+* .tar.bz2 archive [mina-2.1.3](https://www.apache.org/dyn/closer.lua/mina/mina/2.1.3/apache-mina-2.1.3-bin.tar.bz2) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-bin.tar.bz2.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-bin.tar.bz2.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-bin.tar.bz2.asc))
+* .zip archive [mina-2.1.3](https://www.apache.org/dyn/closer.lua/mina/mina/2.1.3/apache-mina-2.1.3-bin.zip) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-bin.zip.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-bin.zip.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-bin.zip.asc))
+
+### Sources
+
+* .src.tar.gz archive [mina-2.1.3](https://www.apache.org/dyn/closer.lua/mina/mina/2.1.3/apache-mina-2.1.3-src.tar.gz) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.tar.gz.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.tar.gz.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.tar.gz.asc))
+* .src.tar.bz2 archive [mina-2.1.3](https://www.apache.org/dyn/closer.lua/mina/mina/2.1.3/apache-mina-2.1.3-src.tar.bz2) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.tar.bz2.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.tar.bz2.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.tar.bz2.asc))
+* .src.zip archive [mina-2.1.3](https://www.apache.org/dyn/closer.lua/mina/mina/2.1.3/apache-mina-2.1.3-src.zip) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.zip.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.zip.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.zip.asc))
+
+<DIV class="note" markdown="1">
+	For people wanting to use the <B>serial</B> package, we don't include the <B>rxtx.jar</B> library in the releases, as it's under a LGPL license. Please download it from <A href="http://rxtx.qbang.org/wiki/index.php/Download" class="external-link" rel="nofollow">http://rxtx.qbang.org/wiki/index.php/Download</A> or add the associated dependency in your maven pom.xml :
+
+	<P>
+	&lt;dependency&gt;<BR>
+	&nbsp;&nbsp;&lt;groupId&gt;org.rxtx&lt;/groupId&gt;<BR>
+	&nbsp;&nbsp;&lt;artifactId&gt;rxtx&lt;/artifactId&gt;<BR>
+	&nbsp;&nbsp;&lt;version&gt;2.1.7&lt;/version&gt;<BR>
+	&nbsp;&nbsp;&lt;scope&gt;provided&lt;/scope&gt;<BR>
+	&lt;/dependency&gt;
+	</P>
+</DIV>
+
+
+## Older versions
+
+Older versions can be found [on https://archive.apache.org/dist/mina/](https://archive.apache.org/dist/mina/)
+
+# Verify the integrity of the files
+
+The PGP signatures can be verified using PGP or GPG. First download the [KEYS](https://www.apache.org/dist/mina/KEYS) as well as the asc signature file for the relevant distribution. Then verify the signatures using:
+
+	$ pgpk -a KEYS
+	$ pgpv mina-2.1.3.tar.gz.asc
+
+<P>or</P>
+
+	$ pgp -ka KEYS
+	$ pgp mina-2.1.3.tar.gz.asc
+
+<P>or</P>
+
+	$ gpg --import KEYS
+	$ gpg --verify mina-2.1.3.tar.gz.asc
+
+# Previous Releases
+
+The previous releases can be found on [https://archive.apache.org/dist/mina/](https://archive.apache.org/dist/mina/). Please note that the following releases contains a LGPL licensed file, rxtx-2.1.7.jar: 2.0.0-M4, 2.0.0-M5, 2.0.0-M6, 2.0.0-RC1.
+
+# Version Numbering Scheme
+
+The version number of MINA has the following form:
+
+<DIV class="info" markdown="1">
+	<TT>&lt;major&gt;.&lt;minor&gt;.&lt;micro&gt;[-milestone number&gt; or -RC&lt;release candidate number&gt;]
+</DIV>
+
+This scheme has three number components:
+
+* The __major__ number increases when there are incompatible changes in the API.
+* The __minor__ number increases when a new feature is introduced.
+* The __micro__ number increases when a bug or a trivial change is made.
+
+and an optional label that indicates the maturity of a release:
+
+* __M__ (Milestone) means the feature set can change at any time in the next milestone releases. The last milestone release becomes the first release candidate after a vote.
+* __RC__ (Release Candidate) means the feature set is frozen and the next RC releases will focus on fixing problems unless there is a serious flaw in design. The last release candidate becomes the first GA release after a vote.
+* No label implies __GA__ (General Availability), which means the release is stable enough and therefore ready for production environment.
+
+MINA is not a stand-alone software, so 'the feature set' here also includes the API of the newly introduced features and the overall architecture of the software,
+
+Here's an example that illustrates how MINA version number increases:
+
+<DIV class="info" markdown="1">
+	2.0.0-M1 -> 2.0.0-M3 -> 2.0.0-M3 -> 2.0.0-M4 ->  2.0.0-RC1 -> 2.0.0-RC2 -> 2.0.0-RC3 - <B>2.0.0</B> -> 2.0.1 ->; 2.0.2 ->; 2.1.3-M1 ...
+</DIV>
+
+Please note that we always specify the micro number, even if it's zero.
diff --git a/content/downloads-sshd.mdtext b/content/downloads-sshd.mdtext
new file mode 100644
index 0000000..08e2857
--- /dev/null
+++ b/content/downloads-sshd.mdtext
@@ -0,0 +1,60 @@
+Title: Downloads
+Notice:    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.
+
+# Latest SSHD Releases
+
+The latest release is the SSHD 2.2.0 release.
+ 
+* Source distributions:
+    * [Apache Mina SSHD 2.2.0 Sources (.tar.gz)](https://www.apache.org/dyn/closer.lua/mina/sshd/2.2.0/apache-sshd-2.2.0-src.tar.gz) [PGP](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0-src.tar.gz.asc) [SHA](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0-src.tar.gz.sha1)
+    * [Apache Mina SSHD 2.2.0 Sources (.zip)](https://www.apache.org/dyn/closer.lua/mina/sshd/2.2.0/apache-sshd-2.2.0-src.zip) [PGP](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0-src.zip.asc) [SHA](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0-src.zip.sha1)
+* Binary distributions:
+    * [Apache Mina SSHD 2.2.0 Binary (.tar.gz)](https://www.apache.org/dyn/closer.lua/mina/sshd/2.2.0/dist/apache-sshd-2.2.0.tar.gz) [PGP](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0.tar.gz.asc) [SHA](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0.tar.gz.sha1)
+    * [Apache Mina SSHD 2.2.0 Binary (.zip)](https://www.apache.org/dyn/closer.lua/mina/sshd/2.2.0/dist/apache-sshd-2.2.0.zip) [PGP](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0.zip.asc) [SHA](https://www.apache.org/dist/mina/sshd/2.2.0/apache-sshd-2.2.0.zip.sha1)
+
+# Development snapshots
+
+You can [build](sshd-project/building.html) the latest version from [sources](sshd-project/sources.html).
+
+# Previous releases
+
+* [SSHD 0.1.0](sshd-project/download_0.1.0.html)
+* [SSHD 0.2.0](sshd-project/download_0.2.0.html)
+* [SSHD 0.3.0](sshd-project/download_0.3.0.html)
+* [SSHD 0.4.0](sshd-project/download_0.4.0.html)
+* [SSHD 0.5.0](sshd-project/download_0.5.0.html)
+* [SSHD 0.6.0](sshd-project/download_0.6.0.html)
+* [SSHD 0.7.0](sshd-project/download_0.7.0.html)
+* [SSHD 0.8.0](sshd-project/download_0.8.0.html)
+* [SSHD 0.9.0](sshd-project/download_0.9.0.html)
+* [SSHD 0.10.0](sshd-project/download_0.10.0.html)
+* [SSHD 0.10.1](sshd-project/download_0.10.1.html)
+* [SSHD 0.11.0](sshd-project/download_0.11.0.html)
+* [SSHD 0.12.0](sshd-project/download_0.12.0.html)
+* [SSHD 0.13.0](sshd-project/download_0.13.0.html)
+* [SSHD 0.14.0](sshd-project/download_0.14.0.html)
+* [SSHD 1.0.0](sshd-project/download_1.0.0.html)
+* [SSHD 1.1.0](sshd-project/download_1.1.0.html)
+* [SSHD 1.1.1](sshd-project/download_1.1.1.html)
+* [SSHD 1.2.0](sshd-project/download_1.2.0.html)
+* [SSHD 1.3.0](sshd-project/download_1.3.0.html)
+* [SSHD 1.4.0](sshd-project/download_1.4.0.html)
+* [SSHD 1.6.0](sshd-project/download_1.6.0.html)
+* [SSHD 1.7.0](sshd-project/download_1.7.0.html)
+* [SSHD 2.0.0](sshd-project/download_2.0.0.html)
+* [SSHD 2.1.0](sshd-project/download_2.1.0.html)
diff --git a/content/downloads-vysper.mdtext b/content/downloads-vysper.mdtext
new file mode 100644
index 0000000..4c2bd9b
--- /dev/null
+++ b/content/downloads-vysper.mdtext
@@ -0,0 +1,33 @@
+Title: Vysper Downloads
+Notice:    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.
+
+
+# Latest Vysper Releases
+
+The latest release is the [Apache Vysper 0.7 Release](vysper-project/download_0.7.html)
+
+# All Releases
+
+* [Apache Vysper 0.7 Release](vysper-project/download_0.7.html)
+* [Apache Vysper 0.6 Release](vysper-project/download_0.6.html)
+* [Apache Vysper 0.5 Release](vysper-project/download_0.5.html)
+
+# Maven Repositories
+
+All Apache Vysper releases are available from the Maven central repository 
+
diff --git a/content/extpaths.txt b/content/extpaths.txt
new file mode 100644
index 0000000..d9f0a5a
--- /dev/null
+++ b/content/extpaths.txt
@@ -0,0 +1,87 @@
+# File format: lines starting with # or space chars are ignored.
+
+# MINA
+# 2.1.x
+mina-project/gen-docs/2.1.3
+mina-project/gen-docs/2.1.2
+mina-project/gen-docs/2.1.1
+mina-project/gen-docs/2.1.0
+
+# 2.0.x
+mina-project/gen-docs/2.0.21
+mina-project/gen-docs/2.0.20
+mina-project/gen-docs/2.0.19
+mina-project/gen-docs/2.0.18
+mina-project/gen-docs/2.0.17
+mina-project/gen-docs/2.0.16
+mina-project/gen-docs/2.0.15
+mina-project/gen-docs/2.0.14
+mina-project/gen-docs/2.0.13
+mina-project/gen-docs/2.0.12
+mina-project/gen-docs/2.0.11
+mina-project/gen-docs/2.0.10
+mina-project/gen-docs/2.0.9
+mina-project/gen-docs/2.0.8
+mina-project/gen-docs/2.0.7
+mina-project/gen-docs/2.0.6
+mina-project/gen-docs/2.0.5
+mina-project/gen-docs/2.0.4
+mina-project/gen-docs/2.0.3
+mina-project/gen-docs/2.0.2
+mina-project/gen-docs/2.0.1
+mina-project/gen-docs/2.0.0
+mina-project/gen-docs/2.0.0-RC1
+mina-project/gen-docs/2.0.0-M6
+mina-project/gen-docs/2.0.0-M5
+mina-project/gen-docs/2.0.0-M4
+mina-project/gen-docs/2.0.0-M3
+mina-project/gen-docs/2.0.0-M2
+mina-project/gen-docs/2.0.0-M1
+
+# 1.1.x
+mina-project/gen-docs/1.1.7
+mina-project/gen-docs/1.1.6
+mina-project/gen-docs/1.1.5
+mina-project/gen-docs/1.1.4
+mina-project/gen-docs/1.1.3
+mina-project/gen-docs/1.1.2
+mina-project/gen-docs/1.1.1
+mina-project/gen-docs/1.1.0
+
+# 1.0.x
+mina-project/gen-docs/1.0.10
+mina-project/gen-docs/1.0.9
+mina-project/gen-docs/1.0.8
+mina-project/gen-docs/1.0.7
+mina-project/gen-docs/1.0.6
+mina-project/gen-docs/1.0.5
+mina-project/gen-docs/1.0.4
+mina-project/gen-docs/1.0.3
+mina-project/gen-docs/1.0.2
+mina-project/gen-docs/1.0.1
+mina-project/gen-docs/1.0.0
+
+# 0.9.x
+mina-project/gen-docs/0.9.5
+mina-project/gen-docs/0.9.4
+mina-project/gen-docs/0.9.3
+mina-project/gen-docs/0.9.2
+mina-project/gen-docs/0.9.1
+mina-project/gen-docs/0.9.0
+
+# 0.8.x
+mina-project/gen-docs/0.8.4
+mina-project/gen-docs/0.8.3
+mina-project/gen-docs/0.8.2
+mina-project/gen-docs/0.8.1
+mina-project/gen-docs/0.8.0
+
+# 0.7.x
+mina-project/gen-docs/0.7.4
+mina-project/gen-docs/0.7.3
+mina-project/gen-docs/0.7.2
+mina-project/gen-docs/0.7.1
+
+# SSHD
+sshd-project/apidocs
+
diff --git a/content/ftpserver-project/building.mdtext b/content/ftpserver-project/building.mdtext
new file mode 100644
index 0000000..97795a7
--- /dev/null
+++ b/content/ftpserver-project/building.mdtext
@@ -0,0 +1,42 @@
+Title: FtpServer Building
+Notice:    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.
+
+
+# Building
+
+You need [Subversion](http://svnbook.red-bean.com/) to [check out the source code](http://apache.org/dev/version-control.html) from [our source code repository](getting_source.html), and [Maven 2](http://maven.apache.org/download.html) to build the source code. Currently, Maven 2.0.5 or 2.0.7 or newer is required for the build.
+
+The following example shows how to build the trunk.
+
+	$ svn co http://svn.apache.org/repos/asf/mina/ftpserver/trunk/ ftpserver
+	$ cd ftpserver
+	$ mvn install
+
+If you run into any problems running these steps, please report on the [mailing lists](mailing_list.html)
+
+If you want to generate Eclipse project files, run:
+
+	$ mvn eclipse:eclipse   # Generate Eclipse project files if you want
+
+To generate to distribution packages, including shell scripts and example configuration, run:
+
+	cd distribution
+	$ mvn package
+
+The build requires a minimum Java 1.5 JDK to compile.
+
diff --git a/content/ftpserver-project/configuration.mdtext b/content/ftpserver-project/configuration.mdtext
new file mode 100644
index 0000000..ab5d975
--- /dev/null
+++ b/content/ftpserver-project/configuration.mdtext
@@ -0,0 +1,49 @@
+Title: FtpServer Configuration
+Notice:    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.
+
+
+# Configuration
+
+## Overview
+
+This document explains the Apache FTP Server configuration parameters. All the configuration parameters are grouped depending on the component where it has been used. The configuration format is XML based and comes with a matching XML Schema that can be used in XML editors to simplify configuration.
+
+The XML document scaffold looks like this:
+
+	:::XML
+	<server xmlns="http://mina.apache.org/ftpserver/spring/v1"
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xsi:schemaLocation="http://mina.apache.org/ftpserver/spring/v1 http://mina.apache.org/ftpserver/ftpserver-1.0.xsd"
+		id="myServer">
+	</server>
+
+The id attribute can be set to any value of your liking, but is required.
+
+In-between the server element, you can now add elements to configure each component within the server instance, such as listeners and user managers.
+
+## Integration with Spring Framework
+
+Apache FtpServer uses Spring Framework to implement the configuration. That also means that we get the added benefit of full integration with regular Spring XML configuration. For example, you can embed the "server" element where ever you like within you Spring configuration, and with FtpServer on the classpath, Spring will wire up the server for you.
+
+## Detailed configuration specifications
+
+The following pages contains the full documentation on the available configuration.
+
+* Server - the main server configuration such as connectivity limits
+* Listeners - configuration for listeners, such as SSL settings and ports
+* User Manager - configuration for user managers, for example how to set up a file based user manager
diff --git a/content/ftpserver-project/configuration_listeners.mdtext b/content/ftpserver-project/configuration_listeners.mdtext
new file mode 100644
index 0000000..8c1f1fa
--- /dev/null
+++ b/content/ftpserver-project/configuration_listeners.mdtext
@@ -0,0 +1,125 @@
+Title: FtpServer Listeners
+Notice:    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.
+
+
+# Listeners
+
+Listeners are the component in FtpServer which is responsible for listening on the network socket and when clients connect create the user session, execute commands and so on. An FtpServer can have multiple listeners at the same time, some examples include:
+
+* one listener on port 21 (the default option)
+* one cleartext listener on port 21 and one for implicit SSL on port 22
+* one cleartext listener in an internal IP address only and one for implicit SSL for the external IP address
+
+Listeners are identified by a name, the default listener is identified by "default".
+
+The main network configuration is performed on the listeners, for example the port to listen on and SSL configuration.
+
+Within the XML configuration format, all listeners are configured in the "listeners" element. A XML configuration example can therefore look like:
+
+	:::xml
+	<listeners>
+    	<nio-listener name="default" port="2222" implicit-ssl="true" idle-timeout="60" local-address="1.2.3.4">
+        	<ssl>
+            	<keystore file="mykeystore.jks" password="secret" key-password="otherSecret" />
+                <truststore file="mytruststore.jks" password="secret"/>
+            </ssl>
+            <data-connection idle-timeout="60">
+            	<active enabled="true" local-address="1.2.3.4" local-port="2323" ip-check="true">
+                <passive ports="123-12" address="1.2.3.4" external-address="1.2.3.4" />
+            </data-connection>
+            <blacklist>1.2.3.0/16, 1.2.4.0/16, 1.2.3.4</blacklist>
+        </nio-listener>
+	</listeners>
+
+## nio-listener element
+
+The listener shipped with FtpServer is called "nio-listener" since it is based Java NIO for performance and scalability.
+
+| Attribute | Description | Required | Default value |
+|---|---|---|---|
+| name | The listener name, if "default" it will override the settings on the default listener | Yes | &nbsp; |
+| port | The port on which the listener will accept connections | No | 21 |
+| local-address | Server address the listener will bind to | No | All available |
+| implicit-ssl | True if the listener should use implicit SSL | No | false |
+| idle-timeout | The number of seconds before an inactive client is disconnected. If this value is set to 0, the idle time is disabled (a client can idle forever without getting disconnected by the server). If a lower maximum idle time is configured on a user (e.g. using the PropertiesUserManager idletime configuration), it will override the listener value. Thus, the listener value enforce the upper threshold, but lower values can be provided per user. | No | 300 |
+
+## ssl element
+
+Required for listeners that should provide FTPS support.
+
+| Attribute | Description | Required | Default value |
+|---|---|---|---|
+| protocol | The SSL protocol to use. Supported values are "SSL" and "TLS" | No | TLS |
+|client-authentication | Should client authentication be performed? Supported values are "NEED", "WANT" and "NONE" | No | NONE |
+| enabled-ciphersuites | A space-separated list of cipher suites to enable for this connection. The exact cipher suites that can be used depends on the Java version used, [here](http://java.sun.com/j2se/1.5.0/docs/guide/security/jsse/JSSERefGuide.html#AppA) are the names for Sun's JSSE provider. | No | All cipher suites are enabled |
+
+## keystore element
+
+This element is required if the ssl element is provided. It provides configuration for the key store used for finding the private key and server certificate for the FTP server.
+
+| Attribute | Description | Required | Default value |
+|---|---|---|---|
+| file | Path to the key store file | Yes | &nbsp; |
+| password | The password for the key store | Yes | &nbsp; |
+| key-password | Password for the key within the key store | No | Key store password |
+| key-alias | Alias of the key to use within the key store | No <| Uses first key found |
+| type | Key store type | No | JRE key store default type, normally JKS |
+| algorithm | Key store algorithm | No | SunX509 |
+## truststore element
+
+This element provides configuration for the trust store used for locating trusted certificates.
+
+| Attribute | Description | Required | Default value |
+|---|---|---|---|
+| file | Path to the trust store file | Yes | &nbsp; |
+| password | The password for the trust store | No | Certificates can be read without password |
+| type | Trust store type | No | JRE key store default type, normally JKS |
+| algorithm | Trust store algorithm | No | SunX509 |>
+
+## data-connection element
+
+This element provides configuration for the data connection.
+
+| Attribute | Description | Required | Default value |
+|---|---|---|---|
+| idle-timeout | Number of seconds before an idle data connection is closed | No | 300 |
+
+## active element
+
+This element provides configuration for active data connections.
+
+| Attribute | Description | Required | Default value |
+|---|---|---|---|
+| enabled | False if active data connections should not be allowed | No | true |
+| local-address | The local address the server will use when creating a data connection | No | Any available |
+| local-port | The local prt the server will use when creating a data connection | No | Any available |
+| ip-check | Should the server check that the IP address for the data connection is the same as for the control socket? | No | false |
+
+
+## passive element
+
+This element provides configuration for passive data connections.
+
+| Attribute | Description | Required | Default value |
+|---|---|---|---|
+| ports| The ports on which the server is allowed to accept passive data connections, see [Configure passive ports](configuration_passive_ports.html) for details| No| Any available port |
+| address| The address on which the server will listen to passive data connections| No| The same address as the control socket for the session |
+| external-address| The address the server will claim to be listening on in the PASV reply. Useful when the server is behind a NAT firewall and the client sees a different address than the server is using| No| &nbsp; |
+
+## blacklist element
+This element provides a list of black listed IP addresses and networks in [CIDR notation](http://en.wikipedia.org/wiki/CIDR).
diff --git a/content/ftpserver-project/configuration_logging.mdtext b/content/ftpserver-project/configuration_logging.mdtext
new file mode 100644
index 0000000..8fd8a4e
--- /dev/null
+++ b/content/ftpserver-project/configuration_logging.mdtext
@@ -0,0 +1,59 @@
+Title: FtpServer Logging
+Notice:    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.
+
+
+# Logging
+
+## FtpServer Logging
+
+FtpServer uses [SLF4J](http://slf4j.org/) throughout its internal code allowing the developer to choose a logging configuration that suits their needs, e.g java.util.logging or Log4J. SLF4J provides FtpServer the ability to log hierarchically across various log levels without needing to rely on a particular logging implementation.
+
+## MDC logging
+
+FtpServer supports [MDC logging](http://www.slf4j.org/manual.html#mdc). Basically, it provides session based information for the logger. Of primary interest in the case of FtpServer are the user name and remote IP address for each session. The log4j example below shows how to enable these to be logged.
+
+The following propeties are made available for MDC logging
+
+| Token | Description |
+|---|---|
+| session | A unique session ID, the same available from FtpSession.getSessionId() |
+| userName | The user name of the user, only available after the USER command has been issued |
+| remoteAddress | The IP and local port of the client |
+| remoteIp | The IP of the client |
+| remotePort | The port used for the socket at the client |
+| localAddress | The local IP and port of the server for this session |
+| localIp | The local IP of the server for this session |
+| localPort | The local port of the server for this session |
+
+## log4j
+
+If you need to setup detailed logging from within FtpServer's code, then you can use a simple log4j configuration. Note that this logging can be very verbose depending on the log level you chose to use. The log4j jar is bundled with the binary distribution. This is an optional jar file.
+
+The log4j configuration file location is <INSTALL_DIR>/common/classes/log4j.properties. You can modify this file to configure log4j.
+
+	log4j.rootLogger=DEBUG, R
+	log4j.appender.R=org.apache.log4j.RollingFileAppender
+	log4j.appender.R.File=./res/log/log.gen
+	log4j.appender.R.MaxFileSize=10MB
+	log4j.appender.R.MaxBackupIndex=10
+	log4j.appender.R.layout=org.apache.log4j.PatternLayout
+	log4j.appender.R.layout.ConversionPattern=[%5p] %d [%X{userName}] [%X{remoteIp}] %m%n
+
+This log4j configuration sets up a file called log.gen in your FTP Server ./res/log folder with a maximum file size of 10MB and up to 10 backups. DEBUG log level is specified.
+
+You should consult the log4j documentation for more options.
diff --git a/content/ftpserver-project/configuration_passive_ports.mdtext b/content/ftpserver-project/configuration_passive_ports.mdtext
new file mode 100644
index 0000000..c125985
--- /dev/null
+++ b/content/ftpserver-project/configuration_passive_ports.mdtext
@@ -0,0 +1,36 @@
+Title: FtpServer Configure passive ports
+Notice:    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.
+
+
+# Configure passive ports
+
+When the client wants to use a passive data connection, the server should provide the port to use. By default, FtpServer will choose any available port. However this can be overridden using the configuration for the [passive data connection](configuration_listeners.html). The allowed passive ports can then be specified as a single port (e.g. 20020), multiple ports (e.g. 20020, 20030, 20040) or a range of ports (e.g. 20020-20030). Ranges can be closed (e.g. 20020-20030) or open ended (e.g [...]
+
+When the server has used up all passive ports (one per client doing passive data transfer), the next clients will have to wait for an available port. It is therefore advised to provide multiple passive ports.
+
+If a value (specific port or start or end of an range) is outside of the allowed values of 0 and 65535, an error will be thrown at startup.
+
+## Examples:
+
+|   |   |
+|---|---|
+| 0 | Any available port is used as the passive port |
+| 123 | Port 123 will be used as the passive port |
+| 123,133 | Port 123 and 133 will be used as the passive port |
+| 123-125 | Any port in a range from 123 to 125 will be used as the passive port |
+| 123-125, 127, 129-130 | Any port in a range from 123 to 125, port 127 or in the range from 129 to 130 will be used as the passive port |
diff --git a/content/ftpserver-project/configuration_server.mdtext b/content/ftpserver-project/configuration_server.mdtext
new file mode 100644
index 0000000..141311a
--- /dev/null
+++ b/content/ftpserver-project/configuration_server.mdtext
@@ -0,0 +1,51 @@
+Title: FtpServer Server
+Notice:    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.
+
+
+# Server
+
+Some configuration is done for the entire server. This affects all listeners, for login limits, the sum of the logins for all listeners are enforced.
+
+Using the XML configuration, this following examples shows all available configurations for the server
+
+	:::XML
+	<server xmlns="http://mina.apache.org/ftpserver/spring/v1"
+		xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+		xsi:schemaLocation="http://mina.apache.org/ftpserver/spring/v1 http://mina.apache.org/ftpserver/ftpserver-1.0.xsd"
+        id="server" 	
+        max-logins="500"
+		anon-enabled="false"
+		max-anon-logins="123"
+		max-login-failures="124"
+		login-failure-delay="125">
+	...
+	</server>
+
+## server element
+
+| Attribute | Description | Required | Default value |
+|---|---|---|---|
+| id | A unique identifier for this server within this XML configiration | Yes |&nbsp;|
+| max-threads | The maximum number of threads used in the thread pool for handling client connections  | No | max-logins, or 16 if neither value is set |
+| max-logins | The maximum number of simultaneous users  | No | 10 |
+| max-anon-logins | The maximum number of simultaneous anonymous users  | No | 10 |
+| anon-enabled | Are anonymous logins enabled? | No | true |
+| max-login-failures | The number of failed login attempts before the connection is closed | No | 3 |
+| login-failure-delay | The number of milliseconds that the connection is delayed after a failed login attempt. Used to limit to possibility of brute force guessing passwords. | No | 500 |
+
+
diff --git a/content/ftpserver-project/configuration_ssltls_support.mdtext b/content/ftpserver-project/configuration_ssltls_support.mdtext
new file mode 100644
index 0000000..39fca3d
--- /dev/null
+++ b/content/ftpserver-project/configuration_ssltls_support.mdtext
@@ -0,0 +1,64 @@
+Title: FtpServer TLS-SSL Support
+Notice:    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.
+
+
+# TLS-SSL Support
+
+This document explains how to enable Apache FTP Server to use Transport Layer Security (TLS) for encrypted client-server communication.
+
+FtpServer uses the Java Secure Sockets Extension (JSSE) infrastructure to provide TLS/SSL sockets. JSSE comes packaged with several vendor Java distributions (i.e. Sun Java 1.4.x, IBM Java 1.3.x). For these distributions, please follow the vendor provided instructions for configuring the JVM to use JSSE services.
+
+## Security mode
+
+### Explicit Security (default)
+
+In this mode server supports both secure and non-secure connection. Upon request from client (AUTH SSL) the server switches to the SSL/TLS mode.
+
+In this case, the listener should not use implicit SSL (the default value):
+
+	:::XML
+ 	<nio-listener name="default" implicit-ssl="false">
+
+### Implicit Security
+
+If you want to use implicit SSL connection, that is, SSL is always enabled on the control socket. The first thing you need to do is to tell the listener to use implicit SSL mode:
+
+	:::XML
+	<nio-listener name="default" implicit-ssl="true">
+
+If you set the listener to use implicit security, enabling implicit security for the data connection should be conside
+
+### Data connection security
+
+Implicit secure listener does not ensure encrypted data transfer. To use SSL/TLS in data connection, client either has to send "PROT P" command or implicit security must be enabled for the data connection.
+
+	:::XML
+	<data-connection implicit-ssl="true">
+
+If no explicit configuration for SSL keystores and truststores is provided for the data connection, it will be inherited from the listener. This is the normal configuration.
+
+Different FTP clients behave different with regards to implicit security on the data connection, some assume an SSL enabled socket, while some will always send a "PROT P" command. The following table shows the characteristics of some clients, please report others.
+
+| FTP client | Behavior |
+|---|---|
+| FileZilla | Sends "PROT P" command automatically in implicit security mode |
+| DartFTP/PowerTCP | Assumes an SSL enabled data connection, does not send "PROT P" |
+
+### Detailed configuration
+
+Full documentation on all provided configuration is available on the [Listeners](configuration_listeners.html) page
diff --git a/content/ftpserver-project/configuration_user_manager.mdtext b/content/ftpserver-project/configuration_user_manager.mdtext
new file mode 100644
index 0000000..ac353e1
--- /dev/null
+++ b/content/ftpserver-project/configuration_user_manager.mdtext
@@ -0,0 +1,33 @@
+Title: FtpServer User Manager
+Notice:    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.
+
+
+# User Manager
+
+## Built in user managers
+
+FtpServer comes with two different user managers:
+
+* [File based user manager](configuration_user_manager_file.html)
+* [Database user manager](configuration_user_manager_db.html)
+
+## Custom User Manager
+
+You can write your own user manager to integrate it with your existing applications. Your custom user manager should implement org.apache.ftpserver.ftplet.UserManager interface. In your configuration file, you will have to use the Spring bean element to configure your custom user manager. This gives you all the power of Spring, for example integrating with your other beans. You can also provide a custom XML format by using the Spring XML extension mechanisms.
+
+
diff --git a/content/ftpserver-project/configuration_user_manager_db.mdtext b/content/ftpserver-project/configuration_user_manager_db.mdtext
new file mode 100644
index 0000000..f6f5648
--- /dev/null
+++ b/content/ftpserver-project/configuration_user_manager_db.mdtext
@@ -0,0 +1,124 @@
+Title: FtpServer Database user manager
+Notice:    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.
+
+
+# Database user manager
+
+You can store user user information in a database. JDBC is used to access the database. This user manager has been tested using MySQL, HSQLDB and FireBird database. All the user informations are stored in FTP_USER table. An example DDL file for the database is provided in <INSTALL_DIR>/res/ftp-db.sql.
+
+## Database JDBC libraries
+
+You must include the required JAR files for your database in the classpath of FtpServer. Typically you would do this by placing the JAR files in <INSTALL_DIR>/common/lib.
+
+## Example
+
+	:::XML
+	<db-user-manager encrypt-passwords="salted">
+		<data-source>
+			<beans:bean class="some.datasoure.class" />
+		</data-source>
+		<insert-user>INSERT INTO FTP_USER (userid, userpassword,
+			homedirectory, enableflag, writepermission, idletime, uploadrate,
+			downloadrate) VALUES ('{userid}', '{userpassword}', '{homedirectory}',
+			'{enableflag}', '{writepermission}', {idletime}, {uploadrate},
+			{downloadrate})</insert-user>
+		<update-user>
+			UPDATE FTP_USER SET
+				userpassword='{userpassword}',
+				homedirectory='{homedirectory}',
+				enableflag={enableflag},
+				writepermission={writepermission},
+				idletime={idletime},
+				uploadrate={uploadrate},
+				downloadrate={downloadrate}
+			WHERE userid='{userid}'
+		</update-user>
+		<delete-user>
+			DELETE FROM FTP_USER WHERE userid = '{userid}'
+		</delete-user>
+		<select-user>
+			SELECT userid, userpassword, homedirectory,
+				enableflag, writepermission, idletime, uploadrate, downloadrate 
+			FROM FTP_USER 
+			WHERE userid = '{userid}'
+		</select-user>
+		<select-all-users>
+			SELECT userid FROM FTP_USER ORDER BY userid
+		</select-all-users>
+		<is-admin>
+			SELECT userid 
+			FROM FTP_USER 
+			WHERE userid='{userid}' AND userid='admin'
+			</is-admin>
+		<authenticate>SELECT userpassword from FTP_USER WHERE userid='{userid}'</authenticate>
+	</db-user-manager>
+
+## Configuration Parameters
+
+### db-user-manager element
+
+| Attribute | Description | Required | Default value |
+|---|---|---|---|
+| encrypt-passwords | It indicates how to stored password are encrypted. Possible values are "clear" for clear text, "md5" for hashed using MD5 or "salted" for hashed salted passwords (including multiple hash iterations). "salted" is encouraged. | No | md5 |
+
+
+| Child element | Description | Required | Default value |
+|---|---|---|---|
+| data-source | The data source configured using the regular Spring bean element | Yes |&nbsp;|
+| insert-user | The SQL statement to insert a new user. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
+| update-user | The SQL statement to update a user. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
+| delete-user | The SQL statement to delete a user. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
+| select-user | The SQL statement to select a user. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
+| select-all-users | The SQL statement to select all users. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
+| is-admin | The SQL statement to find whether an user is admin or not. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
+| authenticate | The SQL statement to authenticate a user. All the dynamic values will be replaced during runtime. | Yes |&nbsp;|
+
+### Data source configuration
+
+The data source must be configured as described by the database provider. You can also use the general purpose [BasicDataSource](http://jakarta.apache.org/commons/dbcp/apidocs/org/apache/commons/dbcp/BasicDataSource.html) provided by the [Apache Commons DBCP project](http://jakarta.apache.org/commons/dbcp/).
+
+#### Example using the BasicDataSource to connect to MySQL
+
+	:::XML
+	<data-source>
+		<beans:bean class="org.apache.commons.dbcp.BasicDataSource">
+        	<beans:property name="driverClassName" value="com.mysql.jdbc.Driver" />
+			<beans:property name="url" value="jdbc:mysql://localhost/ftpd" />
+			<beans:property name="username" value="myuser" />
+  	  	  	<beans:property name="password" value="secret" />
+		</beans:bean>
+	</data-source>
+
+#### FTP_USER Table Structure
+
+| Column | Type | Default value |
+|---|---|---|
+| userid | VARCHAR(64), Primary key |&nbsp;|
+| userpassword | VARCHAR(64) |&nbsp;|
+| homedirectory | VARCHAR(128) |&nbsp;|
+| enableflag | BOOLEAN | TRUE |
+| writepermission | BOOLEAN | FALSE |
+| idletime | INT | 0 |
+| uploadrate | INT | 0 |
+| downloadrate | INT | 0 |
+| maxloginnumber | INT | 0 |
+| maxloginperip | INT | 0 |
+
+
+
+
diff --git a/content/ftpserver-project/configuration_user_manager_file.mdtext b/content/ftpserver-project/configuration_user_manager_file.mdtext
new file mode 100644
index 0000000..dd6918d
--- /dev/null
+++ b/content/ftpserver-project/configuration_user_manager_file.mdtext
@@ -0,0 +1,36 @@
+Title: FtpServer File based user manager
+Notice:    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.
+
+
+# File based user manager
+
+This is the default user manager. It uses a properties file to store all the user information.
+
+## Example
+
+	:::XML
+	<file-user-manager file="users.properties" encrypt-passwords="true">
+
+## file-user-manager element
+
+| Attribute | Description | Required | Default value |
+|---|---|---|---|
+| file | Path to the properties file for storing users | Yes | &nbsp; |
+| encrypt-passwords | It indicates how to stored password are encrypted. Possible values are "clear" for clear text, "md5" for hashed using MD5 or "salted" for hashed salted passwords (including multiple hash iterations). "salted" is encouraged. | No | md5 |
+
+
diff --git a/content/ftpserver-project/contributors.mdtext b/content/ftpserver-project/contributors.mdtext
new file mode 100644
index 0000000..ef35648
--- /dev/null
+++ b/content/ftpserver-project/contributors.mdtext
@@ -0,0 +1,32 @@
+Title: FtpServer Contributors
+Notice:    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.
+
+
+# Contributors
+
+## Commiters
+
+The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.
+
+* Rana Battacharyya
+* [Niklas Gustavsson](http://protocol7.com/)
+* Paul Hammant
+* David Latorre
+* Emmanuel L&eacute;charny
+* Sai Pullabhotla
+* Sergey M Vladimirov
diff --git a/content/ftpserver-project/documentation.mdtext b/content/ftpserver-project/documentation.mdtext
new file mode 100644
index 0000000..9d9ac1f
--- /dev/null
+++ b/content/ftpserver-project/documentation.mdtext
@@ -0,0 +1,59 @@
+Title: FtpServer Documentation 
+Notice:    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.
+
+
+# Documentation
+
+## Tutorials
+* [Embedding FtpServer in 5 minutes](embedding_ftpserver.html)
+* [Running FtpServer stand-alone in 5 minutes](running_ftpserver_standalone.html)
+
+
+## Using FtpServer
+* [Installation](installation.html)
+    * [Installing FtpServer as a Windows service](ftpserver_as_windows_service.html)
+* [Configuration](configuration.html)
+    * [Server](configuration_server.html)
+    * [Listeners](configuration_listeners.html)
+    * [Configure passive ports](configuration_passive_ports.html)
+    * [TLS/SSL Support](configuration_ssltls_support.html)
+    * [User Manager](configuration_user_manager.html)
+    * [Logging](configuration_logging.html)
+* [Messages](messages.html)
+* [Managing users](managing_users.html)
+* [FtpServer and port 21 on Linux](ftpserver_port_21.html)
+
+## Advanced
+* [FTP Commands](ftpserver_commands.html)
+* [SITE Commands](ftpserver_site_commands.html)
+* [Ftplet](ftplet.html)
+
+## Supported RFCs
+* [RFC959](http://www.ietf.org/rfc/rfc959.txt)
+* [RFC2228](http://www.ietf.org/rfc/rfc2228.txt)
+* [RFC2389](http://www.ietf.org/rfc/rfc2389.txt)
+* [RFC2428](http://www.ietf.org/rfc/rfc2428.txt)
+* [RFC2640](http://www.ietf.org/rfc/rfc2640.txt)
+* [draft-twine-ftpmd5-00](draft-twine-ftpmd5-00.html)
+* [draft-somers-ftp-mfxx-00](http://www.omz13.com/downloads/draft-somers-ftp-mfxx-00.html#anchor8)
+
+## Developing FtpServer
+* [Getting the source](getting_source.html)
+* [Building](building.html)
+* [Releasing](releasing.html)
+
diff --git a/content/ftpserver-project/download_1.0.0-M2.mdtext b/content/ftpserver-project/download_1.0.0-M2.mdtext
new file mode 100644
index 0000000..deb991c
--- /dev/null
+++ b/content/ftpserver-project/download_1.0.0-M2.mdtext
@@ -0,0 +1,80 @@
+Title: Apache FtpServer 1.0.0-M2 Release
+Notice:    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.
+
+
+# Apache FtpServer 1.0.0-M2 Release
+
+## New Features in 1.0.0-M2
+
+This is the first release of Apache FtpServer, you can find the major features [here](features.html).
+
+## Changelog
+
+For a more detailed view of new features and bug fixes, see the [release notes](https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12312320&styleName=Html&projectId=10571&Create=Create)
+
+## Getting the Binary Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip distribution | [ftpserver-1.0.0-M2.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M2/ftpserver-1.0.0-M2.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M2/ftpserver-1.0.0-M2.zip.sha1) | [ftpserver-1.0.0-M2.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M2/ftpserver-1.0.0-M2.zip.asc) |
+| tar.gz distribution | [ftpserver-1.0.0-M2.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M2/ftpserver-1.0.0-M2.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M2/ftpserver-1.0.0-M2.tar.gz.sha1) | [ftpserver-1.0.0-M2.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M2/ftpserver-1.0.0-M2.tar.gz.asc) | 
+
+## Verify the Integrity of Downloads
+
+It is essential that you verify the integrity of the downloaded files using the PGP signatures. The PGP signatures can be verified using PGP or GPG. Begin by following these steps:
+
+1. Download the [KEYS](https://www.apache.org/dist/mina/KEYS)
+2. Download the asc signature file for the relevant distribution
+3. Verify the signatures using the following commands, depending on your use of PGP or GPG:
+
+		$ pgpk -a KEYS
+		$ pgpv ftpserver-1.0.0-M2.tar.gz.asc
+
+	or 
+
+		$ pgp -ka KEYS
+		$ pgp ftpserver-1.0.0-M2.tar.gz.asc
+
+	or
+
+		$ gpg --import KEYS
+		$ gpg --verify ftpserver-1.0.0-M2.tar.gz.asc
+
+## Getting the Binaries using Maven 2
+
+To use this release in your maven project, the proper dependency configuration that you should use in your [Maven POM](http://maven.apache.org/guides/introduction/introduction-to-the-pom.html) is:
+
+	:::XML
+	<dependency>
+		<groupId>org.apache.ftpserver</groupId>
+		<artifactId>ftpserver-core</artifactId>
+		<version>1.0.0-M2</version>
+	</dependency>
+
+## Getting the Source Code
+
+### Source Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip sources | [ftpserver-1.0.0-M2-src.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M2/ftpserver-1.0.0-M2-src.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M2/ftpserver-1.0.0-M2-src.zip.sha1)| [ftpserver-1.0.0-M2-src.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M2/ftpserver-1.0.0-M2-src.zip.asc) |
+| tar.gz sources | [ftpserver-1.0.0-M2-src.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M2/ftpserver-1.0.0-M2-src.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M2/ftpserver-1.0.0-M2-src.tar.gz.sha1) | [ftpserver-1.0.0-M2-src.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M2/ftpserver-1.0.0-M2-src.tar.gz.asc) |
+
+### SVN Tag Checkout
+
+	svn co http://svn.apache.org/repos/asf/mina/ftpserver/tags/1.0.0-M2
diff --git a/content/ftpserver-project/download_1.0.0-M3.mdtext b/content/ftpserver-project/download_1.0.0-M3.mdtext
new file mode 100644
index 0000000..a4c1aff
--- /dev/null
+++ b/content/ftpserver-project/download_1.0.0-M3.mdtext
@@ -0,0 +1,80 @@
+Title: Apache FtpServer 1.0.0-M3 Release
+Notice:    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.
+
+
+# Apache FtpServer 1.0.0-M3 Release
+
+## New Features in 1.0.0-M3
+
+This is a bug fix release that fixes issues found in 1.0.3.
+
+## Changelog
+
+For a more detailed view of new features and bug fixes, see the [release notes](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10571&styleName=Html&version=12313104)
+
+## Getting the Binary Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip distribution | [ftpserver-1.0.0-M3.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M3/ftpserver-1.0.0-M3.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M3/ftpserver-1.0.0-M3.zip.sha1) | [ftpserver-1.0.0-M3.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M3/ftpserver-1.0.0-M3.zip.asc) |
+| tar.gz distribution | [ftpserver-1.0.0-M3.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M3/ftpserver-1.0.0-M3.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M3/ftpserver-1.0.0-M3.tar.gz.sha1) | [ftpserver-1.0.0-M3.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M3/ftpserver-1.0.0-M3.tar.gz.asc) | 
+
+## Verify the Integrity of Downloads
+
+It is essential that you verify the integrity of the downloaded files using the PGP signatures. The PGP signatures can be verified using PGP or GPG. Begin by following these steps:
+
+1. Download the [KEYS](https://www.apache.org/dist/mina/KEYS)
+2. Download the asc signature file for the relevant distribution
+3. Verify the signatures using the following commands, depending on your use of PGP or GPG:
+
+		$ pgpk -a KEYS
+		$ pgpv ftpserver-1.0.0-M3.tar.gz.asc
+
+	or 
+
+		$ pgp -ka KEYS
+		$ pgp ftpserver-1.0.0-M3.tar.gz.asc
+
+	or
+
+		$ gpg --import KEYS
+		$ gpg --verify ftpserver-1.0.0-M3.tar.gz.asc
+
+## Getting the Binaries using Maven 2
+
+To use this release in your maven project, the proper dependency configuration that you should use in your [Maven POM](http://maven.apache.org/guides/introduction/introduction-to-the-pom.html) is:
+
+	:::XML
+	<dependency>
+		<groupId>org.apache.ftpserver</groupId>
+		<artifactId>ftpserver-core</artifactId>
+		<version>1.0.0-M3</version>
+	</dependency>
+
+## Getting the Source Code
+
+### Source Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip sources | [ftpserver-1.0.0-M3-src.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M3/ftpserver-1.0.0-M3-src.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M3/ftpserver-1.0.0-M3-src.zip.sha1)| [ftpserver-1.0.0-M3-src.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M3/ftpserver-1.0.0-M3-src.zip.asc) |
+| tar.gz sources | [ftpserver-1.0.0-M3-src.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M3/ftpserver-1.0.0-M3-src.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M3/ftpserver-1.0.0-M3-src.tar.gz.sha1) | [ftpserver-1.0.0-M3-src.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M3/ftpserver-1.0.0-M3-src.tar.gz.asc) |
+
+### SVN Tag Checkout
+
+	svn co http://svn.apache.org/repos/asf/mina/ftpserver/tags/1.0.0-M3
diff --git a/content/ftpserver-project/download_1.0.0-M4.mdtext b/content/ftpserver-project/download_1.0.0-M4.mdtext
new file mode 100644
index 0000000..c46a3e9
--- /dev/null
+++ b/content/ftpserver-project/download_1.0.0-M4.mdtext
@@ -0,0 +1,80 @@
+Title: Apache FtpServer 1.0.0-M4 Release
+Notice:    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.
+
+
+# Apache FtpServer 1.0.0-M4 Release
+
+## New Features in 1.0.0-M4
+
+This release mainly contains bug fixes and minor enhancements from the previous release.
+
+## Changelog
+
+For a more detailed view of new features and bug fixes, see the [release notes](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10571&styleName=Html&version=12313395)
+
+## Getting the Binary Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip distribution | [ftpserver-1.0.0-M4.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M4/ftpserver-1.0.0-M4.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M4/ftpserver-1.0.0-M4.zip.sha1) | [ftpserver-1.0.0-M4.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M4/ftpserver-1.0.0-M4.zip.asc) |
+| tar.gz distribution | [ftpserver-1.0.0-M4.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M4/ftpserver-1.0.0-M4.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M4/ftpserver-1.0.0-M4.tar.gz.sha1) | [ftpserver-1.0.0-M4.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M4/ftpserver-1.0.0-M4.tar.gz.asc) | 
+
+## Verify the Integrity of Downloads
+
+It is essential that you verify the integrity of the downloaded files using the PGP signatures. The PGP signatures can be verified using PGP or GPG. Begin by following these steps:
+
+1. Download the [KEYS](https://www.apache.org/dist/mina/KEYS)
+2. Download the asc signature file for the relevant distribution
+3. Verify the signatures using the following commands, depending on your use of PGP or GPG:
+
+		$ pgpk -a KEYS
+		$ pgpv ftpserver-1.0.0-M4.tar.gz.asc
+
+	or 
+
+		$ pgp -ka KEYS
+		$ pgp ftpserver-1.0.0-M4.tar.gz.asc
+
+	or
+
+		$ gpg --import KEYS
+		$ gpg --verify ftpserver-1.0.0-M4.tar.gz.asc
+
+## Getting the Binaries using Maven 2
+
+To use this release in your maven project, the proper dependency configuration that you should use in your [Maven POM](http://maven.apache.org/guides/introduction/introduction-to-the-pom.html) is:
+
+	:::XML
+	<dependency>
+		<groupId>org.apache.ftpserver</groupId>
+		<artifactId>ftpserver-core</artifactId>
+		<version>1.0.0-M4</version>
+	</dependency>
+
+## Getting the Source Code
+
+### Source Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip sources | [ftpserver-1.0.0-M4-src.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M4/ftpserver-1.0.0-M4-src.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M4/ftpserver-1.0.0-M4-src.zip.sha1)| [ftpserver-1.0.0-M4-src.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M4/ftpserver-1.0.0-M4-src.zip.asc) |
+| tar.gz sources | [ftpserver-1.0.0-M4-src.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M4/ftpserver-1.0.0-M4-src.tar.gz) |  [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M4/ftpserver-1.0.0-M4-src.tar.gz.sha1) | [ftpserver-1.0.0-M4-src.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0-M4/ftpserver-1.0.0-M4-src.tar.gz.asc) |
+
+### SVN Tag Checkout
+
+	svn co http://svn.apache.org/repos/asf/mina/ftpserver/tags/1.0.0-M4
diff --git a/content/ftpserver-project/download_1.0.0-RC1.mdtext b/content/ftpserver-project/download_1.0.0-RC1.mdtext
new file mode 100644
index 0000000..f84b628
--- /dev/null
+++ b/content/ftpserver-project/download_1.0.0-RC1.mdtext
@@ -0,0 +1,81 @@
+Title: Apache FtpServer 1.0.0-RC1 Release
+Notice:    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.
+
+
+# Apache FtpServer 1.0.0-RC1 Release
+
+## New Features in 1.0.0-RC1
+
+This release mainly contains bug fixes and minor enhancements from the previous release.
+
+## Changelog
+
+For a more detailed view of new features and bug fixes, see the [release notes](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10571&styleName=Html&version=12313542)
+
+## Getting the Binary Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip distribution | [ftpserver-1.0.0-RC1.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC1/ftpserver-1.0.0-RC1.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC1/ftpserver-1.0.0-RC1.zip.sha1) | [ftpserver-1.0.0-RC1.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC1/ftpserver-1.0.0-RC1.zip.asc) |
+| tar.gz distribution | [ftpserver-1.0.0-RC1.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC1/ftpserver-1.0.0-RC1.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC1/ftpserver-1.0.0-RC1.tar.gz.sha1) | [ftpserver-1.0.0-RC1.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC1/ftpserver-1.0.0-RC1.tar.gz.asc) | 
+
+## Verify the Integrity of Downloads
+
+It is essential that you verify the integrity of the downloaded files using the PGP signatures. The PGP signatures can be verified using PGP or GPG. Begin by following these steps:
+
+1. Download the [KEYS](https://www.apache.org/dist/mina/KEYS)
+2. Download the asc signature file for the relevant distribution
+3. Verify the signatures using the following commands, depending on your use of PGP or GPG:
+
+		$ pgpk -a KEYS
+		$ pgpv ftpserver-1.0.0-RC1.tar.gz.asc
+
+	or 
+
+		$ pgp -ka KEYS
+		$ pgp ftpserver-1.0.0-RC1.tar.gz.asc
+
+	or
+
+		$ gpg --import KEYS
+		$ gpg --verify ftpserver-1.0.0-RC1.tar.gz.asc
+
+## Getting the Binaries using Maven 2
+
+To use this release in your maven project, the proper dependency configuration that you should use in your [Maven POM](http://maven.apache.org/guides/introduction/introduction-to-the-pom.html) is:
+
+	:::XML
+	<dependency>
+		<groupId>org.apache.ftpserver</groupId>
+		<artifactId>ftpserver-core</artifactId>
+		<version>1.0.0-RC1</version>
+	</dependency>
+
+## Getting the Source Code
+
+### Source Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip sources | [ftpserver-1.0.0-RC1-src.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC1/ftpserver-1.0.0-RC1-src.zip) |  [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC1/ftpserver-1.0.0-RC1-src.zip.sha1)| [ftpserver-1.0.0-RC1-src.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC1/ftpserver-1.0.0-RC1-src.zip.asc) |
+| tar.gz sources | [ftpserver-1.0.0-RC1-src.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC1/ftpserver-1.0.0-RC1-src.tar.gz) |  [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC1/ftpserver-1.0.0-RC1-src.tar.gz.sha1) | [ftpserver-1.0.0-RC1-src.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC1/ftpserver-1.0.0-RC1-src.tar.gz.asc) |
+
+
+### SVN Tag Checkout
+
+	svn co http://svn.apache.org/repos/asf/mina/ftpserver/tags/1.0.0-RC1
diff --git a/content/ftpserver-project/download_1.0.0-RC2.mdtext b/content/ftpserver-project/download_1.0.0-RC2.mdtext
new file mode 100644
index 0000000..aa2b58e
--- /dev/null
+++ b/content/ftpserver-project/download_1.0.0-RC2.mdtext
@@ -0,0 +1,82 @@
+Title: Apache FtpServer 1.0.0-RC2 Release
+Notice:    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.
+
+
+# Apache FtpServer 1.0.0-RC2 Release
+
+## New Features in 1.0.0-RC2
+
+This is the second release candidate for FtpServer 1.0.0. This release contains some last minute fixes for bugs that was found in RC1.
+
+## Changelog
+
+For a more detailed view of new features and bug fixes, see the [release notes](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10571&styleName=Html&version=12313596)
+
+## Getting the Binary Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip distribution | [ftpserver-1.0.0-RC2.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC2/ftpserver-1.0.0-RC2.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC2/ftpserver-1.0.0-RC2.zip.sha1) | [ftpserver-1.0.0-RC2.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC2/ftpserver-1.0.0-RC2.zip.asc) |
+| tar.gz distribution | [ftpserver-1.0.0-RC2.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC2/ftpserver-1.0.0-RC2.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC2/ftpserver-1.0.0-RC2.tar.gz.sha1) | [ftpserver-1.0.0-RC2.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC2/ftpserver-1.0.0-RC2.tar.gz.asc) | 
+
+
+## Verify the Integrity of Downloads
+
+It is essential that you verify the integrity of the downloaded files using the PGP signatures. The PGP signatures can be verified using PGP or GPG. Begin by following these steps:
+
+1. Download the [KEYS](https://www.apache.org/dist/mina/KEYS)
+2. Download the asc signature file for the relevant distribution
+3. Verify the signatures using the following commands, depending on your use of PGP or GPG:
+
+		$ pgpk -a KEYS
+		$ pgpv ftpserver-1.0.0-RC2.tar.gz.asc
+
+	or 
+
+		$ pgp -ka KEYS
+		$ pgp ftpserver-1.0.0-RC2.tar.gz.asc
+
+	or
+
+		$ gpg --import KEYS
+		$ gpg --verify ftpserver-1.0.0-RC2.tar.gz.asc
+
+## Getting the Binaries using Maven 2
+
+To use this release in your maven project, the proper dependency configuration that you should use in your [Maven POM](http://maven.apache.org/guides/introduction/introduction-to-the-pom.html) is:
+
+	:::XML
+	<dependency>
+		<groupId>org.apache.ftpserver</groupId>
+		<artifactId>ftpserver-core</artifactId>
+		<version>1.0.0-RC2</version>
+	</dependency>
+
+## Getting the Source Code
+
+### Source Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip sources | [ftpserver-1.0.0-RC2-src.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC2/ftpserver-1.0.0-RC2-src.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC2/ftpserver-1.0.0-RC2-src.zip.sha1)| [ftpserver-1.0.0-RC2-src.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC2/ftpserver-1.0.0-RC2-src.zip.asc) |
+| tar.gz sources | [ftpserver-1.0.0-RC2-src.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC2/ftpserver-1.0.0-RC2-src.tar.gz) |  [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC2/ftpserver-1.0.0-RC2-src.tar.gz.sha1) | [ftpserver-1.0.0-RC2-src.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0-RC2/ftpserver-1.0.0-RC2-src.tar.gz.asc) |
+
+
+### SVN Tag Checkout
+
+	svn co http://svn.apache.org/repos/asf/mina/ftpserver/tags/1.0.0-RC2
diff --git a/content/ftpserver-project/download_1.0.0.mdtext b/content/ftpserver-project/download_1.0.0.mdtext
new file mode 100644
index 0000000..809ef67
--- /dev/null
+++ b/content/ftpserver-project/download_1.0.0.mdtext
@@ -0,0 +1,82 @@
+Title: Apache FtpServer 1.0.0 Release
+Notice:    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.
+
+
+# Apache FtpServer 1.0.0 Release
+
+## New Features in 1.0.0
+
+This is the first production ready release of FtpServer. In this, we have fixed all known bugs and have a stable API.
+
+## Changelog
+
+For a more detailed view of new features and bug fixes, see the [release notes](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10571&styleName=Html&version=12312283)
+
+## Getting the Binary Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip distribution | [ftpserver-1.0.0.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.0/ftpserver-1.0.0.zip) | N/A | [ftpserver-1.0.0.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0/ftpserver-1.0.0.zip.asc) |
+| tar.gz distribution | [ftpserver-1.0.0.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.0/ftpserver-1.0.0.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0/ftpserver-1.0.0.tar.gz.sha1) | [ftpserver-1.0.0.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0/ftpserver-1.0.0.tar.gz.asc) | 
+
+
+## Verify the Integrity of Downloads
+
+It is essential that you verify the integrity of the downloaded files using the PGP signatures. The PGP signatures can be verified using PGP or GPG. Begin by following these steps:
+
+1. Download the [KEYS](https://www.apache.org/dist/mina/KEYS)
+2. Download the asc signature file for the relevant distribution
+3. Verify the signatures using the following commands, depending on your use of PGP or GPG:
+
+		$ pgpk -a KEYS
+		$ pgpv ftpserver-1.0.0.tar.gz.asc
+
+	or 
+
+		$ pgp -ka KEYS
+		$ pgp ftpserver-1.0.0.tar.gz.asc
+
+	or
+
+		$ gpg --import KEYS
+		$ gpg --verify ftpserver-1.0.0.tar.gz.asc
+
+## Getting the Binaries using Maven 2
+
+To use this release in your maven project, the proper dependency configuration that you should use in your [Maven POM](http://maven.apache.org/guides/introduction/introduction-to-the-pom.html) is:
+
+	:::XML
+	<dependency>
+		<groupId>org.apache.ftpserver</groupId>
+		<artifactId>ftpserver-core</artifactId>
+		<version>1.0.0</version>
+	</dependency>
+
+## Getting the Source Code
+
+### Source Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip sources | [ftpserver-1.0.0-src.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.0/ftpserver-1.0.0-src.zip) |  [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0/ftpserver-1.0.0-src.zip.sha1)| [ftpserver-1.0.0-src.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0/ftpserver-1.0.0-src.zip.asc) |
+| tar.gz sources | [ftpserver-1.0.0-src.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.0/ftpserver-1.0.0-src.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.0/ftpserver-1.0.0-src.tar.gz.sha1) | [ftpserver-1.0.0-src.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.0/ftpserver-1.0.0-src.tar.gz.asc) |
+
+
+### SVN Tag Checkout
+
+	svn co http://svn.apache.org/repos/asf/mina/ftpserver/tags/1.0.0
diff --git a/content/ftpserver-project/download_1.0.1.mdtext b/content/ftpserver-project/download_1.0.1.mdtext
new file mode 100644
index 0000000..d09e05d
--- /dev/null
+++ b/content/ftpserver-project/download_1.0.1.mdtext
@@ -0,0 +1,81 @@
+Title: Apache FtpServer 1.0.1 Release
+Notice:    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.
+
+
+# Apache FtpServer 1.0.1 Release
+
+## New Features in 1.0.1
+
+This is a bug fix release that fixes issues found in 1.0.0.
+
+## Changelog
+
+For a more detailed view of new features and bug fixes, see the [release notes](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10571&styleName=Html&version=12313619)
+
+## Getting the Binary Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip distribution | [ftpserver-1.0.1.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.1/ftpserver-1.0.1.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.1/ftpserver-1.0.1.zip.sha1) | [ftpserver-1.0.1.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.1/ftpserver-1.0.1.zip.asc) |
+| tar.gz distribution | [ftpserver-1.0.1.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.1/ftpserver-1.0.1.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.1/ftpserver-1.0.1.tar.gz.sha1) | [ftpserver-1.0.1.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.1/ftpserver-1.0.1.tar.gz.asc) | 
+
+## Verify the Integrity of Downloads
+
+It is essential that you verify the integrity of the downloaded files using the PGP signatures. The PGP signatures can be verified using PGP or GPG. Begin by following these steps:
+
+1. Download the [KEYS](https://www.apache.org/dist/mina/KEYS)
+2. Download the asc signature file for the relevant distribution
+3. Verify the signatures using the following commands, depending on your use of PGP or GPG:
+
+		$ pgpk -a KEYS
+		$ pgpv ftpserver-1.0.1.tar.gz.asc
+
+	or 
+
+		$ pgp -ka KEYS
+		$ pgp ftpserver-1.0.1.tar.gz.asc
+
+	or
+
+		$ gpg --import KEYS
+		$ gpg --verify ftpserver-1.0.1.tar.gz.asc
+
+## Getting the Binaries using Maven 2
+
+To use this release in your maven project, the proper dependency configuration that you should use in your [Maven POM](http://maven.apache.org/guides/introduction/introduction-to-the-pom.html) is:
+
+	:::XML
+	<dependency>
+		<groupId>org.apache.ftpserver</groupId>
+		<artifactId>ftpserver-core</artifactId>
+		<version>1.0.1</version>
+	</dependency>
+
+## Getting the Source Code
+
+### Source Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip sources | [ftpserver-1.0.1-src.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.1/ftpserver-1.0.1-src.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.1/ftpserver-1.0.1-src.zip.sha1)| [ftpserver-1.0.1-src.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.1/ftpserver-1.0.1-src.zip.asc) |
+| tar.gz sources | [ftpserver-1.0.1-src.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.1/ftpserver-1.0.1-src.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.1/ftpserver-1.0.1-src.tar.gz.sha1) | [ftpserver-1.0.1-src.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.1/ftpserver-1.0.1-src.tar.gz.asc) |
+
+
+### SVN Tag Checkout
+
+	svn co http://svn.apache.org/repos/asf/mina/ftpserver/tags/1.0.1
diff --git a/content/ftpserver-project/download_1.0.2.mdtext b/content/ftpserver-project/download_1.0.2.mdtext
new file mode 100644
index 0000000..d07de42
--- /dev/null
+++ b/content/ftpserver-project/download_1.0.2.mdtext
@@ -0,0 +1,82 @@
+Title: Apache FtpServer 1.0.2 Release
+Notice:    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.
+
+
+# Apache FtpServer 1.0.2 Release
+
+## New Features in 1.0.2
+
+This is a bug fix release that fixes issues found in 1.0.1.
+
+## Changelog
+
+For a more detailed view of new features and bug fixes, see the [release notes](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10571&styleName=Html&version=12313952)
+
+## Getting the Binary Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip distribution | [ftpserver-1.0.2.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.2/ftpserver-1.0.2.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.2/ftpserver-1.0.2.zip.sha1) | [ftpserver-1.0.2.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.2/ftpserver-1.0.2.zip.asc) |
+| tar.gz distribution | [ftpserver-1.0.2.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.2/ftpserver-1.0.2.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.2/ftpserver-1.0.2.tar.gz.sha1) | [ftpserver-1.0.2.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.2/ftpserver-1.0.2.tar.gz.asc) | 
+
+
+## Verify the Integrity of Downloads
+
+It is essential that you verify the integrity of the downloaded files using the PGP signatures. The PGP signatures can be verified using PGP or GPG. Begin by following these steps:
+
+1. Download the [KEYS](https://www.apache.org/dist/mina/KEYS)
+2. Download the asc signature file for the relevant distribution
+3. Verify the signatures using the following commands, depending on your use of PGP or GPG:
+
+		$ pgpk -a KEYS
+		$ pgpv ftpserver-1.0.2.tar.gz.asc
+
+	or 
+
+		$ pgp -ka KEYS
+		$ pgp ftpserver-1.0.2.tar.gz.asc
+
+	or
+
+		$ gpg --import KEYS
+		$ gpg --verify ftpserver-1.0.2.tar.gz.asc
+
+## Getting the Binaries using Maven 2
+
+To use this release in your maven project, the proper dependency configuration that you should use in your [Maven POM](http://maven.apache.org/guides/introduction/introduction-to-the-pom.html) is:
+
+	:::XML
+	<dependency>
+		<groupId>org.apache.ftpserver</groupId>
+		<artifactId>ftpserver-core</artifactId>
+		<version>1.0.2</version>
+	</dependency>
+
+## Getting the Source Code
+
+### Source Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip sources | [ftpserver-1.0.2-src.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.2/ftpserver-1.0.2-src.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.2/ftpserver-1.0.2-src.zip.sha1)| [ftpserver-1.0.2-src.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.2/ftpserver-1.0.2-src.zip.asc) |
+| tar.gz sources | [ftpserver-1.0.2-src.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.2/ftpserver-1.0.2-src.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.2/ftpserver-1.0.2-src.tar.gz.sha1) | [ftpserver-1.0.2-src.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.2/ftpserver-1.0.2-src.tar.gz.asc) |
+
+
+### SVN Tag Checkout
+
+	svn co http://svn.apache.org/repos/asf/mina/ftpserver/tags/1.0.2
diff --git a/content/ftpserver-project/download_1.0.3.mdtext b/content/ftpserver-project/download_1.0.3.mdtext
new file mode 100644
index 0000000..736f935
--- /dev/null
+++ b/content/ftpserver-project/download_1.0.3.mdtext
@@ -0,0 +1,82 @@
+Title: Apache FtpServer 1.0.3 Release
+Notice:    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.
+
+
+# Apache FtpServer 1.0.3 Release
+
+## New Features in 1.0.3
+
+This is a bug fix release that fixes issues found in 1.0.2.
+
+## Changelog
+
+For a more detailed view of new features and bug fixes, see the [release notes](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10571&styleName=Html&version=12314039)
+
+## Getting the Binary Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip distribution | [ftpserver-1.0.3.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.3/ftpserver-1.0.3.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.3/ftpserver-1.0.3.zip.sha1) | [ftpserver-1.0.3.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.3/ftpserver-1.0.3.zip.asc) |
+| tar.gz distribution | [ftpserver-1.0.3.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.3/ftpserver-1.0.3.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.3/ftpserver-1.0.3.tar.gz.sha1) | [ftpserver-1.0.3.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.3/ftpserver-1.0.3.tar.gz.asc) | 
+
+
+## Verify the Integrity of Downloads
+
+It is essential that you verify the integrity of the downloaded files using the PGP signatures. The PGP signatures can be verified using PGP or GPG. Begin by following these steps:
+
+1. Download the [KEYS](https://www.apache.org/dist/mina/KEYS)
+2. Download the asc signature file for the relevant distribution
+3. Verify the signatures using the following commands, depending on your use of PGP or GPG:
+
+		$ pgpk -a KEYS
+		$ pgpv ftpserver-1.0.3.tar.gz.asc
+
+	or 
+
+		$ pgp -ka KEYS
+		$ pgp ftpserver-1.0.3.tar.gz.asc
+
+	or
+
+		$ gpg --import KEYS
+		$ gpg --verify ftpserver-1.0.3.tar.gz.asc
+
+## Getting the Binaries using Maven 2
+
+To use this release in your maven project, the proper dependency configuration that you should use in your [Maven POM](http://maven.apache.org/guides/introduction/introduction-to-the-pom.html) is:
+
+	:::XML
+	<dependency>
+		<groupId>org.apache.ftpserver</groupId>
+		<artifactId>ftpserver-core</artifactId>
+		<version>1.0.3</version>
+	</dependency>
+
+## Getting the Source Code
+
+### Source Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip sources | [ftpserver-1.0.3-src.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.3/ftpserver-1.0.3-src.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.3/ftpserver-1.0.3-src.zip.sha1)| [ftpserver-1.0.3-src.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.3/ftpserver-1.0.3-src.zip.asc) |
+| tar.gz sources | [ftpserver-1.0.3-src.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.3/ftpserver-1.0.3-src.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.3/ftpserver-1.0.3-src.tar.gz.sha1) | [ftpserver-1.0.3-src.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.3/ftpserver-1.0.3-src.tar.gz.asc) |
+
+
+### SVN Tag Checkout
+
+	svn co http://svn.apache.org/repos/asf/mina/ftpserver/tags/1.0.3
diff --git a/content/ftpserver-project/download_1.0.4.mdtext b/content/ftpserver-project/download_1.0.4.mdtext
new file mode 100644
index 0000000..cd88e2b
--- /dev/null
+++ b/content/ftpserver-project/download_1.0.4.mdtext
@@ -0,0 +1,82 @@
+Title: Apache FtpServer 1.0.4 Release
+Notice:    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.
+
+
+# Apache FtpServer 1.0.4 Release
+
+## New Features in 1.0.4
+
+This is a bug fix release that fixes issues found in 1.0.3.
+
+## Changelog
+
+For a more detailed view of new features and bug fixes, see the [release notes](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10571&styleName=Html&version=12314283)
+
+## Getting the Binary Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip distribution | [ftpserver-1.0.4.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.4/ftpserver-1.0.4.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.4/ftpserver-1.0.4.zip.sha1) | [ftpserver-1.0.4.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.4/ftpserver-1.0.4.zip.asc) |
+| tar.gz distribution | [ftpserver-1.0.4.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.4/ftpserver-1.0.4.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.4/ftpserver-1.0.4.tar.gz.sha1) | [ftpserver-1.0.4.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.4/ftpserver-1.0.4.tar.gz.asc) | 
+
+
+## Verify the Integrity of Downloads
+
+It is essential that you verify the integrity of the downloaded files using the PGP signatures. The PGP signatures can be verified using PGP or GPG. Begin by following these steps:
+
+1. Download the [KEYS](https://www.apache.org/dist/mina/KEYS)
+2. Download the asc signature file for the relevant distribution
+3. Verify the signatures using the following commands, depending on your use of PGP or GPG:
+
+		$ pgpk -a KEYS
+		$ pgpv ftpserver-1.0.4.tar.gz.asc
+
+	or 
+
+		$ pgp -ka KEYS
+		$ pgp ftpserver-1.0.4.tar.gz.asc
+
+	or
+
+		$ gpg --import KEYS
+		$ gpg --verify ftpserver-1.0.4.tar.gz.asc
+
+## Getting the Binaries using Maven 2
+
+To use this release in your maven project, the proper dependency configuration that you should use in your [Maven POM](http://maven.apache.org/guides/introduction/introduction-to-the-pom.html) is:
+
+	:::XML
+	<dependency>
+		<groupId>org.apache.ftpserver</groupId>
+		<artifactId>ftpserver-core</artifactId>
+		<version>1.0.4</version>
+	</dependency>
+
+## Getting the Source Code
+
+### Source Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip sources | [ftpserver-1.0.4-src.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.4/ftpserver-1.0.4-src.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.4/ftpserver-1.0.4-src.zip.sha1)| [ftpserver-1.0.4-src.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.4/ftpserver-1.0.4-src.zip.asc) |
+| tar.gz sources | [ftpserver-1.0.4-src.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.4/ftpserver-1.0.4-src.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.4/ftpserver-1.0.4-src.tar.gz.sha1) | [ftpserver-1.0.4-src.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.4/ftpserver-1.0.4-src.tar.gz.asc) |
+
+
+### SVN Tag Checkout
+
+	svn co http://svn.apache.org/repos/asf/mina/ftpserver/tags/1.0.4
diff --git a/content/ftpserver-project/download_1.0.5.mdtext b/content/ftpserver-project/download_1.0.5.mdtext
new file mode 100644
index 0000000..81c08fa
--- /dev/null
+++ b/content/ftpserver-project/download_1.0.5.mdtext
@@ -0,0 +1,81 @@
+Title: Apache FtpServer 1.0.5 Release
+Notice:    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.
+
+
+# Apache FtpServer 1.0.5 Release
+
+## New Features in 1.0.5
+
+This is a bug fix release that fixes issues found in 1.0.4.
+
+## Changelog
+
+For a more detailed view of new features and bug fixes, see the [release notes](https://issues.apache.org/jira/browse/FTPSERVER/fixforversion/12314821)
+
+## Getting the Binary Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip distribution | [ftpserver-1.0.5.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.5/ftpserver-1.0.5.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.5/ftpserver-1.0.5.zip.sha1) | [ftpserver-1.0.5.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.5/ftpserver-1.0.5.zip.asc) |
+| tar.gz distribution | [ftpserver-1.0.5.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.5/ftpserver-1.0.5.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.5/ftpserver-1.0.5.tar.gz.sha1) | [ftpserver-1.0.5.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.5/ftpserver-1.0.5.tar.gz.asc) | 
+
+## Verify the Integrity of Downloads
+
+It is essential that you verify the integrity of the downloaded files using the PGP signatures. The PGP signatures can be verified using PGP or GPG. Begin by following these steps:
+
+1. Download the [KEYS](https://www.apache.org/dist/mina/KEYS)
+2. Download the asc signature file for the relevant distribution
+3. Verify the signatures using the following commands, depending on your use of PGP or GPG:
+
+		$ pgpk -a KEYS
+		$ pgpv ftpserver-1.0.5.tar.gz.asc
+
+	or 
+
+		$ pgp -ka KEYS
+		$ pgp ftpserver-1.0.5.tar.gz.asc
+
+	or
+
+		$ gpg --import KEYS
+		$ gpg --verify ftpserver-1.0.5.tar.gz.asc
+
+## Getting the Binaries using Maven 2
+
+To use this release in your maven project, the proper dependency configuration that you should use in your [Maven POM](http://maven.apache.org/guides/introduction/introduction-to-the-pom.html) is:
+
+	:::XML
+	<dependency>
+		<groupId>org.apache.ftpserver</groupId>
+		<artifactId>ftpserver-core</artifactId>
+		<version>1.0.5</version>
+	</dependency>
+
+## Getting the Source Code
+
+### Source Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip sources | [ftpserver-1.0.5-src.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.5/ftpserver-1.0.5-src.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.5/ftpserver-1.0.5-src.zip.sha1)| [ftpserver-1.0.5-src.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.5/ftpserver-1.0.5-src.zip.asc) |
+| tar.gz sources | [ftpserver-1.0.5-src.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.5/ftpserver-1.0.5-src.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.5/ftpserver-1.0.5-src.tar.gz.sha1) | [ftpserver-1.0.5-src.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.5/ftpserver-1.0.5-src.tar.gz.asc) |
+
+
+### SVN Tag Checkout
+
+	svn co http://svn.apache.org/repos/asf/mina/ftpserver/tags/1.0.5
diff --git a/content/ftpserver-project/download_1.0.6.mdtext b/content/ftpserver-project/download_1.0.6.mdtext
new file mode 100644
index 0000000..3dccef1
--- /dev/null
+++ b/content/ftpserver-project/download_1.0.6.mdtext
@@ -0,0 +1,82 @@
+Title: Apache FtpServer 1.0.6 Release
+Notice:    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.
+
+
+# Apache FtpServer 1.0.6 Release
+
+## New Features in 1.0.6
+
+This release fixes a bunch of issues found since the release of 1.0.5, including a major improvement in how FtpServer handles assignment of passive ports.
+
+## Changelog
+
+For a more detailed view of new features and bug fixes, see the [release notes](https://issues.apache.org/jira/browse/FTPSERVER/fixforversion/12315314)
+
+## Getting the Binary Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip distribution | [ftpserver-1.0.6.zip](https://www.apache.org/dyn/closer.lua/mina/ftpserver/1.0.6/dist/ftpserver-1.0.6.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.6/ftpserver-1.0.6.zip.sha1) | [ftpserver-1.0.6.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.6/ftpserver-1.0.6.zip.asc) |
+| tar.gz distribution | [ftpserver-1.0.6.tar.gz](https://www.apache.org/dyn/closer.lua/mina/ftpserver/1.0.6/dist/ftpserver-1.0.6.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.6/ftpserver-1.0.6.tar.gz.sha1) | [ftpserver-1.0.6.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.6/ftpserver-1.0.6.tar.gz.asc) | 
+
+
+## Verify the Integrity of Downloads
+
+It is essential that you verify the integrity of the downloaded files using the PGP signatures. The PGP signatures can be verified using PGP or GPG. Begin by following these steps:
+
+1. Download the [KEYS](https://www.apache.org/dist/mina/KEYS)
+2. Download the asc signature file for the relevant distribution
+3. Verify the signatures using the following commands, depending on your use of PGP or GPG:
+
+		$ pgpk -a KEYS
+		$ pgpv ftpserver-1.0.6.tar.gz.asc
+
+	or 
+
+		$ pgp -ka KEYS
+		$ pgp ftpserver-1.0.6.tar.gz.asc
+
+	or
+
+		$ gpg --import KEYS
+		$ gpg --verify ftpserver-1.0.6.tar.gz.asc
+
+## Getting the Binaries using Maven 2
+
+To use this release in your maven project, the proper dependency configuration that you should use in your [Maven POM](https://maven.apache.org/guides/introduction/introduction-to-the-pom.html) is:
+
+	:::XML
+	<dependency>
+		<groupId>org.apache.ftpserver</groupId>
+		<artifactId>ftpserver-core</artifactId>
+		<version>1.0.6</version>
+	</dependency>
+
+## Getting the Source Code
+
+### Source Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip sources | [ftpserver-1.0.6-src.zip](https://archive.apache.org/dist/mina/ftpserver/1.0.6/ftpserver-1.0.6-src.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.6/ftpserver-1.0.6-src.zip.sha1)| [ftpserver-1.0.6-src.zip.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.6/ftpserver-1.0.6-src.zip.asc) |
+| tar.gz sources | [ftpserver-1.0.6-src.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.0.6/ftpserver-1.0.6-src.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.0.6/ftpserver-1.0.6-src.tar.gz.sha1) | [ftpserver-1.0.6-src.tar.gz.asc](https://archive.apache.org/dist/mina/ftpserver/1.0.6/ftpserver-1.0.6-src.tar.gz.asc) |
+
+
+### SVN Tag Checkout
+
+	svn co https://svn.apache.org/repos/asf/mina/ftpserver/tags/1.0.6
diff --git a/content/ftpserver-project/download_1.1.0.mdtext b/content/ftpserver-project/download_1.1.0.mdtext
new file mode 100644
index 0000000..112abdf
--- /dev/null
+++ b/content/ftpserver-project/download_1.1.0.mdtext
@@ -0,0 +1,82 @@
+Title: Apache FtpServer 1.1.0 Release
+Notice:    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.
+
+
+# Apache FtpServer 1.1.0 Release
+
+## New Features in 1.1.0
+
+This release fixes a few issues found since the release of 1.1.0, mainly making it using MINA 2.0.16, the latest MINA build.
+
+## Changelog
+
+For a more detailed view of new features and bug fixes, see the [release notes](https://issues.apache.org/jira/browse/FTPSERVER/fixforversion/12313458)
+
+## Getting the Binary Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip distribution | [apache-ftpserver-1.1.0.zip](https://archive.apache.org/dist/mina/ftpserver/1.1.0/dist/apache-ftpserver-1.1.0.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.1.0/dist/apache-ftpserver-1.1.0.zip.sha1) | [ASC](https://archive.apache.org/dist/mina/ftpserver/1.1.0/dist/apache-ftpserver-1.1.0.zip.asc) |
+| tar.gz distribution | [apache-ftpserver-1.1.0.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.1.0/dist/apache-ftpserver-1.1.0.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.1.0/dist/apache-ftpserver-1.1.0.tar.gz.sha1) | [ASC](https://archive.apache.org/dist/mina/ftpserver/1.1.0/dist/apache-ftpserver-1.1.0.tar.gz.asc) | 
+| tar.bz2 distribution | [apache-ftpserver-1.1.0.tar.bz2](https://archive.apache.org/dist/mina/ftpserver/1.1.0/dist/apache-ftpserver-1.1.0.tar.bz2) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.1.0/dist/apache-ftpserver-1.1.0.tar.bz2.sha1) | [ASC](https://archive.apache.org/dist/mina/ftpserver/1.1.0/dist/apache-ftpserver-1.1.0.tar.bz2.asc) | 
+
+## Verify the Integrity of Downloads
+
+It is essential that you verify the integrity of the downloaded files using the PGP signatures. The PGP signatures can be verified using PGP or GPG. Begin by following these steps:
+
+1. Download the [KEYS](https://www.apache.org/dist/mina/KEYS)
+2. Download the asc signature file for the relevant distribution
+3. Verify the signatures using the following commands, depending on your use of PGP or GPG:
+
+		$ pgpk -a KEYS
+		$ pgpv ftpserver-1.1.0.tar.gz.asc
+
+	or 
+
+		$ pgp -ka KEYS
+		$ pgp ftpserver-1.1.0.tar.gz.asc
+
+	or
+
+		$ gpg --import KEYS
+		$ gpg --verify ftpserver-1.1.0.tar.gz.asc
+
+## Getting the Binaries using Maven 2
+
+To use this release in your maven project, the proper dependency configuration that you should use in your [Maven POM](https://maven.apache.org/guides/introduction/introduction-to-the-pom.html) is:
+
+	:::XML
+	<dependency>
+		<groupId>org.apache.ftpserver</groupId>
+		<artifactId>ftpserver-core</artifactId>
+		<version>1.1.0</version>
+	</dependency>
+
+## Getting the Source Code
+
+### Source Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip sources | [apache-ftpserver-1.1.0-src.zip](https://archive.apache.org/dist/mina/ftpserver/1.1.0/apache-ftpserver-1.1.0-src.zip) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.1.0/apache-ftpserver-1.1.0-src.zip.sha1)| [ASC](https://archive.apache.org/dist/mina/ftpserver/1.1.0/apache-ftpserver-1.1.0-src.zip.asc) |
+| tar.gz sources | [apache-ftpserver-1.1.0-src.tar.gz](https://archive.apache.org/dist/mina/ftpserver/1.1.0/apache-ftpserver-1.1.0-src.tar.gz) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.1.0/apache-ftpserver-1.1.0-src.tar.gz.sha1) | [ASC](https://archive.apache.org/dist/mina/ftpserver/1.1.0/apache-ftpserver-1.1.0-src.tar.gz.asc) |
+| tar.bz2 sources | [apache-ftpserver-1.1.0-src.tar.bz2](https://archive.apache.org/dist/mina/ftpserver/1.1.0/apache-ftpserver-1.1.0-src.tar.bz2) | [SHA1](https://archive.apache.org/dist/mina/ftpserver/1.1.0/apache-ftpserver-1.1.0-src.tar.bz2.sha1) | [ASC](https://archive.apache.org/dist/mina/ftpserver/1.1.0/apache-ftpserver-1.1.0-src.tar.bz2.asc) |
+
+### SVN Tag Checkout
+
+	svn co https://svn.apache.org/repos/asf/mina/ftpserver/tags/1.1.0
diff --git a/content/ftpserver-project/download_1.1.1.mdtext b/content/ftpserver-project/download_1.1.1.mdtext
new file mode 100644
index 0000000..21cacd3
--- /dev/null
+++ b/content/ftpserver-project/download_1.1.1.mdtext
@@ -0,0 +1,85 @@
+Title: Apache FtpServer 1.1.1 Release
+Notice:    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.
+
+
+# Apache FtpServer 1.1.1 Release
+
+## New Features in 1.1.1
+
+This release fixes a few issues found since the release of 1.1.0.
+
+## Changelog
+
+For a more detailed view of new features and bug fixes, see the [release notes](https://issues.apache.org/jira/browse/FTPSERVER/fixforversion/12338633)
+
+## Getting the Binary Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip distribution | [apache-ftpserver-1.1.1.zip](https://www.apache.org/dyn/closer.lua/mina/ftpserver/1.1.1/dist/apache-ftpserver-1.1.1.zip) | [SHA1](https://www.apache.org/dist/mina/ftpserver/1.1.1/dist/apache-ftpserver-1.1.1.zip.sha1) | [ASC](https://www.apache.org/dist/mina/ftpserver/1.1.1/dist/apache-ftpserver-1.1.1.zip.asc) |
+| tar.gz distribution | [apache-ftpserver-1.1.1.tar.gz](https://www.apache.org/dyn/closer.lua/mina/ftpserver/1.1.1/dist/apache-ftpserver-1.1.1.tar.gz) | [SHA1](https://www.apache.org/dist/mina/ftpserver/1.1.1/dist/apache-ftpserver-1.1.1.tar.gz.sha1) | [ASC](https://www.apache.org/dist/mina/ftpserver/1.1.1/dist/apache-ftpserver-1.1.1.tar.gz.asc) | 
+| tar.bz2 distribution | [apache-ftpserver-1.1.1.tar.bz2](https://www.apache.org/dyn/closer.lua/mina/ftpserver/1.1.1/dist/apache-ftpserver-1.1.1.tar.bz2) | [SHA1](https://www.apache.org/dist/mina/ftpserver/1.1.1/dist/apache-ftpserver-1.1.1.tar.bz2.sha1) | [ASC](https://www.apache.org/dist/mina/ftpserver/1.1.1/dist/apache-ftpserver-1.1.1.tar.bz2.asc) | 
+
+## Verify the Integrity of Downloads
+
+It is essential that you verify the integrity of the downloaded files using the PGP signatures. The PGP signatures can be verified using PGP or GPG. Begin by following these steps:
+
+1. Download the [KEYS](https://www.apache.org/dist/mina/KEYS)
+2. Download the asc signature file for the relevant distribution
+3. Verify the signatures using the following commands, depending on your use of PGP or GPG:
+
+		$ pgpk -a KEYS
+		$ pgpv ftpserver-1.1.1.tar.gz.asc
+
+	or 
+
+		$ pgp -ka KEYS
+		$ pgp ftpserver-1.1.1.tar.gz.asc ftpserver-1.1.1.tar.gz
+
+	or
+
+		$ gpg --import KEYS
+		$ gpg --verify ftpserver-1.1.1.tar.gz.asc ftpserver-1.1.1.tar.gz
+
+## Getting the Binaries using Maven 2
+
+To use this release in your maven project, the proper dependency configuration that you should use in your [Maven POM](https://maven.apache.org/guides/introduction/introduction-to-the-pom.html) is:
+
+	:::XML
+	<dependency>
+		<groupId>org.apache.ftpserver</groupId>
+		<artifactId>ftpserver-core</artifactId>
+		<version>1.1.1</version>
+	</dependency>
+
+## Getting the Source Code
+
+### Source Distributions
+
+| Description | Download Link | SHA1 hashes  | PGP Signature file of download |
+|---|---|---|---|
+| zip sources | [apache-ftpserver-1.1.1-src.zip](https://www.apache.org/dyn/closer.lua/mina/ftpserver/1.1.1/apache-ftpserver-1.1.1-src.zip) | [SHA1](https://www.apache.org/dist/mina/ftpserver/1.1.1/apache-ftpserver-1.1.1-src.zip.sha1)| [ASC](https://www.apache.org/dist/mina/ftpserver/1.1.1/apache-ftpserver-1.1.1-src.zip.asc) |
+| tar.gz sources | [apache-ftpserver-1.1.1-src.tar.gz](https://www.apache.org/dyn/closer.lua/mina/ftpserver/1.1.1/apache-ftpserver-1.1.1-src.tar.gz) | [SHA1](https://www.apache.org/dist/mina/ftpserver/1.1.1/apache-ftpserver-1.1.1-src.tar.gz.sha1) | [ASC](https://www.apache.org/dist/mina/ftpserver/1.1.1/apache-ftpserver-1.1.1-src.tar.gz.asc) |
+| tar.bz2 sources | [apache-ftpserver-1.1.1-src.tar.bz2](https://www.apache.org/dyn/closer.lua/mina/ftpserver/1.1.1/apache-ftpserver-1.1.1-src.tar.bz2) | [SHA1](https://www.apache.org/dist/mina/ftpserver/1.1.1/apache-ftpserver-1.1.1-src.tar.bz2.sha1) | [ASC](https://www.apache.org/dist/mina/ftpserver/1.1.1/apache-ftpserver-1.1.1-src.tar.bz2.asc) |
+
+### Git Tag Checkout
+
+	$ git clone https://gitbox.apache.org/repos/asf/mina-ftpserver.git
+	$ git checkout ftpserver-1.1.1
+
+You are now on 1.1.1 branch.
diff --git a/content/ftpserver-project/downloads.mdtext b/content/ftpserver-project/downloads.mdtext
new file mode 100644
index 0000000..68b6240
--- /dev/null
+++ b/content/ftpserver-project/downloads.mdtext
@@ -0,0 +1,42 @@
+Title: FtpServer Downloads
+Notice:    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.
+
+
+# Latest FTPServer Releases
+
+The latest release is the [Apache FtpServer 1.1.1 Release](download_1.1.1.html)
+
+# All Releases
+* [Apache FtpServer 1.1.1 Release](download_1.1.1.html)
+* [Apache FtpServer 1.1.0 Release](download_1.1.0.html)
+* [Apache FtpServer 1.0.6 Release](download_1.0.6.html)
+* [Apache FtpServer 1.0.5 Release](download_1.0.5.html)
+* [Apache FtpServer 1.0.4 Release](download_1.0.4.html)
+* [Apache FtpServer 1.0.3 Release](download_1.0.3.html)
+* [Apache FtpServer 1.0.2 Release](download_1.0.2.html)
+* [Apache FtpServer 1.0.1 Release](download_1.0.1.html)
+* [Apache FtpServer 1.0.0 Release](download_1.0.0.html)
+* [Apache FtpServer 1.0.0-RC2 Release](download_1.0.0-RC2.html)
+* [Apache FtpServer 1.0.0-RC1 release](download_1.0.0-RC1.html)
+* [Apache FtpServer 1.0.0-M4 release](download_1.0.0-M4.html)
+* [Apache FtpServer 1.0.0-M3 release](download_1.0.0-M3.html)
+* [Apache FtpServer 1.0.0-M2 release](download_1.0.0-M2.html)
+
+# Maven Repositories
+All Apache FtpServer releases are available from the Maven central repository
+
diff --git a/content/ftpserver-project/draft-twine-ftpmd5-00.mdtext b/content/ftpserver-project/draft-twine-ftpmd5-00.mdtext
new file mode 100644
index 0000000..c34cade
--- /dev/null
+++ b/content/ftpserver-project/draft-twine-ftpmd5-00.mdtext
@@ -0,0 +1,373 @@
+Title: FtpServer draft-twine-ftpmd5-00 
+Notice:    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.
+
+
+# draft-twine-ftpmd5-00
+
+	:::text
+	INTERNET-DRAFT                                   JRTwine Software, LLC
+	draft-twine-ftpmd5-00.txt                                    May, 2002
+	
+	
+    		The 'MD5' and "MMD5" FTP Command Extensions
+				  
+	Status of This Document
+				  
+		This document is an Internet-Draft and is subject to all provisions
+		of Section 10 of RFC2026.
+				  
+		Internet-Drafts are working documents of the Internet Engineering
+		Task Force (IETF), its areas, and its working groups.  Note that
+		other groups may also distribute working documents as
+		Internet-Drafts.
+	
+		Internet-Drafts are draft documents valid for a maximum of six
+		months and may be updated, replaced, or obsoleted by other
+		documents at any time.  It is inappropriate to use 
+		Internet-Drafts as reference material or to cite them other than as
+		"work in progress"
+	 
+		The list of current Internet-Drafts can be accessed at
+		http://www.ietf.org/1id-abstracts.html
+		
+		The list of Internet-Draft Shadow Directories can be accessed at
+		http://www.ietf.org/shadow.html
+	
+	
+	Abstract
+	
+		This document specifies two additions to the File Transfer Protocol
+		(FTP).  These additions (new Server commands) would give FTP 
+		Servers the ability to generate (or otherwise obtain) and return 
+		MD5 checksums for the files it has available for transfer.
+	
+		It is the author's belief that this would provide a great benefit
+		to the Internet community, because it would allow automated
+		transfer agents, as well as Web Browsers and other
+		"click-to-download" applications to be able to automatically verify
+		the data of a downloaded file, and hence be able to detect any data
+		tampering and/or corruption that may occurred while "on the wire",
+		or possibly while the file was on the Server (a virus infection).
+	
+	
+	Copyright Notice
+	
+	   This document is in the public domain.  Any and all copyright
+	   protection that might apply in any jurisdiction is expressly
+	   disclaimed.  
+
+
+	Comments
+   
+		Comments should be directed to James R. Twine (jtwine@jrtwine.com).
+
+	J.Twine                      Internet-Draft                   [Page 1]
+
+	INTERNET-DRAFT   The 'MD5' and "MMD5" FTP Command Extensions   May 2002
+
+	Table of Contents
+
+		     Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . 1
+     	     Table of Contents  . . . . . . . . . . . . . . . . . . . . . 2
+		1.   Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
+	 	2.   Rational . . . . . . . . . . . . . . . . . . . . . . . . . . 3
+		3.   Server Requirements  . . . . . . . . . . . . . . . . . . . . 3
+		3.1   Command Format (MD5)  . . . . . . . . . . . . . . . . . . . 4
+		3.1.1  MD5 Examples . . . . . . . . . . . . . . . . . . . . . . . 4
+		3.2   Command Format (MMD5) . . . . . . . . . . . . . . . . . . . 5
+		3.2.1  MMD5 Examples  . . . . . . . . . . . . . . . . . . . . . . 5
+		4.   References . . . . . . . . . . . . . . . . . . . . . . . . . 6
+		5.   Author's Address . . . . . . . . . . . . . . . . . . . . . . 6
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+		
+	J.Twine                      Internet-Draft                   [Page 2]
+	
+	INTERNET-DRAFT   The 'MD5' and "MMD5" FTP Command Extensions   May 2002
+	
+	1.  Introduction
+	
+    	This Draft is being distributed to members of the Internet
+		community in order to solicit their reactions to the proposals
+		contained in it.
+		
+		
+	2.  Rational
+	
+	   FTP is still very much in use on the Internet.  These days, some
+	   servers make available files that contain the checksums for some of
+	   the files that are available.  These available checksums allow
+	   users to be able to verify the content of the files that they have
+	   downloaded.
+	   
+	   However, this introduces some additional overhead: these MD5
+	   checksums must be manually generated, put into a file, the file
+	   placed where it can be accessed.  Then, users must manually
+	   download the file containing the checksum, generate an MD5 checksum
+	   from the file they just downloaded, and (usually) visually compare
+	   the two checksums to determine the validity of the file.
+	   
+	   Having these tasks automated, by making the MD5 checksums available
+	   directly from the FTP Server proper, and having file-transfer
+	   implementations use them, alleviates some of the user intervention
+	   that would otherwise be required.
+	   
+	   
+	3.  Server Requirements
+	
+	   FTP Servers would have to implement a new server-side command,
+	   called "MD5", this command would normally generate and return a
+	   MD5 for the specified file.
+	   
+	   Optionally, the FTP Server could also implement the "MMD5" command,
+	   which is used to obtain MD5 checksums for multiple files using a
+	   single request.
+	   
+	   (These commands impose no specific or additional syntax on the 
+	   formatting of a filepath, they use the Server's existing 
+	   conventions.)
+		
+	   The Server implementation is also free to use some form of
+	   caching to keep the generated MD5 checksums, so that the MD5
+	   checksum values do not have to be regenerated over and over again
+	   when requested.
+	   
+	   This also allows the Server implementations to maintain some level
+	   of security: the Server can expose administrative commands that
+	   regenerate the cache of MD5 checksums on command, thus allowing
+	   for "known good" checksums to be kept, and would be insensitive to
+	   things like the file becoming corrupted or otherwise tampered with
+	   after the "known good" MD5 checksum was generated.
+	   
+	   
+	J.Twine                      Internet-Draft                   [Page 3]
+	
+	INTERNET-DRAFT   The 'MD5' and "MMD5" FTP Command Extensions   May 2002
+	
+	   A Server implementation could even take that approach one step
+	   further: by generating additional MD5 checksums "on the fly" and
+	   comparing them to the "known good" values that were stored earlier,
+	   the Server would now have the ability to detect file corruption
+	   and/or tampering earlier than the user would normally discover.
+	   
+	   The command would support a full or relative path, so that a
+	   directory change would not be necessary in order to obtain the
+	   MD5 checksum of a particular file.  Of course, the command
+	   should normally be restricted to the directory tree and/or files
+	   that the connected user would normally have access to.
+	   
+	   
+	3.1 Command Format (MD5)
+	
+	   The "MD5" command is used to obtain a MD5 checksum for a single
+	   file, and is specified as follows:
+	   
+		  MD5 [Filepath]
+		  
+	   Possible responses to this command would normally include:
+	   
+	   251 [FilePath] E67DED2886048D308532042B777D53CF
+	   500 Command Not Recognized
+       502 Command Not Implemented
+       504 Command Not Implemented for the Specified Argument
+	   
+	   (Note that the returned MD5 checksum is in UPPERCASE.)
+	   
+	   A successful response of "251" would contain the specified 
+	   filepath (verbatim) followed by a space (or some amount of 
+	   whitespace), and then followed by the MD5 checksum value in
+	   ASCII format.
+	   
+	   An error return of "500" would be for an obvious reason: the FTP 
+	   Server does not recognize the "MD5" command.
+	   
+	   An error return of "502" would be appropriate if the FTP Server
+	   regocnized the command, but did not support it, or the FTP Server
+	   administrator disabled it.
+	   
+	   An error return of "504" would be appropriate if the user requested
+	   an MD5 checksum for a directory (for example).
+	   
+	3.1.1 MD5 Examples
+	
+	   This first example demonstrates a request for a MD5 checksum of a 
+	   single file ("C>" is Client input, and "S>" is Server response):
+   	
+		  C> MD5 filename.ext
+		  S> 251 filename.ext E67DED2886048D308532042B777D53CF
+	  
+	   This second example demonstrates a request for a MD5 checksum of a
+	   directory:
+	   
+	J.Twine                      Internet-Draft                   [Page 4]
+	
+	INTERNET-DRAFT   The 'MD5' and "MMD5" FTP Command Extensions   May 2002
+	
+	   		C> MD5 ".."
+			S> 504 Command Not Implemented for the Specified Argument
+	   
+	   
+	   This third example demonstrates a request for a MD5 checksum of a
+	   file using a relative path:
+      	
+		  C> MD5 "../SomeDir/A File.txt"
+		  S> 251 "../SomeDir/A File.txt" 604E67DED8D308B777D53CF532042288
+		  
+	3.2 Command Format (MMD5)
+	
+	   The "MMD5" command is used to obtain MD5 checksums for multiple
+	   files by a single request.  Filepaths are comma separated, and are
+	   specified as follows (it is to be considered valid to specify a 
+	   single filepath with with MMD5 command):
+	   
+		  MMD5 [Filepath1], [Filepath2] [...]
+		  
+	   Possible responses to this command would normally include:
+	   
+		  252 [FilePath1] E67DED2886048D308532042B777D53CF,[Filepath2]
+	      	 308536048D20E67D77D53CFED28842B7 [...]
+		  500 Command Not Recognized
+		  502 Command Not Implemented
+		  504 Command Not Implemented for the Specified Argument
+	
+	   A successful response of "252" would contain comma separated 
+	   "groups" of MD5 checksum information.  Each group would contain the
+	   specified filepath (verbatim) followed by a space (or some amount
+	   of whitespace) followed by the MD5 checksum value in
+	   ASCII format.
+	   
+	   An error return of "500" would be the same as described for the "MD5" 
+	   command.
+   
+	   An error return of "502" would be appropriate if the "MMD5" command
+	   was not implemented or disabled.
+	   
+	   An error return of "504" would be the same as described form the "MD5"
+	   command, with this exception: of any of the specified filepaths were
+	   invalid, the server would return this error code (i.e. it would 
+	   no MD5 checksums at all). 
+	   
+	   
+    3.2.1 MMD5 Examples
+    
+		This first example demonstrates a request for a MD5 checksum of a 
+		single file:
+    	
+		  C> MMD5 filename.ext
+		  S> 251 filename.ext E67DED2886048D308532042B777D53CF
+
+    
+    J.Twine                      Internet-Draft                   [Page 5]
+    
+    INTERNET-DRAFT   The 'MD5' and "MMD5" FTP Command Extensions   May 2002
+    
+		This second example demonstrates a request for the MD5 checksums 
+		for two files:
+      
+    		C> MMD5 filename.ext, "../SomeDir/A File.txt"
+			S> 252 filename.ext E67DED2886048D308532042B777D53CF, 
+				"../SomeDir/A File.txt" 604E67DED8D308B777D53CF532042288
+    
+    
+		This third example demonstrates a request for the MD5 checksums of
+		a file and a directory:
+      
+		  C> MD5 filename.ext, ".."
+		  S> 504 Command Not Implemented for the Specified Argument
+
+
+    4.  References
+	
+		[1]  Postel, J., Reynolds J., "Instructions to RFC Authors",
+        	RFC 2223, October 1997
+			
+		[2]  Postel, J., Reynolds J., "FILE TRANSFER PROTOCOL (FTP)",
+        	RFC 959, October 1958
+		
+   		[3]  Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321,
+        	April 1992
+			
+		[4]  Various, "Guidelines to Authors of Internet-Drafts", 
+        	http://www.ietf.org/ietf/1id-guidelines.txt
+		
+		
+	5.  Author's Address
+	
+	   James R. Twine
+	   JRTwine Software, LLC
+	   379 Shirley Hill Road
+	   Goffstown, NH, 03045 
+	   (USA)
+	
+	   Phone: +1 603-644-1307
+	   EMail: jtwine@jrtwine.com
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	
+	J.Twine                      Internet-Draft                   [Page 6]
diff --git a/content/ftpserver-project/embedding_ftpserver.mdtext b/content/ftpserver-project/embedding_ftpserver.mdtext
new file mode 100644
index 0000000..afba2dc
--- /dev/null
+++ b/content/ftpserver-project/embedding_ftpserver.mdtext
@@ -0,0 +1,76 @@
+Title: Embedding FtpServer in 5 minutes
+Notice:    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.
+
+
+# Embedding FtpServer in 5 minutes
+
+FtpServer is designed to be easily embedded into your application. Getting a basic server up and running is as simple as
+
+	:::java
+	FtpServerFactory serverFactory = new FtpServerFactory();
+	FtpServer server = serverFactory.createServer();
+	// start the server
+	server.start();
+
+To get this running, you need the following JAR files in your classpath:
+
+* mina-core, 2.0-M3 or later
+* slf4j-api
+* A SLF4J implementation of your choice, for example slf4j-simple-1.5.3.jar
+* ftplet-api
+* ftpserver-core
+
+Now, you will probably like to configure the server for your specific needs. For example, you might want to run on a non-privileged port to get around running as a root on Linux/Unix. To do that you need to configure a listener. Listeners are the part of FtpServer where network management is done. By default, a listener named "default" is created but you can add as many listeners as you like, for example to provide one for use outside of your firewall and one on the inside.
+
+Now, let's configure the port on which the default listener waits for connections.
+
+	:::java
+	FtpServerFactory serverFactory = new FtpServerFactory();
+	ListenerFactory factory = new ListenerFactory();
+	// set the port of the listener
+	factory.setPort(2221);
+	// replace the default listener
+	serverFactory.addListener("default", factory.createListener());
+	// start the server
+	FtpServer server = serverFactory.createServer();         
+	server.start();
+
+Now, let's make it possible for a client to use FTPS (FTP over SSL) for the default listener.
+
+	:::java
+	FtpServerFactory serverFactory = new FtpServerFactory();
+	ListenerFactory factory = new ListenerFactory();
+	// set the port of the listener
+	factory.setPort(2221);
+	// define SSL configuration
+	SslConfigurationFactory ssl = new SslConfigurationFactory();
+	ssl.setKeystoreFile(new File("src/test/resources/ftpserver.jks"));
+	ssl.setKeystorePassword("password");
+	// set the SSL configuration for the listener
+	factory.setSslConfiguration(ssl.createSslConfiguration());
+	factory.setImplicitSsl(true);
+	// replace the default listener
+	serverFactory.addListener("default", factory.createListener());
+	PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory();
+	userManagerFactory.setFile(new File("myusers.properties"));
+	serverFactory.setUserManager(userManagerFactory.createUserManager());
+	// start the server
+	FtpServer server = serverFactory.createServer(); 
+	server.start();
+
+There you have it, that's the basics that you usually need. For more advanced features, have a look at our configuration documentation.
diff --git a/content/ftpserver-project/faq.mdtext b/content/ftpserver-project/faq.mdtext
new file mode 100644
index 0000000..0f40482
--- /dev/null
+++ b/content/ftpserver-project/faq.mdtext
@@ -0,0 +1,108 @@
+Title: FtpServer FAQ 
+Notice:    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.
+
+
+<H1>FAQ</H1>
+
+<H2>General</H2>
+
+[TOC]
+
+### My server fails with java.net.SocketException: Too many files open
+
+Network sockets are treated like files and your operating system has a limit to the number of file handles it can manage. Running out of file handles is usually due to a large number of clients connecting and disconnecting frequently. As specified by TCP, after being closed sockets remain in the TIME_WAIT state for some additional time. The reason is to ensure that delayed packets arrive on the correct socket. In Windows, the default TIME_WAIT timeout is 4 minutes, in Linux it is 60 seconds.
+
+### Change the timeout in Windows
+
+1. Run regedit to start the Registry Editor
+2. Locate the following key: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters
+3. Add a new value named TcpTimedWaitDelay asa decimal and set the desired timeout in seconds (30-300)
+4. Reboot
+
+### Change the timeout in Linux
+
+1. Update the configuration value by running (30 seconds used in the example)
+
+	echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
+
+2. Restart the networking component, for example by running
+
+	/etc/init.d/networking restart
+
+3. or
+
+	service network restart
+
+### How can I add other language translations?
+
+First you need to specify your language name in config.message.languages configuration parameter. Then if you start the FTP server UI, you will see your language entry in the message panel. Translate messages and finally save your translated messages.
+
+We are always interested in adding more translations to the official distribution of FtpServer. If you produce a translation and can contribute it back to the project, please create a new JIRA issue so that we can add it to the core product.
+
+### How can I send binary data stored in a database when the FTP Server gets the RETR command?
+
+You can write your own ftplet to do this. The following code will clarify this.
+
+	:::java
+    public FtpletEnum onDownloadStart(FtpSession session, FtpRequest request,
+            FtpReplyOutput response) throws FtpException, IOException {
+
+        String requestedFile = request.getArgument();
+
+        // get input stream from database - BLOB data
+        InputStream in = getInputStreamFromDatabase(requestedFile);
+        if (in == null) {
+            response.write(new DefaultFtpReply(550, "Cannot find data " + requestedFile));
+            return FtpletEnum.RET_SKIP;
+        }
+
+        // open data connection
+        DataConnection out = null;
+        response.write(new DefaultFtpReply(150, "Getting data connection."));
+        try {
+            out = session.getDataConnection().openConnection();
+        } catch (Exception ex) {
+        }
+		
+        if (out == null) {
+            response.write(new DefaultFtpReply(425, "Cannot open data connection."));
+            return FtpletEnum.RET_SKIP;
+        }
+
+        // transfer data
+        try {
+            out.transferToClient(in);
+            response.write(new DefaultFtpReply(226, "Data transfer okay."));
+        } catch (Exception ex) {
+            response.write(new DefaultFtpReply(551, "Data transfer failed."));
+        } finally {
+            session.getDataConnection().closeDataConnection();
+            in.close();
+        }
+        return FtpletEnum.RET_SKIP;
+    }
+
+### Why I am getting ClassNotFoundException when I am trying to use database based user manager?
+
+JDBC driver Jar file should be in CLASSPATH or it has to be copied in the INSTALL_DIR/common/lib directory. Did you specify fully qualified JDBC driver class name in config.user-manager.jdbc-driver configuration parameter?
+
+### I am unable to run FtpServer on top of Glassfish although it is running correctly over tomcat.
+
+This can be caused by Glassfish's QuickStartup mode which was the default one in some versions. In order to disable quick startup, add the following line to your domain.xml file:
+
+	com.sun.enterprise.server.ss.ASQuickStartup=false
diff --git a/content/ftpserver-project/features.mdtext b/content/ftpserver-project/features.mdtext
new file mode 100644
index 0000000..ba73141
--- /dev/null
+++ b/content/ftpserver-project/features.mdtext
@@ -0,0 +1,36 @@
+Title: FtpServer Features
+Notice:    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.
+
+
+# Features
+
+* 100% pure Java, free, open source resumable FTP server
+* Multi platform support and multithreaded design.
+* User virtual directory, write permission, idle time-out and upload/download bandwidth limitation support.
+* Anonymous login support.
+* Both upload and download files are resumable.
+* Handles both ASCII and binary data transfers.
+* IP restriction support to ban IPs.
+* Database and file can be used to store user data.
+* All the FTP messages are customizable.
+* Implicit/explicit SSL/TLS support.
+* MDTM support - your users can change the date-time stamp of files.
+* "MODE Z" support for faster data upload/download.
+* Custom user manager, IP restrictor, logger can be added easily.
+* User event notifications can be added (Ftplet).
+
diff --git a/content/ftpserver-project/ftplet.mdtext b/content/ftpserver-project/ftplet.mdtext
new file mode 100644
index 0000000..b9c660d
--- /dev/null
+++ b/content/ftpserver-project/ftplet.mdtext
@@ -0,0 +1,187 @@
+Title: FtpServer Ftplet
+Notice:    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.
+
+
+# Ftplet
+
+## Overview
+
+The Ftplet API is a simple API used to handle different FtpServer notifications. Apache FtpServer is a Ftplet container, allowing administrators to deploy Ftplet to carry out a variety of complex FTP event handler tasks.
+
+Implementing a custom Ftplet is generally a simple task, most of whose complexity lies in coding the actual work to be done by the Ftplet. This is largely due to the simplicity of the Ftplet interface and the fact that a DefaultFtplet class is provided as part of the Ftplet package.
+
+The Ftplet interface supports two lifecycle methods to provide initialization (the init() method) and shutdown (the destroy() method). Main processing is done in different notification methods, which take a FtpSession object and a FtpRequest object. All the notification methods return FtpletResult object to indicate the future action.
+
+There will be one instance of Ftplet object. Notification methods will be called from different connections running in different threads. So Ftplet implementation has to be thread-safe. Each connection will have its own request (FtpRequest) and session (FtpSession) objects.
+
+## Main Classes
+
+### FtpletResult
+
+This class encapsulates the return values of the ftplet methods. There are four static FtpletResult values.
+
+* __DEFAULT__ : This return value indicates that the next ftplet method will be called. If no other ftplet is available, the FtpServer will process the request.
+* __NO_FTPLET__ : This return value indicates that the other ftplet methods will not be called but the FtpServer will continue processing this request.
+* __SKIP__ : It indicates that the server will skip everything. No further processing will be done for this request.
+* __DISCONNECT__ : It indicates that the server will skip and disconnect the client. No other request from the same client will be served.
+
+So, DEFAULT < NO_FTPLET < SKIP > DISCONNECT. If the Ftplet returns null, DEFAULT is assumed.
+
+## FtpSession
+
+The session object is kept for the entire user session. So the attributes set by setAttribute() will be always available later unless that attribute is removed. Different session will have different FtpSession objects. From here we can get user information, data streams, user file system view etc.
+
+Ftplets can use this to send custom codes and messages to client.
+
+## FtpRequest
+
+Provides the client request information to a ftplet. Contains the FTP command and argument.
+
+## Ftplet
+
+There will be only one instance of Ftplet. During startup the Ftplets will be initialized. The initialization sequence is same as the Ftplet sequence in the configuration. Then all notification methods will be called and when the FtpServer goes down, the Ftplet will be destroyed. The following method describes all the notification methods.
+
+| Method | Description |
+|---|---|
+| onConnect | Client connect notification method. This is the first method FtpServer will call. If it returns SKIP, IP restriction check, connection limit check will not be performed and the server will not send the welcome message (220). |
+| onDisconnect | Client disconnect notification method. This is the last method FtpServer will call. Whatever it returns, the client connection will be closed. |
+| beforeCommand | Called before the server invoke the command. |
+| afterCommand | Called after the server as invoked the command. |
+
+## DefaultFtplet
+
+DefaultFtplet provides some convenience methods for common FTP commands. Users can easily extend the DefaultFtplet class and choose what methods to override and handle.
+
+| Method | Description |
+|---|---|
+| onLogin | Client login notification method. This will be called after the user authentication. In this case the FtpServer has already sent the login OK (230) reply. This is called during FTP PASS request. The FTP session will be disconnected in the return value is FtpletResult.DISCONNECT. |
+| onDeleteStart | Before file deletion this method will be called. Before this FtpServer will not check anything like file existence or permission. The requested file name can be get from request argument. We can get the file object from the request file system view. This is called in DELE FTP command. The method should send some responses (like 250, 450, 550) in case of SKIP return value. In this case, the server will skip the command processing and the ftplet has to send appropriate re [...]
+| onDeleteEnd | This method will be called after the file deletion, successful or not. In this case the FtpServer has already sent the reply message. This is called in DELE FTP command. |
+| onUploadStart | This method will be called before the file upload. The file name can be get from the request argument. We can get the data input stream from request. This will be called before the permission check. This is called during STOR command. If the method returns SKIP, it has to send responses before and after processing. For example, before opening the data input stream, the method has to notify the client with a response code 150. Similarly, after the data transfer, the meth [...]
+| onUploadEnd | This notification method will be called to indicate that the file transfer is successful and the server has send the replies. In case of any error this method will not be called. This is called in STOR command. |
+| onDownloadStart | This is file download request notification method called during RETR command. This will be called before the file download. We can get the file name argument from request. Similarly, the data output stream can be get from the request. This will be called before the file existance and permissoin check. If the method returns SKIP, it has to send responses before and after processing. For example, before opening the data output stream, the method has to notify the client [...]
+| onDownloadEnd | This notification method will be called to indicate that the file transfer is successful and the server has send the replies in RETR command. |
+| onRmdirStart | Before directory deletion this method will be called during RMD command. Before this FtpServer will not check anything like directory existance or permission. The requested directory name can be get from request argument. If the method returns the SKIP, it has to send appropriate response codes to clients like 250, 450, 550. |
+| onRmdirEnd | This method will be called after the invocation of the RMD command. In this case the FtpServer has already sent the reply message. |
+| onMkdirStart | Before directory creation this method will be called during MKD command. Before this FtpServer will not check anything like directory existance or permission. The requested directory name can be get from request argument. If it returns SKIP, it has to send appropriate response codes to clients like 250, 550. |
+| onMkdirEnd | This method will be called if the directory creation is successful in MKD command. In this case the FtpServer has already sent the reply message. |
+| onAppendStart | This is file append request notification method called in APPE command. The file name can be get from the request argument. We can get the data input stream from request. This will be called before the permission check. If the method returns SKIP, it has to send responses before and after processing. For example, before opening the data input stream, the method has to notify the client with a response code 150. Similarly, after the data transfer, the method has to notif [...]
+| onAppendEnd | This is file append success notification method called in APPE command. |
+| onUploadUniqueStart | This is unique file create request notification method called in STOU command. We can get the data input stream from request. This will be called before the permission check. If the method returns SKIP, it has to send responses before and after processing. For example, before opening the data input stream, the method has to notify the client with a response code 150. Similarly, after the data transfer, the method has to notify the client with a response code 226.  [...]
+| onUploadUniqueEnd | This is unique file create success notification method called in STOU command. This notification method will be called to indicate the the server has send the replies. |
+| onRenameStart | This is file rename start notification method called in RNTO command. This will be called before the file existance or permission check. The "rename from" file object can be get from request object. If it returns SKIP, it has to send appropriate response codes like 503, 553, 250. |
+| onRenameEnd | This is file rename success notification method called in RNFR command. This will be called before the file existance or permission check. The "rename from" file object an be get from request object. This notification method will be called after the invocation of the RNTO command and the server has send the reply message. |
+| onSite | This is SITE command start notification method. It gives a chance to implement custom SITE command. If this method returns SKIP or DISCONNECT, the existing SITE commands will not be executed. |
+
+## Response Codes
+
+This section gives an overview on different response codes which might be useful in developing custom ftplet. These commands might be used when the ftplet method return value is SKIP.
+
+| Method | Response Code | Description |
+|---|---|---|
+| onConnect | 220 | Service ready for new user. |
+| onConnect | 530 | No server access from the IP. |
+| onConnect | 530 | Maximum server connection has been reached. |
+| onDisconnect | &nbsp; | &nbsp; |
+| onLogin | &nbsp; | &nbsp; |
+| onDeleteStart | 250 | Requested file action okay |
+| onDeleteStart | 450 | No permission to delete. |
+| onDeleteStart | 550 | Not a valid file. |
+| onDeleteStart | 450 | Can't delete file. |
+| onDeleteEnd | &nbsp; | &nbsp; |
+| onUploadStart | 150 | File status okay; about to open data connection. |
+| onUploadStart | 226 | Transfer complete. |
+| onUploadStart | 550 | Invalid path. |
+| onUploadStart | 550 | Permission denied. |
+| onUploadStart | 425 | Can't open data connection. |
+| onUploadStart | 426 | Data connection error. |
+| onUploadStart | 551 | Error on output file. |
+| onUploadEnd | &nbsp; | &nbsp; |
+| onDownloadStart | 150 | File status okay; about to open data connection. |
+| onDownloadStart | 226 | Transfer complete. |
+| onDownloadStart | 550 | No such file or directory. |
+| onDownloadStart | 550 | Not a plain file. |
+| onDownloadStart | 550 | Permission denied. |
+| onDownloadStart | 425 | Can't open data connection. |
+| onDownloadStart | 426 | Data connection error. |
+| onDownloadStart | 551 | Error on input file. |
+| onDownloadEnd | &nbsp; | &nbsp; |
+| onRmdirStart | 250 | Directory removed. |
+| onRmdirStart | 550 | Not a valid directory. |
+| onRmdirStart | 550 | Permission denied. |
+| onRmdirStart | 550 | Can't remove directory. |
+| onRmdirEnd | &nbsp; | &nbsp; |
+| onMkdirStart | 250 | Directory created. |
+| onMkdirStart | 550 | Not a valid file. |
+| onMkdirStart | 550 | Permission denied |
+| onMkdirStart | 550 | Directory already exists. |
+| onMkdirStart | 550 | Can't create directory. |
+| onMkdirEnd | &nbsp; | &nbsp; |
+| onAppendStart | 150 | File status okay; about to open data connection. |
+| onAppendStart | 226 | Transfer complete. |
+| onAppendStart | 550 | Not a plain file. |
+| onAppendStart | 550 | Permission denied. |
+| onAppendStart | 425 | Can't open data connection. |
+| onAppendStart | 426 | Data connection error. |
+| onAppendStart | 551 | Error on output file. |
+| onAppendEnd | &nbsp; | &nbsp; |
+| onUploadUniqueStart | 150 | File status okay; about to open data connection. |
+| onUploadUniqueStart | 250 | filename: Transfer started. |
+| onUploadUniqueStart | 226 | filename: Transfer complete. |
+| onUploadUniqueStart | 550 | Unique file name error. |
+| onUploadUniqueStart | 550 | Permission denied. |
+| onUploadUniqueStart | 425 | Can't open data connection. |
+| onUploadUniqueStart | 426 | Data connection error. |
+| onUploadUniqueStart | 551 | Error on output file. |
+| onUploadUniqueEnd | &nbsp; | &nbsp; |
+| onRenameStart | 250 | Requested file action okay, file renamed. |
+| onRenameStart | 503 | Can't find the file which has to be renamed. |
+| onRenameStart | 553 | Not a valid file name. |
+| onRenameStart | 553 | Permission denied. |
+| onRenameStart | 553 | No such file or directory. |
+| onRenameStart | 553 | Can't rename file. |
+| onRenameEnd | &nbsp; | &nbsp; |
+| onSite | 200 | Command SITE okay. |
+| onSite | 530 | Permission denied. |
+| onSite | 502 | Not implemented. |
+| onSite | 500| Execution failed. |
+
+## Configuration
+
+Ftplet will get the Ftplet specific configuration as the init() method argument.
+
+## Implementation
+
+Ftplets are regular POJOs. If running the server as embedded they can be added to the FtpletContainer as normal instances of the object. If using the XML configuration, they are configured and Spring beans within the ftplets element. Here's an example:
+
+	:::XML
+	<ftplets>
+		<ftplet name="ftplet1">
+			<beans:bean class="org.apache.ftpserver.examples.MyFtplet">
+				<beans:property name="foo" value="123" />
+			</beans:bean>
+		</ftplet>
+	</ftplets>
+
+## Deployment
+
+The Ftplet must be added to Apache FtpServer classpath so that the Ftplet can be loaded. There are three ways you can do that.
+
+1. Modify your system CLASSPATH environment variable to include your ftplet classes.
+2. Copy your ftplet class files (unpacked) in the common/classes bdirectory of the FtpServer installation.
+3. Place a jar file containing the custom ftplet class files in the common/lib subdirectory of the FtpServer installation.
diff --git a/content/ftpserver-project/ftpserver_as_windows_service.mdtext b/content/ftpserver-project/ftpserver_as_windows_service.mdtext
new file mode 100644
index 0000000..3233ed6
--- /dev/null
+++ b/content/ftpserver-project/ftpserver_as_windows_service.mdtext
@@ -0,0 +1,48 @@
+Title: Installing FtpServer as a Windows service
+Notice:    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.
+
+
+# Installing FtpServer as a Windows service
+
+## Install
+
+Apache FtpServer can be installed as a Windows service using the following command:
+
+	<install dir>bin\service install
+
+This will create a service called Apache FtpServer that can be started and stopped as a usual service.
+
+As a second parameter, the service identifier can be provided. This would normally be used if multiple FtpServer services should be installed, for example:
+
+	<install dir>bin\service install ftpd2
+
+Without any further options, this will use the default configuration. If you want to use for example an XML configuration file you should run:
+
+	<install dir>bin\service install ftpd <path to XML configuration file>
+
+## Service administration GUI
+
+After installing the service, it can be further configured using the service GUI by running:
+
+	<install dir>bin\ftpdw
+
+## Uninstall
+
+To uninstall the service, use:
+
+	<install dir>bin\service remove
diff --git a/content/ftpserver-project/ftpserver_commands.mdtext b/content/ftpserver-project/ftpserver_commands.mdtext
new file mode 100644
index 0000000..25ec3ac
--- /dev/null
+++ b/content/ftpserver-project/ftpserver_commands.mdtext
@@ -0,0 +1,475 @@
+Title: FtpServer FTP Commands
+Notice:    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.
+
+
+# FTP Commands
+
+This document describes all the FTP commands implemented.
+
+## ABOR
+
+Aborts the previous FTP service command and any associated transfer of data.
+
+### Server Replies
+
+	226 ABOR command successful.
+
+## ACCT
+
+Provides the user's account. Not used by FtpServer.
+
+### Server Replies
+
+	202 Command ACCT not implemented.
+
+## APPE
+
+Appends data to the end of a file on the remote host. If the file does not already exist, it is created. This command must be preceded by a PORT or PASV command.
+
+### Server Replies
+
+	501 Syntax error.
+	550 Not a plain file.
+	550 Permission denied.
+	150 Opening data connection.
+	425 Cannot open data connection.
+	426 Data connection error.
+	551 Error on output file.
+	226 Transfer complete.
+
+## AUTH
+
+Establishes SSL encrypted session. Only SSL type is supported.
+
+### Server Replies
+
+	501 Syntax error.
+	431 Service is unavailable.
+	234 AUTH command okay; starting SSL connection.
+
+## CDUP
+Change to parent directory.
+
+### Server Replies
+
+	250 Command okay.
+	550 No such directory.
+
+## CWD
+
+Changes the working directory. If directory name is not specified, root directory (/) is assumed.
+
+### Server Replies
+
+	250 Command okay.
+	550 No such directory.
+
+## DELE
+
+Deletes the file specified by the provided path.
+
+### Server Replies
+
+	250 Command okay.
+	450 No permission to delete.
+	450 Can't delete file.
+	550 Not a valid file.
+	501 Syntax error in parameters or arguments.
+
+## EPRT
+
+The EPRT command allows for the specification of an extended address for the data connection. The extended address MUST consist of the network protocol as well as the network and transport addresses. The format of EPRT is EPRT |<net-prt>|<net-addr>|<tcp-port>|
+
+### Server Replies
+
+	501 Syntax error.
+	510 EPRT is disabled.
+	510 Syntax error.
+	553 Host unknown.
+	510 EPRT IP is not same as client IP.
+	552 Not a valid port number.
+	200 EPRT command okay.
+
+## EPSV
+The EPSV command requests that a server listen on a data port and wait for a connection.
+
+### Server Replies
+
+	425 Cannot open passive connection.
+	229 Entering passive mode (<message>).
+
+## FEAT
+
+Displays the feature list.
+
+### Server Replies
+
+	221 List of all the extensions supported.
+
+## HELP
+
+Displays the help information.
+
+### Server Replies
+
+	214 Help information.
+
+## LANG
+
+A new command "LANG" is added to the FTP command set to allow server-FTP process to determine in which language to present server greetings and the textual part of command responses.
+
+### Server Replies
+
+	502 Not yet implemented.
+
+## LIST
+
+This command causes a list to be sent from the server to the passive DTP. If the pathname specifies a directory or other group of files, the server should transfer a list of files in the specified directory. If the pathname specifies a file then the server should send current information on the file. A null argument implies the user's current working or default directory. The data transfer is over the data connection. This command must be preceded by a PORT or PASV command.
+
+### Server Replies
+
+	150 Opening data connection.
+	425 Cannot open data connection.
+	426 Data connection error.
+	551 File listing failed.
+	501 Syntax error.
+	226 Closing data connection.
+
+## MDTM
+
+Returns the date and time of when a file was modified.
+
+### Server Replies
+
+	501 Syntax error.
+	550 File unavailable.
+	213 <timestamp>
+
+## MKD
+
+This command causes the directory specified in the pathname to be created as a directory (if the pathname is absolute) or as a subdirectory of the current working directory (if the pathname is relative).
+
+### Server Replies
+
+	501 Syntax error.
+	550 Not a valid file.
+	550 Already exists.
+	550 No permission.
+	250 Directory created.
+	550 Cannot create directory.
+
+## MLSD
+
+Causes a list to be sent from the server to the passive DTP
+
+### Server Replies
+
+	150 File status okay; about to open data connection.
+	226 Closing data connection.
+	425 Can't open data connection.
+	426 Data connection error.
+	501 Syntax error in parameters or arguments.
+	551 File listing failed.
+
+## MODE
+
+Set data transfer mode. The valid values are S and Z.
+
+### Server Replies
+
+	501 Syntax error.
+	504 Not implemented for this command.
+	200 Command okay.
+
+## NLST
+
+This command causes a directory listing to be sent from server to user site. The pathname should specify a directory or other system-specific file group descriptor; a null argument implies the current directory. The server will return a stream of names of files and no other information.
+
+### Server Replies
+
+	150 Opening data connection.
+	425 Cannot open data connection.
+	426 Data connection error.
+	551 File listing failed.
+	501 Syntax error.
+	226 Closing data connection.
+
+## NOOP
+
+No operation.
+
+### Server Replies
+
+	200 Command okay.
+
+## OPTS
+
+Cause the server use optional features for the command specified.
+
+### Server Replies
+
+	500 Execution failed.
+	501 Syntax error in parameters or arguments.
+	502 Command OPTS not implemented for ...
+	Additional return codes available for different OPTS commands.
+
+## PASS
+
+The argument field is a Telnet string specifying the user's password. This command must be immediately preceded by the USER command.
+
+### Server Replies
+
+	501 Syntax error.
+	503 Login with USER first.
+	202 Already logged-in.
+	421 Maximum anonymous login limit has been reached.
+	421 Maximum login limit has been reached.
+	530 Authentication failed.
+	230 User logged in, proceed.
+
+## PASV
+
+This command requests the server-DTP to listen on a data port (which is not its default data port) and to wait for a connection rather than initiate one upon receipt of a transfer command. The response to this command includes the host and port address this server is listening on.
+
+### Server Replies
+
+	425 Cannot open passive connection.
+	227 Entering passive mode (<h1,h2,h3,h4,p1,p2>)
+
+## PBSZ
+
+protection buffer size.
+
+### Server Replies
+
+	200 Command okay.
+
+## PORT
+
+The argument is a HOST-PORT specification for the data port to be used in data connection. There are defaults for both the user and server data ports, and under normal circumstances this command and its reply are not needed. If this command is used, the argument is the concatenation of a 32-bit internet host address and a 16-bit TCP port address. This address information is broken into 8-bit fields and the value of each field is transmitted as a decimal number (in character string repres [...]
+
+PORT h1,h2,h3,h4,p1,p2
+
+### Server Replies
+
+	501 Syntax error.
+	510 Syntax error in parameters.
+	510 Port is disabled.
+	553 Host unknown.
+	510 PORT IP mismatch.
+	552 Invalid port number.
+	200 Command PORT okay.
+
+## PROT
+Data channel protection level. The supported level values are C, P.
+
+### Server Replies
+
+	501 Syntax error.
+	431 Security is disabled.
+	504 Server does not understand the specified protection level.
+	200 Command PROT okay.
+
+## PWD
+
+This command causes the name of the current working directory to be returned in the reply.
+
+### Server Replies
+
+	257 "<current directory>"
+
+## QUIT
+
+Closes connection.
+
+### Server Replies
+
+	200 Goodbye.
+
+## REIN
+
+Flushes a user, without affecting transfers in progress
+
+### Server Replies
+
+	220 Service ready for new user.
+
+## REST
+
+The argument field represents the server marker at which file transfer is to be restarted. This command does not cause file transfer but skips over the file to the specified data checkpoint. This command shall be immediately followed by the appropriate FTP service command which shall cause file transfer to resume.
+
+### Server Replies
+
+	501 Syntax error.
+	501 Not a valid number.
+	501 Marker cannot be negetive.
+	350 Restarting at <position>. Send STORE or RETRIEVE to initiate transfer.
+
+## RETR
+
+This command causes the server-DTP to transfer a copy of the file, specified in the pathname, to the server- or user-DTP at the other end of the data connection. The status and contents of the file at the server site shall be unaffected.
+
+### Server Replies
+
+	501 Syntax error.
+	550 No such file or directory.
+	550 Not a plain file.
+	550 Permission denied.
+	150 Opening data connection.
+	425 Cannot open the data connection.
+	426 Data connection error.
+	551 Error on input file.
+	226 Transfer complete.
+
+## RMD
+
+This command causes the directory specified in the pathname to be removed as a directory (if the pathname is absolute) or as a subdirectory of the current working directory (if the pathname is relative).
+
+### Server Replies
+
+	501 Syntax error.
+	550 No permission.
+	550 Not a valid directory.
+	250 Directory removed.
+	550 Cannot remove directory.
+
+## RNFR
+
+This command specifies the old pathname of the file which is to be renamed. This command must be immediately followed by a RNTO command specifying the new file pathname.
+
+### Server Replies
+
+	501 Syntax error.
+	550 File unavailable.
+	350 Requested file action pending further information.
+
+## RNTO
+
+This command specifies the new pathname of the file specified in the immediately preceding RNFR command. Together the two commands cause a file to be renamed.
+
+### Server Replies
+
+	501 Syntax error.
+	503 Cannot find the file which has to be renamed.
+	553 Not a valid file name.
+	553 No permission.
+	250 Requested file action okay, file renamed.
+	553 Cannot rename file.
+
+## SITE
+
+Handle Apache FTP Server specific custom commands. Please see the SITE commands page.
+
+### Server Replies
+
+	200 Command SITE okay.
+	502 Command SITE not implemented for this argument.
+	500 Execution failed.
+	530 Access denied.
+
+## SIZE
+
+Returns the size of the file in bytes.
+
+### Server Replies
+
+	501 Syntax error.
+	550 No such file or directory.
+	550 Not a plain file.
+	213 <size>
+
+## STAT
+
+This command shall cause a status response to be sent over the control connection in the form of a reply.
+
+### Server Replies
+
+	211 Statistics information.
+
+## STOR
+
+This command causes the server-DTP to accept the data transferred via the data connection and to store the data as a file at the server site. If the file specified in the pathname exists at the server site, then its contents shall be replaced by the data being transferred. A new file is created at the server site if the file specified in the pathname does not already exist.
+
+### Server Replies
+
+	501 Syntax error.
+	550 Invalid path.
+	550 Permission denied.
+	150 Opening data connection.
+	425 Cannot open the data connection.
+	426 Data connection error.
+	551 Error on output file.
+	226 Transfer complete.
+
+## STOU
+
+This command behaves like STOR except that the resultant file is to be created in the current directory under a name unique to that directory. The 250 Transfer Started response must include the name generated.
+
+### Server Replies
+
+	550 Unique file name error.
+	550 Permission denied.
+	150 Opening data connection.
+	425 Cannot open the data connection.
+	250 <file> Transfer started.
+	426 Data connection error.
+	551 Error on output file.
+	226 Transfer complete.
+
+## STRU
+
+The argument is a single Telnet character code specifying file structure. The allowed argument is F.
+
+### Server Replies
+
+	501 Syntax error.
+	504 Command not implemented.
+	200 Command okay.
+
+## SYST
+
+This command is used to find out the type of operating system at the server.
+
+### Server Replies
+
+	215 UNIX Type: Apache FTP Server
+
+## TYPE
+
+The argument specifies the representation type. The allowed types are A and I.
+
+### Server Replies
+
+	501 Syntax error.
+	504 Command not implemented.
+	200 Command okay.
+
+## USER
+
+The argument field is a Telnet string identifying the user. The user identification is that which is required by the server for access to its file system. This command will normally be the first command transmitted by the user after the control connections are made.
+
+### Server Replies
+
+	501 Syntax error.
+	230 Already logged-in.
+	530 Invalid user name.
+	530 Anonymous connection is not allowed.
+	421 Maximum anonymous login limit has been reached.
+	421 Maximum login limit has been reached.
+	331 Guest login okay, send your complete e-mail address as password.
+	331 User name okay, need password.
diff --git a/content/ftpserver-project/ftpserver_port_21.mdtext b/content/ftpserver-project/ftpserver_port_21.mdtext
new file mode 100644
index 0000000..4931116
--- /dev/null
+++ b/content/ftpserver-project/ftpserver_port_21.mdtext
@@ -0,0 +1,29 @@
+Title: FtpServer and port 21 on Linux
+Notice:    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.
+
+
+# FtpServer and port 21 on Linux
+
+Under Linux only programs running as root is allowed to bind and listen to ports with port numbers below 1024. However, running a server which communicates with untrusted clients as root is not recommended for security reasons. The standard way to solve this problem in servers such as Apache HTTPD is to start the server as root and bind to the privileged port and then use the setuid C function to change the user ID of the current process. In Java there is no equivalent to the setuid C fu [...]
+
+So, to have FtpServer listen on port 21 but still run it as a normal user one will have to look at other solutions such as using the firewall built into Linux. It turns out that this is really simple. Using the iptables command we can add a rule to the firewall that rewrites all TCP packets coming in on port 21 so that they are effectively forwarded to port 60021:
+
+	sudo iptables -t nat -A PREROUTING -p tcp -m tcp --dport 21 -j REDIRECT --to-ports 60021
+
+We can now configure FtpServer to listen on port 60021 and it will be available on port 21 as well.
+
diff --git a/content/ftpserver-project/ftpserver_site_commands.mdtext b/content/ftpserver-project/ftpserver_site_commands.mdtext
new file mode 100644
index 0000000..48d93e1
--- /dev/null
+++ b/content/ftpserver-project/ftpserver_site_commands.mdtext
@@ -0,0 +1,92 @@
+Title: FtpServer SITE Commands
+Notice:    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.
+
+
+# SITE Commands
+
+This document describes all the FTP SITE commands implemented.
+
+## SITE DESCUSER
+It displays the user details.
+
+### Sample Server Replies
+
+	200-
+    DESCUSER : display user information.
+    HELP     : display this message.
+    STAT     : show statistics.
+    WHO      : display all connected users.
+    ZONE     : display timezone.
+    200 End of help.
+
+## SITE HELP
+
+It displays all the available SITE commands.
+
+### Server Replies
+
+	200-
+    DESCUSER : display user information.
+    HELP     : display this message.
+    STAT     : show statistics.
+    WHO      : display all connected users.
+    ZONE     : display timezone.
+    200 End of help.
+
+## SITE STAT
+
+This command displays different server statistics information. Only admin user has the permission to execute this.
+
+### Sample Server Reply
+
+	200-
+	Start Time               : 2005-09-01T12:10:11
+	File Upload Number       : 0
+	File Download Number     : 0
+	File Delete Number       : 0
+	File Upload Bytes        : 0
+	File Download Bytes      : 0
+	Directory Create Number  : 0
+	Directory Remove Number  : 0
+	Current Logins           : 1
+	Total Logins             : 1
+	Current Anonymous Logins : 0
+	Total Anonymous Logins   : 0
+	Current Connections      : 1
+	Total Connections        : 1
+	200
+
+## SITE WHO
+
+This command displays all currently logged-in user information. It displays the user name, client IP, login time and last access time. Only admin user has the permission to execute this.
+
+### Sample Server Reply
+
+	200-
+	admin           127.0.0.1       2005-09-01T12:20:26 2005-09-01T12:20:52
+	anonymous       127.0.0.1       2005-09-01T12:20:37 2005-09-01T12:20:37
+	200
+
+## SITE ZONE
+
+This command displays the timezone information of the FTP server in RFC 822 4-digit time zone format. The format is
+Sign TwoDigitHours TwoDigitMinutes
+
+### Sample Server Reply
+
+	200 +0530
diff --git a/content/ftpserver-project/getting_involved.mdtext b/content/ftpserver-project/getting_involved.mdtext
new file mode 100644
index 0000000..9ce03b6
--- /dev/null
+++ b/content/ftpserver-project/getting_involved.mdtext
@@ -0,0 +1,27 @@
+Title: FtpServer Getting Involved
+Notice:    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.
+
+
+# Getting Involved
+
+Apache FtpServer communicates using our [Mailing Lists](mailing_list.html). If you have any questions, feedback or suggestions, you're very welcome to join the list and send an email. We are also happy to receive [bug reports and feature requests in our JIRA](https://issues.apache.org/jira/browse/FTPSERVER).
+
+# Patches
+
+The best chance of getting your bug or feature fixed is to provide a patch, if they fit our goals we will usually have them commited within a few days. The Apache Contributors page has excellent [information on how to produce patches](http://apache.org/dev/contributors.html#patches).
+
diff --git a/content/ftpserver-project/getting_source.mdtext b/content/ftpserver-project/getting_source.mdtext
new file mode 100644
index 0000000..dad8757
--- /dev/null
+++ b/content/ftpserver-project/getting_source.mdtext
@@ -0,0 +1,48 @@
+Title: FtpServer Getting Source
+Notice:    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.
+
+## Overview
+
+Sources for the Apache MINA projects are currently managed through GIT. Instructions on GIT use can be found at <http://git-scm.com/book/>.
+
+## Normal Git Access
+
+Anyone can check code out of Git. You only need to specify a username and password in order to update the Git repository, and only MINA committers have the permissions to do that. We run Git over standard HTTPS, so hopefully you won't have problems with intervening firewalls.
+
+## Web Access
+
+The following is a link to the [online source repository](https://gitbox.apache.org/repos/asf?p=mina-ftpserver.git;a=summary).
+
+# Cloning from the Git repo
+
+Again, anyone can do this. Use a command like to checkout the current development version (the trunk):
+
+read only access :
+
+  git clone http://gitbox.apache.org/repos/asf/mina-ftpserver.git ftpserver
+
+write access :
+
+  git clone https://gitbox.apache.org/repos/asf/mina-ftpserver.git ftpserver
+
+You will not be able to commit into the project if you are not a committer.
+
+# Documentation
+The Website documentation is published via Apache SVN pubsub. The website source resides at
+
+[https://svn.apache.org/repos/asf/mina/site/trunk/content/ftpserver-project/](https://svn.apache.org/repos/asf/mina/site/trunk/content/ftpserver-project/)
diff --git a/content/ftpserver-project/index.mdtext b/content/ftpserver-project/index.mdtext
new file mode 100644
index 0000000..5658f85
--- /dev/null
+++ b/content/ftpserver-project/index.mdtext
@@ -0,0 +1,37 @@
+Title: FtpServer Home
+Notice:    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.
+
+
+# Welcome to Apache FtpServer
+
+## Overview
+
+The Apache FtpServer is a 100% pure Java FTP server. It's designed to be a complete and portable FTP server engine solution based on currently available open protocols. FtpServer can be run standalone as a Windows service or Unix/Linux daemon, or embedded into a Java application. We also provide support for integration within [Spring](http://www.springsource.org/) applications and provide our releases as OSGi bundles.
+
+The default network support is based on [Apache MINA](http://mina.apache.org/), a high performance asynchronous IO library. Using MINA, FtpServer can scale to a large number of concurrent users.
+
+It is also an FTP application platform. We have developed a Java API to let you write Java code to process FTP event notifications that we call the Ftplet API. Apache FtpServer provides an implementation of an FTP server to support this API.
+
+To get started, have a look at one of our tutorials:
+
+* [Embedding FtpServer in 5 minutes](embedding_ftpserver.html)
+* [Running FtpServer stand-alone in 5 minutes](running_ftpserver_standalone.html)
+
+You can also have a look at the documentation for how to configure FtpServer to suite your needs.
+
+
diff --git a/content/ftpserver-project/installation.mdtext b/content/ftpserver-project/installation.mdtext
new file mode 100644
index 0000000..e5d480b
--- /dev/null
+++ b/content/ftpserver-project/installation.mdtext
@@ -0,0 +1,61 @@
+Title: FtpServer Installation
+Notice:    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.
+
+
+# Installation
+
+## Binary Distribution
+
+Download the binary distribution and unzip it. The zip file includes sample configuration files
+
+Typical server set up : <INSTALL_DIR>/res/conf/ftpd-typical.xml
+
+* Full example configuration file : <INSTALL_DIR>/res/conf/ftpd-full.xml
+* If you want to use your own jar files, you can put those jar files in system CLASSPATH or copy those jar files in the <INSTALL_DIR>/common/lib directory.
+
+To run the server, go to <INSTALL_DIR> directory and execute ftpd.bat (if Windows) or ftpd.sh (if UNIX or Linux). In this case you need to pass the configuration file location. Usage:
+
+	ftpd [<options>] [<configuration file>]
+		<options> := --default
+  		<configuration file> := <XML configuration file>
+
+In case of no option, default configuration will be used.
+
+Installing FtpServer as a Windows service
+
+### Binary Distribution Directory Structure
+
+	<INSTALL_DIR>
+      |
+      |--- common
+      |     |
+      |     |--- classes
+      |     |
+      |     |--- lib
+      |
+      |--- docs
+      |     
+      |--- javadoc
+      |
+      |--- res
+            |
+            |--- conf
+            |
+            |--- home
+            |
+            |--- log
diff --git a/content/ftpserver-project/mailing_list.mdtext b/content/ftpserver-project/mailing_list.mdtext
new file mode 100644
index 0000000..2ae3468
--- /dev/null
+++ b/content/ftpserver-project/mailing_list.mdtext
@@ -0,0 +1,53 @@
+Title: FtpServer Mailing Lists
+Notice:    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.
+
+
+# Mailing List
+
+General information about the FtpServer mailing lists can be found here.
+
+## For Users
+
+Please use this list for any questions regarding how to use FtpServer in your application.
+
+|  |  |
+|---|---|
+| Subscribe | [ftpserver-users-subscribe@mina.apache.org](mailto:ftpserver-users-subscribe@mina.apache.org) | 
+| Unsubscribe | [ftpserver-users-unsubscribe@mina.apache.org](mailto:ftpserver-users-unsubscribe@mina.apache.org) | 
+| Post | [ftpserver-users@mina.apache.org](mailto:ftpserver-users@mina.apache.org) | 
+| Archive | [http://www.mail-archive.com/ftpserver-users@mina.apache.org/](http://www.mail-archive.com/ftpserver-users@mina.apache.org/) | 
+
+## For Developers
+
+We use the MINA developers list for asking technical questions, discussing feature suggestions or general questions regarding the project.
+
+|  |  |
+|---|---|
+| Subscribe | [dev-subscribe@mina.apache.org](mailto:dev-subscribe@mina.apache.org) | 
+| Unsubscribe | [dev-unsubscribe@mina.apache.org](mailto:dev-unsubscribe@mina.apache.org) | 
+| Post |  [dev@mina.apache.org](mailto:dev@mina.apache.org) | 
+| Archive | [http://www.mail-archive.com/dev@mina.apache.org/](http://www.mail-archive.com/dev@mina.apache.org/) | 
+
+## Subversion commits
+
+|  |  |
+|---|---|
+| Subscribe | [commits-subscribe@mina.apache.org](mailto:commits-subscribe@mina.apache.org) | 
+| Unsubscribe | [commits-unsubscribe@mina.apache.org](mailto:commits-unsubscribe@mina.apache.org) | 
+| Post | [commits@mina.apache.org](mailto:commits@mina.apache.org) | 
+| Archive | [http://www.mail-archive.com/commits@mina.apache.org/](http://www.mail-archive.com/commits@mina.apache.org/) | 
diff --git a/content/ftpserver-project/managing_users.mdtext b/content/ftpserver-project/managing_users.mdtext
new file mode 100644
index 0000000..b4d2d82
--- /dev/null
+++ b/content/ftpserver-project/managing_users.mdtext
@@ -0,0 +1,60 @@
+Title: FtpServer Managing users
+Notice:    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.
+
+
+# Managing users
+
+Since FtpServer user manager might encrypt user passwords before saving them, manually administering the user database can be hard. There is basically three ways:
+
+## Manually
+
+Using either the PropertiesUserManager or DbUserManager you can access the data store (file or database) directly to edit users. For clear text passwords you can simply edit them. For MD5 hashed passwords, you can you use any of the available MD5 tools, for example <http://www.iwebtool.com/md5>, to hash the password before editing it. For salted passwords, use one of the methods described below.
+
+## Using the API
+
+Using the FtpServer API, you can create a user manager, configure it as your real user manager and use that to edit users. This is a simple example:
+
+	PropertiesUserManagerFactory userManagerFactory = new PropertiesUserManagerFactory();
+	userManagerFactory.setFile(new File(&quot;myusers.properties&quot;));
+	userManagerFactory.setPasswordEncryptor(new SaltedPasswordEncryptor());
+	UserManager um = userManagerFactory.createUserManager();
+	BaseUser user = new BaseUser();
+	user.setName(&quot;myNewUser&quot;);
+	user.setPassword(&quot;secret&quot;);
+	user.setHomeDirectory(&quot;ftproot&quot;);
+	um.save(user);
+
+## Using command line tool
+
+If you're using the XML configuratio, there is a command line tool available for adding new users to your user manager.
+
+In the examples below, make sure you update the versions to reflect the correct versions for your release
+
+Windows:
+
+	java -cp ftpserver-core-1.0.0-M4.jar;ftplet-api-1.0.0-M4.jar;mina-core-2.0.0-M3.jar; 
+		[slf4j-api-1.5.2.jar;<br>slf4j-simple-1.5.2.jar 
+		[ org.apache.ftpserver.main.AddUser path/to/your/config.xml
+
+MacOS/Linux/Unix
+
+	java -cp ftpserver-core-1.0.0-M4.jar:ftplet-api-1.0.0-M4.jar:mina-core-2.0.0-M3.jar:\
+		slf4j-api-1.5.2.jar:<br>slf4j-simple-1.5.2.jar \
+		org.apache.ftpserver.main.AddUser path/to/your/config.xml
+
+The program will ask you for the required data.
diff --git a/content/ftpserver-project/messages.mdtext b/content/ftpserver-project/messages.mdtext
new file mode 100644
index 0000000..8884191
--- /dev/null
+++ b/content/ftpserver-project/messages.mdtext
@@ -0,0 +1,75 @@
+Title: FtpServer Messages
+Notice:  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.
+
+
+# Messages
+
+This document explains how to customize all the Apache FtpServer reply messages.
+
+All the server messages are customizable. The default reply messages are bundled with the server. The user defined custom messages will be stored separately. This custom message file is configurable.
+
+The FtpServer project is interested in localized message bundles, please [contact the project](mailing_list.html) if you would like to donate.
+
+## Example
+
+	<messages languages="se, no ,da">
+
+## messages element
+
+| Attribute | Description | Required | Default value |
+|--|--|--|--|
+| directory | The directory in which message bundles can be located | No | &nbsp;|
+| languages | A comma separated list of the languages that the server will provide messages in | No | &nbsp;|
+
+## Creating a customized message bundle
+
+### Dynamic Values
+
+Dynamic values can be embedded in the server message replies. User can specify different variables in message strings. Variables are represented by {variable} in the string. 
+
+| | |
+|--|--|
+| Variable Name | Description |
+| server.ip | Server IP address. |
+| server.port | Server port. |
+| client.ip | Client IP address. |
+| client.con.time | Client connection time. The date format is yyyy-MM-dd'T'HH:mm:ss (ISO8601). |
+| client.login.time | Client login time. The date format is yyyy-MM-dd'T'HH:mm:ss (ISO8601). |
+| client.login.name | User login name. If the user has not passed the login name, it will be null. |
+| client.access.time | Client last access time. The date format is yyyy-MM-ddTHH:mm:ss (ISO8601). |
+| client.home | User home directory. |
+| client.dir | User current directory. |
+| request.line | User request line. |
+| request.cmd | User FTP command. |
+| request.arg | User request argument. If there is no argument it will be null. |
+| stat.start.time | Server start time. The date format is yyyy-MM-ddTHH:mm:ss (ISO8601). |
+| stat.con.total | Total number of connections after server startup. |
+| stat.con.curr | Current connection number. |
+| stat.login.total | Total number of logins after server startup. |
+| stat.login.curr | Current login number. |
+| stat.login.anon.total | Total number of anonymous logins after server startup. |
+| stat.login.anon.curr | Current anonymous login number. |
+| stat.file.upload.count | Total number of files uploaded. |
+| stat.file.upload.bytes | Total number of bytes uploaded. |
+| stat.file.download.count | Total number of files downloaded |
+| stat.file.download.bytes | Total number of bytes downloaded |
+| stat.file.delete.count | Total number of files deleted. |
+| stat.dir.create.count | Total number of directories created. |
+| stat.dir.delete.count | Total number of directories removed. |
+| output.code | FTP Server 3 digit reply code. |
+| output.msg | Basic core message which has to be available in the message. |
diff --git a/content/ftpserver-project/related_project.mdtext b/content/ftpserver-project/related_project.mdtext
new file mode 100644
index 0000000..96b4d0b
--- /dev/null
+++ b/content/ftpserver-project/related_project.mdtext
@@ -0,0 +1,30 @@
+Title: FtpServer Related Projects
+Notice:    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.
+
+
+# Related Projects
+
+## [VFS FTPServer Bridge](http://vfs-utils.sourceforge.net/ftpserver/index.html)
+
+This project provides an Apache Commons VFS implementation for the Apache FTPServer project. Instead of working only on local files, with this VFS bridge you can connect to any VFS provider. You can still use a local file system, but you can also use a ZIP file, loop through to another FTP server, or use any other available VFS implementation such as DctmVFS.
+
+## [HDFS over FTP](https://sites.google.com/a/iponweb.net/hadoop/Home/hdfs-over-ftp)
+
+FTP server which works on a top of HDFS. It aAllows to connect to HDFS using any FTP client. FTP server is configurable by hdfs-over-ftp.conf and users.conf. Also it allows to use secure connection over SSL and supports all HDFS permissions
+
+
diff --git a/content/ftpserver-project/releasing.mdtext b/content/ftpserver-project/releasing.mdtext
new file mode 100644
index 0000000..ac3832b
--- /dev/null
+++ b/content/ftpserver-project/releasing.mdtext
@@ -0,0 +1,73 @@
+Title: FtpServer Releasing
+Notice:    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.
+
+
+# Releasing
+
+## Before calling a vote
+
+* Update the README.txt file
+* Copy trunk revision to branch
+
+		svn copy -m "Branching for release" -r <revision> 
+			https://svn.apache.org/repos/asf/mina/ftpserver/trunk/
+			https://svn.apache.org/repos/asf/mina/ftpserver/branches/<release version>
+		svn co https://svn.apache.org/repos/asf/mina/ftpserver/branches/<release version>
+
+* Up version in trunk
+
+		mvn versions:set -DnewVersion=<next version>-SNAPSHOT -DgenerateBackupPoms=false
+		svn -m "Increasing version for new development in trunk" commit
+
+* Update version in branch
+
+		mvn versions:set -DnewVersion=<release version> -DgenerateBackupPoms=false
+		svn -m "Setting version for release of <release version>" commit
+
+* mvn -Papache-release clean deploy
+* Close staging repository on http://repository.apache.org
+* Gather distribution files and upload to people.apache.org
+* Start vote
+
+## After a successful vote
+
+* Update site,
+* Run the auto-export plugin (else the news on the first page won't be updated correctly)
+* Wait until replication to /www/confluence-exports/FTPSERVER has run
+
+		/home/ngn/ftpserver-zip.sh
+
+* Upload XML schema
+
+		scp core/src/main/resources/org/apache/ftpserver/config/spring/ftpserver-1.0.xsd
+			@people.apache.org:/www/mina.apache.org/ftpserver
+	
+* Build and tag
+
+		mvn -Papache-release clean deploy
+		svn move -m "Tagging <release version>" 
+			https://svn.apache.org/repos/asf/mina/ftpserver/branches/<release version> 
+			https://svn.apache.org/repos/asf/mina/ftpserver/tags/<release version>
+
+* Upload to people.apache.org /www/www.apache.org/dist/mina/ftpserver
+* Release in JIRA
+* Update MINA site (add news and update latest downloads in navigation)
+* Wait for mirrors to sync
+* Send out announcement
+
+Run script to create documentation ZIP file, on people.apache.org
diff --git a/content/ftpserver-project/reporting_bug.mdtext b/content/ftpserver-project/reporting_bug.mdtext
new file mode 100644
index 0000000..d6b8b1e
--- /dev/null
+++ b/content/ftpserver-project/reporting_bug.mdtext
@@ -0,0 +1,35 @@
+Title: FtpServer Reporting Bugs
+Notice:    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.
+
+
+# Reporting a Bug
+
+We are using JIRA to track all FtpServer issues including bugs. Please visit our [issue tracker page](http://issues.apache.org/jira/browse/FTPSERVER) to report a bug. 
+
+## How to report a bug
+
+Writing a bug report with detailed information will help us to fix your problem sooner.
+
+* Make sure if the bug you are going to report doesn't exist yet.
+* Attaching JUnit test case which reproduces the problem will put your report in our highest priority.
+* Attach full thread stack dump if you suspect a dead lock.
+* Attach full heap dump if you suspect a memory leak.
+* Specify the environment in detail as much as possible.
+    * Operating system version, distribution, architecture, ...
+    * JVM vendor, version, build number, command line arguments, ...
+    * Network settings
diff --git a/content/ftpserver-project/running_ftpserver_standalone.mdtext b/content/ftpserver-project/running_ftpserver_standalone.mdtext
new file mode 100644
index 0000000..39ad36d
--- /dev/null
+++ b/content/ftpserver-project/running_ftpserver_standalone.mdtext
@@ -0,0 +1,58 @@
+Title: FtpServer 
+Notice:    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.
+
+
+# Running FtpServer stand-alone in 5 minutes
+
+To get FtpServer up and running in stand-alone mode, you need to have a full distribution. Check out to build the source code and make sure you include the build for the distribution module
+
+## Installing
+
+Now you should have a ZIP or TARed file with the entire distribution. Let's go.
+
+First of all, unpack it. If you're on Linux/Unix, you can use:
+
+	tar -xzvf ftpserver-1.0.0.tar.gz
+
+On Windows and Linux/Unix, you can use any ZIP tool, like [7-zip](http://www.7-zip.org/) or [Gnome File Roller](http://fileroller.sourceforge.net/) to unzip the file at a location of your liking.
+
+## Running a basic server
+
+Now, open a shell/command prompt where you unpacked the files. On Linux/Unix, run:
+
+	bin/ftpd.sh
+
+On Windows, the same command is:
+
+	bin/ftpd.bat
+
+FtpServer should now start as expected and you should be able to use a FTP client to access the server at localhost on port 21. The default .
+
+Note that on Linux this command will require root privileges as it tried to listen on port 21, something only root can do. If you're not root, you will get an exception saying "java.net.SocketException: Permission denied". Let's have a look at how to solve this without running as root.
+
+## Configuring
+
+In the res/conf directory in the unpackaged directory you will find some example configuration files. For this tutorial, we will use the ftpd-typical.xml configuration file. It will set the listener port to 2121, thus fixing the issue with not being able to run the server as non-root on Linux. It will also use a provided user database, allowing logging in as admin (password admin) or anonymous. To run, on Linux/Unix:
+
+	bin/ftpd.sh res/conf/ftpd-typical.xml
+
+On Windows:
+
+	bin/ftpd.bat res/conf/ftpd-typical.xml
+
+That's it. Now you can configure the server to your likings. Have a look at either the ftpd-full.xml example or the configuration documentation. You can also set up FtpServer to run as a service on Windows or daemon on Linux/Unix.
diff --git a/content/ftpserver-project/testimonials.mdtext b/content/ftpserver-project/testimonials.mdtext
new file mode 100644
index 0000000..100b192
--- /dev/null
+++ b/content/ftpserver-project/testimonials.mdtext
@@ -0,0 +1,28 @@
+Title: FtpServer Testimonials
+Notice:    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.
+
+
+# Testimonials
+
+__Daniel Frank__ says:
+
+> Apache FtpServer has proven to be a stable and reliable platform for our
+customers. It is easy to customize, and this was an important factor when
+deciding to use Apache FtpServer as the FTP server for our cloud based file
+sharing solution, [HostedFTP](HostedFTP)
+
diff --git a/content/index.mdtext b/content/index.mdtext
new file mode 100644
index 0000000..15856ee
--- /dev/null
+++ b/content/index.mdtext
@@ -0,0 +1,32 @@
+Title: Apache MINA
+Notice:    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.
+
+Apache MINA is a network application framework which helps users develop high performance and high scalability network applications easily. It provides an abstract event-driven asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO.
+
+Apache MINA is often called:
+
+* NIO framework library,
+* client server framework library, or
+* a networking socket library
+
+Apache MINA comes with many subprojects :
+
+* Asyncweb : An HTTP server build on top of MINA asynchronous framework
+* FtpServer : A FTP server 
+* SSHd : A Java library supporting the SSH protocol
+* Vysper : An XMPP server
diff --git a/content/mailing-lists.mdtext b/content/mailing-lists.mdtext
new file mode 100644
index 0000000..3490ad2
--- /dev/null
+++ b/content/mailing-lists.mdtext
@@ -0,0 +1,89 @@
+Title: Apache MINA Mailing Lists
+Title: Apache MINA Mailing Lists
+Notice:    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.
+
+The Apache MINA team interacts with MINA developers and users via [mailing lists](http://en.wikipedia.org/wiki/Mailing_list). If you have any questions or something to say to us, please subscribe to our user mailing list and post a message. If you would like to contribute to the development of MINA, please subscribe to the developer mailing list.
+
+__Do NOT cross post (ie mail to users and dev). Pick the right list__
+
+Take a few minutes to read this page :[Asking Smart Questions](http://www.catb.org/~esr/faqs/smart-questions.html)
+
+More specifically, follow those simple rules :
+
+* Do not cross post (ie mail to users and dev). Pick the right list.
+* No need to send a mail every hour if you don't get an answer. We don't have an answer to every question ...
+* Use meaningful subject headers. HELP PLEASE HELP ME is just plain useless...
+* Be precise about your problem.
+* Always give some information about the version you are using, the OS, the Java version.
+* You may have find a bug in MINA, but it's way more likely that your code is buggy.
+* Don't be afraid to post, even if you think your english suck. Most of us are not english native speakers, anyways ...
+
+Thanks for listening !
+
+# Users mailing list
+This list is for any questions related to MINA. It's where you need to post for requesting support, or asking question about API usage.
+
+## Subscribing
+
+Send a message to [users-subscribe@mina.apache.org](mailto:users-subscribe@mina.apache.org) with a subject and body containg 'subscribe'. You can actually send an empty or rich text message to unsubscribe, but our spam filter might reject your message. After sending your initial email, you will be sent a confirmation email. Simply reply to the confirmation email and you will be subscribed.
+
+## Posting a message
+
+You can ask any questions or provide feedback by sending an email to [users@mina.apache.org](mailto:users@mina.apache.org) after subscribing to the mailing list. Your message can be sent even if you didn't subscribe to the mailing list, but it will take some time for your message to be in our mail box because of the moderation process.
+
+## Unsubscribing
+
+Oh, did you lose your interest in MINA? Please let us know what made so if MINA couldn't solve your problem and give it a chance! Sending a message whose subject and body contains 'unsubscribe' to [users-unsubscribe@mina.apache.org](mailto:users-unsubscribe@mina.apache.org) in plain text format will unsubscribe you from the mailing list though. You can actually send an empty or rich text message to unsubscribe, but our spam filter might reject your message.
+
+# Developers mailing list
+
+This mailing list is used for discussions about the actual development of MINA and sub-projects (Ftpserver, Asyncweb).
+
+## Subscribing
+
+Similar to subscribing to the user mailing list, please send a message whose subject and body contains 'subscribe' to [dev-subscribe@mina.apache.org](mailto:dev-subscribe@mina.apache.org) in plain text format. Again, you can actually send an empty or rich text message to subscribe, but our spam filter might reject your message
+
+## Posting a message
+
+You can ask any questions or feedback to [dev@mina.apache.org](mailto:dev@mina.apache.org) after subscribing to the mailing list. Your message can be sent even if you didn't subscribe to the mailing list, but it will take for some time for your message to be in our mail box because of moderation process.
+
+Alternatively, you can use the web forum interface.
+
+## Unsubscribing from the mailing list
+
+To unsubscribe, send a message whose subject and body contains 'unsubscribe' to [dev-unsubscribe@mina.apache.org](mailto:dev-unsubscribe@mina.apache.org) in plain text format will unsubscribe you from the mailing list though. You can actually send an empty or rich text message to unsubscribe, but our spam filter might reject your message
+
+# Commits mailing list
+
+This mailing list is tracking all the code modifications realised in MINA subversion repository. It's an useful tool for knowing what is going on MINA development and giving feeback on last modifications using the development mailing list
+
+## Subscribing
+
+Similar to subscribing to the user and developer mailing lists, please send a message whose subject and body contains 'subscribe' to [commits-subscribe@mina.apache.org](mailto:commits-subscribe@mina.apache.org) in plain text format. Again, you can actually send an empty or rich text message to subscribe, but our spam filter might reject your message
+
+## Unsubscribing from the mailing list
+
+To unsubscribe, send a message whose subject and body contains 'unsubscribe' to [commits-unsubscribe@mina.apache.org](mailto:commits-unsubscribe@mina.apache.org) in plain text format will unsubscribe you from the mailing list though. You can actually send an empty or rich text message to unsubscribe, but our spam filter might reject your message
+
+# Archive
+
+All previous messages are archived in the following site:
+
+* [MarkMail.org](http://mina.markmail.org/)
+* Mail-Archive.com - [dev](http://www.mail-archive.com/dev@mina.apache.org/), [users](http://www.mail-archive.com/users@mina.apache.org/), [commits](http://www.mail-archive.com/commits@mina.apache.org/)
+* Apache.org - [dev](http://mail-archives.apache.org/mod_mbox/mina-dev/), [users](http://mail-archives.apache.org/mod_mbox/mina-users/), [commits](http://mail-archives.apache.org/mod_mbox/mina-commits/)
diff --git a/content/mina-project/2.1-vs-2.0.mdtext b/content/mina-project/2.1-vs-2.0.mdtext
new file mode 100644
index 0000000..54ec7cd
--- /dev/null
+++ b/content/mina-project/2.1-vs-2.0.mdtext
@@ -0,0 +1,89 @@
+Title: MINA 2.1.x vs MINA 2.0.x
+Notice:    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.
+
+# 2.1.x vs 2.0.x differences
+
+The way an application is informed that a session has been secured (ie, the SSL/TLS handshake has been successfully colmpleted) was to use a notification system. A specific message was pushed for that purpose, up to the client application to check that message. It forced the application implementer to inject a special session attribute (*SslFilter.USE_NOTIFICATION*), which is a bit heavy.
+
+It was decided to change that and make it easier for the application to get this information. The idea was to add a new event being propagated to the *IoHandler* interface, up to the application to react to such an event or not. 
+
+## Secure session detection in Apache MINA 2.0.x
+
+The following application code is to be used if the application needs to know if the session has been secured or not:
+
+    :::java
+    connector.setHandler(new IoHandlerAdapter() {
+        @Override
+        public void sessionCreated(IoSession session) throws Exception {
+            // Add the SSL notification in the session's attribute liste
+            session.setAttribute(SslFilter.USE_NOTIFICATION, Boolean.TRUE);
+        }
+        ...
+        @Override
+        public void messageReceived(IoSession session, Object message) throws Exception {
+            // Check if the 'fake' session secured message notification has been received
+            if (message == SslFilter.SESSION_SECURED) {
+                counter.countDown();
+            }
+        }
+    } 
+
+As we can see in this piece of code, this is a two step process: 
+* first we have to inform our session that we want to be informaed about the secured status
+* second we have to check for every received message if the session has been secured
+
+This is a bit clumsy, as the check has to be done in the *messageReceived* event, which is clearly mixing concepts (the remote peer never sends such a message)
+
+## Secure session detection in Apache MINA 2.1.x
+
+The idea was to extend the *IoHandler* interface with a generic *event* method that can be used to be informed about whatever type of event the session is subject to, beside the already processed events (session created, closed, etc).
+
+The *SslHandler* code has been modified to fire this event when the session has been secured, using a dedicated event, *SslEvent.SECURED*. 
+We also have modified the *SslFilter* code to generate a event when the session is not anymore secured, sending the *SslEvent.UNSECURED* event.
+
+The following code show the difference with the previous code :
+
+    :::java
+    connector.setHandler(new IoHandlerAdapter() {
+        @Override
+        public void event(IoSession session, FilterEvent event) throws Exception {
+            if (event == SslEvent.SECURED ) {
+                // DO whatever the application needs to do when the session is secured
+            }
+        }
+    }
+
+As we can see, we don't need to initialize the session telling it to inform the application through a notification: this will be done no matter what.
+
+## Why is it API incompatible ?
+
+The *event* addition in the *IoHandler* interface does not break your code: we always have an abstract implementation that will handle the events if your application does not.
+
+The real issue is that if your application was using the Notification mechanism for that purpose, the new version will not send you this specific message(*SslFilter.SESSION_SECURED*). 
+
+## Migration
+
+This is pretty straightforward :
+* get rid of the notification declaration by removing the _session.setAttribute(SslFilter.USE_NOTIFICATION, Boolean.TRUE)_ code.
+* implement the _event(IoSession session, FilterEvent event)_ method in your application handler, checking for the _SslEvent.SECURED_/_SslEvent.UNSECURED_ specific events.
+
+and that's it !
+
+## Future evolution
+
+The added event mechanism could be used to other purposes, and that includes user specific needs. It's possible to write a specific filter that will send a dedicated _FilterEvent_ instance, for the application to process it. 
diff --git a/content/mina-project/ImprovedJavaConventions.xml b/content/mina-project/ImprovedJavaConventions.xml
new file mode 100644
index 0000000..7e3d8b8
--- /dev/null
+++ b/content/mina-project/ImprovedJavaConventions.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<profiles version="10">
+<profile name="Improved Java Conventions" version="10">
+<setting id="org.eclipse.jdt.core.formatter.align_type_members_on_columns" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_assignment" value="0"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_binary_expression" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_compact_if" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_conditional_expression" value="80"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_enum_constants" value="0"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_multiple_fields" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration" value="16"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_imports" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_after_package" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_field" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration" value="0"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_imports" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_member_type" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_method" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_before_package" value="0"/>
+<setting id="org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration" value="end_of_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration" value="end_of_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_array_initializer" value="end_of_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block" value="end_of_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_block_in_case" value="end_of_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration" value="end_of_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_constant" value="end_of_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration" value="end_of_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_method_declaration" value="end_of_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_switch" value="end_of_line"/>
+<setting id="org.eclipse.jdt.core.formatter.brace_position_for_type_declaration" value="end_of_line"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.clear_blank_lines" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.format_comments" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.format_header" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.format_html" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.format_source_code" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.indent_parameter_description" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.indent_root_tags" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.comment.line_length" value="80"/>
+<setting id="org.eclipse.jdt.core.formatter.compact_else_if" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.continuation_indentation" value="2"/>
+<setting id="org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer" value="2"/>
+<setting id="org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_empty_lines" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_block" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_statements_compare_to_body" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.indentation.size" value="8"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_annotation" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_binary_operator" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_after_unary_operator" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_binary_operator" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_ellipsis" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional" value="insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_before_unary_operator" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation" value="do not insert"/>
+<setting id="org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line" value="false"/>
+<setting id="org.eclipse.jdt.core.formatter.lineSplit" value="120"/>
+<setting id="org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body" value="0"/>
+<setting id="org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve" value="1"/>
+<setting id="org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line" value="true"/>
+<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>
+<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="4"/>
+<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="false"/>
+</profile>
+</profiles>
diff --git a/content/mina-project/codec-repo.mdtext b/content/mina-project/codec-repo.mdtext
new file mode 100644
index 0000000..4525dfc
--- /dev/null
+++ b/content/mina-project/codec-repo.mdtext
@@ -0,0 +1,49 @@
+Title: MINA Codec Repository
+Notice:    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.
+
+# Overview
+
+This page captures known MINA Codecs available. These codecs may not be part of Apache MINA project. The Codecs are for reference purpose only.
+
+<DIV class="info" markdown="1">
+	The Codecs listed here may not be part of Apache MINA project. The information is for MINA Users for reference implementation available over the web
+</DIV>
+
+## Protocol Codecs
+
+The table below summarizes some of the known codecs
+
+| Protocol | Project | Description |
+|---|---|---|
+| Prefixed String | [Apache MINA](http://mina.apache.org/) | Encodes/Decodes a a String with fixed length prefix |
+| Object Serializer | [Apache MINA](http://mina.apache.org/) | Serializes and deserializes Java objects |
+| Text Line | [Apache MINA](http://mina.apache.org/) | Encoding/Decoding between a text line data and a Java string object |
+| Ftp | [Apache FtpServer](http://mina.apache.org/ftpserver-project) | FTP codecs |
+| LDAP | [Apache Directory](http://directory.apache.org/)| LDAP protocol Codecs |
+| DNS | [Apache Directory](http://directory.apache.org/)| DNS protocol Codecs |
+| Kerberos | [Apache Directory](http://directory.apache.org/)| Kerberos protocol Codecs |
+| NTP | [Apache Directory](http://directory.apache.org/) | NTP protocol Codecs |
+| DHCP | [Apache Directory](http://directory.apache.org/) | DHCP protocol Codecs |
+| [MRTMP](http://jira.red5.org/confluence/display/docs/Chapter%2016.%20Clustering)| [Red5](http://www.red5.org/) | Codecs for Multiplexing RTMP |
+| RTMP | [Red5](http://www.red5.org/) | Codecs for RTMP |
+| RTSP | [Red5](http://www.red5.org/) | Codecs for RTSP |
+| SMTP | [MailsterSMTP](http://tedorg.free.fr/en/projects.php?section=smtp)</A> | SMTP Codecs |
+| AMQP | [Apache Qpid](http://cwiki.apache.org/qpid/)</A> | AMQP Codecs |
+| XMPP | <A href="" class="external-link" rel="nofollow">[Jive Software Openfire](http://www.jivesoftware.com/products/openfire/)| XMPP Codecs |
+	| XMPP | [Vysper](http://mina.apache.org/vysper-project)| XMPP/XML Codecs. Subproject of MINA. |
+| Google Protocol Buffers | Apache MINA | Codecs are still in [sandbox](http://svn.apache.org/repos/asf/mina/sandbox/protocol-buffers/)</A> |
diff --git a/content/mina-project/conferences.mdtext b/content/mina-project/conferences.mdtext
new file mode 100644
index 0000000..e4fdfd6
--- /dev/null
+++ b/content/mina-project/conferences.mdtext
@@ -0,0 +1,31 @@
+Title: MINA Presentation Materials
+Notice:    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.
+
+# Presentation Materials
+These presentation materials will help you understand the overall architecture and core constructs of MINA.
+
+* [MINA in real life](../staticresources/pdfs/Mina_in_real_life_ASEU-2009.pdf) (ApacheCon EU 2009) by Emmanuel L&eacute;charny
+* [Rapid Network Application Development with Apache MINA](../staticresources/pdfs/JavaOne2008.pdf) (JavaOne 2008) by Trustin Lee
+* [Apache MINA - The High Performance Protocol Construction Toolkit](../staticresources/pdfs/ACUS2007.pdf) (ApacheCon US 2007) by Peter Royal
+* [Introduction to MINA (ApacheCon Asia 2006)](../staticresources/pdfs/ACAsia2006.pdf) by Trustin Lee
+
+# Other Presentation Materials
+
+* [Building TCP/IP Servers with Apache MINA](../staticresources/pdfs/ACEU2007.pdf) (ApacheCon EU 2007) by Peter Royal
+* [Building TCP/IP Servers with Apache MINA](../staticresources/pdfs/ACEU2006.pdf) (ApacheCon EU 2006) by Peter Royal
+* [Introduction to MINA](../staticresources/pdfs/ACUS2005.pdf) (ApacheCon US 2005) by Trustin Lee [Demo movie](../staticresources/pdfs/ACUS2005.swf)
diff --git a/content/mina-project/developer-guide.mdtext b/content/mina-project/developer-guide.mdtext
new file mode 100644
index 0000000..1566fa8
--- /dev/null
+++ b/content/mina-project/developer-guide.mdtext
@@ -0,0 +1,616 @@
+Title: Developer Guide
+Notice:    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.
+
+# Building MINA
+
+<DIV class="note" markdown="1">
+	Please read <a href="https://www.apache.org/dev/" class="external-link" rel="nofollow">the Developer Infrastructure Information</a> if you haven't yet before you proceed.
+</DIV>
+
+[TOC]
+
+# Checking out the code
+
+You need Git to check out the source code from our source code repository, and [Maven(http://maven.apache.org/) 2.2.1 to build the source code (Building with Maven 3.0 will also work).  The following example shows how to build the current stable branch (2.0.9).
+
+    $ git clone http://gitbox.apache.org/repos/asf/mina.git mina
+    $ cd mina
+    $ mvn -Pserial clean install             # Build packages (JARs) for the core API and other 
+                                             # extensions and install them to the local Maven repository.
+    $ mvn -Pserial site                      # Generate reports (JavaDoc and JXR)
+    $ mvn -Pserial package assembly:assembly # Generate a tarball (package goal needed to fix an assembly plugin bug)
+    $ mvn -Pserial eclipse:eclipse           # Generate Eclipse project files if you want
+
+Eclipse users:
+Don't forget to declare a classpath variable named M2_REPO, pointing to `~/.m2/repository`, otherwise many links to existing jars will be broken.
+You can declare new variables in Eclipse in Windows -> Preferences... and selecting Java -> Build Path -> Classpath Variables
+
+There are also other branches that might interest you:
+
+* trunk: Where big changes take place everyday
+
+If you want to check out the source code of previous releases, you have to select the branch you want to work on :
+
+  $ git clone http://gitbox.apache.org/repos/asf/mina.git mina
+  $ git checkout <tag>
+
+For instance, to work on the on-going 2.0 version trunk, just do :
+
+  $ git clone http://gitbox.apache.org/repos/asf/mina.git mina
+  $ git checkout 2.0
+
+# Coding Convention
+
+We follow [Sun's standard Java coding convention](https://www.oracle.com/technetwork/java/codeconventions-150003.pdf) except that we always use spaces instead of tabs. Please download [the Eclipse Java formatter settings file](ImprovedJavaConventions.xml) before you make any changes to the code.
+
+This file is also available in the `/resources` directory.
+
+# Class header
+
+As class header we use :
+
+    /** 
+     * Class desciption here.
+     *
+     * @author <a href="http://mina.apache.org">Apache MINA Project</a>
+     */
+
+The headers revisions tags are removed.
+
+# Deploying Snapshots (Commiters Only)
+
+Before running Maven to deploy artifacts, *please make sure if your umask is configured correctly*.  Unless configured properly, other committers will experience annoying 'permission denied' errors.  If your default shell is `bash`, please update your umask setting in the `~/.bashrc` file (create one if it doesn't exist.) by adding the following line:
+
+    umask 002
+
+Please note that you have to edit the correct `shrc` file.  If you use `csh`, then you will have to edit `~/.cshrc` file.
+
+Now you are ready to deploy the artifacts if you configured your umask correctly.
+
+    $ git clone http://gitbox.apache.org/repos/asf/mina.git mina
+    $ cd mina
+    $ mvn -Pserial clean deploy site site:deploy    # Make sure to run 'clean' goal first to prevent side effects from your IDE.
+
+
+Please double-check the mode (i.e. `0664` or `-rw-rw-r--`, a.k.a permission code) of the deployed artifacts, otherwise you can waste other people's time significantly.
+
+# Releasing a Point Release (Committers Only)
+
+## Preparing the release for the vote
+
+Before starting be sure to have the java and mvn command in your PATH.
+On linux you can check with the following commands :
+
+    $ type mvn
+    mvn is hashed (/opt/maven-2.2.1/bin/mvn)
+    $ type java
+    java is hashed (/usr/bin/java)
+
+### Step 0: Building MINA
+As weird as it sounds, for some unknown reason (most certainly a misconfiguration in the Maven poms), we can't just run the release without having previously build all the projects. This is done with the following command :
+
+    $ mvn clean install -Pserial
+
+### Step 1: Tagging and Deploying
+
+First you need to configure maven for using the good username for scp and operation.
+
+In the `~/.m2/settings.xml` you need the following lines :
+
+	:::xml
+    <settings xmlns="http://maven.apache.org/POM/4.0.0"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
+                          http://maven.apache.org/xsd/settings-1.0.0.xsd">
+    
+      <!-- SERVER SETTINGS -->
+      <servers>
+        <!-- To publish a snapshot of some part of Maven -->
+        <server>
+          <id>apache.snapshots.https</id>
+          <username>elecharny</username>
+          <password>-----Your password here-----</password>
+        </server>
+        <!-- To publish a website of some part of Maven -->
+        <server>
+          <id>apache.websites</id>
+          <username>elecharny</username>
+          <filePermissions>664</filePermissions>
+          <directoryPermissions>775</directoryPermissions>
+        </server>
+        <!-- To stage a release of some part of Maven -->
+        <server>
+          <id>apache.releases.https</id>
+          <username>elecharny</username>
+          <password>-----Your password here-----</password>
+        </server>
+        <!-- To stage a website of some part of Maven -->
+        <server>
+          <id>stagingSite</id> <!-- must match hard-coded repository identifier in site:stage-deploy -->
+          <username>elecharny</username>
+          <filePermissions>664</filePermissions>
+          <directoryPermissions>775</directoryPermissions>
+        </server>
+      </servers>
+    
+      <!-- PROFILE SETTINGS -->
+      <profiles>
+        <profile>
+          <id>apache-release</id>
+          <properties>
+            <!-- Configuration for artifacts signature -->
+            <gpg.passphrase>-----Your passphrase here-----</gpg.passphrase>
+          </properties>
+        </profile>
+      </profiles>
+    
+    </settings>
+
+### step 2 : Processing with a dry run
+
+After having checked out the trunk, and built it (see step 0), 
+
+    $ git clone http://gitbox.apache.org/repos/asf/mina.git mina
+    $ cd mina
+    $ mvn clean install -Pserial
+
+run the following commands :
+
+    $ mvn -Pserial,apache-release -DdryRun=true release:prepare    # Dry-run first.
+
+Answer to maven questions :
+
+    "What is the release version for "Apache MINA"? (org.apache.mina:mina-parent) 2.0.7-<version>: :" 
+    <either use the default version as suggested, or type in the version you@qot;d like to be used>
+    [..]
+
+Then some other questions will be asked, about the next version to use. The default values should be fine.
+
+<DIV class="info" markdown="1">
+<strong>Be Careful</strong><br>
+	
+Make sure the change made by the release plugin is correct! (pom.xml, tags created)
+</DIV>
+	
+### Step 3 : Processing with the real release
+When the dry run is successful, then you can do in real with the following commands:
+
+    $ mvn -Pserial,apache-release release:clean      # Clean up the temporary files created by the dry-run.
+    $ mvn -Pserial,apache-release release:prepare    # Copy to tags directory.
+
+The first step will clean up the local sources, the second step will release for real. The same questions will be asked as those we had during the dry run step.
+
+At some point, it will ask for your passphrase (the one you used when you created your PGP key). Type it in.
+
+
+Three mails will be generated, and sent to commits@mina.apache.org :
+
+    git commit: [maven-release-plugin] prepare release 2.0.9
+    Git Push Summary
+    git commit: [maven-release-plugin] prepare for next development iteration
+
+The first mail tells you that the SNAPSHOT has been moved to the release version in trunk, the second mails tells you that this version has been tagged, and the last mail tells you that trunk has moved to the next version.
+
+
+### Step 4 : perform the release
+
+The last step before launching a vote is to push the potential release to Nexus so that every user can test the created packages. Perform the following actions (note that we have to run a build first for teh javadoc to be correctly generated...) :
+
+    $ mvn clean install -Pserial -DskipTests
+    ...
+    $ mvn -Pserial,apache-release release:perform
+    ...
+    [INFO] [INFO] ------------------------------------------------------------------------
+    [INFO] [INFO] Reactor Summary:
+    [INFO] [INFO] ------------------------------------------------------------------------
+    [INFO] [INFO] Apache MINA ........................................... SUCCESS [1:05.896s]
+    [INFO] [INFO] Apache MINA Legal ..................................... SUCCESS [30.708s]
+    [INFO] [INFO] Apache MINA Core ...................................... SUCCESS [4:44.973s]
+    [INFO] [INFO] Apache MINA APR Transport ............................. SUCCESS [46.082s]
+    [INFO] [INFO] Apache MINA Compression Filter ........................ SUCCESS [40.230s]
+    [INFO] [INFO] Apache MINA State Machine ............................. SUCCESS [52.718s]
+    [INFO] [INFO] Apache MINA JavaBeans Integration ..................... SUCCESS [46.358s]
+    [INFO] [INFO] Apache MINA XBean Integration ......................... SUCCESS [1:21.054s]
+    [INFO] [INFO] Apache MINA OGNL Integration .......................... SUCCESS [40.740s]
+    [INFO] [INFO] Apache MINA JMX Integration ........................... SUCCESS [40.482s]
+    [INFO] [INFO] Apache MINA Examples .................................. SUCCESS [1:13.837s]
+    [INFO] [INFO] Apache MINA Serial Communication support .............. SUCCESS [41.684s]
+    [INFO] [INFO] Apache MINA Distribution .............................. SUCCESS [12:39.542s]
+    [INFO] [INFO] ------------------------------------------------------------------------
+    [INFO] [INFO] ------------------------------------------------------------------------
+    [INFO] [INFO] BUILD SUCCESSFUL
+    [INFO] [INFO] ------------------------------------------------------------------------
+    [INFO] [INFO] Total time: 26 minutes 46 seconds
+    [INFO] [INFO] Finished at: Mon Sep 13 16:45:14 CEST 2010
+    [INFO] [INFO] Final Memory: 98M/299M
+    [INFO] [INFO] ------------------------------------------------------------------------
+    [INFO] Cleaning up after release...
+    [INFO] ------------------------------------------------------------------------
+    [INFO] BUILD SUCCESSFUL
+    [INFO] ------------------------------------------------------------------------
+    [INFO] Total time: 27 minutes 5 seconds
+    [INFO] Finished at: Mon Sep 13 16:45:18 CEST 2010
+    [INFO] Final Memory: 28M/81M
+    [INFO] ------------------------------------------------------------------------
+
+Done !
+
+### Step 5 : closing the staging release on nexus
+
+Now, you have to close the staged project on nexus. In order to do that you **must** have exported your PGP key to a PGP public server [see](https://www.apache.org/dev/openpgp.html)
+
+Connect to the [Nexus server](https://repository.apache.org), login, and select the MINA staging repository you just created, then click on the 'close' button. You are home...
+
+### Step 6 : Build the Site
+You will need to modify the **pom.xml** file to be able to run the **mvn site** command. Actually, you have to comment the executions part of the maven JXF plugin in the **maven-site-plugin** configuration :
+
+    <plugin>
+      <artifactId>maven-jxr-plugin</artifactId>
+      <configuration>
+        <aggregate>true</aggregate>
+      </configuration>
+
+      <!--executions>
+        <execution>
+          <phase>install</phase>
+          <goals>
+            <goal>jxr</goal>
+            <goal>test-jxr</goal>
+          </goals>
+        </execution>
+      </executions -->
+    </plugin>
+
+
+    $ cd target/checkout
+    $ mvn -Pserial site
+
+This creates the site.
+
+### Step 7 : Sign the packages 
+
+Now, you have to sign the binary packages which are in target/checkout/distribution/target.
+
+<DIV class="note" markdown="1">
+Use your PGP key ID (the pub key, 4096R/[XXXXXXX] where [XXXXXXX] is the key ID)
+</DIV>
+
+You can get the keys by typing :
+
+    :::text
+    gpg --list-keys
+
+You'll get something like :
+
+    :::text
+    localhost:target elecharny$ gpg --list-keys
+    /Users/elecharny/.gnupg/pubring.gpg
+    -----------------------------------
+    pub   dsa2048 2009-12-03 [SCA]
+      C62BFD988278310B5B7A43D16FC4BEA60A8A0BBA
+    uid           [ultimate] Emmanuel Lecharny <el...@nextury.com>
+    sub   elg2048 2009-12-03 [E]
+
+    pub   rsa4096 2010-09-13 [SC]
+      4D2DB2916149BAA9D0C92F3731474E5E7C6B7034
+    uid           [ultimate] Emmanuel Lecharny (CODE SIGNING KEY) <el...@apache.org>
+    sub   rsa4096 2010-09-13 [E]
+
+    ...
+
+Take the long hexadecimal tart following the 'pub' part (ie "4D2DB2916149BAA9D0C92F3731474E5E7C6B7034" for the 4096 bits key)
+
+Use a shell script to sign the packages which are stored in target/checkout/distribution/target. You will first have to delete the created .asc files :
+
+    :::text
+    localhost:target elecharny$ rm *.asc
+    localhost:target elecharny$ ~/sign.sh 
+    PGP Key ID: 
+    <your PGP key>
+    PGP Key Password: 
+    <Your PGP passphrase>
+    
+    -n Signing: ./apache-mina-2.0.9-bin.tar.bz2 ... 
+      - Generated './apache-mina-2.0.9-bin.tar.bz2.sha1'
+      - Generated './apache-mina-2.0.9-bin.tar.bz2.asc'
+    -n Signing: ./apache-mina-2.0.9-bin.tar.gz ... 
+      - Generated './apache-mina-2.0.9-bin.tar.gz.sha1'
+      - Generated './apache-mina-2.0.9-bin.tar.gz.asc'
+    ...
+
+
+Here is the sign.sh script you can use :
+
+    :::text
+    #!/bin/sh
+
+    echo "PGP Key ID: "
+    read DEFAULT_KEY
+
+    echo "PGP Key Password: "
+    stty -echo
+    read PASSWORD
+    stty echo
+    echo ""
+
+    for FILE in $(find . -maxdepth 1 -not '(' -name "sign.sh" -or -name ".*" -or -name "*.sha256" -or -name "*.sha512" -or -name "*.asc" ')' -and -type f) ; do
+      if [ -f "$FILE.asc" ]; then
+          echo "Skipping: $FILE"
+          continue
+      fi
+
+      echo -n "Signing: $FILE ... "
+
+      # SHA-256
+      if [ ! -f "$FILE.sha256" ];
+      then
+          gpg -v --default-key "$DEFAULT_KEY" --print-md SHA256 "$FILE" > "$FILE".sha256
+          echo "  - Generated '$FILE.sha256'"
+      else
+          echo "  - Skipped '$FILE.sha256' (file already existing)"
+      fi
+
+      # SHA-512
+      if [ ! -f "$FILE.shacw512256" ];
+      then
+          gpg -v --default-key "$DEFAULT_KEY" --print-md SHA512 "$FILE" > "$FILE".sha512
+          echo "  - Generated '$FILE.sha512'"
+      else
+          echo "  - Skipped '$FILE.sha512' (file already existing)"
+      fi
+
+      # ASC
+      if [ ! -f "$FILE.asc" ];
+      then
+          echo "$PASSWORD" | gpg --default-key "$DEFAULT_KEY" --detach-sign --armor --no-tty --yes --passphrase-fd 0 "$FILE"
+          echo "  - Generated '$FILE.asc'"
+      else
+          echo "  - Skipped '$FILE.asc' (file already existing)"
+      fi
+    done
+
+### Step 8 : Publish Source and Binary Distribution Packages
+
+The sources, binaries and their signatures, have to be pushed in a place where they can be downloaded by the other committers, in order to be checked while validating the release. As the ~/people.apache.org server is not anymore available for that purpose, we use the distribution space for that purpose.
+
+If you haven't checked out this space, do it now :
+
+    :::text
+    $ mkdir -p ~/mina/dist/dev/mina
+    $ svn co https://dist.apache.org/repos/dist/dev/mina ~/mina/dist/dev/mina
+
+That will checkout the full project distributions.
+
+You may want to checkout only the part that you are going to generate, to avoid getting Gb of data :
+
+    :::text
+    $ mkdir -p ~/mina/dist/dev/mina/mina
+    $ svn co https://dist.apache.org/repos/dist/dev/mina/mina ~/mina/dist/dev/mina/mina
+
+
+Now, create a sub-directory for the version you have generated (here, for version 2.0.14) :
+
+    :::text
+    $ mkdir ~/mina/dist/dev/mina/mina/2.0.14
+
+
+Then copy the packages :
+
+    :::text
+    $ cd target/checkout/distributions/target
+    $ cp apache-mina-2.0.14-* ~/mina/dist/dev/mina/mina/2.0.14/
+
+Last, not least, commit your changes
+
+    :::text
+    $ svn add ~/mina/dist/dev/mina/mina/2.0.14
+    $ svn ci ~/mina/dist/dev/mina/mina/2.0.14 -m "Apache MINA 2.0.14 packages"
+
+
+### Step 9 : Test the New Version with FtpServer, Sshd and Vysper
+
+In <em>FtpServer/pom.xml</em> change the <org.apache.directory.shared.version> property, build FtpServer. It should build with no error. Do the same thing with Sshd and Vysper.
+
+It's time to launch a vote !
+
+## Step 10 : Voting a release
+
+Once the tarballs have been created, and the binaries available in Nexus, a vote can be launched. Simply send a mail on the dev@mina.apache.org mailing list describing the new release.
+
+Here is how you  send a [VOTE] mail on the dev mailing list :
+
+
+    Hi,
+    
+    <blah blah blah>
+    
+    Here is the list of fixed issues :
+     
+    
+       * [DIRMINA-803 <https://issues.apache.org/jira/browse/DIRMINA-803>]
+         - ProtocolCodecFilter.filterWrite() is no longer thread-safe
+       * ...
+    
+    
+    Here's the Jira link for this version if you'd like to review issues in more details:
+    
+    https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10670&styleName=Html&version=12313702
+    
+    A temporary tag has been created (it can be removed if the vote is not approved)
+    
+    The newly approved Nexus has been used for the preparation of this release and all final artifacts are stored 
+    in a staging repository:
+    https://repository.apache.org/content/repositories/orgapachemina-002/
+    
+    
+    The distributions are available for download on :
+    https://repository.apache.org/content/repositories/orgapachemina-004/org/apache/mina/mina-parent/2.0.1/
+    
+    Let us vote :
+    [ ] +1 | Release MINA 2.0.1
+    [ ] +/- | Abstain
+    [ ] -1 | Do *NOT*  release MINA 2.0.1
+	
+    Thanks !
+
+The vote will be open for 72 hours. Once the delay is over, collect the votes, and count the binding +1/-1. If the vote is positive, then we can release.
+
+### Step 11 : Close the vote
+
+You can officially close the vote now. There are some more steps to fulfill :
+
+* Release the project on the [Nexus server](https://repository.apache.org)
+* Copy the tarballs and heir signature in https://dist.apache.org/repos/dist/release/mina/mina
+
+The sources, binaries and their signatures, have to be pushed in a place where they can be downloaded by users. We use the [distribution](https://dist.apache.org/repos/dist/release/mina/mina) space for that purpose.
+
+Move the distribution packages (sources and binaries) to the dist SVN repository: https://dist.apache.org/repos/dist/release/mina/mina/$(version)
+
+If you haven't checked out this space, do it now :
+
+    :::text
+    $ mkdir -p ~/mina/dist/release/mina
+    $ svn co https://dist.apache.org/repos/dist/release/mina/mina ~/mina/dist/release/mina
+
+That will checkout the full project distributions. 
+
+Then move the packages from 'dev' to 'release' :
+
+    :::text
+    # cd ~/mina/dist/release/mina
+    # cp ~/mina/dist/dev/mina/mina/<version> .
+    # svn add <version>
+    # svn ci <version>
+    ...
+    # exit
+    $
+
+The packages should now be available on http://www.us.apache.org/dist/mina/mina/<version>
+
+### Step 12: Deploy Web Reports (JavaDoc and JXR)
+
+The javadoc and xref files have been generated in step 6, it's now time to push them into the production site. They are generated in the following directory :
+
+    target/checkout/target/site
+
+We will copy two directories :
+
+    apidocs
+    xref
+
+Staging or Production?
+
+
+<DIV class="info" markdown="1">
+Those files will be stored on the production server only !!! And some extra caution ust be taken not to delete them when we will publish the staging site too...
+</DIV>
+
+First of all, you must checkout the two CMS store for the site : staging and production.
+
+    $ svn co https://svn.apache.org/repos/infra/websites/staging/mina/trunk staging
+    ...
+    $ svn co https://svn.apache.org/repos/infra/websites/production/mina production
+    ...
+
+Then copy the generated docs :
+
+    $ cp -r ~/mina/target/checkout/target/site/apidocs production/content/mina-project/
+    $ cp -r ~/mina/target/checkout/target/site/testapidocs production/content/mina-project/
+    $ cp -r ~/mina/target/checkout/target/site/xref production/content/mina-project/
+    $ cp -r ~/mina/target/checkout/target/site/xref-test production/content/mina-project/
+    $ 
+
+You have to check in those directories :
+
+    $ svn add apidocs
+    $ svn add testapidocs
+    $ svn add xref
+    $ svn add xref-test
+    $ svn ci apidocs testapidocs xref xref-test -m "Injected MINA <version> javadocs"
+
+Now, you have to update the staging site <em>extpaths.txt</em>
+
+This file list the file on the production site that will not be overriden by the publication of the staging site. It has to be updated
+
+    $ cd ~/mina/staging/content/
+    $ vi extpaths.txt
+
+The following lines should be present. If not, add them and commit the file :
+
+    # MINA
+    # 2.1.x
+    mina-project/gen-docs/2.1.2
+    mina-project/gen-docs/2.1.1
+    mina-project/gen-docs/2.1.0
+
+    # 2.0.x
+    mina-project/gen-docs/2.0.21
+    mina-project/gen-docs/2.0.20
+    mina-project/gen-docs/2.0.19
+    mina-project/apidocs
+    mina-project/testapidocs
+    mina-project/xref
+    mina-project/xref-test
+    ...
+
+Here, we just added the _mina-project/gen-docs/2.1.2_ line at the very top of this list when we released the 2.1.2 version.
+
+Last, not least, update the _.htaccess_ file on production :
+
+    $ cd ~/production/content/mina-project/gen-docs
+    $ vi .htaccess
+
+and change the references so that they point to the latest released version :
+
+    :::Text
+    RewriteEngine on
+  
+    RewriteBase /mina-project/gen-docs
+
+    RewriteRule ^latest-2.0$ 2.0.21/
+    RewriteRule ^latest-2.0/(.*)$ 2.0.21/$1
+
+    RewriteRule ^latest-2.1$ 2.1.2/
+    RewriteRule ^latest-2.1/(.*)$ 2.1.2/$1
+
+
+### Step 13: Wait 24 hours
+
+We have to wait at least 24 hours for all mirrors to retrieve the uploaded files before making any announcement.  I'd recommend you to wait for 48 hours because some mirrors might lag due to various issues.
+
+### Step 14: Update the Links in Web Site
+
+Some pages have to be updated. Assuming the MINA site has been checked out in ~/mina/site (this can be done with the command <em>$ svn co https://http://svn.apache.org/viewvc/mina/site/trunk ~/mina/site</em>), here are the pages that need to be changed :
+
+* /lib/path.pm: update the $version_mina variable with the new version.
+* /content/mina-project/downloads_2_0.mdtext or /content/mina-project/downloads_2_1.mdtext: change the version all over this page
+* /content/downloads-mina_2_0.mdtext or /content/downloads-mina_2_1.mdtext: change the version all over this page
+* /content/mina-project/downloads_old.mdtext: Add a line for the latest version which has been replaced by the released one
+* /content/mina-project/news.mdtext: add the news on top of this page
+
+
+### Step 15: Wait another 24 hours
+
+We need to wait until any changes made in the web site and metadata file(s) go live.
+
+### Step 16: Announce the New Release
+
+An announcement message can be sent to [mailto:announce@apache.org], [mailto:announce@apachenews.org], [mailto:users@mina.apache.org] and [mailto:dev@mina.apache.org].  Please note that announcement messages are rejected unless your from-address ends with `@apache.org`.  Plus, you shouldn't forget to post a news to the MINA site main page.
+
+Enjoy !
+
diff --git a/content/mina-project/documentation.mdtext b/content/mina-project/documentation.mdtext
new file mode 100644
index 0000000..57744ad
--- /dev/null
+++ b/content/mina-project/documentation.mdtext
@@ -0,0 +1,91 @@
+Title: Documentation
+Notice:    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.
+
+# Documentation
+
+<DIV class="note" markdown="1">
+The MINA 2.0 User Guide can be found here : [User Guide](userguide/user-guide-toc.html)
+</DIV>
+
+[TOC]
+
+## Presentation Materials
+
+These presentation materials will help you understand the overall architecture and core constructs of MINA
+
+* [MINA in real life (ApacheCon EU 2009)](resources/Mina_in_real_life_ASEU-2009.pdf) by Emmanuel L&eacute;charny
+* [Rapid Network Application Development with Apache MINA (JavaOne 2008)](resources/JavaOne2008.pdf) by Trustin Lee
+* [Apache MINA - The High Performance Protocol Construction Toolkit (ApacheCon US 2007)](resources/ACUS2007.pdf) by Peter Royal
+* [Introduction to MINA (ApacheCon Asia 2006)](resources/ACAsia2006.pdf) by Trustin Lee
+
+## Versions & References
+
+There are currently three branches in MINA:
+
+|JavaDoc|Source Code|Description|
+|---|---|---|
+| [2.0](http://mina.apache.org/mina-project/gen-docs/latest-2.0/apidocs/index.html) | [main](http://mina.apache.org/mina-project/gen-docs/latest-2.0/xref/), [test](http://mina.apache.org/mina-project/gen-docs/latest-2.0/xref-test/) | The officially recommended production-ready branch |
+| [2.1](http://mina.apache.org/mina-project/gen-docs/latest-2.1/apidocs/index.html) | [main](http://mina.apache.org/mina-project/gen-docs/latest-2.1/xref/), [test](http://mina.apache.org/mina-project/gen-docs/latest-2.1/xref-test/) | The new recommended production-ready branch |
+| 3.0 | [trunk](http://svn.apache.org/viewvc/mina/mina/trunk/)| The version we are currently working on |
+
+You might also want to read the [frequently asked questions](faq.html] and learn how to [contact us](../contact.html) before getting started.
+
+## Tutorials
+
+
+* [MINA v2.0 Quick Start Guide](quick-start-guide.html) - Create your first MINA based program using MINA version 2.0
+* [Logging Configuration](userguide/ch12-logging-filter/ch12-logging-filter.html) - Configuring your MINA-based application for logging
+* Transport-specific Configuration
+    * [Serial Tutorial](userguide/ch6-transports/ch6.2-serial-transport.html) - Serial communications with MINA trunk
+    * [UDP Tutorial](userguide/ch6-transports/ch6-transports) - Writing a User Datagram Protocol (UDP) client and server using MINA
+    * [APR Transport](userguide/ch6-transports/ch6.1-apr-transport.html) - Describes use of APR Transport with MINA
+* [Integrating with Spring](userguide/ch17-spring-integration/ch17-spring-integration.html) - Demonstrates how to integrate MINA application with Spring
+* [Codec Repository](codec-repo.html) - Links to available codec implementations for MINA
+* Advanced Topic
+    * [Writing IoFilter](userguide/ch5-filters/ch5-filters.html) - Writing your own _IoFilter_ implementation to deal with cross-cutting concerns
+    * [Writing Protocol Codec for MINA 2.x](userguide/ch9-codec-filter/ch9-codec-filter.html) - Implementing a protocol codec for separation of concern
+    * [Using an Executor Filter](userguide/ch10-executor-filter/ch10-executor-filter.html) - Controlling the size of thread pool and choosing the right thread model
+    * [JMX Integration](userguide/ch16-jmx-support/ch16-jmx-support.html) - Making your network application manageable
+    * [Introduction to mina-statemachine](userguide/ch14-state-machine/ch14-state-machine.html) - Implementing state machine based MINA applications using Java5 annotations
+* [User Guide](userguide/user-guide-toc.html) - The new draft MINA User Guide.
+
+### For Developers
+
+* [Developer Guide](developer-guide.html) \- Building & deploying MINA, Coding Standard, and more
+
+## Examples
+
+You can browse all examples [here](http://mina.apache.org/mina-project/gen-docs/latest-2.0/xref/org/apache/mina/example/).
+
+| Name | Feature it demonstrates | Side |
+|---|---|---|
+| [Reverser](http://mina.apache.org/mina-project/gen-docs/latest-2.0/xref/org/apache/mina/example/reverser/) | Text protocol based on a protocol codec | Server |
+| [SumUp server](http://mina.apache.org/mina-project/gen-docs/latest-2.0/xref/org/apache/mina/example/sumup/) | Complex binary protocol based on a protocol codec | Both |
+| [Echo server](http://mina.apache.org/mina-project/gen-docs/latest-2.0/xref/org/apache/mina/example/echoserver/) | Low-level I/O and SSL | Server |
+| [NetCat](http://mina.apache.org/mina-project/gen-docs/latest-2.0/xref/org/apache/mina/example/netcat/) | Client programming | Client |
+| [HTTP server](http://mina.apache.org/mina-project/gen-docs/latest-2.0/xref/org/apache/mina/http/) | Stream-based synchronous I/O | Server |
+| [Tennis](http://mina.apache.org/mina-project/gen-docs/latest-2.0/xref/org/apache/mina/example/tennis/) | In-VM pipe communication | Both |
+| [Chat server](http://mina.apache.org/mina-project/gen-docs/latest-2.0/xref/org/apache/mina/example/chat/) | Spring integration | Both |
+| [Proxy](http://mina.apache.org/mina-project/gen-docs/latest-2.0/xref/org/apache/mina/example/proxy/) | Resending received bytes on another session. | Both |
+
+## Older Presentation Materials
+
+* [Building TCP/IP Servers with Apache MINA (ApacheCon EU 2007)](resources/ACEU2007.pdf) by Peter Royal
+* [Building TCP/IP Servers with Apache MINA (ApacheCon EU 2006)](resources/ACEU2006.pdf) by Peter Royal
+* [Introduction to MINA (ApacheCon US 2005)](resources/ACUS2005.pdf) by Trustin Lee ([Demo movie](resources/ACUS2005.swf))
+
diff --git a/content/mina-project/downloads_2_0.mdtext b/content/mina-project/downloads_2_0.mdtext
new file mode 100644
index 0000000..121c7b8
--- /dev/null
+++ b/content/mina-project/downloads_2_0.mdtext
@@ -0,0 +1,96 @@
+Title: MINA 2.0.x Downloads
+Notice:    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.
+
+# Latest MINA Releases
+
+## Apache MINA 2.0.21 <FONT color="green">stable</FONT> (Java 7+)
+
+### Binaries
+
+* .tar.gz archive [mina-2.0.21](https://www.apache.org/dyn/closer.lua/mina/mina/2.0.21/apache-mina-2.0.21-bin.tar.gz) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-bin.tar.gz.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-bin.tar.gz.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-bin.tar.gz.asc))
+* .tar.bz2 archive [mina-2.0.21](https://www.apache.org/dyn/closer.lua/mina/mina/2.0.21/apache-mina-2.0.21-bin.tar.bz2) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-bin.tar.bz2.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-bin.tar.bz2.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-bin.tar.bz2.asc))
+* .zip archive [mina-2.0.21](https://www.apache.org/dyn/closer.lua/mina/mina/2.0.21/apache-mina-2.0.21-bin.zip) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-bin.zip.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-bin.zip.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-bin.zip.asc))
+
+### Sources
+
+* .src.tar.gz archive [mina-2.0.21](https://www.apache.org/dyn/closer.lua/mina/mina/2.0.21/apache-mina-2.0.21-src.tar.gz) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.tar.gz.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.tar.gz.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.tar.gz.asc))
+* .src.tar.bz2 archive [mina-2.0.21](https://www.apache.org/dyn/closer.lua/mina/mina/2.0.21/apache-mina-2.0.21-src.tar.bz2) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.tar.bz2.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.tar.bz2.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.tar.bz2.asc))
+* .src.zip archive [mina-2.0.21](https://www.apache.org/dyn/closer.lua/mina/mina/2.0.21/apache-mina-2.0.21-src.zip) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.zip.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.zip.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.0.21/apache-mina-2.0.21-src.zip.asc))
+
+<DIV class="note" markdown="1">
+	For people wanting to use the <B>serial</B> package, we don't include the <B>rxtx.jar</B> library in the releases, as it's under a LGPL license. Please download it from <A href="http://rxtx.qbang.org/wiki/index.php/Download" class="external-link" rel="nofollow">http://rxtx.qbang.org/wiki/index.php/Download</A> or add the associated dependency in your maven pom.xml :
+
+		<dependency>
+		<groupId>org.rxtx</groupId>
+		<artifactId>rxtx</artifactId>
+ 		<version>2.1.7</version>
+ 		<scope>provided<scope>
+	    </dependency>
+</DIV>
+
+# Verify the integrity of the files
+
+The PGP signatures can be verified using PGP or GPG. First download the [KEYS](https://www.apache.org/dist/mina/KEYS) as well as the asc signature file for the relevant distribution. Then verify the signatures using:
+
+	$ pgpk -a KEYS
+	$ pgpv mina-2.0.21.tar.gz.asc
+
+or
+
+	$ pgp -ka KEYS
+	$ pgp mina-2.0.21.tar.gz.asc
+	
+or
+
+	$ gpg --import KEYS
+	$ gpg --verify mina-2.0.21.tar.gz.asc
+
+
+# Previous Releases
+
+The previous releases can be found [here](https://archive.apache.org/dist/mina/) and [here](https://archive.apache.org/dist/mina/mina/). Please note that the following releases contains a LGPL licensed file, rxtx-2.1.7.jar: 2.0.0-M4, 2.0.0-M5, 2.0.0-M6, 2.0.0-RC1.
+
+# Version Numbering Scheme
+
+The version number of MINA has the following form:
+
+<DIV class="info" markdown="1">
+	&lt;major>.&lt;minor>.&lt;micro> \[-M&lt;milestone number> or -RC&lt;release candidate number>]
+</DIV>
+
+This scheme has three number components:
+
+* The __major__ number increases when there are incompatible changes in the API.
+* The __minor__ number increases when a new feature is introduced.
+* The __micro__ number increases when a bug or a trivial change is made.
+
+and an optional label that indicates the maturity of a release:
+
+* __M__ (Milestone) means the feature set can change at any time in the next milestone releases. The last milestone release becomes the first release candidate after a vote.
+* __RC__ (Release Candidate) means the feature set is frozen and the next RC releases will focus on fixing problems unless there is a serious flaw in design. The last release candidate becomes the first GA release after a vote.
+* No label implies __GA__ (General Availability), which means the release is stable enough and therefore ready for production environment.
+
+MINA is not a stand-alone software, so 'the feature set' here also includes the API of the newly introduced features and the overall architecture of the software,
+
+Here's an example that illustrates how MINA version number increases:
+
+<DIV class="info" markdown="1">
+	2.0.0-M1 -> 2.0.0-M3 -> 2.0.0-M3 -> 2.0.0-M4 ->  2.0.0-RC1 -> 2.0.0-RC2 -> 2.0.0-RC3 -> <B>2.0.0</B> -> 2.0.1 -> 2.0.2 -> 2.1.0-M1 ...
+</DIV>
+
+Please note that we always specify the micro number, even if it's zero.
diff --git a/content/mina-project/downloads_2_1.mdtext b/content/mina-project/downloads_2_1.mdtext
new file mode 100644
index 0000000..7b6c5f8
--- /dev/null
+++ b/content/mina-project/downloads_2_1.mdtext
@@ -0,0 +1,96 @@
+Title: MINA 2.1.x Downloads
+Notice:    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.
+
+# Latest MINA Releases
+
+## Apache MINA 2.1.3 <FONT color="green">stable</FONT> (Java 8+)
+
+### Binaries
+
+* .tar.gz archive [mina-2.1.3](https://www.apache.org/dyn/closer.lua/mina/mina/2.1.3/apache-mina-2.1.3-bin.tar.gz) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-bin.tar.gz.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-bin.tar.gz.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-bin.tar.gz.asc))
+* .tar.bz2 archive [mina-2.1.3](https://www.apache.org/dyn/closer.lua/mina/mina/2.1.3/apache-mina-2.1.3-bin.tar.bz2) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-bin.tar.bz2.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-bin.tar.bz2.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-bin.tar.bz2.asc))
+* .zip archive [mina-2.1.3](https://www.apache.org/dyn/closer.lua/mina/mina/2.1.3/apache-mina-2.1.3-bin.zip) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-bin.zip.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-bin.zip.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-bin.zip.asc))
+
+### Sources
+
+* .src.tar.gz archive [mina-2.1.3](https://www.apache.org/dyn/closer.lua/mina/mina/2.1.3/apache-mina-2.1.3-src.tar.gz) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.tar.gz.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.tar.gz.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.tar.gz.asc))
+* .src.tar.bz2 archive [mina-2.1.3](https://www.apache.org/dyn/closer.lua/mina/mina/2.1.3/apache-mina-2.1.3-src.tar.bz2) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.tar.bz2.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.tar.bz2.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.tar.bz2.asc))
+* .src.zip archive [mina-2.1.3](https://www.apache.org/dyn/closer.lua/mina/mina/2.1.3/apache-mina-2.1.3-src.zip) (signatures : [SHA256](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.zip.sha256) [SHA512](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.zip.sha512) [ASC](https://www.apache.org/dist/mina/mina/2.1.3/apache-mina-2.1.3-src.zip.asc))
+
+<DIV class="note" markdown="1">
+	For people wanting to use the <B>serial</B> package, we don't include the <B>rxtx.jar</B> library in the releases, as it's under a LGPL license. Please download it from <A href="http://rxtx.qbang.org/wiki/index.php/Download" class="external-link" rel="nofollow">http://rxtx.qbang.org/wiki/index.php/Download</A> or add the associated dependency in your maven pom.xml :
+
+		<dependency>
+		<groupId>org.rxtx</groupId>
+		<artifactId>rxtx</artifactId>
+ 		<version>2.1.7</version>
+ 		<scope>provided<scope>
+	    </dependency>
+</DIV>
+
+# Verify the integrity of the files
+
+The PGP signatures can be verified using PGP or GPG. First download the [KEYS](https://www.apache.org/dist/mina/KEYS) as well as the asc signature file for the relevant distribution. Then verify the signatures using:
+
+	$ pgpk -a KEYS
+	$ pgpv mina-2.1.3.tar.gz.asc
+
+or
+
+	$ pgp -ka KEYS
+	$ pgp mina-2.1.3.tar.gz.asc
+	
+or
+
+	$ gpg --import KEYS
+	$ gpg --verify mina-2.1.3.tar.gz.asc
+
+
+# Previous Releases
+
+The previous releases can be found [here](https://archive.apache.org/dist/mina/) and [here](https://archive.apache.org/dist/mina/mina/). Please note that the following releases contains a LGPL licensed file, rxtx-2.1.7.jar: 2.0.0-M4, 2.0.0-M5, 2.0.0-M6, 2.0.0-RC1.
+
+# Version Numbering Scheme
+
+The version number of MINA has the following form:
+
+<DIV class="info" markdown="1">
+	&lt;major>.&lt;minor>.&lt;micro> \[-M&lt;milestone number> or -RC&lt;release candidate number>]
+</DIV>
+
+This scheme has three number components:
+
+* The __major__ number increases when there are incompatible changes in the API.
+* The __minor__ number increases when a new feature is introduced.
+* The __micro__ number increases when a bug or a trivial change is made.
+
+and an optional label that indicates the maturity of a release:
+
+* __M__ (Milestone) means the feature set can change at any time in the next milestone releases. The last milestone release becomes the first release candidate after a vote.
+* __RC__ (Release Candidate) means the feature set is frozen and the next RC releases will focus on fixing problems unless there is a serious flaw in design. The last release candidate becomes the first GA release after a vote.
+* No label implies __GA__ (General Availability), which means the release is stable enough and therefore ready for production environment.
+
+MINA is not a stand-alone software, so 'the feature set' here also includes the API of the newly introduced features and the overall architecture of the software,
+
+Here's an example that illustrates how MINA version number increases:
+
+<DIV class="info" markdown="1">
+	2.0.0-M1 -> 2.0.0-M3 -> 2.0.0-M3 -> 2.0.0-M4 ->  2.0.0-RC1 -> 2.0.0-RC2 -> 2.0.0-RC3 -> <B>2.0.0</B> -> 2.0.1 -> 2.0.2 -> 2.1.3-M1 ...
+</DIV>
+
+Please note that we always specify the micro number, even if it's zero.
diff --git a/content/mina-project/downloads_old.mdtext b/content/mina-project/downloads_old.mdtext
new file mode 100644
index 0000000..a34ed2c
--- /dev/null
+++ b/content/mina-project/downloads_old.mdtext
@@ -0,0 +1,226 @@
+Title: MINA Older Downloads
+Notice:    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.
+
+# Older MINA Releases
+
+<DIV class="note" markdown="1">
+	For people wanting to use the <B>serial</B> package, we don't include the <B>rxtx.jar</B> library in the releases, as it's under a LGPL license. Please download it from <A href="http://rxtx.qbang.org/wiki/index.php/Download" class="external-link" rel="nofollow">http://rxtx.qbang.org/wiki/index.php/Download</A> or add the associated dependency in your maven pom.xml :
+
+		<dependency>
+		<groupId>org.rxtx</groupId>
+		<artifactId>rxtx</artifactId>
+ 		<version>2.1.7</version>
+ 		<scope>provided<scope>
+	    </dependency>
+</DIV>
+
+
+## MINA 2.1.x
+<center>
+
+| Version| Download Links | Date |
+|:-:|:-:|:-:|
+| ApacheDS MINA 2.1.2 | [Download](https://archive.apache.org/dist/mina/mina/2.1.2/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.1.2/apidocs/), [Test javadoc](http://mina.apache.org/mina-project/gen-docs/2.1.2/testapidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.1.2/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.1.2/xref-test/) | 20/Apr/2019 |
+| ApacheDS MINA 2.1.1 | [Download](https://archive.apache.org/dist/mina/mina/2.1.1/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.1.1/apidocs/), [Test javadoc](http://mina.apache.org/mina-project/gen-docs/2.1.1/testapidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.1.1/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.1.1/xref-test/) | 14/Apr/2019 |
+| ApacheDS MINA 2.1.0 | [Download](https://archive.apache.org/dist/mina/mina/2.1.0/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.1.0/apidocs/), [Test javadoc](http://mina.apache.org/mina-project/gen-docs/2.1.0/testapidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.1.0/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.1.0/xref-test/) | 14/Mar/2019 |
+
+</center>
+
+## MINA 2.0.x
+<center>
+
+| Version| Download Links | Date |
+|:-:|:-:|:-:|
+| ApacheDS MINA 2.0.20 | [Download](https://archive.apache.org/dist/mina/mina/2.0.20/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.20/apidocs/), [Test javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.20/testapidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.20/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.20/xref-test/) | 24/Feb/2019 |
+| ApacheDS MINA 2.0.19 | [Download](https://archive.apache.org/dist/mina/mina/2.0.19/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.19/apidocs/), [Test javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.19/testapidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.19/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.19/xref-test/) | 11/Jun/2018 |
+| ApacheDS MINA 2.0.18 | [Download](https://archive.apache.org/dist/mina/mina/2.0.18/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.18/apidocs/), [Test javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.18/testapidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.18/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.18/xref-test/) | 01/Jun/2018 |
+| ApacheDS MINA 2.0.17 | [Download](https://archive.apache.org/dist/mina/mina/2.0.17/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.17/apidocs/), [Test javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.17/testapidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.17/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.17/xref-test/) | 15/Mar/2018 |
+| ApacheDS MINA 2.0.16 | [Download](https://archive.apache.org/dist/mina/mina/2.0.16/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.16/apidocs/), [Test javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.16/testapidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.16/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.16/xref-test/) | 31/Oct/2016 |
+| ApacheDS MINA 2.0.15 | [Download](https://archive.apache.org/dist/mina/mina/2.0.15/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.15/apidocs/), [Test javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.15/testapidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.15/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.15/xref-test/) | 27/Sep/2016 |
+| ApacheDS MINA 2.0.14 | [Download](https://archive.apache.org/dist/mina/mina/2.0.14/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.14/apidocs/), [Test javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.14/testapidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.14/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.14/xref-test/) | 30/AUG/2016 |
+| ApacheDS MINA 2.0.13 | [Download](https://archive.apache.org/dist/mina/mina/2.0.13/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.13/apidocs/), [Test javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.13/testapidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.13/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.13/xref-test/) | 15/Feb/2016 |
+| ApacheDS MINA 2.0.12 | [Download](https://archive.apache.org/dist/mina/mina/2.0.12/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.12/apidocs/), [Test javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.12/testapidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.12/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.12/xref-test/) | 07/Feb/2016 |
+| ApacheDS MINA 2.0.11 | [Download](https://archive.apache.org/dist/mina/mina/2.0.11/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.11/apidocs/), [Test javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.11/testapidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.11/xref/) | 26/Jan/2016 |
+| ApacheDS MINA 2.0.10 | [Download](https://archive.apache.org/dist/mina/mina/2.0.10/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.10/apidocs/), [Test javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.10/testapidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.10/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.10/xref-test/) | 16/Dec/2015 |
+| ApacheDS MINA 2.0.9 | [Download](https://archive.apache.org/dist/mina/mina/2.0.9/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.9/apidocs/), [Test javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.9/testapidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.9/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.9/xref-test/) | 25/Oct/2014 |
+| ApacheDS MINA 2.0.8 | [Download](https://archive.apache.org/dist/mina/mina/2.0.8/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.8/apidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.8/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.8/xref-test/) | 20/Sep/2014 |
+| ApacheDS MINA 2.0.7 | [Download](https://archive.apache.org/dist/mina/2.0.7/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.7/apidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.7/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.7/xref-test/) | 17/Nov/2012 |
+| ApacheDS MINA 2.0.6 | [Download](https://archive.apache.org/dist/mina/2.0.6/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.6/apidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.6/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.6/xref-test/) | 05/Oct/2012 |
+| ApacheDS MINA 2.0.5 | [Download](https://archive.apache.org/dist/mina/2.0.5/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.5/apidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.5/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.5/xref-test/) | 25/Aug/2012 |
+| ApacheDS MINA 2.0.4 | [Download](https://archive.apache.org/dist/mina/2.0.4/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.4/apidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.4/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.4/xref-test/) | 16/Jun/2011 |
+| ApacheDS MINA 2.0.3 | [Download](https://archive.apache.org/dist/mina/2.0.3/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.3/apidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.3/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.3/xref-test/) | 15/Apr/2011 |
+| ApacheDS MINA 2.0.2 | [Download](https://archive.apache.org/dist/mina/2.0.2/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.2/apidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.2/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.2/xref-test/) | 17/Dec/2010 |
+| ApacheDS MINA 2.0.1 | [Download](https://archive.apache.org/dist/mina/2.0.1/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.1/apidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.1/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.1/xref-test/) | 28/Oct/2010 |
+| ApacheDS MINA 2.0.0 | [Download](https://archive.apache.org/dist/mina/2.0.0/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.0/apidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.0/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.0/xref-test/) | 27/Sep/2010 |
+| ApacheDS MINA 2.0.0-RC1 | [Download](https://archive.apache.org/dist/mina/2.0.0-RC1/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.0-RC1/apidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.0-RC1/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.0-RC1/xref-test/) | 20/Oct/2009 |
+| ApacheDS MINA 2.0.0-M6 | [Download](https://archive.apache.org/dist/mina/2.0.0-M6/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.0-M6/apidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.0-M6/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.0-M6/xref-test/) | 03/Jun/2009 |
+| ApacheDS MINA 2.0.0-M5 | [Download](https://archive.apache.org/dist/mina/2.0.0-M5/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.0-M5/apidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.0-M5/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.0-M5/xref-test/) | 19/Apr/2009 |
+| ApacheDS MINA 2.0.0-M4 | [Download](https://archive.apache.org/dist/mina/2.0.0-M4/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.0-M4/apidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.0-M4/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.0-M4/xref-test/) | 12/Dec/2008 |
+| ApacheDS MINA 2.0.0-M3 | [Download](https://archive.apache.org/dist/mina/2.0.0-M3/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.0-M3/apidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.0-M3/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.0-M3/xref-test/) | 12/Aug/2008 |
+| ApacheDS MINA 2.0.0-M2 | [Download](https://archive.apache.org/dist/mina/2.0.0-M2/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.0-M2/apidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.0-M2/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.0-M2/xref-test/) | 09/Jul/2008 |
+| ApacheDS MINA 2.0.0-M1 | [Download](https://archive.apache.org/dist/mina/2.0.0-M1/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/2.0.0-M1/apidocs/), [Xref](http://mina.apache.org/mina-project/gen-docs/2.0.0-M1/xref/), [Xref test](http://mina.apache.org/mina-project/gen-docs/2.0.0-M1/xref-test/) | 19/Feb/2008 |
+
+</center>
+
+## MINA 1.1.x
+
+Note: those versions are not maintained, those links are just provided for those interested in archeology...
+
+
+<center>
+
+| Version| Download Links | Date |
+|:-:|:-:|:-:|
+| ApacheDS MINA 1.1.7 | [Download](https://archive.apache.org/dist/mina/1.1.7/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/1.1.7/apidocs/) | 23/Apr/2008 |
+| ApacheDS MINA 1.1.6 | [Download](https://archive.apache.org/dist/mina/1.1.6/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/1.1.6/apidocs/) | 09/Feb/2008 |
+| ApacheDS MINA 1.1.5 | [Download](https://archive.apache.org/dist/mina/1.1.5/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/1.1.5/apidocs/) | 26/Nov/2007 |
+| ApacheDS MINA 1.1.4 | [Download](https://archive.apache.org/dist/mina/1.1.4/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/1.1.4/apidocs/) | 29/Oct/2007 |
+| ApacheDS MINA 1.1.3 | [Download](https://archive.apache.org/dist/mina/1.1.3/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/1.1.3/apidocs/) | 17/Oct/2007 |
+| ApacheDS MINA 1.1.2 | [Download](https://archive.apache.org/dist/mina/1.1.2/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/1.1.2/apidocs/) | 14/Aug/2007 |
+| ApacheDS MINA 1.1.1 | [Download](https://archive.apache.org/dist/mina/1.1.1/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/1.1.1/apidocs/) | 19/Jul/2007 |
+| ApacheDS MINA 1.1.0 | [Download](https://archive.apache.org/dist/mina/1.1.0/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/1.1.0/apidocs/) | 16/Apr/2007 |
+
+</center>
+
+## MINA 1.0.x
+
+Note: those versions are not maintained, those links are just provided for those interested in archeology...
+
+
+<center>
+
+| Version| Download Links | Date |
+|:-:|:-:|:-:|
+| ApacheDS MINA 1.0.10 | [Download](https://archive.apache.org/dist/mina/1.0.10/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/1.0.10/apidocs/) | 15/Apr/2008 |
+| ApacheDS MINA 1.0.9 | [Download](https://archive.apache.org/dist/mina/1.0.9/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/1.0.9/apidocs/) | 09/Feb/2008 |
+| ApacheDS MINA 1.0.8 | [Download](https://archive.apache.org/dist/mina/1.0.8/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/1.0.8/apidocs/) | 19/Nov/2007 |
+| ApacheDS MINA 1.0.7 | [Download](https://archive.apache.org/dist/mina/1.0.7/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/1.0.7/apidocs/) | 29/Oct/2007 |
+| ApacheDS MINA 1.0.6 | [Download](https://archive.apache.org/dist/mina/1.0.6/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/1.0.6/apidocs/) | 17/Oct/2007 |
+| ApacheDS MINA 1.0.5 | [Download](https://archive.apache.org/dist/mina/1.0.5/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/1.0.5/apidocs/) | 14/Aug/2007 |
+| ApacheDS MINA 1.0.4 | [Download](https://archive.apache.org/dist/mina/1.0.4/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/1.0.4/apidocs/) | 19/Jul/2007 |
+| ApacheDS MINA 1.0.3 | [Download](https://archive.apache.org/dist/mina/1.0.3/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/1.0.3/apidocs/) | 16/Apr/2007 |
+| ApacheDS MINA 1.0.2 | [Download](https://archive.apache.org/dist/mina/1.0.2/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/1.0.2/apidocs/) | 20/Feb/2007 |
+| ApacheDS MINA 1.0.1 | [Download](https://archive.apache.org/dist/mina/1.0.1/), javadoc unavailable | 06/Dec/2006 |
+| ApacheDS MINA 1.0.0 | [Download](https://archive.apache.org/dist/mina/1.0.0/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/1.0.0/apidocs/) | 02/Oct/2006 |
+
+</center>
+
+## MINA 0.9.x
+
+Note: those versions are not maintained, those links are just provided for those interested in archeology...
+
+
+<center>
+
+| Version| Download Links | Date |
+|:-:|:-:|:-:|
+| ApacheDS MINA 0.9.5 | [Download](https://archive.apache.org/dist/directory/mina/unstable/0.9/0.9.5/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/0.9.5/apidocs/) | 05/Sep/2006 |
+| ApacheDS MINA 0.9.4 | [Download](https://archive.apache.org/dist/directory/mina/unstable/0.9/0.9.4/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/0.9.4/apidocs/) | 01/May/2006 |
+| ApacheDS MINA 0.9.3 | [Download](https://archive.apache.org/dist/directory/mina/unstable/0.9/0.9.3/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/0.9.3/apidocs/) | 04/Apr/2006 |
+| ApacheDS MINA 0.9.2 | [Download](https://archive.apache.org/dist/directory/mina/unstable/0.9/0.9.2/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/0.9.2/apidocs/) | 25/Feb/2006 |
+| ApacheDS MINA 0.9.1 | [Download](https://archive.apache.org/dist/directory/mina/unstable/0.9/0.9.1/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/0.9.1/apidocs/) | 02/Feb/2006 |
+| ApacheDS MINA 0.9.0 | [Download](https://archive.apache.org/dist/directory/mina/unstable/0.9/0.9.0/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/0.9.0/apidocs/), [Examples Javadoc](http://mina.apache.org/mina-project/gen-docs/0.9.0/apidocs-examples/), [xref](http://mina.apache.org/mina-project/gen-docs/0.9.0/xref/), [Tests xref](http://mina.apache.org/mina-project/gen-docs/0.9.0/xref-test/), [Examples xref](http://mina.apache.org/mina-project/gen-docs/0.9.0/xref-examples/)  [...]
+
+</center>
+
+
+## MINA 0.8.x
+
+Note: those versions are not maintained, those links are just provided for those interested in archeology...
+
+
+<center>
+
+| Version| Download Links | Date |
+|:-:|:-:|:-:|
+| ApacheDS MINA 0.8.4 | [Download](https://archive.apache.org/dist/mina/0.8.4/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/0.8.4/apidocs/) | 19/Nov/2006 |
+| ApacheDS MINA 0.8.3 | [Download](https://archive.apache.org/dist/mina/0.8.3/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/0.8.3/apidocs/) | 02/Oct/2006 |
+| ApacheDS MINA 0.8.2 | [Download](https://archive.apache.org/dist/mina/0.8.2/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/0.8.2/apidocs/), [Examples Javadoc](http://mina.apache.org/mina-project/gen-docs/0.8.2/apidocs-examples/), [xref](http://mina.apache.org/mina-project/gen-docs/0.8.2/xref/), [Tests xref](http://mina.apache.org/mina-project/gen-docs/0.8.2/xref-test/), [Examples xref](http://mina.apache.org/mina-project/gen-docs/0.8.2/xref-examples/) | 23/Dec/2005 |
+| ApacheDS MINA 0.8.1 | [Download](https://archive.apache.org/dist/mina/0.8.1/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/0.8.1/apidocs/), [Examples Javadoc](http://mina.apache.org/mina-project/gen-docs/0.8.1/apidocs-examples/), [xref](http://mina.apache.org/mina-project/gen-docs/0.8.1/xref/), [Tests xref](http://mina.apache.org/mina-project/gen-docs/0.8.1/xref-test/), [Examples xref](http://mina.apache.org/mina-project/gen-docs/0.8.1/xref-examples/) | 11/Nov/2005 |
+| ApacheDS MINA 0.8.0 | [Download](https://archive.apache.org/dist/mina/0.8.0/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/0.8.0/apidocs/), [Examples Javadoc](http://mina.apache.org/mina-project/gen-docs/0.8.0/apidocs-examples/), [xref](http://mina.apache.org/mina-project/gen-docs/0.8.0/xref/), [Tests xref](http://mina.apache.org/mina-project/gen-docs/0.8.0/xref-test/), [Examples xref](http://mina.apache.org/mina-project/gen-docs/0.8.0/xref-examples/) | 22/Oct/2005 |
+
+</center>
+
+
+## MINA 0.7.x
+
+Note: those versions are not maintained, those links are just provided for those interested in archeology...
+
+
+<center>
+
+| Version| Download Links | Date |
+|:-:|:-:|:-:|
+| ApacheDS MINA 0.7.4 | [Download](https://archive.apache.org/dist/directory/mina/unstable/0.7/0.7.4/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/0.7.4/apidocs/), [Examples Javadoc](http://mina.apache.org/mina-project/gen-docs/0.7.4/apidocs-examples/), [xref](http://mina.apache.org/mina-project/gen-docs/0.7.4/xref/), [Tests xref](http://mina.apache.org/mina-project/gen-docs/0.7.4/xref-test/), [Examples xref](http://mina.apache.org/mina-project/gen-docs/0.7.4/xref-examples/)  [...]
+| ApacheDS MINA 0.7.3 | [Download](https://archive.apache.org/dist/directory/mina/unstable/0.7/0.7.3/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/0.7.3/apidocs/), [Examples Javadoc](http://mina.apache.org/mina-project/gen-docs/0.7.3/apidocs-examples/), [xref](http://mina.apache.org/mina-project/gen-docs/0.7.3/xref/), [Tests xref](http://mina.apache.org/mina-project/gen-docs/0.7.3/xref-test/), [Examples xref](http://mina.apache.org/mina-project/gen-docs/0.7.3/xref-examples/)  [...]
+| ApacheDS MINA 0.7.2 | [Download](https://archive.apache.org/dist/directory/mina/unstable/0.7/0.7.2/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/0.7.2/apidocs/), [Examples Javadoc](http://mina.apache.org/mina-project/gen-docs/0.7.2/apidocs-examples/), [xref](http://mina.apache.org/mina-project/gen-docs/0.7.2/xref/), [Tests xref](http://mina.apache.org/mina-project/gen-docs/0.7.2/xref-test/), [Examples xref](http://mina.apache.org/mina-project/gen-docs/0.7.2/xref-examples/)  [...]
+| ApacheDS MINA 0.7.1 | [Download](https://archive.apache.org/dist/directory/mina/unstable/0.7/0.7.1/), [Javadoc](http://mina.apache.org/mina-project/gen-docs/0.7.1/apidocs/), [Examples Javadoc](http://mina.apache.org/mina-project/gen-docs/0.7.1/apidocs-examples/), [xref](http://mina.apache.org/mina-project/gen-docs/0.7.1/xref/), [Tests xref](http://mina.apache.org/mina-project/gen-docs/0.7.1/xref-test/), [Examples xref](http://mina.apache.org/mina-project/gen-docs/0.7.1/xref-examples/)  [...]
+
+</center>
+
+# Verify the integrity of the files
+
+The PGP signatures can be verified using PGP or GPG. First download the [KEYS](https://www.apache.org/dist/mina/KEYS) as well as the asc signature file for the relevant distribution. Then verify the signatures using:
+
+	$ pgpk -a KEYS
+	$ pgpv mina-2.0.20.tar.gz.asc
+
+or
+
+	$ pgp -ka KEYS
+	$ pgp mina-2.0.20.tar.gz.asc
+	
+or
+
+	$ gpg --import KEYS
+	$ gpg --verify mina-2.0.20.tar.gz.asc
+
+
+# Previous Releases
+
+The previous releases can be found [here](https://archive.apache.org/dist/mina/) and [here](https://archive.apache.org/dist/mina/mina/). Please note that the following releases contains a LGPL licensed file, rxtx-2.1.7.jar: 2.0.0-M4, 2.0.0-M5, 2.0.0-M6, 2.0.0-RC1.
+
+# Version Numbering Scheme
+
+The version number of MINA has the following form:
+
+<DIV class="info" markdown="1">
+	&lt;major>.&lt;minor>.&lt;micro> \[-M&lt;milestone number> or -RC&lt;release candidate number>]
+</DIV>
+
+This scheme has three number components:
+
+* The __major__ number increases when there are incompatible changes in the API.
+* The __minor__ number increases when a new feature is introduced.
+* The __micro__ number increases when a bug or a trivial change is made.
+
+and an optional label that indicates the maturity of a release:
+
+* __M__ (Milestone) means the feature set can change at any time in the next milestone releases. The last milestone release becomes the first release candidate after a vote.
+* __RC__ (Release Candidate) means the feature set is frozen and the next RC releases will focus on fixing problems unless there is a serious flaw in design. The last release candidate becomes the first GA release after a vote.
+* No label implies __GA__ (General Availability), which means the release is stable enough and therefore ready for production environment.
+
+MINA is not a stand-alone software, so 'the feature set' here also includes the API of the newly introduced features and the overall architecture of the software,
+
+Here's an example that illustrates how MINA version number increases:
+
+<DIV class="info" markdown="1">
+	2.0.0-M1 -> 2.0.0-M3 -> 2.0.0-M3 -> 2.0.0-M4 ->  2.0.0-RC1 -> 2.0.0-RC2 -> 2.0.0-RC3 -> <B>2.0.0</B> -> 2.0.1 -> 2.0.2 -> 2.1.0-M1 ...
+</DIV>
+
+Please note that we always specify the micro number, even if it's zero.
diff --git a/content/mina-project/faq.mdtext b/content/mina-project/faq.mdtext
new file mode 100644
index 0000000..d808c54
--- /dev/null
+++ b/content/mina-project/faq.mdtext
@@ -0,0 +1,221 @@
+Title: FAQ
+Notice:    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.
+
+<H1>MINA FAQ</H1>
+
+[TOC]
+
+<H2>General</H2>
+
+## What does MINA mean?
+
+MINA is:
+
+ * An acronym for 'Multipurpose Infrastructure for Network Applications';
+ * A girl's name;
+ * 'South' in Japanese;
+ * 'Mine' (as in mineshaft) in Spanish and Portuguese;
+ * Look at [Wikipedia](http://en.wikipedia.org/wiki/Mina) for more meanings.
+
+
+### What transport does MINA support?
+
+MINA currently supports TCP and UDP based on Java NIO API, provides support for serial port communication, and transports based on [Apache Portable Runtime](http://apr.apache.org/).
+
+### How does MINA perform?
+
+It is known to perform as good as C/C++ servers.  Please refer to the <A href="performances.html" title="Performance Test Reports">Performance Test Reports</A> or the <A href="testimonials.html" title="Testimonials">Testimonials</A>.
+
+### Which version of MINA should I use?
+
+Use the latest point-release of 2.0 (for Java 7 or above). 1.0 and 1.1 aren't maintained anymore.
+
+### What is required to build/run MINA?
+
+JDK 7 or above is required to build MINA. 
+
+MINA core module depends on two libraries, SLF4J and backport-util-concurrent (for 1.0):
+
+[SLF4J (Simple Logging Facade for Java)](http://www.slf4j.org/)</A>, a logging framework from the author of [Log4J](http://logging.apache.org/log4j/1.2/index.html). SLF4J is very similar to [Commons-Logging](http://jakarta.apache.org/commons/logging/), but it doesn't cause any class loader issues at all. SLF4J provides bindings for Log4J, JDK 1.4 logging API, and NLog4J. Please put an appropriate SLF4J JAR file which corresponds to your favorite logging framework to the classpath as SLF4 [...]
+
+[Spring framework](http://www.springframework.org/) and [JZlib](http://www.jcraft.com/jzlib/) are also required to build <TT>integration-spring</TT> and <TT>filter-compression</TT> module.
+
+### How can I get help?
+
+The primary source to get help is the [User Guide](userguide/user-guide-toc.html).  You can also contact us via [various channels](../contact.html) to ask questions on MINA or to contribute to it.
+
+### How / What can I contribute?
+
+You can contribute anything related with MINA; examples, useful codecs for existing protocols, tutorials, feature improvements, bug fixes, benchmarks, and whatever. Please [contact us](../contact.html) without hesitation.
+
+## Can MINA...?
+
+### Can I use MINA to create client (or server) applications?
+
+Yes. You can create both client and server applications with MINA. Please take a look at <TT>IoConnector</TT> and <TT>IoAcceptor</TT>.
+
+### Can MINA handle text protocols such as HTTP?
+
+Yes. Please take a look at [the Reversed and HTTP server examples](documentation.html). AsyncWeb](asyncweb.html)</A> is a HTTP server implementation based on MINA.
+
+### Can MINA handle complex binary protocols such as LDAP?
+
+Yes. Please take a look at [the SumUp example](documentation.html). There is no full ASN.1 support yet, but we will implement it someday and you can contribute to make it available sooner.
+
+### Can I implement protocols that keeps connection alive with MINA?
+
+Yes. MINA doesn't close any connections unless you called `IoSession.close()` or connection is closed by the remote peer.
+
+### Does MINA support SSL/TLS and SASL out-of-the-box?
+
+We support SSL/TLS out-of-the-box.  Please refer to `SSLFilter`.  It also provides a way to implement <TT>StartTLS</TT>.  JDK 7 provides complete SASL support which works well with MINA.
+
+### Do I need to make my IoHandler thread-safe?
+
+It depends on your implementation. If you access the resource which is shared across multiple sessions, you have to make it thread-safe. If the resource is not shared at all and accessed by only one session (e.g. storing context information as a session attribute), then you don't need to make it thread-safe. It is because all events generated by MINA are transmitted to your handler in order (when using the Executor Filter), and the newer event is not processed if the event handler method [...]
+
+### What transport types can MINA support except TCP/IP and UDP/IP?
+
+Virtually all kind of transport types. MINA API is designed to be transport-independent. You can implement any transport type support only if you can conform to MINA API. Support for Pre-1.4 I/O (aka BIO), reliable multicast, Java Communications API, and file I/O are planned.
+
+### Does MINA support multicast?
+
+Not yet. Java NIO doesn't support multicast yet. Multicast for NIO will be available in Java SE 7, Dolphin. We are seriously considering to implement multicasts using pre-1.4 Java API.
+
+## How do I...?
+
+### How can I store session-specific information?
+
+Sessions are capable of custom attributes that you can add or remove at any time. These custom attributes are not shared between sessions; it is designed to store session specific information.
+
+### How can I separate an event handler into multiple handlers when I implement complex business logic?
+
+Please refer to <TT>DemuxingIoHandler</TT>.
+
+### How do I close my sessions and dispose my Connector?
+You have to do it in two steps : first close your sessions, then dispose the connector. Of course, if you dispose your Connector first, then all the sessions will be closed. Here is the code :
+
+	:::java
+    ConnectFuture cf = connector.connect(new InetSocketAddress("localhost", 8080));
+
+    // Get the close future for this session
+    CloseFuture closeFuture = cf.getSession().getCloseFuture();
+
+    // Adding a listener to this close event
+    closeFuture.addListener((IoFutureListener<?>) new IoFutureListener<IoFuture>() {
+            @Override
+            public void operationComplete(IoFuture future) {
+                System.out.println("The session is now closed");
+            }
+    });
+
+    // Do the close requesting that the pending messages are sent before
+    // the session is closed
+    closeFuture.getSession().close(false);
+
+    // Now wait for the close to be completed
+    closeFuture.awaitUninterruptibly();
+
+    // We can now dispose the connector
+    connector.dispose();
+
+### How can I reconnect to server after my client session is closed?
+
+Here is an example code:
+
+	:::java
+    public void sessionClosed( IoSession session ) throws Exception {
+        // Wait for five seconds before reconnecting.
+        Thread.sleep( 5000 );
+    
+        // Reconnect.
+        connector.connect( session.getRemoteAddress(), this );
+    }
+
+Possibly it would be better to extract this code to a method like `reconnect()` so that it can reusable in more than one place.
+
+### When should I implement my protocol handler using filters?
+
+`IoFilter` is usually considered reusable just like we think about Servlet filters. Please implement commonly used business logic such as authorization and logging as a filter. In case you implement just complex multi-layer protocols like Kerberos, you could consider using `org.apache.mina.handler.chain`> package.
+
+### How can I detect when the remote peer doesn't send a response message for my request message?
+
+You can't use `sessionIdle` event simply here. You'll have to use `java.util.concurrent.ScheduledExecutor` (or [OpenSymphony Quartz](http://www.opensymphony.com/quartz/) as an alternative). Schedule a timeout task to be executed on timeout situation for each request message, and cancel it when you receive the corresponding response message.
+
+### How can I let MINA log messages using my favorite logging framework (i.e. Log4J)?
+
+Please refer to 'Swapping implementations at deployment time' section in [the SLF4J Manual](http://www.slf4j.org/manual.html).
+
+## Troubleshooting
+
+### I get <TT>OutOfMemoryError</TT> or response timeout and connection reset under heavy load.
+
+We recommend to switch the default buffer type to 'heap' by inserting the following code before you start a server:
+
+    ByteBuffer.setUseDirectBuffers(false);
+    ByteBuffer.setAllocator(new SimpleByteBufferAllocator());
+
+If you prefer direct buffers to heap buffers, JVM might have ran out of direct memory. Please try increasing maximum direct memory size using **&#45;XX:MaxDirectMemorySize** option (e.g. **&#45;XX:MaxDirectMemorySize=128M**)
+
+### No data is writtin out to the session even if the buffer is not empty.
+
+Please make sure if you called `ByteBuffer.flip()` to flip the buffer before writing the buffer out. It is a common mistake NIO beginners make.
+
+### I created an SSL client with MINA, but it doesn't initiate any handshake after the session is open.
+
+Please make sure you called `SSLFilter.setUseClientMode(true)` before you initiate a connection. Server developers will also have to disconnect users who doesn't initiate SSL handshake by setting `IoSession.readerIdleTime` and closing the session in `IoHandler.sessionIdle()`.
+
+### Why does SocketConnector send several messages as one message?
+
+_For example, I tried using SocketConnector to send "abc" and "def", but it sent "abcdef". Is it a MINA bug?_
+
+No, this is due to your OS trying to send packets more efficiently (see [Nagle algorithm](http://en.wikipedia.org/wiki/Nagle_algorithm)). You can enable/disable Nagle's algorithm by a call to SocketSessionConfig.setTcpNoDelay(), e.g.:
+
+	:::java
+    ((SocketSessionConfig) connector.getSessionConfig()).setTcpNoDelay(false)
+
+However, even if you do this you cannot expect one session.write(bytes) in MINA to correspond to one TCP packet on your network. You should probably implement your own MINA ProtocolDecoder to handle the assembly of incoming bytes into message objects. The TextLineCodec is a good start if the protocol you're implementing is based on text lines. For a more advanced example have a look at the SumUp example in the MINA distribution.
+
+### I get <TT>InvalidClassChangeError</TT>.
+
+Please make sure if you are using the appropriate SLF4J version.  You will get `InvalidClassChangeError` if you are using outdated SLF4J release.
+
+### My server fails with java.net.SocketException: Too many files open<
+
+Network sockets are treated like files and your operating system has a limit to the number of file handles it can manage. Running out of file handles is usually due to a large number of clients connecting and disconnecting frequently. As specified by TCP, after being closed sockets remain in the TIME_WAIT state for some additional time. The reason is to ensure that delayed packets arrive on the correct socket. In Windows, the default TIME_WAIT timeout is 4 minutes, in Linux it is 60 seconds.
+
+#### Change the timeout in Windows
+
+1. Run regedit to start the Registry Editor
+1. Locate the following key: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\tcpip\Parameters
+1. Add a new value named TcpTimedWaitDelay asa decimal and set the desired timeout in seconds (30-300)
+1. Reboot
+
+#### Change the timeout in Linux
+
+1. Update the configuration value by running (30 seconds used in the example)</LI>
+
+        echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
+
+1. Restart the networking component, for example by running</LI>
+
+        /etc/init.d/networking restart
+
+    or
+
+        service network restart
\ No newline at end of file
diff --git a/content/mina-project/features.mdtext b/content/mina-project/features.mdtext
new file mode 100644
index 0000000..4acfc53
--- /dev/null
+++ b/content/mina-project/features.mdtext
@@ -0,0 +1,43 @@
+Title: Features
+Notice:    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.
+		   
+# Features
+
+MINA is a simple yet full-featured network application framework which provides:
+
+* Unified API for various transport types:
+	* TCP/IP & UDP/IP via Java NIO
+	* Serial communication (RS232) via RXTX
+	* In-VM pipe communication
+	* You can implement your own!
+* Filter interface as an extension point; similar to Servlet filters
+* Low-level and high-level API:
+	* Low-level: uses ByteBuffers
+	* High-level: uses user-defined message objects and codecs
+* Highly customizable thread model:
+	* Single thread
+	* One thread pool
+	* More than one thread pools (i.e. [SEDA](https://web.archive.org/web/20061208181754/http://www.eecs.harvard.edu/~mdw/papers/mdw-phdthesis.pdf))
+* Out-of-the-box SSL &middot; TLS &middot; StartTLS support using Java 5 `SSLEngine`
+* Overload shielding & traffic throttling
+* Unit testability using mock objects
+* JMX managability
+* Stream-based I/O support via `StreamIoHandler`
+* Integration with well known containers such as PicoContainer and Spring
+* Smooth migration from Netty, an ancestor of Apache MINA.
+
diff --git a/content/mina-project/index.mdtext b/content/mina-project/index.mdtext
new file mode 100644
index 0000000..0a45974
--- /dev/null
+++ b/content/mina-project/index.mdtext
@@ -0,0 +1,34 @@
+Title: MINA Home
+Notice:    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.
+
+
+# Welcome to Apache MINA
+
+## Overview
+
+Apache  <abbr title="Multipurpose Infrastructure for Network Applications">MINA</abbr> is a network application framework which helps users develop high performance and high scalability network applications easily.  It provides an abstract &middot;event-driven &middot; asynchronous API over various transports such as TCP/IP and UDP/IP via Java NIO.
+
+Apache MINA is often called:
+
+* NIO framework &middot; library,
+* client &middot; server framework &middot; library, or
+* a networking &middot; socket library.
+
+However, it's much more than that.  Please take a look around the list of the *[features](features.html)* that enable rapid network application development, and *[what people says about MINA](testimonials.html)*.  
+
+Please grab yourself a *[2.0.x download](downloads_2_0.html)* or a *[2.1.x download](downloads_2_1.html)*, try our *[Quick Start Guide](quick-start-guide.html)*, surf our *[FAQ](faq.html)* or start join us on *[our community](../contact.html)*
diff --git a/content/mina-project/issue-tracking.mdtext b/content/mina-project/issue-tracking.mdtext
new file mode 100644
index 0000000..e52e514
--- /dev/null
+++ b/content/mina-project/issue-tracking.mdtext
@@ -0,0 +1,43 @@
+Title: Issue Tracking
+Notice:    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.
+
+Our project uses [JIRA](http://www.atlassian.com/software/jira), a Java EE based issue tracking and project management application.
+
+# General guidance
+
+First, this is the best place to submit bugs (or what you think is a bug). The mailing list is a short term memory place, don't expect your problem to be answered if it's not in the next couple of days you posted on it.
+
+What are the important informations you need to put when feeling a JIRA ?
+
+* The version you are using. This is mandatory. We are dealing with many versions, and we don't have time to check what version you are using by looking to your code.
+* The trace you got (attach them to the issue you have opened). Thread dumps, logs, whatever you can provide is just better than nothing
+* Some code that expose the problem, if possible. Not thousands of lines, just the bare minimum.
+* Some clear explanation on what's going on and what is expected instead, in English of course. It does not have to be perfect english - most of the committers aren't English native's speaker  - but at least something we can understand.
+* A short description in the title.
+* Last, not least, if you are kind enough to propose a patch, attach it and __do not forget to check the box which grant The ASF the right to apply it in the code base.__
+
+Remember that this issue tracking system is public. Would you provide some confidential information, it will be visbile to the world. Keep that in mind before posting !!!
+
+# Filling an issue
+
+Issues, bugs, and feature requests should be submitted to the following issue tracking system :
+
+| | | |
+|---|---|---|
+| Project | JIRA key | Corresponding link to issue tracking system |
+| MINA | DIRMINA | [http://issues.apache.org/jira/browse/DIRMINA](http://issues.apache.org/jira/browse/DIRMINA) |
diff --git a/content/mina-project/mailing-lists.mdtext b/content/mina-project/mailing-lists.mdtext
new file mode 100644
index 0000000..d457429
--- /dev/null
+++ b/content/mina-project/mailing-lists.mdtext
@@ -0,0 +1,91 @@
+Title: Apache MINA Mailing Lists
+Title: Apache MINA Mailing Lists
+Notice:    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.
+
+The Apache MINA team interacts with MINA developers and users via [mailing lists](http://en.wikipedia.org/wiki/Mailing_list). If you have any questions or something to say to us, please subscribe to our user mailing list and post a message. If you would like to contribute to the development of MINA, please subscribe to the developer mailing list.
+
+__Do NOT cross post (ie mail to users and dev). Pick the right list__
+
+Take a few minutes to read this page :[Asking Smart Questions](http://www.catb.org/~esr/faqs/smart-questions.html)
+
+More specifically, follow those simple rules :
+
+* Do not cross post (ie mail to users and dev). Pick the right list.
+* No need to send a mail every hour if you don't get an answer. We don't have an answer to every question ...
+* Use meaningful subject headers. HELP PLEASE HELP ME is just plain useless...
+* Be precise about your problem.
+* Always give some information about the version you are using, the OS, the Java version.
+* You may have find a bug in MINA, but it's way more likely that your code is buggy.
+* Don't be afraid to post, even if you think your english suck. Most of us are not english native speakers, anyways ...
+
+Thanks for listening !
+
+# Users mailing list
+This list is for any questions related to MINA. It's where you need to post for requesting support, or asking question about API usage.
+
+## Subscribing
+
+Send a message to [users-subscribe@mina.apache.org](mailto:users-subscribe@mina.apache.org). After sending your initial email, you will be sent a confirmation email. Simply reply to the confirmation email and you will be subscribed.
+
+## Posting a message
+
+You can ask any questions or provide feedback by sending an email to [users@mina.apache.org](mailto:users@mina.apache.org) after subscribing to the mailing list. Your message can be sent even if you didn't subscribe to the mailing list, but it will take some time for your message to be in our mail box because of the moderation process.
+
+## Unsubscribing
+
+Oh, did you lose your interest in MINA? Please let us know what made so if MINA couldn't solve your problem and give it a chance! 
+
+Send a message to [users-unsubscribe@mina.apache.org](mailto:users-unsubscribe@mina.apache.org), you'll receive a confirmation and you will just have to reply to this confirmation.
+
+# Developers mailing list
+
+This mailing list is used for discussions about the actual development of MINA and sub-projects (Ftpserver, Asyncweb).
+
+## Subscribing
+
+Send a message to [dev-subscribe@mina.apache.org](mailto:dev-subscribe@mina.apache.org). After sending your initial email, you will be sent a confirmation email. Simply reply to the confirmation email and you will be subscribed.
+
+## Posting a message
+
+You can ask any questions or feedback to [dev@mina.apache.org](mailto:dev@mina.apache.org) after subscribing to the mailing list. Your message can be sent even if you didn't subscribe to the mailing list, but it will take for some time for your message to be in our mail box because of moderation process.
+
+Alternatively, you can use the web forum interface.
+
+## Unsubscribing from the mailing list
+
+Send a message to [dev-unsubscribe@mina.apache.org](mailto:dev-unsubscribe@mina.apache.org), you'll receive a confirmation and you will just have to reply to this confirmation.
+
+# Commits mailing list
+
+This mailing list is tracking all the code modifications realised in MINA subversion repository. It's an useful tool for knowing what is going on MINA development and giving feeback on last modifications using the development mailing list
+
+## Subscribing
+
+Send a message to [commits-subscribe@mina.apache.org](mailto:commits-subscribe@mina.apache.org). After sending your initial email, you will be sent a confirmation email. Simply reply to the confirmation email and you will be subscribed.
+
+## Unsubscribing from the mailing list
+
+Send a message to [commits-unsubscribe@mina.apache.org](mailto:commits-unsubscribe@mina.apache.org), you'll receive a confirmation and you will just have to reply to this confirmation.
+
+# Archive
+
+All previous messages are archived in the following site:
+
+* [MarkMail.org](http://mina.markmail.org/)
+* Mail-Archive.com - [dev](http://www.mail-archive.com/dev@mina.apache.org/), [users](http://www.mail-archive.com/users@mina.apache.org/), [commits](http://www.mail-archive.com/commits@mina.apache.org/)
+* Apache.org - [dev](http://mail-archives.apache.org/mod_mbox/mina-dev/), [users](http://mail-archives.apache.org/mod_mbox/mina-users/), [commits](http://mail-archives.apache.org/mod_mbox/mina-commits/)
diff --git a/content/mina-project/news.mdtext b/content/mina-project/news.mdtext
new file mode 100644
index 0000000..af0d5ee
--- /dev/null
+++ b/content/mina-project/news.mdtext
@@ -0,0 +1,439 @@
+# News
+
+## MINA 2.1.3 released _posted on June, 2, 2019_
+
+The MINA project is pleased to announce a new release, MINA 2.1.3. This is a bug fix release: it fixes a 100% CPU usage in some corner case. Here are the fixed issues :
+
+* DIRMINA-1095	Seems like the management f UDP sessions is really unneficient
+* DIRMINA-1107	SslHandler flushScheduledEvents race condition, redux
+* DIRMINA-1111	100% CPU (epoll bug) on 2.1.x, Linux only
+* DIRMINA-1104	IoBufferHexDumper.getHexdump(IoBuffer in, int lengthLimit) does not truncate the output
+
+For any information about the API modifications and the impact on existing application, please read the [2.1 vs 2.0 page](2.1-vs-2.0.html).
+
+## MINA 2.1.2 released _posted on April, 20, 2019_
+
+The MINA project is pleased to announce a new release, MINA 2.1.2. This is a bug fix release: it fixes an issue for applications using *SSL/TLS*, which will stall waiting on a *WriteFuture* because it does not get signaled when the message has been fully sent.
+
+For any information about the API modifications and the impact on existing application, please read the [2.1 vs 2.0 page](2.1-vs-2.0.html).
+
+## MINA 2.1.1 & MINA 2.0.21 released _posted on April, 14, 2019_
+
+The MINA project is pleased to announce two new releases, MINA 2.1.1 and MINA 2.0.21. 
+
+**These are fixing a critical issue, CVE-2019-0231**
+
+CVE-2019-0231: 'Handling of the close_notify SSL/TLS message does not lead to a connection closure, leading the server to retain the socket opened and to have the client potentially receive clear-text messages which were supposed to be encrypted.'
+
+MINA 2.1.1 also fixes the _CompressionFilter_ usage, by simplfying the way we proceed with writes. A side effect is that it should be slightly faster to write data from an application. (This fix is not included in 2.0.21)
+
+**We urge anyone using any previous MINA version to migrate to one of those two new versions**
+
+## MINA 2.1.0 released _posted on March, 14, 2019_
+
+The MINA project is pleased to announce a new release, MINA 2.1.0. This is a evolution over the
+2.0.x branch, with some API modifications that makes it incompatible.
+
+That means some effort will be required from applications to be able to use Apache MINA
+2.1.0 as a replacement for Apache MINA 2.0.20.
+
+Otherwise, every fix applied in Apache MINA 2.0.20 has been ported to this version, so one can still keep going with Apache MINA 2.0.20 which will be maintained for the coming months.
+
+For any information about the API modifications and the impact on existing application, please read the [2.1 vs 2.0 page](2.1-vs-2.0.html).
+
+## MINA 2.0.20 released _posted on February, 24, 2019_
+
+The MINA project is pleased to announce a new release, MINA 2.0.20, fixing some API issues:
+
+* DIRMINA-1092: Removed a spurious printstacktrace
+* DIRMINA-1098: handshakeStatus variable has been wrongly made global
+* DIRMINA-1088: the OrderedThreadPool implementation has been made Java 10 compatible
+
+
+We urge you to switch to this version if you were using MINA 2.0.19 or any older version.
+
+
+## MINA 2.0.19 released _posted on June, 11, 2018_
+
+The MINA project is pleased to announce a new release, MINA 2.0.19, fixing some API regression:
+
+* the 'event' message has been removed from the IoHandler interface
+* the SESSION_SECURED/SESSION_UNSECURED message are back
+
+Those changes have been introduced in MINA 2.0.18 by mistake, and break applications that were 
+working with MINA 2.0.17.
+
+They will be reintroduced in MINA 2.1.0
+
+We urge you to switch to this version if you were using MINA 2.0.17 or any older version.
+
+## MINA 2.0.18 released _posted on June, 1, 2018_
+
+The MINA project is pleased to announce a new bug fix release, MINA 2.0.18. 
+
+There is some important addition in this version, the IoHandler interface now exposes a
+new method :
+
+    void event(IoSession session, FilterEvent event) throws Exception;
+
+
+This can be used by any filter to generate a specific event (which will
+be handled on demand by the application).
+
+Currently, the only added event is defined in SslEvent, and it tells if
+the session has been secured (ie the Handshake has completed) or isn't
+anymore.
+
+It changes one thing in your application: if you were implementing
+IoHandler, you have to add this method. You may also extends
+IoHandlerAdpater which has a void implementation of this event() method.
+
+The few fixes bugs/added features are:
+
+* Added a flag to tell the Handshake to start immediately or not
+* The IoBufferHexDumper implementation now does not modify the IoBuffer
+position
+* Some missing synchronization have been added in teh SslFilter
+* The suspendRead call is handled for Datagrams, instead of throwing an
+exception
+
+We urge you to switch to this version if you were using MINA 2.0.17 or any older version.
+
+
+## MINA 2.0.17 released _posted on March, 15, 2018_
+
+The MINA project is pleased to announce a new bug fix release, MINA 2.0.17. It fixes many issues, and adds the missing Javadoc.
+
+Here are the fixed issues :
+
+Bugs :
+------
+
+* [DIRMINA-844](https://issues.apache.org/jira/browse/DIRMINA-844) - Http Proxy Authentication failed to complete (see description for exact point of failure)
+* [DIRMINA-1002](https://issues.apache.org/jira/browse/DIRMINA-1002) - Mina IoHandlerEvents missing inputClosed enum item.
+* [DIRMINA-1051](https://issues.apache.org/jira/browse/DIRMINA-1051) - The MD5withRSA cipher is not anymore supported by Java 8, and our tests certificates have been generated with it.
+* [DIRMINA-1052](https://issues.apache.org/jira/browse/DIRMINA-1052) - Fix the mvn-site command
+* [DIRMINA-1056](https://issues.apache.org/jira/browse/DIRMINA-1056) - IllegalArgumentException when setting max and minReadBufferSize > 65536 (default)
+* [DIRMINA-1057](https://issues.apache.org/jira/browse/DIRMINA-1057) - AbstractIoSession getScheduledWriteMessages always -negative?
+* [DIRMINA-1059](https://issues.apache.org/jira/browse/DIRMINA-1059) - NioProcessor's selector is synchronized but accessed outside
+* [DIRMINA-1060](https://issues.apache.org/jira/browse/DIRMINA-1060) - Handle the spinning selectors in Socket/Datagram Acceptor and Connector
+* [DIRMINA-1072](https://issues.apache.org/jira/browse/DIRMINA-1072) - SslFilter does not account for SSLEngine runtime exceptions
+* [DIRMINA-1073](https://issues.apache.org/jira/browse/DIRMINA-1073) - NioSocketSession#isSecured does not comply with interface contract
+* [DIRMINA-1076](https://issues.apache.org/jira/browse/DIRMINA-1076) - Leaking NioProcessors/NioSocketConnectors hanging in call to dispose
+* [DIRMINA-1077](https://issues.apache.org/jira/browse/DIRMINA-1077) - Threads hanging in dispose() on SSLHandshakeException
+
+Improvement :
+-------------
+
+* [DIRMINA-1061](https://issues.apache.org/jira/browse/DIRMINA-1061) - When AbstractPollingIoProcessor read nothing, free the temporary buffer should be better
+
+Task :
+------
+
+* [DIRMINA-1058](https://issues.apache.org/jira/browse/DIRMINA-1058) - Add the missing Javadoc
+
+We urge you to switch to this version if you were using MINA 2.0.16 or any older version.
+
+
+## MINA 2.0.16 released _posted on October, 31, 2016_
+
+The MINA project is pleased to announce a new bug fix release, MINA 2.0.16. It fixes a critical SSL issue, and a regression introduced in 2.0.14.
+
+Here are the fixed issues :
+
+Bugs :
+------
+* [DIRMINA-1043](https://issues.apache.org/jira/browse/DIRMINA-1043) NullPointerException after upgrade to mina 2.0.14
+* [DIRMINA-1044](https://issues.apache.org/jira/browse/DIRMINA-1044) Non-Secure (no TLS/SSL) based client could successfully send message to secure Mina endpoint after second attempt
+
+We urge you to switch to this version if you were using MINA 2.0.15 or any older version.
+
+
+
+## MINA 2.0.15 released _posted on September, 27, 2016_
+
+The MINA project is pleased to announce a new bug fix release, MINA 2.0.15. It fixes a hang, a NPE and a few other minor issues.
+
+Here are the fixed issues :
+
+Bugs :
+------
+* [DIRMINA-1041](<https://issues.apache.org/jira/browse/DIRMINA-1041>) WriteFuture.await() hangs when the connection is closed remotely before await is invoked
+* [DIRMINA-1047](<https://issues.apache.org/jira/browse/DIRMINA-1047>) NullPointerException in AbstractIoSession.destroy()
+* [DIRMINA-1049](<https://issues.apache.org/jira/browse/DIRMINA-1049>) Error in mina-statemachine manifest prevents using it in Apache Karaf
+
+We urge you to switch to this version if you were using MINA 2.0.14 or any older version.
+
+
+## MINA 2.0.14 released _posted on August, 30, 2016_
+
+The MINA project is pleased to announce a new bug fix release, MINA 2.0.14. It fixes many issues, some of them being a real burden for SSHD DIRMINA-1021). Some patches were also applied (thanks to Maria Petridan).
+
+Here are the fixed issues :
+
+Bugs :
+------
+* [DIRMINA-760](https://issues.apache.org/jira/browse/DIRMINA-760)   Client fails to detect disconnection
+* [DIRMINA-976](https://issues.apache.org/jira/browse/DIRMINA-976)   ScheduledWriteBytes Increases after Exception on Writing
+* [DIRMINA-1021](https://issues.apache.org/jira/browse/DIRMINA-1021) MINA-CORE does not remove sessions if exceptions occur while closing
+* [DIRMINA-1025](https://issues.apache.org/jira/browse/DIRMINA-1025) A call to session.closed(true) may still flush messages.
+* [DIRMINA-1028](https://issues.apache.org/jira/browse/DIRMINA-1028) The supported ciphers configuration might not be used
+* [DIRMINA-1029](https://issues.apache.org/jira/browse/DIRMINA-1029) The sent buffer is reset to its original position when using the SSL Filter after a session.write()
+* [DIRMINA-1037](https://issues.apache.org/jira/browse/DIRMINA-1037) Throw exception in NioProcessor.write if the session is closing
+* [DIRMINA-1039](https://issues.apache.org/jira/browse/DIRMINA-1039) Response messages queue up on the server side waiting to be written to socket, while the server continues to read more request messages, causing out of heap memory
+* [DIRMINA-1042](https://issues.apache.org/jira/browse/DIRMINA-1042) Epoll spinning causes memory leak
+
+
+Task :
+------
+* [DIRMINA-986](https://issues.apache.org/jira/browse/DIRMINA-986) Update the web site to reflect the switch to git for the release process
+1027) SSLHandler writes corrupt messages under heavy load
+
+A security issue has also been fixed in this version.
+
+We urge you to switch to this version if you were using MINA 2.0.13.
+
+
+## MINA 2.0.13 released _posted on February, 16, 2016_
+
+Another release to fix a critical SSL bug ( a race condition which could lead to a deadlock in some corner cases).
+
+We urge you to switch to this version if you were using MINA 2.0.12.
+
+
+
+Bugs :
+------
+* [DIRMINA-1019](https://issues.apache.org/jira/browse/DIRMINA-1019) SslHandler flushScheduledEvents race condition
+* [DIRMINA-1027](https://issues.apache.org/jira/browse/DIRMINA-1027) SSLHandler writes corrupt messages under heavy load
+
+
+## MINA 2.0.12 released _posted on February, 07, 2016_
+
+This new release of MINA is a bug fix release. There are a few new bugs that were wound in the way we handle closure, leading to some infinite loop consuming 100% CPU, and a bad counter update forbidding the main loop to be exited.
+
+
+We urge you to switch to this version if you were using MINA 2.0.11.
+
+
+
+Bugs :
+------
+
+* [DIRMINA-1001](https://issues.apache.org/jira/browse/DIRMINA-1001) mina2.0.9 session.close cpu100%
+* [DIRMINA-1006](https://issues.apache.org/jira/browse/DIRMINA-1006) mina2.0.9 NioProcessor thread make cpu 100%
+* [DIRMINA-1024](https://issues.apache.org/jira/browse/DIRMINA-1024) There is no way to start a SslHandshake when the autoStart flag is set to false
+* [DIRMINA-1026](https://issues.apache.org/jira/browse/DIRMINA-1026) Session may be removed twice from the removedSession queue
+
+
+## MINA 2.0.11 released _posted on January, 26, 2016_
+
+This new release of MINA is a bug fix release. We have found a critical bug in the SSL Handler, that may cause a loop when dealing with big messages being transmitted over an SSL connection. 
+
+Otherwise, thee Javadoc has been cleaned.
+
+We urge you to switch to this version if you were using MINA 2.0.10.
+
+
+
+Bugs :
+------
+
+* [DIRMINA-1023](https://issues.apache.org/jira/browse/DIRMINA-1023) - Infinite loop in SslHandler when the AppBuffer is too small
+* [DIRMINA-1022](https://issues.apache.org/jira/browse/DIRMINA-0122) - The IoBuffer.fill(byte, int) method does not work when byte > 0x7F
+
+Improvements :
+--------------
+* [DIRMINA-985](https://issues.apache.org/jira/browse/DIRMINA-985) - Fix the various Javadoc issues
+
+
+## MINA 2.0.10 released _posted on December, 16, 2015_
+
+This new release of MINA is a bug fix release. Among important fixes, we have removed a bottleneck in the way we were using Codecs, removed a deadlock in SSL when using the proxy, a race condition, and a few other things :
+
+
+Bugs :
+------
+
+* [DIRMINA-992](https://issues.apache.org/jira/browse/DIRMINA-992) - NioSocketConnector.newHandle throws the wrong exception 
+* [DIRMINA-994](https://issues.apache.org/jira/browse/DIRMINA-994) - The ConnectionRequest.cancel() method is inconsistent wrt concurrent access
+* [DIRMINA-995](https://issues.apache.org/jira/browse/DIRMINA-995) - Deadlock when using SSL and proxy
+* [DIRMINA-1013](https://issues.apache.org/jira/browse/DIRMINA-1013) -Threading model is supressed by ProtocolCodecFilter
+* [DIRMINA-1016](https://issues.apache.org/jira/browse/DIRMINA-1016) - Regression with 2.0.9: Missing javax.net.ssl import in manifest
+* [DIRMINA-1017](https://issues.apache.org/jira/browse/DIRMINA-1017) - SSLEngine BUFFER_OVERFLOW (unwrap)
+* [DIRMINA-1019](https://issues.apache.org/jira/browse/DIRMINA-1019) - SslHandler flushScheduledEvents race condition
+
+Improvements :
+--------------
+* [DIRMINA-1018](https://issues.apache.org/jira/browse/DIRMINA-1018) - fetchAppBuffer shrink
+* [DIRMINA-1020](https://issues.apache.org/jira/browse/DIRMINA-1020) - Change minimum version for slf4j in MANIFEST
+
+
+## MINA 2.0.9 released _posted on October, 25, 2014_
+
+This new release of MINA is just a bug fix release. A few issues have been fixed, one critical, inducing a 100% CPU, and one was annoying as it was generating stack traces for nothing.
+
+You can check the list of fixes for this version there :
+
+[Release note](https://issues.apache.org/jira/issues/?jql=project%20%3D%20DIRMINA%20AND%20fixVersion%20%3D%202.0.9%20AND%20status%20%3D%20Resolved%20ORDER%20BY%20priority%20DESC)
+
+* [DIRMINA-921](https://issues.apache.org/jira/browse/DIRMINA-921) - Maven build fails if test phase is given
+* [DIRMINA-988](https://issues.apache.org/jira/browse/DIRMINA-988) - 100% CPU when using IoBuffer.shrink() method in some cases
+* [DIRMINA-989](https://issues.apache.org/jira/browse/DIRMINA-989) - Frequent CancelledKeyException
+* [DIRMINA-990](https://issues.apache.org/jira/browse/DIRMINA-990) - Control flow over exceptional path in AbstractIoBuffer
+* [DIRMINA-991](https://issues.apache.org/jira/browse/DIRMINA-991) - Possible faster deserialization in AbstractIoBuffer object deserialization.
+
+## MINA 2.0.8 released _posted on September, 22, 2014_
+
+It's 2 years we haven't had a release of MINA 2.0, it's about time.
+
+We have tried to fix as much issues as we could in the last 3 weeks. As a result, we have closed around 90 JIRAs (fixed, postponed or simply discarded).
+
+There is one change that might break the build for those switching from MINA 2.0.7 to MINA 2.0.8 : the _IoHandler_ interface now has a method called _inputClosed()_, so either you have to implement this method if you are directly implementing the _IoHandler_ interface, or better, you can extends _IoHandlerAdapter_, which implements a placeholder for this method.
+
+You can check the list of fixes for this version there :
+
+[Release note](https://issues.apache.org/jira/issues/?jql=project%20%3D%20DIRMINA%20AND%20fixVersion%20%3D%202.0.8%20AND%20status%20%3D%20Resolved%20ORDER%20BY%20priority%20DESC)
+
+### Bug
+
+* [DIRMINA-539](https://issues.apache.org/jira/browse/DIRMINA-539) - NioDatagramConnector doesn't takes the TrafficClass value set to his DatagramSessionConfig
+* [DIRMINA-574](https://issues.apache.org/jira/browse/DIRMINA-574) - ClassCastException when a message is written on a closed session.
+* [DIRMINA-604](https://issues.apache.org/jira/browse/DIRMINA-604) - Deadlock occurs when implementing two mina StateMachine
+* [DIRMINA-639](https://issues.apache.org/jira/browse/DIRMINA-639) - WriteFuture are updated long after a session.write() is done
+* [DIRMINA-738](https://issues.apache.org/jira/browse/DIRMINA-738) - Using IoEventQueueThrottler with a WriteRequestFilter can lead to hangs
+* [DIRMINA-760](https://issues.apache.org/jira/browse/DIRMINA-760) - Client fails to detect disconnection
+* [DIRMINA-764](https://issues.apache.org/jira/browse/DIRMINA-764) - DDOS possible in only a few seconds...
+* [DIRMINA-777](https://issues.apache.org/jira/browse/DIRMINA-777) - IoSessionConfig.setUseReadOperation(true) doesn't seem to work
+* [DIRMINA-779](https://issues.apache.org/jira/browse/DIRMINA-779) - SSLHandler can re-order data that it reads
+* [DIRMINA-782](https://issues.apache.org/jira/browse/DIRMINA-782) - Combination of SslFilter & FileRegionWriteFilter causes messageSent events to be lost
+* [DIRMINA-785](https://issues.apache.org/jira/browse/DIRMINA-785) - Half-duplex close of TCP channel
+* [DIRMINA-789](https://issues.apache.org/jira/browse/DIRMINA-789) - Possible Deadlock/Out of memory when sending large amounts of data using Nio
+* [DIRMINA-792](https://issues.apache.org/jira/browse/DIRMINA-792) - await() forever
+* [DIRMINA-804](https://issues.apache.org/jira/browse/DIRMINA-804) - NioDatagramAcceptor.unbind does not unbind cleanly
+* [DIRMINA-805](https://issues.apache.org/jira/browse/DIRMINA-805) - No cipher suites and protocols in SslFilter
+* [DIRMINA-813](https://issues.apache.org/jira/browse/DIRMINA-813) - Starvation occures sometimes in SerialSession#close()
+* [DIRMINA-818](https://issues.apache.org/jira/browse/DIRMINA-818) - Loosing connects on NioSocketConnector
+* [DIRMINA-833](https://issues.apache.org/jira/browse/DIRMINA-833) - LoggingFilter does not log SENT bytes when used with a ProtocolCodecFilter
+* [DIRMINA-843](https://issues.apache.org/jira/browse/DIRMINA-843) - NioSocketAcceptor doesnot provide an interface to input connectiontimeout parameter.
+* [DIRMINA-844](https://issues.apache.org/jira/browse/DIRMINA-844) - Http Proxy Authentication failed to complete (see description for exact point of failure)
+* [DIRMINA-845](https://issues.apache.org/jira/browse/DIRMINA-845) - ProtocolEncoderOutputImpl isn't thread-safe
+* [DIRMINA-891](https://issues.apache.org/jira/browse/DIRMINA-891) - SSLHandler throws SSLException during handshake that sequence number triggers
+* [DIRMINA-899](https://issues.apache.org/jira/browse/DIRMINA-899) - IoSession.getAttribute() doesn't store default value
+* [DIRMINA-902](https://issues.apache.org/jira/browse/DIRMINA-902) - Buffer read incorrectly when reading after a NEED_DATA trigger.
+* [DIRMINA-905](https://issues.apache.org/jira/browse/DIRMINA-905) - mina serial close
+* [DIRMINA-911](https://issues.apache.org/jira/browse/DIRMINA-911) - Surprising behaviour with ConnectFuture
+* [DIRMINA-912](https://issues.apache.org/jira/browse/DIRMINA-912) - Different instances of OrderedThreadPoolExecutor may use same task queue
+* [DIRMINA-920](https://issues.apache.org/jira/browse/DIRMINA-920) - HTTP server decoding is broken
+* [DIRMINA-926](https://issues.apache.org/jira/browse/DIRMINA-926) - IoSession IP Error when Socket Server Communicate With Microcomputer In LAN and Internet.
+* [DIRMINA-928](https://issues.apache.org/jira/browse/DIRMINA-928) - when client want to connect to server by binding wrong ip address,there is a bug.
+* [DIRMINA-931](https://issues.apache.org/jira/browse/DIRMINA-931) - HTTP header decoding is broken
+* [DIRMINA-932](https://issues.apache.org/jira/browse/DIRMINA-932) - HTTP Request decoding is broken if request headers are received in several messages
+* [DIRMINA-933](https://issues.apache.org/jira/browse/DIRMINA-933) - subtle HttpServerDecoder problems
+* [DIRMINA-937](https://issues.apache.org/jira/browse/DIRMINA-937) - sslfilter hangs with openjdk works with oracle?
+* [DIRMINA-940](https://issues.apache.org/jira/browse/DIRMINA-940) - HTTP Client decoder does not support responses without Content-Length header
+* [DIRMINA-942](https://issues.apache.org/jira/browse/DIRMINA-942) - Infinite loop flushing to broken pipe
+* [DIRMINA-948](https://issues.apache.org/jira/browse/DIRMINA-948) - Performance recession when invoke session.write concurrent
+* [DIRMINA-956](https://issues.apache.org/jira/browse/DIRMINA-956) - Status code match bug in AbstractHttpLogicHandler
+* [DIRMINA-957](https://issues.apache.org/jira/browse/DIRMINA-957) - MINA build in BlacklistFilter does not support IPV6 address
+* [DIRMINA-962](https://issues.apache.org/jira/browse/DIRMINA-962) - Immediate session close with a SSL filter
+* [DIRMINA-963](https://issues.apache.org/jira/browse/DIRMINA-963) - Socks5 and ProxyConnector don't work with InetSocketAddress.createUnresolved
+* [DIRMINA-965](https://issues.apache.org/jira/browse/DIRMINA-965) - HttpServerDecoder is broken in certain condition
+* [DIRMINA-966](https://issues.apache.org/jira/browse/DIRMINA-966) - NIO Datagram messages can get duplicated when unable to be sent by the underlying DatagramChannel
+* [DIRMINA-967](https://issues.apache.org/jira/browse/DIRMINA-967) - IoSession updateThroughput not automatically called
+* [DIRMINA-968](https://issues.apache.org/jira/browse/DIRMINA-968) - Memory leak in SSL Handshake errors
+* [DIRMINA-970](https://issues.apache.org/jira/browse/DIRMINA-970) - ProtocolEncoderOutputImpl.flush() occur a IllegalArgumentException
+* [DIRMINA-972](https://issues.apache.org/jira/browse/DIRMINA-972) - NPE during handshake on Android using SSLFilter
+* [DIRMINA-973](https://issues.apache.org/jira/browse/DIRMINA-973) - IllegalArgumentException thrown on ProtocolCodecFilter.flush
+* [DIRMINA-976](https://issues.apache.org/jira/browse/DIRMINA-976) - ScheduledWriteBytes Increases after Exception on Writing
+* [DIRMINA-977](https://issues.apache.org/jira/browse/DIRMINA-977) - DefaultIoFilterChain.replace does not call register/deregister
+* [DIRMINA-978](https://issues.apache.org/jira/browse/DIRMINA-978) - ClosedSelectorException handling in AbstractPollingIoProcessor
+* [DIRMINA-980](https://issues.apache.org/jira/browse/DIRMINA-980) - Missing implementation of write() method in SerialSessionImpl.SerialIoProcessor
+* [DIRMINA-981](https://issues.apache.org/jira/browse/DIRMINA-981) - IoBuffer GetSlice throw an IllegalArgumentException
+* [DIRMINA-982](https://issues.apache.org/jira/browse/DIRMINA-982) - ProtocolEncoderOutputImpl.flush() throws an IllegalArgumentException if buffers queue is empty
+* [DIRMINA-983](https://issues.apache.org/jira/browse/DIRMINA-983) - Problems with TextLineDecoder and special characters
+
+### Improvement
+
+* [DIRMINA-210](https://issues.apache.org/jira/browse/DIRMINA-210) - Investigate removal of static methods in ByteBuffer
+* [DIRMINA-237](https://issues.apache.org/jira/browse/DIRMINA-237) - Improve Spring integration
+* [DIRMINA-572](https://issues.apache.org/jira/browse/DIRMINA-572) - Add Spring support for Mina statemachine
+* [DIRMINA-586](https://issues.apache.org/jira/browse/DIRMINA-586) - Dynamic delimiter support for TextLineCodecFactory
+* [DIRMINA-593](https://issues.apache.org/jira/browse/DIRMINA-593) - Javadoc & documentation for org/apache/mina/filter/reqres
+* [DIRMINA-629](https://issues.apache.org/jira/browse/DIRMINA-629) - The IoServiceStatistics methods are called for every new session creation
+* [DIRMINA-631](https://issues.apache.org/jira/browse/DIRMINA-631) - AbstractIoFilter: increment writen- and receivedMessages statistics on application end of filter chain
+* [DIRMINA-668](https://issues.apache.org/jira/browse/DIRMINA-668) - Modify the way we use IoProcessors
+* [DIRMINA-682](https://issues.apache.org/jira/browse/DIRMINA-682) - We need a better documentation for the ExecutorFilter [was :Writing more than one message will block until the MessageReceived as been fully proceced]
+* [DIRMINA-723](https://issues.apache.org/jira/browse/DIRMINA-723) - OrderedThreadPoolExecutor behavior: configurable queue size, corePoolSize, maximumPoolSize
+* [DIRMINA-752](https://issues.apache.org/jira/browse/DIRMINA-752) - maybe move SerialAddressEditor.class to the mina beans project
+* [DIRMINA-761](https://issues.apache.org/jira/browse/DIRMINA-761) - how to shutdown a mina application
+* [DIRMINA-766](https://issues.apache.org/jira/browse/DIRMINA-766) - Read does not exploit buffer optimally
+* [DIRMINA-767](https://issues.apache.org/jira/browse/DIRMINA-767) - Move encoder/decoder out of the session Attributes
+* [DIRMINA-773](https://issues.apache.org/jira/browse/DIRMINA-773) - org.apache.mina.filter.firewall.Subnet should consider 0.0.0.0/0 as a subnet that contains 'all the ipv4 addresses'
+* [DIRMINA-780](https://issues.apache.org/jira/browse/DIRMINA-780) - Writing null objects to the Session should raise an Exception
+* [DIRMINA-825](https://issues.apache.org/jira/browse/DIRMINA-825) - Add host and port info to BindException thrown by NioSocketAcceptor#open
+* [DIRMINA-838](https://issues.apache.org/jira/browse/DIRMINA-838) - Redundant AttributeKey allocation resulting in high garbage collector activity
+* [DIRMINA-913](https://issues.apache.org/jira/browse/DIRMINA-913) - Add a method IoSession.isSecured() to tell the user if the SSL filter has been started or not
+* [DIRMINA-921](https://issues.apache.org/jira/browse/DIRMINA-921) - Maven build fails if test phase is given
+* [DIRMINA-929](https://issues.apache.org/jira/browse/DIRMINA-929) - AbstractPollingIoProcessor patch to mark buffer as free
+* [DIRMINA-934](https://issues.apache.org/jira/browse/DIRMINA-934) - Replace synchronized with a Semaphore for better performance
+* [DIRMINA-941](https://issues.apache.org/jira/browse/DIRMINA-941) - DefaultIoFilterChain (or any other class) should not catch Throwable without re-throwing
+* [DIRMINA-945](https://issues.apache.org/jira/browse/DIRMINA-945) - DefaultVmPipeSessionConfig is empty
+
+### New Feature
+
+* [DIRMINA-23](https://issues.apache.org/jira/browse/DIRMINA-23) - New transport type: non-NIO sockets
+* [DIRMINA-68](https://issues.apache.org/jira/browse/DIRMINA-68) - Automatic reconnect configuration for client channels.
+* [DIRMINA-389](https://issues.apache.org/jira/browse/DIRMINA-389) - Create a Connection Throttle Filter
+* [DIRMINA-453](https://issues.apache.org/jira/browse/DIRMINA-453) - Multiple IoServices for one java.nio.Selector
+* [DIRMINA-485](https://issues.apache.org/jira/browse/DIRMINA-485) - SCTP Transport based on APR (Apache Portable Runtime)
+* [DIRMINA-489](https://issues.apache.org/jira/browse/DIRMINA-489) - Composite IoBuffer
+* [DIRMINA-507](https://issues.apache.org/jira/browse/DIRMINA-507) - IoBuffer: Support prepending data
+* [DIRMINA-554](https://issues.apache.org/jira/browse/DIRMINA-554) - A hook between bind() and accept()
+* [DIRMINA-655](https://issues.apache.org/jira/browse/DIRMINA-655) - Add a more general purpose text based decoder
+* [DIRMINA-816](https://issues.apache.org/jira/browse/DIRMINA-816) - NioSocketConnector missing defaultLocalAddress
+* [DIRMINA-964](https://issues.apache.org/jira/browse/DIRMINA-964) - Custom NIO SelectorProvider for NioSocketAcceptor
+
+### Task
+
+* [DIRMINA-56](https://issues.apache.org/jira/browse/DIRMINA-56) - Create a Benchmark Suite That Generates HTML Reports.
+* [DIRMINA-188](https://issues.apache.org/jira/browse/DIRMINA-188) - All-in-one JAR
+* [DIRMINA-477](https://issues.apache.org/jira/browse/DIRMINA-477) - Update page about differences between 1.x and 2.x
+* [DIRMINA-721](https://issues.apache.org/jira/browse/DIRMINA-721) - Get rid of multiton iohandler and netty2 codec as proposed on ML
+
+### Test
+
+* [DIRMINA-922](https://issues.apache.org/jira/browse/DIRMINA-922) - Add a benchmark project to compare with other IO frameworks
+
+### Wish
+
+* [DIRMINA-250](https://issues.apache.org/jira/browse/DIRMINA-250) - Provide a test suite for a transport implementor.
+* [DIRMINA-916](https://issues.apache.org/jira/browse/DIRMINA-916) - Adding Http Status code 101 "101 Switching Protocols" in org.apache.mina.http.api.HttpStatus
+
+
+## MINA 2.0.7 released _posted on October, 12, 2012_
+
+The Apache MINA project is pleased to announce MINA 2.0.7 ! This version is a bug fix release.
+
+It fixes a regression introduced in MINA 2.0.5, and some performance improvements for the UDP server.
+
+We recommend all users to upgrade to this release. We consider this a stable and production ready release.
+
+[Release note1](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10670&version=12323341)
+[Release note2](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10670&version=12316652)
+
+## MINA 2.0.5 released _posted on August, 26, 2012_
+
+The Apache MINA project is pleased to announce MINA 2.0.5 ! This version is a bug fix release.
+
+We recommend all users to upgrade to this release. We consider this a stable and production ready release.
+
+[Release note](http://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10670&version=12316474)
+
+## MINA 2.0.4 released _posted on August, 26, 2012_
+
+The Apache MINA project is pleased to announce MINA 2.0.4 ! This version is a bug fix release.
+
+We recommend all users to upgrade to this release. We consider this a stable and production ready release.
+
+[Release note](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=10670&version=12316009)
diff --git a/content/mina-project/performances.mdtext b/content/mina-project/performances.mdtext
new file mode 100644
index 0000000..2908303
--- /dev/null
+++ b/content/mina-project/performances.mdtext
@@ -0,0 +1,54 @@
+Title: Performance Test Reports
+Notice:    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.
+
+# Before You Read the Performance Test Reports...
+
+This page exhibits the performance test results under various conditions (e.g. various protocols and system environments).  Please [contact us|Mailing Lists] if you have any specific performance test results to publish for your MINA-based application.
+
+<DIV class="note" markdown="1">
+The following performance test results may have critical flaws in test design or contain wrong values.  Please regard these reports as just a hint for understanding general performance characteristics of Apache MINA.  Additionally, these reports are not meant to claim that Apache MINA outperforms a certain product purposely{note}
+</DIV>
+
+## Apache MINA 2.0.0-M1-SNAPSHOT + AsyncWeb 0.9.0-SNAPSHOT
+
+[Trustin Lee](http://gleamynode.net/) ran a HTTP performance test with the latest snapshot of Apache MINA and [AsyncWeb](https://svn.apache.org/repos/asf/mina/asyncweb/trunk/) combo, using [the AsyncWeb lightweight HTTP server example](https://svn.apache.org/repos/asf/mina/asyncweb/trunk/examples/src/main/java/org/apache/asyncweb/examples/lightweight/).  
+
+* Protocol
+	* HTTP
+	* Tested keep-alive mode using [ApacheBench|http://en.wikipedia.org/wiki/ApacheBench]. 
+	* Content length: 128 (excluding the header)
+* Client
+	* Pentium 4 3GHz
+	* Ubuntu Linux 6.10
+* Server
+	* 2 dual-core Opterons (4 cores, 270 Italy)
+	* Gentoo Linux 2.6.18-r6 x86_64
+* Network
+	* 100Mbit Ethernet  (direct link)
+* JVM
+	* Sun Java HotSpot(TM) 64-Bit Server VM (build 1.6.0-b105, mixed mode)
+	* {{-server -Xms512m -Xmx512m -Xss128k -XX:+AggressiveOpts -XX:+UseParallelGC -XX:+UseBiasedLocking -XX:NewSize=64m}}
+
+To show the performance characteristics of Apache MINA doesn't differ with the production-ready Web servers, the same test has been run on [the Apache HTTPD 2.0.58|http://httpd.apache.org/].  Because I don't know how to write an Apache HTTPD module, I simply used a dummy static file.  Because the amount of the response header two HTTP servers generate is different, I changed the AsyncWeb to generate more traffic in the content.  The size of one response was about 405 bytes.
+
+<CENTER>
+![Asyncweb performances](../staticresources/images/AsyncWeb-0.9.0-SNAPSHOT.png)
+<CENTER/>
+
+The client machine in my company doesn't have 1Gbps Ethernet adapter nor a gigabit-capable CPU, I was not able to increase the content size.  I made sure the network didn't saturate while the test at least.
+
diff --git a/content/mina-project/quick-start-guide.mdtext b/content/mina-project/quick-start-guide.mdtext
new file mode 100644
index 0000000..aa6f871
--- /dev/null
+++ b/content/mina-project/quick-start-guide.mdtext
@@ -0,0 +1,231 @@
+Title: Quick Start Guide
+Notice:    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.
+
+# Quick Start Guide
+
+This tutorial will walk you through the process of building a MINA based program. This tutorial will walk through building a time server. The following prerequisites are required for this tutorial:
+
+* MINA 2.0.7 Core
+* JDK 1.5 or greater
+* [SLF4J|http://www.slf4j.org/] 1.3.0 or greater
+    * **Log4J 1.2** users: _slf4j-api.jar_, _slf4j-log4j12.jar_, and [Log4J](http://logging.apache.org/log4j/1.2/) 1.2.x
+    * **Log4J 1.3** users: _slf4j-api.jar_, _slf4j-log4j13.jar_, and [Log4J](http://logging.apache.org/log4j/1.2/) 1.3.x
+    * **java.util.logging** users: _slf4j-api.jar_ and _slf4j-jdk14.jar_
+    * **IMPORTANT** : Please make sure you are using the right _slf4j-*.jar_ that matches to your logging framework.
+ For instance, _slf4j-log4j12.jar_ and _log4j-1.3.x.jar_ can not be used together, and will malfunction.
+
+I have tested this program on both Windows© 2000 professional and linux. If you have any problems getting this program to work, please do not hesitate to [contact us|Contact] in order to talk to the MINA developers. Also, this tutorial has tried to remain independent of development environments (IDE, editors..etc). This tutorial will work with any environment that you are comfortable with. Compilation commands and steps to execute the program have been removed for brevity. If you need he [...]
+
+## Writing the MINA time server
+
+We will begin by creating a file called MinaTimeServer.java. The initial code can be found below:
+    :::Java
+    public class MinaTimeServer {
+
+        public static void main(String[] args) {
+        	// code will go here next
+        }
+    }
+
+This code should be straightforward to all. We are simply defining a main method that will be used to kick off the program. At this point, we will begin to add the code that will make up our server. First off, we need an object that will be used to listen for incoming connections. Since this program will be TCP/IP based, we will add a _SocketAcceptor_ to our program.
+
+    :::Java
+    import org.apache.mina.core.service.IoAcceptor;
+    import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
+
+    public class MinaTimeServer
+    {
+        public static void main( String[] args )
+        {
+            IoAcceptor acceptor = new NioSocketAcceptor();
+        }
+    }
+
+
+With the _NioSocketAcceptor_ class in place, we can go ahead and define the handler class and bind the NioSocketAcceptor to a port.
+
+Next we add a filter to the configuration. This filter will log all information such as newly created sessions, messages received, messages sent, session closed. The next filter is a _ProtocolCodecFilter_. This filter will translate binary or protocol specific data into message object and vice versa. We use an existing TextLine factory because it will handle text base message for you (you don't have to write the codec part)
+
+    :::Java
+    import java.nio.charset.Charset;
+
+    import org.apache.mina.core.service.IoAcceptor;
+    import org.apache.mina.filter.codec.ProtocolCodecFilter;
+    import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
+    import org.apache.mina.filter.logging.LoggingFilter;
+    import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
+
+    public class MinaTimeServer
+    {
+        public static void main( String[] args )
+        {
+            IoAcceptor acceptor = new NioSocketAcceptor();
+
+            acceptor.getFilterChain().addLast( "logger", new LoggingFilter() );
+            acceptor.getFilterChain().addLast( "codec", new ProtocolCodecFilter( new TextLineCodecFactory( Charset.forName( "UTF-8" ))));
+        }
+    }
+
+At this point, we will define the handler that will be used to service client connections and the requests for the current time. The handler class is a class that must implement the interface IoHandler. For almost all programs that use MINA, this becomes the workhorse of the program, as it services all incoming requests from the clients. For this tutorial, we will extend the class IoHandlerAdapter. This is a class that follows the adapter design pattern which simplifies the amount of cod [...]
+
+    :::Java
+    import java.io.IOException;
+    import java.nio.charset.Charset;
+
+    import org.apache.mina.core.service.IoAcceptor;
+    import org.apache.mina.filter.codec.ProtocolCodecFilter;
+    import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
+    import org.apache.mina.filter.logging.LoggingFilter;
+    import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
+
+    public class MinaTimeServer
+    {
+        public static void main( String[] args ) throws IOException
+        {
+            IoAcceptor acceptor = new NioSocketAcceptor();
+
+            acceptor.getFilterChain().addLast( "logger", new LoggingFilter() );
+            acceptor.getFilterChain().addLast( "codec", new ProtocolCodecFilter( new TextLineCodecFactory( Charset.forName( "UTF-8" ))));
+
+            acceptor.setHandler(  new TimeServerHandler() );
+        }
+    }
+
+We will now add in the NioSocketAcceptor configuration. This will allow us to make socket-specific settings for the socket that will be used to accept connections from clients.
+
+    :::Java
+    import java.io.IOException;
+    import java.nio.charset.Charset;
+
+    import org.apache.mina.core.session.IdleStatus;
+    import org.apache.mina.core.service.IoAcceptor;
+    import org.apache.mina.filter.codec.ProtocolCodecFilter;
+    import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
+    import org.apache.mina.filter.logging.LoggingFilter;
+    import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
+
+    public class MinaTimeServer
+    {
+        public static void main( String[] args ) throws IOException
+        {
+            IoAcceptor acceptor = new NioSocketAcceptor();
+
+            acceptor.getFilterChain().addLast( "logger", new LoggingFilter() );
+            acceptor.getFilterChain().addLast( "codec", new ProtocolCodecFilter( new TextLineCodecFactory( Charset.forName( "UTF-8" ))));
+
+            acceptor.setHandler(  new TimeServerHandler() );
+
+            acceptor.getSessionConfig().setReadBufferSize( 2048 );
+            acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE, 10 );
+        }
+    }
+
+There are 2 new lines in the MinaTimeServer class. These methods set the set the IoHandler, input buffer size and the idle property for the sessions. The buffer size will be specified in order to tell the underlying operating system how much room to allocate for incoming data. The second line will specify when to check for idle sessions. In the call to setIdleTime, the first parameter defines what actions to check for when determining if a session is idle, the second parameter defines th [...]
+
+The code for the handler is shown below:
+
+    :::Java
+    import java.util.Date;
+
+    import org.apache.mina.core.session.IdleStatus;
+    import org.apache.mina.core.service.IoHandlerAdapter;
+    import org.apache.mina.core.session.IoSession;
+
+    public class TimeServerHandler extends IoHandlerAdapter
+    {
+        @Override
+        public void exceptionCaught( IoSession session, Throwable cause ) throws Exception
+        {
+            cause.printStackTrace();
+        }
+
+        @Override
+        public void messageReceived( IoSession session, Object message ) throws Exception
+        {
+            String str = message.toString();
+            if( str.trim().equalsIgnoreCase("quit") ) {
+                session.close();
+                return;
+            }
+
+            Date date = new Date();
+            session.write( date.toString() );
+            System.out.println("Message written...");
+        }
+
+        @Override
+        public void sessionIdle( IoSession session, IdleStatus status ) throws Exception
+        {
+            System.out.println( "IDLE " + session.getIdleCount( status ));
+        }
+    }
+
+The methods used in this class are _exceptionCaught_, _messageReceived_ and _sessionIdle_. _exceptionCaught_ should always be defined in a handler to process and exceptions that are raised in the normal course of handling remote connections. If this method is not defined, exceptions may not get properly reported.
+
+The _exceptionCaught_ method will simply print the stack trace of the error and close the session. For most programs, this will be standard practice unless the handler can recover from the exception condition.
+
+The _messageReceived_ method will receive the data from the client and write back to the client the current time. If the message received from the client is the word "quit", then the session will be closed. This method will also print out the current time to the client. Depending on the protocol codec that you use, the object (second parameter) that gets passed in to this method will be different, as well as the object that you pass in to the session.write(Object) method. If you do not s [...]
+
+The _sessionIdle_ method will be called once a session has remained idle for the amount of time specified in the call _acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE, 10 );_.
+
+All that is left to do is define the socket address that the server will listen on, and actually make the call that will start the server. That code is shown below:
+
+    :::Java
+    import java.io.IOException;
+    import java.net.InetSocketAddress;
+    import java.nio.charset.Charset;
+
+    import org.apache.mina.core.service.IoAcceptor;
+    import org.apache.mina.core.session.IdleStatus;
+    import org.apache.mina.filter.codec.ProtocolCodecFilter;
+    import org.apache.mina.filter.codec.textline.TextLineCodecFactory;
+    import org.apache.mina.filter.logging.LoggingFilter;
+    import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
+
+    public class MinaTimeServer
+    {
+        private static final int PORT = 9123;
+
+        public static void main( String[] args ) throws IOException
+        {
+            IoAcceptor acceptor = new NioSocketAcceptor();
+
+            acceptor.getFilterChain().addLast( "logger", new LoggingFilter() );
+            acceptor.getFilterChain().addLast( "codec", new ProtocolCodecFilter( new TextLineCodecFactory( Charset.forName( "UTF-8" ))));
+
+            acceptor.setHandler( new TimeServerHandler() );
+        acceptor.getSessionConfig().setReadBufferSize( 2048 );
+            acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE, 10 );
+            acceptor.bind( new InetSocketAddress(PORT) );
+        }
+    }
+
+
+
+## Try out the Time server
+
+At this point, we can go ahead and compile the program. Once you have compiled the program you can run the program in order to test out what happens. The easiest way to test the program is to start the program, and then telnet in to the program:
+
+| Client Output | Server Output |
+|---|---|
+| user@myhost:~> telnet 127.0.0.1 9123<br/>Trying 127.0.0.1...<br/>Connected to 127.0.0.1.<br/>Escape character is '^\]'.<br/>hello<br/>Mon Apr 09 23:42:55 EDT 2007<br/>quit<br/>Connection closed by foreign host.<br/>user@myhost:~> | MINA Time server started.<br/>Session created...<br/>Message written... |
+
+
+## What's Next?
+
+Please visit our [User Guide](userguide/user-guide-toc.html) page to find out more resources.
\ No newline at end of file
diff --git a/content/mina-project/related-projects.mdtext b/content/mina-project/related-projects.mdtext
new file mode 100644
index 0000000..d3ec7cb
--- /dev/null
+++ b/content/mina-project/related-projects.mdtext
@@ -0,0 +1,101 @@
+Title: Related Projects
+Notice:    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.
+
+<H1>Related Projects</H1>
+
+This page lists the projects which use Apache MINA as its networking layer. Please contact us if you are using MINA and you want to add a link to this page. You could also read the users' testimonials. To compare MINA to other network application frameworks, please refer to the 'Other network application frameworks' section below.
+
+[TOC]
+
+## Other network application frameworks
+
+<DIV class="note" markdown="1">
+	The projects referred in this section 'Other network application frameworks' are <B>not</B> based on MINA but are their own network application frameworks.  These links are provided for users who want to compare MINA to other network application frameworks.
+</DIV>
+
+### [Grizzly](https://grizzly.java.net/)
+
+Grizzly framework has been designed to help developers to take advantage of the Java™ NIO API. Originally developed under the GlassFish umbrella, the framework is now available as a standalone project. Grizzly goals is to help developers to build scalable and robust servers using NIO.
+
+### [Netty 3](http://www.jboss.org/netty/)
+
+The new version of Netty Trustin Lee is working on now. The Netty project is an effort to provide an asynchronous event-driven network application framework and tools for rapid development of maintainable high performance and high scalability protocol servers and clients.
+
+### [NIO Framework](http://nioframework.sourceforge.net/)
+
+The NIO Framework is a library on top of NIO that hides most of the complexity of plain NIO. With the NIO Framework you can implement high-performance Java network applications without having to deal with all the nasty details of NIO. The issues above are resolved while the performance is preserved.
+
+### [QuickServer](http://www.quickserver.org/)
+
+QuickServer is an open source Java library/framework for quick creation of robust multi-client TCP server applications. QuickServer provides an abstraction over the ServerSocket, Socket and other network and input output classes and it eases the creation of powerful network servers.
+
+### [xSocket](http://xsocket.sourceforge.net/)
+
+xSocket is a easy to use NIO-based library to build high performance, highly scalable network applications. It supports writing client-side applications as well as server-side applications in an intuitive way. Issues like low level NIO selector programming, connection pool management, connection timeout detection or fragmented buffer reads are encapsulated by xSocket.
+
+## Messaging
+
+### [Apache Camel](http://activemq.apache.org/camel/)
+
+Apache Camel is a POJO routing and mediation library for working with files, FTP, HTTP, MINA, JMS, JBI and web services.
+
+### [Apache Qpid (incubating)](http://cwiki.apache.org/qpid/)
+
+The Apache Qpid Project implemented [AMQP (Advanced Message Queuing Protocol)](http://www.amqp.org/) using Apache MINA.
+
+### [Avis](http://avis.sourceforge.net/)
+
+Avis is an event router service compatible with the commercial Elvin implementation developed by Mantara Software. Avis provides a fast, general-purpose publish/subscribe message bus.
+
+### [MailsterSMTP](http://tedorg.free.fr/en/projects.php?section=smtp)
+
+MailsterSMTP is designed to be a easy to understand Java library which provides a receptive SMTP server component. Using this library, you can easily receive mails using a simple Java interface, extend the set of implemented commands or control how mails are delivered by plugging your custom implementations.
+
+## Instant Messaging
+
+### [Jive Software Openfire](http://www.jivesoftware.com/products/openfire/)
+
+Jive Software Openfire implemented [XMPP (Extensible Messaging and Presence Protocol)](http://www.xmpp.org/) server on top of Apache MINA. After switching to Apache MINA, [they gained 11 times scalability boost](http://community.igniterealtime.org/blogs/ignite/2006/12/19/scalability-turn-it-to-eleven/).
+
+## Media Storage & Streaming
+
+### [OpenLSD](http://openlsd.free.fr/en/OpenLSD.html)
+
+OpenLSD is an open source framework for massive document archiving. The web site also contains an interesting performance test report.
+
+### [Red5](http://www.osflash.org/red5)
+
+OSFlash.org team implemented an open-source flash media streaming ([RTMP, Real Time Messaging Protocol](http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol)) server with Apache MINA.
+
+## Miscellaneous
+
+### [Apache Directory Project](http://directory.apache.org/)
+
+The Apache Directory Project implemented LDAP v3, Kerberos, DNS, DHCP, NTP, and ChangePW using Apache MINA.
+
+### [Beep4j](http://beep4j.sourceforge.net/)
+
+Beep4j is an open-source implementation of the [BEEP](http://www.beepcore.org/) specification (RFC3080 and RFC3081).
+
+### [VFS FTPServer Bridge](http://vfs-utils.sourceforge.net/ftpserver/index.html)
+
+This project provides an Apache Commons VFS implementation for the Apache FTPServer project. Instead of working only on local files, with this VFS bridge you can connect to any VFS provider. You can still use a local file system, but you can also use a ZIP file, loop through to another FTP server, or use any other available VFS implementation such as DctmVFS.
+
+### <a name="HDFSoverFTP" />[HDFS over FTP](https://sites.google.com/a/iponweb.net/hadoop/Home/hdfs-over-ftp)
+
+FTP server which works on a top of HDFS. It aAllows to connect to HDFS using any FTP client. FTP server is configurable by hdfs-over-ftp.conf and users.conf. Also it allows to use secure connection over SSL and supports all HDFS permissions
diff --git a/content/mina-project/resources/ACAsia2006.pdf b/content/mina-project/resources/ACAsia2006.pdf
new file mode 100644
index 0000000..33b014d
Binary files /dev/null and b/content/mina-project/resources/ACAsia2006.pdf differ
diff --git a/content/mina-project/resources/ACEU2006.pdf b/content/mina-project/resources/ACEU2006.pdf
new file mode 100644
index 0000000..2e98aec
Binary files /dev/null and b/content/mina-project/resources/ACEU2006.pdf differ
diff --git a/content/mina-project/resources/ACEU2007.pdf b/content/mina-project/resources/ACEU2007.pdf
new file mode 100644
index 0000000..9023d49
Binary files /dev/null and b/content/mina-project/resources/ACEU2007.pdf differ
diff --git a/content/mina-project/resources/ACUS2005.pdf b/content/mina-project/resources/ACUS2005.pdf
new file mode 100644
index 0000000..d684eca
Binary files /dev/null and b/content/mina-project/resources/ACUS2005.pdf differ
diff --git a/content/mina-project/resources/ACUS2005.swf b/content/mina-project/resources/ACUS2005.swf
new file mode 100644
index 0000000..87c52eb
Binary files /dev/null and b/content/mina-project/resources/ACUS2005.swf differ
diff --git a/content/mina-project/resources/ACUS2007.pdf b/content/mina-project/resources/ACUS2007.pdf
new file mode 100644
index 0000000..c828b39
Binary files /dev/null and b/content/mina-project/resources/ACUS2007.pdf differ
diff --git a/content/mina-project/resources/JavaOne2008.pdf b/content/mina-project/resources/JavaOne2008.pdf
new file mode 100644
index 0000000..adcc186
Binary files /dev/null and b/content/mina-project/resources/JavaOne2008.pdf differ
diff --git a/content/mina-project/resources/Mina_in_real_life_ASEU-2009.pdf b/content/mina-project/resources/Mina_in_real_life_ASEU-2009.pdf
new file mode 100644
index 0000000..a4cc58e
--- /dev/null
+++ b/content/mina-project/resources/Mina_in_real_life_ASEU-2009.pdf
@@ -0,0 +1,9 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
+<html><head>
+<title>404 Not Found</title>
+</head><body>
+<h1>Not Found</h1>
+<p>The requested URL /conferences.data/Mina_in_real_life_ASEU-2009.pdf was not found on this server.</p>
+<hr>
+<address>Apache/2.4.1 (Unix) OpenSSL/1.0.0g Server at mina.apache.org Port 80</address>
+</body></html>
diff --git a/content/mina-project/road-map.mdtext b/content/mina-project/road-map.mdtext
new file mode 100644
index 0000000..82f7c2a
--- /dev/null
+++ b/content/mina-project/road-map.mdtext
@@ -0,0 +1,36 @@
+Title: Testimonials
+Notice:    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.
+
+Please click the following links to find out what issues have been resolved and what issues will be resolved.
+
+* [Road map for the future releases](http://issues.apache.org/jira/browse/DIRMINA?report=com.atlassian.jira.plugin.system.project:roadmap-panel&subset=-1)
+* [Change log for the past releases](http://issues.apache.org/jira/browse/DIRMINA?report=com.atlassian.jira.plugin.system.project:changelog-panel&subset=-1)
+
+## Genesis of MINA
+
+by Trustin Lee 
+
+In June 2004, I released a network application framework, 'Netty2'. It was the first network application framework that provides event-based architecture in Java community. It attracted network application programmers because of its simplicity and ease of use. As the Netty2 community matured, its problems also arose. Netty2 didn't work fine with text protocols and had a critical architectural flaw that prevents users from using it for applications with many concurrent clients.
+
+Quite a large amount of information was collected about what users like about Netty2 and what improvements they want from it for 6 months. It was clear they like its ease of use and unit-testability. They wanted support for UDP/IP and text protocols. I had to invent a cleaner, more flexible, and more extensible API so that it is easy to learn yet full-featured.
+
+Meanwhile around 2003 at Apache Directory, Alex Karasulu was wrestling with a network application framework he developed based on the [Matt Welsh's SEDA (Staged Event Driven Architecture)|http://www.eecs.harvard.edu/~mdw/proj/seda/].  After several iterations Alex realized it was very difficult to manage, and started to research other network application frameworks looking for a replacement.  He wanted something for Java that would scale like SEDA yet was simple to use like [ACE|http://w [...]
+
+In September 2004, I formally joined the Apache Directory team.  Alex and I decided to mix concepts between the two architectures to create a new network application framework.  We exchanged various ideas to extract the strengths of both legacy frameworks to ultimately come up with what is today's 'MINA'.
+
+Since then MINA became the primary network application framework used by the Apache Directory project for the various implemented by Apache Directory Server (ApacheDS). Several complex protocols in ApacheDS are implemented with MINA: LDAP, Kerberos, DNS and NTP.
diff --git a/content/mina-project/set-svnprops-tortoisesvn.mdtext b/content/mina-project/set-svnprops-tortoisesvn.mdtext
new file mode 100644
index 0000000..f8a56d5
--- /dev/null
+++ b/content/mina-project/set-svnprops-tortoisesvn.mdtext
@@ -0,0 +1,82 @@
+Title: Setting SVN Properties in Tortoise SVN
+Notice:    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.
+
+
+# Setting SVN Properties in Tortoise SVN
+
+This article is for configuring SVN properties for TortoiseSVN Client
+
+To maintain header's with revision tags like, we need to set SVN properties.
+
+    /**
+     * @version $Rev: 529576 $, $Date: 2007-04-17 14:25:07 +0200 (mar., 17 avr. 2007) $
+    */
+
+Lets see how to set these properties in Tortoise SVN Client
+
+Open Tortoise SVN Client setting, (Right Click-> Tortoise SVN -> Settings)
+
+![TortoiseSVN](../staticresources/images/mina/tortoisesvn_setting.png)
+
+Click Edit button (as shown in figure)
+
+![TortoiseSVN setting](../staticresources/images/mina/tortoisesvn_settingdialog.png)
+
+The svn properties config file shall open up.
+
+Search for enable-auto-props = yes and uncomment, if not already done. The attribute is under miscellany
+
+Configure the properties auto-props section
+
+Please note that I have taken these properties from <http://wiki.apache.org/incubator-yoko/SetUpAutoProps>. Feel free to
+update as per your needs.
+
+	:::text
+	*.java = svn:eol-style=native;svn:keywords=Rev Date
+	*.xml = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords=Rev Date
+	*.xsl = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords=Rev Date
+	*.xsd = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords=Rev Date
+	*.wsdl = svn:mime-type=text/xml;svn:eol-style=native;svn:keywords=Rev Date
+	*.properties = svn:mime-type=text/plain;svn:eol-style=native;svn:keywords=Rev Date
+	*.c = svn:eol-style=native
+	*.cpp = svn:eol-style=native
+	*.h = svn:eol-style=native
+	*.dsp = svn:eol-style=CRLF
+	*.dsw = svn:eol-style=CRLF
+	*.sh = svn:eol-style=native;svn:executable
+	*.bat = svn:eol-style=native
+	*.pl = svn:eol-style=native
+	*.py = svn:eol-style=native
+	*.cmd = svn:eol-style=native
+	*.txt = svn:eol-style=native;svn:mime-type=text/plain
+	*.htm* = svn:eol-style=native;svn:mime-type=text/html;svn:keywords=Rev Date
+	ChangeLog = svn:eol-style=native;svn:mime-type=text/plain
+	README* = svn:eol-style=native;svn:mime-type=text/plain
+	LICENSE* = svn:eol-style=native;svn:mime-type=text/plain
+	NOTICE* = svn:eol-style=native;svn:mime-type=text/plain
+	TODO* = svn:eol-style=native;svn:mime-type=text/plain
+	KEYS* = svn:eol-style=native;svn:mime-type=text/plain
+	INSTALL* = svn:eol-style=native;svn:mime-type=text/plain
+	WHATSNEW* = svn:eol-style=native;svn:mime-type=text/plain
+	*.png = svn:mime-type=image/png
+	*.jpg = svn:mime-type=image/jpeg
+	*.gif = svn:mime-type=image/gif
+	Makefile = svn:eol-style=native
+	*.css = svn:eol-style=native
+	*.js = svn:eol-style=native
+
diff --git a/content/mina-project/sources.mdtext b/content/mina-project/sources.mdtext
new file mode 100644
index 0000000..4e0885c
--- /dev/null
+++ b/content/mina-project/sources.mdtext
@@ -0,0 +1,110 @@
+Title: Sources
+Notice:    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.
+
+## Overview
+
+Sources for the Apache MINA projects are currently managed through GIT. Instructions on GIT use can be found at <http://git-scm.com/book/>.
+
+For each project you can find a detailed description how to checkout and build the source on the project documentation. This page is just a short overview.
+
+
+# Normal Git Access
+
+Anyone can check code out of Git. You only need to specify a username and password in order to update the Git repository, and only MINA committers have the permissions to do that. We run Git over standard HTTPS, so hopefully you won't have problems with intervening firewalls.
+
+## Web Access
+
+The following is a link to the [online source repository](https://gitbox.apache.org/repos/asf?p=mina.git;a=summary).
+
+# Cloning from the Git repo
+
+Again, anyone can do this. Use a command like to checkout the current development version (the trunk):
+
+### For MINA
+
+read only access :
+
+    $ git clone http://gitbox.apache.org/repos/asf/mina.git mina
+
+write access :
+
+    $ git clone https://gitbox.apache.org/repos/asf/mina.git mina
+
+Note that you will get the full repository, and you may probably want to work on a specific branch. We currently have 2 active branches :
+
+  * Mina 2.0
+  * Mina 3.0
+
+Cloning the MINA repository will get you to the trunk, ie the MINA 3.0 branch. If you want to work on th MINA 2.0 branch, you ought to checkout the latest 2.0 tag, after having cloned the repository :
+
+    $ git checkout -b 2.0.10 2.0.10
+
+For the record, here are the various branches you can see :
+
+    $ git tag
+    0.8.3
+    0.8.4
+    0.9.1
+    ...
+    0.9.5
+    1.0.0
+    1.0.1
+    ...
+    1.0.10
+    1.1.0
+    1.1.1
+    ...
+    1.1.7
+    2.0.0-M1
+    2.0.0-M2
+    ...
+    2.0.0-M6
+    2.0.0-RC1
+    2.0.0
+    2.0.1
+    ...
+    2.0.10
+    3.0.0-M1
+    3.0.0-M2
+    mina-parent-3.0.0-M1
+
+# Building MINA
+
+Instructions on how to build MINA can be found [here](developer-guide.html)
+
+# Released version
+
+The following table displays the URL of each project, and the URL where you can find information about how to build each project.
+
+| Subproject/Documentation | Git URL |
+|---|---|
+| [MINA](http://mina.apache.org/mina-project/developer-guide.html) | [https://gitbox.apache.org/repos/asf/mina.git](https://gitbox.apache.org/repos/asf/mina.git) |
+| [FtpServer](http://mina.apache.org/ftpserver-project/building.html) | [https://gitbox.apache.org/repos/asf/mina-ftpserver.git](https://gitbox.apache.org/repos/asf/mina-ftpserver.git) |
+| [Sshd](http://mina.apache.org/sshd-project/documentation.html) | [https://gitbox.apache.org/repos/asf/mina-sshd.git](https://gitbox.apache.org/repos/asf/mina-sshd.git) |
+| [Vysper](http://mina.apache.org/vysper-project/documentation.html) | [https://gitbox.apache.org/repos/asf/mina-vysper.git](https://gitbox.apache.org/repos/asf/mina-vysper.git) |
+| [AsyncWeb](http://mina.apache.org/asyncweb-project) | [https://gitbox.apache.org/repos/asf/mina-asyncweb.git](https://gitbox.apache.org/repos/asf/mina-asyncweb.git) |
+
+# Commit Changes to Git
+
+In order to be able to push some modification, you have to be a committer.
+
+# Documentation
+The Website documentation is published via Apache SVN pubsub. The website source resides at
+
+[https://svn.apache.org/repos/asf/mina/site/trunk](https://svn.apache.org/repos/asf/mina/site/trunk)
+
diff --git a/content/mina-project/technical-documentation/message-flow.mdtext b/content/mina-project/technical-documentation/message-flow.mdtext
new file mode 100644
index 0000000..de76a48
--- /dev/null
+++ b/content/mina-project/technical-documentation/message-flow.mdtext
@@ -0,0 +1,206 @@
+Title: Message flow
+Notice:    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.
+
+# Message flow
+
+When a selector receives some _OP_READ_ event, the associated _IoProcessor_ is awaken and starts to process this event. It all starts with reading the channel, then pushing the read data through the filter chain down to the _IoHandler_ (aka, the application). If the application decides to write back a response, it goes through the chain again, andultimately the data to be pushed into the channel is pushed into a queue (_writeRequestQueue), then the stack is unfolled, down to the _IoProce [...]
+
+Here is the representation of such a flow, where the _SslFilter_ has been included (we will come back to it later)
+
+    :::text
+                       +-------------------+
+                       |     IoAcceptor    |
+                       |    +---------+    |
+                       |    | Select  |    |
+                       |    +----+----+    |
+                       |         |         |
+                       +---------+---------+
+                                 .                                           flush/
+    +---------+                  .                  +---------+              wakeup
+    | Channel <-----read------+  .  +-----write-----> Channel |              +----+
+    +---------+               |  |  |               +---------+              |    |
+                          +---+--v--+---+                               +----v----+---+
+                          |             |       writeRequestQueue       |             |
+                          | IoProcessor |       +-+-+-+-+-+-+-+-+       | IoProcessor |
+                          |             <- pop -+ | | | | | | | <- put- |             |
+                          +---+-----^---+       +-+-+-+-+-+-+-+-+       +---------^---+
+                              |     .                                       .     |
+          fireMessageReceived |     .                                       .     | write
+                              |     .                                       .     |
+                          +---v---------+                               +---v-----+---+
+                          | HeadFilter  |                               | HeadFilter  <---------------filterWrite---------------+
+                          +---+-----^---+                               +-------------+                                         |
+                              |     .                                       .                                             +-----+------+
+              MessageReceived |     .                                       .      +----------flushScheduledEvents--------> SslHandler |
+                              |     .                                       .      |                                      +-----+------+
+                          +---v---------+                               +---v------+--+                                         |
+                          | SslFilter   |                               | SslFilter   +----put----+                             |
+                          +---+-----^---+                               +---------^---+           |                             |
+                              |     .                                       .     |               |  filterWriteQueue           |
+              MessageReceived |     .                                       .     | filterWrite   |  +-+-+-+-+-+-+-+-+          |
+                              |     .                                       .     |               +--> | | | | | | | <----pop---+
+                          +---v---------+                               +---v---------+              +-+-+-+-+-+-+-+-+
+                          | <filters>   |                               | <filters>   |
+                          +---+-----v---+                               +-------------+
+                              |     .                                       .     |
+              MessageReceived |     .                                       .     | filterWrite
+                              |     .                                       .     |
+                          +---v---------+                               +---v-----+---+
+                          | TailFilter  |                               | TailFilter  |
+                          +---+-----^---+                               +---------^---+
+                              |     .                                       .     |
+              MessageReceived |     .                                       .     | fireFilterWrite
+                              |     .                                       .     |
+                          +---v---------+                                   .     |
+                          | IoHandler   |                                   .     |
+                          +---+-----^---+                                   .     |
+                              |     .                                       .     |
+                              |     .........................................     |
+                              |                                                   |
+                              +-------------------sessionWrite--------------------+
+
+
+For instance, if we consider an application which filter chain contains the _MdcInjectionFilter_, _SslFilter_, _CompressionFilter_, _ProtocolCodecFilter_, _LoggingFilter_, we end uo with a stack of 77 calls, which needs to be emptied before the response can eventually be written. Here is the stack (in reverse order, the latest call on top of it):
+
+    :::text
+    NioProcessor(AbstractPollingIoProcessor<S>).flush(S) line: 449  
+    NioProcessor(AbstractPollingIoProcessor<S>).write(S, WriteRequest) line: 436  
+    NioProcessor(AbstractPollingIoProcessor<S>).write(IoSession, WriteRequest) line: 68 
+    SimpleIoProcessorPool<S>.write(S, WriteRequest) line: 278 
+    SimpleIoProcessorPool<S>.write(IoSession, WriteRequest) line: 80  
+    DefaultIoFilterChain$HeadFilter.filterWrite(IoFilter$NextFilter, IoSession, WriteRequest) line: 914 
+    DefaultIoFilterChain.callPreviousFilterWrite(IoFilterChain$Entry, IoSession, WriteRequest) line: 753  
+    DefaultIoFilterChain.access$1500(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, WriteRequest) line: 49 
+    DefaultIoFilterChain$EntryImpl$1.filterWrite(IoSession, WriteRequest) line: 1146  
+    IoFilterEvent.fire() line: 131  
+    MdcInjectionFilter.filter(IoFilterEvent) line: 162  
+    MdcInjectionFilter(CommonEventFilter).filterWrite(IoFilter$NextFilter, IoSession, WriteRequest) line: 68  
+    DefaultIoFilterChain.callPreviousFilterWrite(IoFilterChain$Entry, IoSession, WriteRequest) line: 753  
+    DefaultIoFilterChain.access$1500(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, WriteRequest) line: 49 
+    DefaultIoFilterChain$EntryImpl$1.filterWrite(IoSession, WriteRequest) line: 1146  
+    SslHandler.flushScheduledEvents() line: 330 
+    SslFilter.filterWrite(IoFilter$NextFilter, IoSession, WriteRequest) line: 671 
+    DefaultIoFilterChain.callPreviousFilterWrite(IoFilterChain$Entry, IoSession, WriteRequest) line: 753  
+    DefaultIoFilterChain.access$1500(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, WriteRequest) line: 49 
+    DefaultIoFilterChain$EntryImpl$1.filterWrite(IoSession, WriteRequest) line: 1146  
+    CompressionFilter.filterWrite(IoFilter$NextFilter, IoSession, WriteRequest) line: 152 
+    DefaultIoFilterChain.callPreviousFilterWrite(IoFilterChain$Entry, IoSession, WriteRequest) line: 753  
+    DefaultIoFilterChain.access$1500(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, WriteRequest) line: 49 
+    DefaultIoFilterChain$EntryImpl$1.filterWrite(IoSession, WriteRequest) line: 1146  
+    ProtocolCodecFilter.filterWrite(IoFilter$NextFilter, IoSession, WriteRequest) line: 340 
+    DefaultIoFilterChain.callPreviousFilterWrite(IoFilterChain$Entry, IoSession, WriteRequest) line: 753  
+    DefaultIoFilterChain.access$1500(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, WriteRequest) line: 49 
+    DefaultIoFilterChain$EntryImpl$1.filterWrite(IoSession, WriteRequest) line: 1146  
+    LoggingFilter(IoFilterAdapter).filterWrite(IoFilter$NextFilter, IoSession, WriteRequest) line: 138  
+    DefaultIoFilterChain.callPreviousFilterWrite(IoFilterChain$Entry, IoSession, WriteRequest) line: 753  
+    DefaultIoFilterChain.access$1500(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, WriteRequest) line: 49 
+    DefaultIoFilterChain$EntryImpl$1.filterWrite(IoSession, WriteRequest) line: 1146  
+    DefaultIoFilterChain$TailFilter(IoFilterAdapter).filterWrite(IoFilter$NextFilter, IoSession, WriteRequest) line: 138  
+    DefaultIoFilterChain.callPreviousFilterWrite(IoFilterChain$Entry, IoSession, WriteRequest) line: 753  
+    DefaultIoFilterChain.fireFilterWrite(WriteRequest) line: 746  
+    NioSocketSession(AbstractIoSession).write(Object, SocketAddress) line: 570  
+    NioSocketSession(AbstractIoSession).write(Object) line: 515 
+    ChatProtocolHandler.messageReceived(IoSession, Object) line: 106  
+    DefaultIoFilterChain$TailFilter.messageReceived(IoFilter$NextFilter, IoSession, Object) line: 1015  
+    DefaultIoFilterChain.callNextMessageReceived(IoFilterChain$Entry, IoSession, Object) line: 650  
+    DefaultIoFilterChain.access$1300(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, Object) line: 49 
+    DefaultIoFilterChain$EntryImpl$1.messageReceived(IoSession, Object) line: 1128  
+    LoggingFilter.messageReceived(IoFilter$NextFilter, IoSession, Object) line: 208 
+    DefaultIoFilterChain.callNextMessageReceived(IoFilterChain$Entry, IoSession, Object) line: 650  
+    DefaultIoFilterChain.access$1300(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, Object) line: 49 
+    DefaultIoFilterChain$EntryImpl$1.messageReceived(IoSession, Object) line: 1128  
+    ProtocolCodecFilter$ProtocolDecoderOutputImpl.flush(IoFilter$NextFilter, IoSession) line: 413 
+    ProtocolCodecFilter.messageReceived(IoFilter$NextFilter, IoSession, Object) line: 257 
+    DefaultIoFilterChain.callNextMessageReceived(IoFilterChain$Entry, IoSession, Object) line: 650  
+    DefaultIoFilterChain.access$1300(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, Object) line: 49 
+    DefaultIoFilterChain$EntryImpl$1.messageReceived(IoSession, Object) line: 1128  
+    CompressionFilter.messageReceived(IoFilter$NextFilter, IoSession, Object) line: 169 
+    DefaultIoFilterChain.callNextMessageReceived(IoFilterChain$Entry, IoSession, Object) line: 650  
+    DefaultIoFilterChain.access$1300(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, Object) line: 49 
+    DefaultIoFilterChain$EntryImpl$1.messageReceived(IoSession, Object) line: 1128  
+    SslHandler.flushScheduledEvents() line: 335 
+    SslFilter.messageReceived(IoFilter$NextFilter, IoSession, Object) line: 553 
+    DefaultIoFilterChain.callNextMessageReceived(IoFilterChain$Entry, IoSession, Object) line: 650  
+    DefaultIoFilterChain.access$1300(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, Object) line: 49 
+    DefaultIoFilterChain$EntryImpl$1.messageReceived(IoSession, Object) line: 1128  
+    IoFilterEvent.fire() line: 105  
+    MdcInjectionFilter.filter(IoFilterEvent) line: 162  
+    MdcInjectionFilter(CommonEventFilter).messageReceived(IoFilter$NextFilter, IoSession, Object) line: 84  
+    DefaultIoFilterChain.callNextMessageReceived(IoFilterChain$Entry, IoSession, Object) line: 650  
+    DefaultIoFilterChain.access$1300(DefaultIoFilterChain, IoFilterChain$Entry, IoSession, Object) line: 49 
+    DefaultIoFilterChain$EntryImpl$1.messageReceived(IoSession, Object) line: 1128  
+    DefaultIoFilterChain$HeadFilter(IoFilterAdapter).messageReceived(IoFilter$NextFilter, IoSession, Object) line: 122  
+    DefaultIoFilterChain.callNextMessageReceived(IoFilterChain$Entry, IoSession, Object) line: 650  
+    DefaultIoFilterChain.fireMessageReceived(Object) line: 643  
+    NioProcessor(AbstractPollingIoProcessor<S>).read(S) line: 539 
+    AbstractPollingIoProcessor<S>.access$1200(AbstractPollingIoProcessor, AbstractIoSession) line: 68 
+    AbstractPollingIoProcessor$Processor.process(S) line: 1223  
+    AbstractPollingIoProcessor$Processor.process() line: 1212 
+    AbstractPollingIoProcessor$Processor.run() line: 683  
+    NamePreservingRunnable.run() line: 64 
+    ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) line: 1149  
+    ThreadPoolExecutor$Worker.run() line: 624 
+    Thread.run() line: 748  
+
+Writing the data is done when we are back in the AbstractPollingIoProcessor$Processor.run() call. Here is the stack for that action :
+
+    :::text
+    NioProcessor.write(NioSession, IoBuffer, int) line: 384 
+    NioProcessor.write(AbstractIoSession, IoBuffer, int) line: 47 
+    AbstractPollingIoProcessor$Processor.writeBuffer(S, WriteRequest, boolean, int, long) line: 1107  
+    AbstractPollingIoProcessor$Processor.flushNow(S, long) line: 994  
+    AbstractPollingIoProcessor$Processor.flush(long) line: 921  
+    AbstractPollingIoProcessor$Processor.run() line: 688  
+    NamePreservingRunnable.run() line: 64 
+    ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) line: 1149  
+    ThreadPoolExecutor$Worker.run() line: 624 
+    Thread.run() line: 748  
+
+
+## The SslFilter implementation
+
+As we can see,the _SslFilter_ never calls the next filter. It delegates that to the _SslHandler_ class. The trick is that it uses a queue to store encrypted messages, which will wait until the message is fully encrypted before flushing them. The rational is that a message can be pretty big, and teh **SSL/TLS** protocol just allows limited encrypted data blocks (around 16k), so it keeps each block of encrypted data into the queue temporarily.
+
+
+# Room for improvements
+
+
+## Reducing the stack size
+
+This is clearly sub-optimal. First of all, the stack is crazy big, there is no reason for that. The idea was intially to allow a session to dynamically update the chain, by adding or removing a filter while a session is active. This is a fine idea, as some protocols need to do that: typically, LDAP allows a user to send a _startTls_ extended request which tells the server to establish a secured communication. In this very case, we add the _SslFilter_ in the session's filter chain.
+
+Now, we can do that more efficiently. A session's filter chain is created when the session itself is created. Adding a new filter in this chain is done by the application, and at this point, no other thread uses this session (each session is associated with one single _IoProcessor_ instance's thread), unless an _ExecutorFilter_ has been added to the chain. In this case, things get complicated... Having an _ExecutorFilter_ in the chain means any event can be processed concurrently, in dif [...]
+Typically, adding a _SslFilter_ in a chain while a message is being written is problematic: 
+* we have to wait for any pending messages to be sent to the remote peer, which may have already initiated a handshake (although it's the client responsability to handle this situation), or we decide to dicth any of those messages (the right thing to do, IMHO)
+* we have to deal with any message that are somewhere in the chain before the _SslFilter_. Again, the strategy would be to discard them
+* and we have to deal with any message somwhere in the chain after the _SslFilter_ and before they are pushed into the session write queue, for the exact same reason.
+
+For messages received *before* the addition of the _SslFilter_, but still in the chain, we should ditch them for the exact same reason.
+
+Bottom line, this is a application issue, and should be handled by the application, because **MINA** can't deal with all the possible. starties in place of the application.
+
+That being said, we can use the _IoProcessor_ as a controller. It would b eits responsability to propagate events from one filter to the other, using such a loop:
+
+    :::text
+    for each filter in the chain 
+      do
+        propagate the event to the filter with the previous result
+        store the result 
+      done
+
+What we call the 'result' is just the transformed data. Typically, when calling the _ProtocolCodecFilter.messageReceived_ event, the result will be the decoded message, not the _IoBuffer_ (or whatever) input. This will be passed to the next filter (remember that the _IoFilter.messageReceived_ method takes an _Object_ as a parameter).
\ No newline at end of file
diff --git a/content/mina-project/technical-documentation/ssl-tls-internal.mdtext b/content/mina-project/technical-documentation/ssl-tls-internal.mdtext
new file mode 100644
index 0000000..aca8447
--- /dev/null
+++ b/content/mina-project/technical-documentation/ssl-tls-internal.mdtext
@@ -0,0 +1,66 @@
+Title: SSL/TLS internals
+Notice:    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.
+
+# SSL/TLS internals
+
+This is a technical description of how SSL/TLS are handled in MINA. You don't need to read this to have it working, better have a look at the [SslFilter user guide](../userguide/ch11-ss-filter/ch11-ssl-filter.html) page. However, if you want to get a deeper understanding on how it's built, this is the place !
+
+## Components
+
+The **SslFilter** is the filter that command everything related to **SSL/TLS**. It works hands in hands with the **SSLHandler** class, which handles the logic.
+
+With **NIO**, Java provides a special class that handles the **SSL/TLS** protocol, the **SSLEngine** class. It's quite a complex piece of code, and it requires some time to tame it... We will have a look into it during this tutotial.
+
+## Creation
+
+In order to inject the filter in the chain, it must first be created. This filter takes one or two parameters:
+* **SSLContext**: the Java class that contains all the information related to the **SSL/TLS** establishment
+* __autoStart__: tells if the handshake should be started immediately. This is an optional parameter, defaulting to **TRUE**. In some cases, like when using __startTLS__, it's critical to not start the handshake immediately, as it will be established on demand.
+
+## Initialization
+
+When injecting the **SslFilter** into your chain, either before starting your service, or while running it, it has to be initialized in some way. Actually, this is a two phases process :
+- pre-initialization, during the filter injection
+- post-initialization, by starting the Handshake dialog
+
+Most of the time, both phases will be merged, as one can tell the first phase to immediately starts the second.
+
+In any case, it's handled by the __onPreAdd__ and __onPostAdd_ events, which means it's automatically processed when you push the **SslFilter** into the chain.
+
+### onPreAdd
+
+The **SslHandler** class is created and initialized, and the instance is stored into the session attributes. That means each session has its own instance of **SslHandler**. This initialization will create a **SSLEngine** instance based on the provided **SSLContext** instance. The initialization will differ based on the 'side' you are on: server or client. Basically, the server side will wait for the client to initiate the handshake, while the client side will intitiate it.
+
+It's also responsible to set the enabled ciphers and protocols, if one wants to use a restricted set, or an extended set (newer versions of Java have disabled old protocols and insecured ciphers).
+
+Last, not least, it sets a list of status flags :
+* writingEncryptedData: false. This flag is used during the handshake
+* handshakeStatus: the HandShake status, which is originally set to __NOT_HANDSHAKING__
+* firstSSLNegociation: true. This flag is used to tell the **sslHandler** to send or not an event to the application (MINA 2.1 only)
+* handshakeComplete: false. It will be set to true when teh handshake has been completed.
+
+Side note: those flags are probably spurious. Some cleanup might be done to get rid of the useless ones.
+
+
+## onPostAdd
+
+This event will initiate an immediate handshake if required. Depending on the perr side, the action will be different.
+
+- if we are on the server peer
+
+
diff --git a/content/mina-project/testimonials.mdtext b/content/mina-project/testimonials.mdtext
new file mode 100644
index 0000000..8b07c07
--- /dev/null
+++ b/content/mina-project/testimonials.mdtext
@@ -0,0 +1,119 @@
+Title: Testimonials
+Notice:    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.
+
+[__Marko Asplund__](http://practicingtechie.wordpress.com/2012/08/06/asynchronous-event-driven-servers-with-apache-mina/) says:
+
+> I found that Apache MINA really did fulfill its promise and implementing a high-performance, scalable and extensible network server was easy using it. MINA also helps very cleanly separate network communication and application level message processing logic. Supporting multiple different protocols in in the same server is well supported in MINA. As a downside the documentation for v2.0 is a bit lacking, but fortunately there are quite a few code samples that you can check out.
+
+__Maarten Bosteels__ says:
+
+> EURid used MINA during the landrush for .eu domain names on the 7th of april 2006. More than 700.000 domain names were registered during the first 4 hours. After one hour MINA had handled more than 0.5 million SSL connections.
+
+> We found the speed and stability of MINA to be excellent. And although we are still using MINA 0.8.1, we found the API very elegant and easy.
+
+__Fr&eacute;d&eacute;ric Br&eacute;gier__ says:
+
... 12228 lines suppressed ...


[mina-site] 08/08: Merge pull request #2 from rlenferink/site-fixes

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mina-site.git

commit 70dc851ccd06816c9bbc95cc5d4c4448006259af
Merge: 9135191 ecea7fa
Author: Emmanuel Lécharny <el...@apache.org>
AuthorDate: Thu Feb 27 14:27:39 2020 +0100

    Merge pull request #2 from rlenferink/site-fixes
    
    Site improvements

 layouts/shortcodes/html.html                       |  1 +
 source/asyncweb-project/__index.md                 |  2 +-
 source/asyncweb-project/contributors.md            |  2 +-
 source/contributors.md                             |  6 ++--
 .../ftpserver-project/configuration_listeners.md   | 10 +++---
 source/ftpserver-project/configuration_server.md   |  4 +--
 .../configuration_user_manager_db.md               | 22 ++++++------
 .../configuration_user_manager_file.md             |  2 +-
 source/ftpserver-project/contributors.md           |  2 +-
 source/ftpserver-project/ftplet.md                 | 20 +++++------
 source/ftpserver-project/managing_users.md         | 36 +++++++++++--------
 source/ftpserver-project/messages.md               |  4 +--
 source/mina-project/__index.md                     |  8 ++---
 source/mina-project/conferences.md                 |  2 +-
 source/mina-project/documentation.md               |  2 +-
 source/mina-project/downloads_2_0.md               | 21 +++++++-----
 source/mina-project/downloads_2_1.md               |  8 ++---
 source/mina-project/downloads_old.md               | 10 +++---
 source/mina-project/features.md                    |  3 +-
 source/mina-project/testimonials.md                |  8 ++---
 .../ch1-getting-started/ch1.3-features.md          |  2 +-
 .../ch2-basics/ch2.1-application-architecture.md   |  2 +-
 .../ch2-basics/ch2.2-sample-tcp-server.md          |  2 +-
 .../ch2-basics/ch2.3-sample-tcp-client.md          |  2 +-
 .../userguide/ch4-session/ch4-session.md           |  2 +-
 .../userguide/ch5-filters/ch5-filters.md           | 24 ++++++-------
 source/special-thanks.md                           |  4 +--
 source/sshd-project/contributors.md                |  6 ++--
 source/vysper-project/embed.md                     | 12 +++----
 source/vysper-project/service_discovery.md         |  6 ++--
 source/vysper-project/socks5.md                    |  2 +-
 source/vysper-project/standards_supported.md       | 40 +++++++++++-----------
 32 files changed, 143 insertions(+), 134 deletions(-)


[mina-site] 07/08: Indentation fixes and code style improvements

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mina-site.git

commit ecea7fa9b42d98618fcaacb512c87a6060068118
Author: Roy Lenferink <le...@gmail.com>
AuthorDate: Thu Feb 27 13:58:01 2020 +0100

    Indentation fixes and code style improvements
---
 source/asyncweb-project/__index.md   |  2 +-
 source/mina-project/downloads_2_0.md | 21 +++++++++++++--------
 source/mina-project/downloads_2_1.md |  8 ++++----
 source/mina-project/downloads_old.md | 10 +++++-----
 4 files changed, 23 insertions(+), 18 deletions(-)

diff --git a/source/asyncweb-project/__index.md b/source/asyncweb-project/__index.md
index b18dd6b..672902e 100644
--- a/source/asyncweb-project/__index.md
+++ b/source/asyncweb-project/__index.md
@@ -7,7 +7,7 @@ slug: index
 # Apache AsyncWeb
 
 <div class="note" markdown="1" >
-The **AsyncWeb** project is currently dormant. We don't have committers for it, so if you feel like you can give an hand, please do contact us !
+    The <strong>AsyncWeb</strong> project is currently dormant. We don't have committers for it, so if you feel like you can give an hand, please do contact us !
 </div>
 
 Apache AsyncWeb (built on top of the Apache MINA network framework) employs non-blocking selector driven IO at the transport level, and is asynchronous throughout - from the initial parsing of requests, right through to and including the services implemented by users.
diff --git a/source/mina-project/downloads_2_0.md b/source/mina-project/downloads_2_0.md
index bdd87e2..593cdf3 100644
--- a/source/mina-project/downloads_2_0.md
+++ b/source/mina-project/downloads_2_0.md
@@ -34,19 +34,24 @@ title: MINA 2.0.x Downloads
 
 The PGP signatures can be verified using PGP or GPG. First download the [KEYS](https://www.apache.org/dist/mina/KEYS) as well as the asc signature file for the relevant distribution. Then verify the signatures using:
 
-    $ pgpk -a KEYS
-    $ pgpv mina-2.0.21.tar.gz.asc
+```bash
+$ pgpk -a KEYS
+$ pgpv mina-2.0.21.tar.gz.asc
+```
 
 or
 
-    $ pgp -ka KEYS
-    $ pgp mina-2.0.21.tar.gz.asc
-    
-or
+```bash
+$ pgp -ka KEYS
+$ pgp mina-2.0.21.tar.gz.asc
+```
 
-    $ gpg --import KEYS
-    $ gpg --verify mina-2.0.21.tar.gz.asc
+or
 
+```bash
+$ gpg --import KEYS
+$ gpg --verify mina-2.0.21.tar.gz.asc
+```
 
 # Previous Releases
 
diff --git a/source/mina-project/downloads_2_1.md b/source/mina-project/downloads_2_1.md
index 2da9bba..4389f5b 100644
--- a/source/mina-project/downloads_2_1.md
+++ b/source/mina-project/downloads_2_1.md
@@ -22,12 +22,12 @@ title: MINA 2.1.x Downloads
 <div class="note" markdown="1">
     For people wanting to use the <strong>serial</strong> package, we don't include the <strong>rxtx.jar</strong> library in the releases, as it's under a LGPL license. Please download it from <a href="http://rxtx.qbang.org/wiki/index.php/Download" class="external-link" rel="nofollow">http://rxtx.qbang.org/wiki/index.php/Download</a> or add the associated dependency in your maven pom.xml :
 
-        <dependency>
+    <dependency>
         <groupId>org.rxtx</groupId>
         <artifactId>rxtx</artifactId>
-         <version>2.1.7</version>
-         <scope>provided<scope>
-        </dependency>
+        <version>2.1.7</version>
+        <scope>provided<scope>
+    </dependency>
 </div>
 
 # Verify the integrity of the files
diff --git a/source/mina-project/downloads_old.md b/source/mina-project/downloads_old.md
index e5474dd..e875056 100644
--- a/source/mina-project/downloads_old.md
+++ b/source/mina-project/downloads_old.md
@@ -8,16 +8,16 @@ title: MINA Older Downloads
 <div class="note" markdown="1">
     For people wanting to use the <strong>serial</strong> package, we don't include the <strong>rxtx.jar</strong> library in the releases, as it's under a LGPL license. Please download it from <a href="http://rxtx.qbang.org/wiki/index.php/Download" class="external-link" rel="nofollow">http://rxtx.qbang.org/wiki/index.php/Download</a> or add the associated dependency in your maven pom.xml :
 
-        <dependency>
+    <dependency>
         <groupId>org.rxtx</groupId>
         <artifactId>rxtx</artifactId>
-         <version>2.1.7</version>
-         <scope>provided<scope>
-        </dependency>
+        <version>2.1.7</version>
+        <scope>provided<scope>
+    </dependency>
 </div>
 
-
 ## MINA 2.1.x
+
 <center>
 
 | Version| Download Links | Date |


[mina-site] 04/08: Added .asf.yaml to set repository metadata

Posted by el...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mina-site.git

commit 687ec72459fc1e1bf0834e4e79997151f27c0fe0
Author: Roy Lenferink <le...@gmail.com>
AuthorDate: Tue Feb 25 18:19:55 2020 +0100

    Added .asf.yaml to set repository metadata
---
 .asf.yaml | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/.asf.yaml b/.asf.yaml
new file mode 100644
index 0000000..e5c7328
--- /dev/null
+++ b/.asf.yaml
@@ -0,0 +1,7 @@
+github:
+  description: "Website sources for Apache MINA"
+  homepage: https://mina.apache.org/
+  labels:
+    - apache
+    - mina
+    - hugo