You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by gn...@apache.org on 2020/02/24 20:38:56 UTC

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

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

gnodet 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 ...