You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hop.apache.org by ha...@apache.org on 2021/04/15 13:13:10 UTC

[incubator-hop] branch master updated: HOP-2796: migrate docs and change pipeline to only trigger on non docs changes

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

hansva pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-hop.git


The following commit(s) were added to refs/heads/master by this push:
     new 9415d35  HOP-2796: migrate docs and change pipeline to only trigger on non docs changes
     new 90cbcb6  Merge pull request #743 from hansva/master
9415d35 is described below

commit 9415d35368ee64e7508b6f833287bca8afb08fee
Author: Hans Van Akelyen <ha...@gmail.com>
AuthorDate: Thu Apr 15 14:27:25 2021 +0200

    HOP-2796: migrate docs and change pipeline to only trigger on non docs changes
---
 Jenkinsfile                                        |  28 +-
 docs/README.md                                     |  79 ++++
 docs/hop-dev-manual/antora.yml                     |   5 +
 .../modules/.asciidoctor/pages/index.adoc          |  16 +
 docs/hop-dev-manual/modules/.asciidoctor/pom.xml   | 148 +++++++
 .../modules/ROOT/assets/.placeholder               |   0
 .../assets/images/github-create-pull-request.png   | Bin 0 -> 154027 bytes
 .../modules/ROOT/assets/images/github-fork.png     | Bin 0 -> 1798 bytes
 .../assets/images/github-pull-request-checking.png | Bin 0 -> 108615 bytes
 .../ROOT/assets/images/github-pull-request.png     | Bin 0 -> 24956 bytes
 .../ROOT/assets/images/github-repository-url.png   | Bin 0 -> 55167 bytes
 .../assets/images/hop-translator-after-start.png   | Bin 0 -> 780544 bytes
 .../images/hop-translator-save-files-dialog.png    | Bin 0 -> 70231 bytes
 .../images/hop-translator-translating-a-key.png    | Bin 0 -> 1257339 bytes
 .../ROOT/assets/images/idea-new-project-maven.png  | Bin 0 -> 94523 bytes
 .../ROOT/assets/images/integration-tests-001.png   | Bin 0 -> 106635 bytes
 .../ROOT/assets/images/integration-tests-002.png   | Bin 0 -> 87096 bytes
 .../ROOT/assets/images/integration-tests-003.png   | Bin 0 -> 12936 bytes
 .../ROOT/assets/images/integration-tests-004.png   | Bin 0 -> 20747 bytes
 .../start-your-own-plugin/plugin-sample-1.png      | Bin 0 -> 39195 bytes
 .../start-your-own-plugin/plugin-sample-2.png      | Bin 0 -> 89005 bytes
 docs/hop-dev-manual/modules/ROOT/nav.adoc          |  18 +
 .../pages/apache-release/checking-a-release.adoc   | 126 ++++++
 .../pages/apache-release/creating-a-release.adoc   | 254 ++++++++++++
 .../modules/ROOT/pages/apache-release/index.adoc   |   5 +
 .../pages/apache-release/promoting-a-release.adoc  | 128 ++++++
 .../modules/ROOT/pages/getting-started.adoc        |  57 +++
 docs/hop-dev-manual/modules/ROOT/pages/index.adoc  |  12 +
 .../modules/ROOT/pages/integration-testing.adoc    | 149 +++++++
 .../modules/ROOT/pages/internationalisation.adoc   | 184 +++++++++
 .../modules/ROOT/pages/metadata-plugins.adoc       |  77 ++++
 .../modules/ROOT/pages/plugin-development.adoc     |  93 +++++
 .../modules/ROOT/pages/plugin-samples.adoc         |  41 ++
 .../modules/ROOT/pages/porting-kettle-plugins.adoc | 107 +++++
 .../modules/ROOT/pages/sdk/hop-sdk.adoc            | 122 ++++++
 .../modules/ROOT/pages/sdk/index.adoc              |   3 +
 .../modules/ROOT/pages/setup-dev-environment.adoc  | 216 ++++++++++
 .../modules/ROOT/pages/start-your-own-plugin.adoc  | 103 +++++
 .../modules/ROOT/pages/svg-files.adoc              |  19 +
 .../modules/ROOT/pages/webhop/developer-guide.adoc |  49 +++
 .../modules/ROOT/pages/webhop/index.adoc           |   3 +
 .../ROOT/pages/webhop/webhop-antipatterns.adoc     | 159 ++++++++
 docs/hop-dev-manual/pom.xml                        |  47 +++
 docs/hop-doc-resources/pom.xml                     |  56 +++
 .../src/main/resources/themes/hop-theme.yml        |   7 +
 docs/hop-tech-manual/README.md                     |   7 +
 docs/hop-tech-manual/antora.yml                    |   5 +
 .../modules/.asciidoctor/pages/index.adoc          |  17 +
 docs/hop-tech-manual/modules/.asciidoctor/pom.xml  | 148 +++++++
 .../modules/ROOT/assets/.placeholder               |   0
 .../ROOT/assets/attachments/BrandGuideline_Hop.pdf | Bin 0 -> 248369 bytes
 .../assets/images/hop-import/import-dialog.png     | Bin 0 -> 46470 bytes
 .../assets/images/hop-import/import-report.png     | Bin 0 -> 44020 bytes
 .../ROOT/assets/images/hop-import/menu-import.png  | Bin 0 -> 36421 bytes
 .../images/logo/CMYK/jpg/HOP_logo_CMYK-1.jpg       | Bin 0 -> 1440960 bytes
 .../images/logo/CMYK/jpg/HOP_logo_CMYK-10.jpg      | Bin 0 -> 1308954 bytes
 .../images/logo/CMYK/jpg/HOP_logo_CMYK-11.jpg      | Bin 0 -> 1306991 bytes
 .../images/logo/CMYK/jpg/HOP_logo_CMYK-12.jpg      | Bin 0 -> 1306689 bytes
 .../images/logo/CMYK/jpg/HOP_logo_CMYK-2.jpg       | Bin 0 -> 1441073 bytes
 .../images/logo/CMYK/jpg/HOP_logo_CMYK-3.jpg       | Bin 0 -> 1425149 bytes
 .../images/logo/CMYK/jpg/HOP_logo_CMYK-4.jpg       | Bin 0 -> 1471870 bytes
 .../images/logo/CMYK/jpg/HOP_logo_CMYK-5.jpg       | Bin 0 -> 1324288 bytes
 .../images/logo/CMYK/jpg/HOP_logo_CMYK-6.jpg       | Bin 0 -> 1323853 bytes
 .../images/logo/CMYK/jpg/HOP_logo_CMYK-7.jpg       | Bin 0 -> 1311014 bytes
 .../images/logo/CMYK/jpg/HOP_logo_CMYK-8.jpg       | Bin 0 -> 1303627 bytes
 .../images/logo/CMYK/jpg/HOP_logo_CMYK-9.jpg       | Bin 0 -> 1307910 bytes
 .../assets/images/logo/RGB/jpg/HOP_logo_RGB-1.jpg  | Bin 0 -> 555813 bytes
 .../assets/images/logo/RGB/jpg/HOP_logo_RGB-10.jpg | Bin 0 -> 490003 bytes
 .../assets/images/logo/RGB/jpg/HOP_logo_RGB-11.jpg | Bin 0 -> 509641 bytes
 .../assets/images/logo/RGB/jpg/HOP_logo_RGB-12.jpg | Bin 0 -> 509538 bytes
 .../assets/images/logo/RGB/jpg/HOP_logo_RGB-2.jpg  | Bin 0 -> 555618 bytes
 .../assets/images/logo/RGB/jpg/HOP_logo_RGB-3.jpg  | Bin 0 -> 576545 bytes
 .../assets/images/logo/RGB/jpg/HOP_logo_RGB-4.jpg  | Bin 0 -> 588865 bytes
 .../assets/images/logo/RGB/jpg/HOP_logo_RGB-5.jpg  | Bin 0 -> 527199 bytes
 .../assets/images/logo/RGB/jpg/HOP_logo_RGB-6.jpg  | Bin 0 -> 526923 bytes
 .../assets/images/logo/RGB/jpg/HOP_logo_RGB-7.jpg  | Bin 0 -> 480043 bytes
 .../assets/images/logo/RGB/jpg/HOP_logo_RGB-8.jpg  | Bin 0 -> 479315 bytes
 .../assets/images/logo/RGB/jpg/HOP_logo_RGB-9.jpg  | Bin 0 -> 489101 bytes
 .../assets/images/logo/RGB/png/HOP_logo_RGB-1.png  | Bin 0 -> 113224 bytes
 .../assets/images/logo/RGB/png/HOP_logo_RGB-11.png | Bin 0 -> 108306 bytes
 .../assets/images/logo/RGB/png/HOP_logo_RGB-12.png | Bin 0 -> 108195 bytes
 .../assets/images/logo/RGB/png/HOP_logo_RGB-2.png  | Bin 0 -> 113330 bytes
 .../assets/images/logo/RGB/png/HOP_logo_RGB-5.png  | Bin 0 -> 112113 bytes
 .../assets/images/logo/RGB/png/HOP_logo_RGB-6.png  | Bin 0 -> 112647 bytes
 .../assets/images/logo/RGB/png/HOP_logo_RGB-7.png  | Bin 0 -> 88695 bytes
 .../assets/images/logo/RGB/png/HOP_logo_RGB-8.png  | Bin 0 -> 88680 bytes
 docs/hop-tech-manual/modules/ROOT/nav.adoc         |   7 +
 .../modules/ROOT/pages/docker-container.adoc       | 226 +++++++++++
 .../modules/ROOT/pages/getting-started.adoc        |   2 +
 .../modules/ROOT/pages/hop-logo-and-icons.adoc     |  38 ++
 .../ROOT/pages/hop-vs-kettle/hop-vs-kettle.adoc    |  68 ++++
 .../pages/hop-vs-kettle/if-you-know-kettle.adoc    |  46 +++
 .../hop-vs-kettle/import-kettle-projects.adoc      |  71 ++++
 .../modules/ROOT/pages/hop-vs-kettle/index.adoc    |  18 +
 docs/hop-tech-manual/modules/ROOT/pages/index.adoc |   6 +
 docs/hop-tech-manual/pom.xml                       |  47 +++
 docs/hop-user-manual/README.md                     |   7 +
 docs/hop-user-manual/antora.yml                    |   5 +
 .../modules/.asciidoctor/assembly-jar.xml          |  22 ++
 .../assets/images/generic_connection.png           | Bin 0 -> 32997 bytes
 .../getting-started-add-transform.png              | Bin 0 -> 91782 bytes
 .../getting-started-add-two-transforms.png         | Bin 0 -> 15304 bytes
 .../getting-started-click-anywhere.png             | Bin 0 -> 14722 bytes
 .../getting-started/getting-started-create-hop.png | Bin 0 -> 14478 bytes
 .../getting-started-debug-dialog.png               | Bin 0 -> 64600 bytes
 .../getting-started-debug-pipeline.png             | Bin 0 -> 65943 bytes
 .../getting-started-debug-results.png              | Bin 0 -> 56897 bytes
 .../getting-started-execution-results-metrics.png  | Bin 0 -> 26064 bytes
 .../getting-started/getting-started-hop-gui.png    | Bin 0 -> 11701 bytes
 .../getting-started/getting-started-new-dialog.png | Bin 0 -> 69907 bytes
 .../getting-started-new-pipeline.png               | Bin 0 -> 65121 bytes
 .../getting-started-new-slave-config.png           | Bin 0 -> 83469 bytes
 .../getting-started-new-slave-run-config.png       | Bin 0 -> 114389 bytes
 .../getting-started/getting-started-new-slave.png  | Bin 0 -> 53489 bytes
 .../getting-started-new-transform.png              | Bin 0 -> 143202 bytes
 .../getting-started-new-workflow-abort.png         | Bin 0 -> 27276 bytes
 .../getting-started-new-workflow-actions.png       | Bin 0 -> 30376 bytes
 ...etting-started-new-workflow-pipeline-action.png | Bin 0 -> 103317 bytes
 .../getting-started-new-workflow.png               | Bin 0 -> 60518 bytes
 .../getting-started-pipeline-toolbar.png           | Bin 0 -> 5766 bytes
 .../getting-started-preview-dialog.png             | Bin 0 -> 55180 bytes
 .../getting-started-preview-pipeline.png           | Bin 0 -> 47704 bytes
 .../getting-started-preview-results.png            | Bin 0 -> 52513 bytes
 .../getting-started-run-configuration-dialog.png   | Bin 0 -> 73108 bytes
 .../getting-started-run-pipeline-dialog.png        | Bin 0 -> 50272 bytes
 .../getting-started-run-workflow-config-dialog.png | Bin 0 -> 88115 bytes
 .../getting-started-run-workflow-dialog.png        | Bin 0 -> 72350 bytes
 .../getting-started-run-workflow-logging.png       | Bin 0 -> 230863 bytes
 .../getting-started-run-workflow-metrics.png       | Bin 0 -> 162969 bytes
 .../getting-started-run-workflow-with-config.png   | Bin 0 -> 56533 bytes
 .../getting-started-save-pipeline.png              | Bin 0 -> 23784 bytes
 .../getting-started-server-index.png               | Bin 0 -> 17976 bytes
 ...ing-started-server-status-after-run-details.png | Bin 0 -> 117401 bytes
 .../getting-started-server-status-after-run.png    | Bin 0 -> 118999 bytes
 .../getting-started-server-status.png              | Bin 0 -> 108332 bytes
 .../getting-started/icons/Antu_edit-redo.svg       |   5 +
 .../getting-started/icons/Antu_edit-undo.svg       |   5 +
 .../assets/images/getting-started/icons/HOP.svg    |   7 +
 .../images/getting-started/icons/align-bottom.svg  |  76 ++++
 .../images/getting-started/icons/align-left.svg    |  51 +++
 .../images/getting-started/icons/align-right.svg   |  68 ++++
 .../images/getting-started/icons/align-top.svg     |  54 +++
 .../assets/images/getting-started/icons/back.svg   |  22 ++
 .../images/getting-started/icons/cleanup.svg       |  24 ++
 .../assets/images/getting-started/icons/close.svg  |  10 +
 .../assets/images/getting-started/icons/debug.svg  |  26 ++
 .../icons/distribute-horizontally.svg              |  73 ++++
 .../icons/distribute-vertically.svg                |  76 ++++
 .../assets/images/getting-started/icons/job.svg    |  12 +
 .../assets/images/getting-started/icons/pause.svg  |  13 +
 .../assets/images/getting-started/icons/print.png  | Bin 0 -> 441 bytes
 .../assets/images/getting-started/icons/run.svg    |  10 +
 .../images/getting-started/icons/run_option.svg    |  17 +
 .../images/getting-started/icons/show-all.svg      |  78 ++++
 .../images/getting-started/icons/show-selected.svg |  83 ++++
 .../images/getting-started/icons/snap-to-grid.svg  | 164 ++++++++
 .../assets/images/getting-started/icons/stop.svg   |  33 ++
 .../assets/images/getting-started/icons/trans.svg  |  12 +
 .../images/getting-started/icons/view-as-xml.svg   |  12 +
 .../assets/images/getting-started/icons/view.svg   |  10 +
 .../.asciidoctor/assets/images/test_image.jpg      | Bin 0 -> 460554 bytes
 .../modules/.asciidoctor/pages/index.adoc          | 334 ++++++++++++++++
 docs/hop-user-manual/modules/.asciidoctor/pom.xml  | 166 ++++++++
 .../modules/ROOT/assets/.placeholder               |   0
 .../ROOT/assets/images/concepts/environments.png   | Bin 0 -> 64392 bytes
 .../ROOT/assets/images/concepts/pipeline.png       | Bin 0 -> 34989 bytes
 .../ROOT/assets/images/concepts/workflow.png       | Bin 0 -> 27620 bytes
 .../ROOT/assets/images/generic_connection.png      | Bin 0 -> 32997 bytes
 .../getting-started-add-transform.png              | Bin 0 -> 91782 bytes
 .../getting-started-add-two-transforms.png         | Bin 0 -> 15304 bytes
 .../getting-started-click-anywhere.png             | Bin 0 -> 14722 bytes
 .../getting-started/getting-started-create-hop.png | Bin 0 -> 14478 bytes
 .../getting-started-new-workflow-abort.png         | Bin 0 -> 27276 bytes
 .../getting-started-new-workflow-actions.png       | Bin 0 -> 30376 bytes
 ...etting-started-new-workflow-pipeline-action.png | Bin 0 -> 103317 bytes
 .../getting-started-new-workflow.png               | Bin 0 -> 60518 bytes
 .../getting-started-pipeline-toolbar.png           | Bin 0 -> 5766 bytes
 .../getting-started-run-workflow-config-dialog.png | Bin 0 -> 88115 bytes
 .../getting-started-run-workflow-dialog.png        | Bin 0 -> 72350 bytes
 .../getting-started-run-workflow-with-config.png   | Bin 0 -> 56533 bytes
 .../gs-hop-gui-create-pipeline-1.png               | Bin 0 -> 73652 bytes
 .../gs-hop-gui-create-pipeline-2.png               | Bin 0 -> 42763 bytes
 .../gs-hop-gui-create-pipeline-3.png               | Bin 0 -> 73652 bytes
 .../gs-hop-gui-create-pipeline-4.png               | Bin 0 -> 20248 bytes
 .../gs-hop-gui-create-pipeline-5.png               | Bin 0 -> 7579 bytes
 .../gs-hop-gui-create-pipeline-6.png               | Bin 0 -> 53887 bytes
 .../gs-hop-gui-create-pipeline-7.png               | Bin 0 -> 115333 bytes
 .../gs-hop-gui-create-pipeline-8.png               | Bin 0 -> 115236 bytes
 .../gs-hop-gui-create-pipeline-9.png               | Bin 0 -> 118494 bytes
 ...-hop-gui-create-pipeline-add-two-transforms.png | Bin 0 -> 15304 bytes
 .../gs-hop-gui-create-pipeline-create-hop.png      | Bin 0 -> 14478 bytes
 .../gs-hop-gui-create-workflow-1.png               | Bin 0 -> 66749 bytes
 .../gs-hop-gui-create-workflow-2.png               | Bin 0 -> 42763 bytes
 .../gs-hop-gui-create-workflow-3.png               | Bin 0 -> 66749 bytes
 .../gs-hop-gui-create-workflow-4.png               | Bin 0 -> 32839 bytes
 .../gs-hop-gui-create-workflow-5.png               | Bin 0 -> 7579 bytes
 .../gs-hop-gui-create-workflow-6.png               | Bin 0 -> 45243 bytes
 .../gs-hop-gui-create-workflow-7.png               | Bin 0 -> 112901 bytes
 ...hop-gui-create-workflow-add-pipeline-action.png | Bin 0 -> 5049 bytes
 .../gs-hop-gui-create-workflow-run.png             | Bin 0 -> 19869 bytes
 .../gs-hop-gui-create-workflow-save.png            | Bin 0 -> 40818 bytes
 .../getting-started/gs-hop-gui-overview-1.png      | Bin 0 -> 13038 bytes
 .../getting-started/gs-hop-gui-overview-2.png      | Bin 0 -> 17683 bytes
 .../getting-started/gs-hop-gui-run-pipeline-1.png  | Bin 0 -> 35199 bytes
 .../getting-started/gs-hop-gui-run-pipeline-2.png  | Bin 0 -> 45420 bytes
 .../getting-started/gs-hop-gui-run-pipeline-3.png  | Bin 0 -> 18592 bytes
 .../getting-started/gs-hop-gui-run-pipeline-4.png  | Bin 0 -> 40551 bytes
 .../getting-started/gs-hop-gui-run-pipeline-5.png  | Bin 0 -> 6348 bytes
 .../getting-started/gs-hop-gui-run-pipeline-6.png  | Bin 0 -> 11464 bytes
 .../getting-started/gs-hop-gui-run-pipeline-7.png  | Bin 0 -> 23269 bytes
 .../getting-started/icons/Antu_edit-redo.svg       |   5 +
 .../getting-started/icons/Antu_edit-undo.svg       |   5 +
 .../assets/images/getting-started/icons/HOP.svg    |   7 +
 .../images/getting-started/icons/align-bottom.svg  |  76 ++++
 .../images/getting-started/icons/align-left.svg    |  51 +++
 .../images/getting-started/icons/align-right.svg   |  68 ++++
 .../images/getting-started/icons/align-top.svg     |  54 +++
 .../assets/images/getting-started/icons/back.svg   |  22 ++
 .../images/getting-started/icons/cleanup.svg       |  24 ++
 .../assets/images/getting-started/icons/close.svg  |  10 +
 .../assets/images/getting-started/icons/debug.svg  |  26 ++
 .../icons/distribute-horizontally.svg              |  73 ++++
 .../icons/distribute-vertically.svg                |  76 ++++
 .../assets/images/getting-started/icons/job.svg    |  12 +
 .../assets/images/getting-started/icons/pause.svg  |  13 +
 .../assets/images/getting-started/icons/print.png  | Bin 0 -> 441 bytes
 .../assets/images/getting-started/icons/run.svg    |  10 +
 .../images/getting-started/icons/run_option.svg    |  17 +
 .../images/getting-started/icons/show-all.svg      |  78 ++++
 .../images/getting-started/icons/show-selected.svg |  83 ++++
 .../images/getting-started/icons/snap-to-grid.svg  | 164 ++++++++
 .../assets/images/getting-started/icons/stop.svg   |  33 ++
 .../assets/images/getting-started/icons/trans.svg  |  12 +
 .../images/getting-started/icons/view-as-xml.svg   |  12 +
 .../assets/images/getting-started/icons/view.svg   |  10 +
 .../environment/create-environment-dialogue.png    | Bin 0 -> 111443 bytes
 .../environment/create-project-dialogue.png        | Bin 0 -> 427481 bytes
 .../hop-gui/environment/edit-environment-menu.png  | Bin 0 -> 40294 bytes
 .../images/hop-gui/environment/environment-add.svg |  49 +++
 .../hop-gui/environment/environment-delete.svg     |  48 +++
 .../hop-gui/environment/environment-edit.svg       |  66 ++++
 .../hop-gui/environment/environment-files.png      | Bin 0 -> 27654 bytes
 .../hop-gui/environment/new-environment-dialog.png | Bin 0 -> 21553 bytes
 .../images/hop-gui/environment/new-environment.png | Bin 0 -> 106890 bytes
 .../images/hop-gui/environment/project-add.svg     |  51 +++
 .../images/hop-gui/environment/project-delete.svg  |  50 +++
 .../images/hop-gui/environment/project-edit.svg    |  68 ++++
 .../environment/switch-environment-list.png        | Bin 0 -> 19746 bytes
 .../hop-gui/environment/switch-environment.png     | Bin 0 -> 16515 bytes
 .../hop-gui/environment/switch-project-list.png    | Bin 0 -> 22703 bytes
 .../ROOT/assets/images/hop-gui/file-dialog.png     | Bin 0 -> 102646 bytes
 .../ROOT/assets/images/hop-gui/new-work-item.png   | Bin 0 -> 32021 bytes
 .../modules/ROOT/assets/images/hop-gui/new.svg     |  20 +
 .../images/hop-gui/pipeline/debug-pipeline.png     | Bin 0 -> 15392 bytes
 .../images/hop-gui/pipeline/executed-pipeline.png  | Bin 0 -> 5389 bytes
 .../images/hop-gui/pipeline/failed-pipeline.png    | Bin 0 -> 6513 bytes
 .../assets/images/hop-gui/pipeline/hop-type.png    | Bin 0 -> 14135 bytes
 .../images/hop-gui/pipeline/logging-pipeline.png   | Bin 0 -> 20143 bytes
 .../hop-gui/pipeline/monitoring-pipeline.png       | Bin 0 -> 10384 bytes
 .../images/hop-gui/pipeline/new-pipeline.png       | Bin 0 -> 19068 bytes
 .../hop-gui/pipeline/parameters-pipeline.png       | Bin 0 -> 12681 bytes
 .../hop-gui/pipeline/partitionining-buffers.png    | Bin 0 -> 34415 bytes
 .../pipeline/partitionining-partition-schema.png   | Bin 0 -> 25923 bytes
 .../pipeline/partitionining-partitioned.png        | Bin 0 -> 21467 bytes
 .../hop-gui/pipeline/partitionining-preview-2.png  | Bin 0 -> 95572 bytes
 .../pipeline/partitionining-preview-table.png      | Bin 0 -> 52756 bytes
 .../hop-gui/pipeline/partitionining-preview.png    | Bin 0 -> 89828 bytes
 .../pipeline/partitionining-swimlanes-1.png        | Bin 0 -> 21247 bytes
 .../pipeline/partitionining-swimlanes-2.png        | Bin 0 -> 38225 bytes
 .../hop-gui/pipeline/partitionining-table.png      | Bin 0 -> 100160 bytes
 .../hop-gui/pipeline/preview-menu-pipeline.PNG     | Bin 0 -> 17015 bytes
 .../images/hop-gui/pipeline/preview-pipeline.png   | Bin 0 -> 11054 bytes
 .../hop-gui/pipeline/properties-pipeline.png       | Bin 0 -> 14529 bytes
 .../pipeline/run-configuration-pipeline.png        | Bin 0 -> 25182 bytes
 .../images/hop-gui/pipeline/save-pipeline.png      | Bin 0 -> 18525 bytes
 .../images/hop-gui/pipeline/simple-pipeline.png    | Bin 0 -> 3408 bytes
 .../pipeline/transform-metrics-pipeline.png        | Bin 0 -> 12135 bytes
 .../assets/images/hop-gui/pipeline/transforms.png  | Bin 0 -> 37768 bytes
 .../hop-gui/workflow/new-run-configuration.png     | Bin 0 -> 20372 bytes
 .../hop-gui/workflow/parameters-properties.png     | Bin 0 -> 11721 bytes
 .../hop-gui/workflow/settings-properties.png       | Bin 0 -> 8576 bytes
 .../images/hop-gui/workflow/simple-workflow.png    | Bin 0 -> 11276 bytes
 .../images/hop-gui/workflow/workflow-action.png    | Bin 0 -> 19545 bytes
 .../hop-gui/workflow/workflow-properties.png       | Bin 0 -> 14994 bytes
 .../workflow/workflow-run-configuration.png        | Bin 0 -> 14474 bytes
 .../ROOT/assets/images/hop-run/hop-run-options.png | Bin 0 -> 54697 bytes
 .../assets/images/hop-server/hop-server-index.png  | Bin 0 -> 8064 bytes
 .../images/hop-server/hop-server-no-tasks.png      | Bin 0 -> 39787 bytes
 .../images/hop-server/hop-server-options.png       | Bin 0 -> 41358 bytes
 .../images/hop-server/web-service-example.png      | Bin 0 -> 99548 bytes
 .../hop-server/web-service-pipeline-example.png    | Bin 0 -> 68786 bytes
 .../ROOT/assets/images/icons/Cassandra_logo.svg    | 269 +++++++++++++
 .../images/icons/MongoDB_Leaf_FullColor_RGB.svg    |  12 +
 .../modules/ROOT/assets/images/icons/NEO4J.svg     | 129 ++++++
 .../ROOT/assets/images/icons/Test_tube_icon.svg    |  23 ++
 .../modules/ROOT/assets/images/icons/beam-logo.svg |  19 +
 .../ROOT/assets/images/icons/bookmark-add.svg      |  12 +
 .../modules/ROOT/assets/images/icons/bookmark.svg  |   1 +
 .../modules/ROOT/assets/images/icons/data_orch.svg |  16 +
 .../modules/ROOT/assets/images/icons/database.svg  |  25 ++
 .../modules/ROOT/assets/images/icons/dataset.svg   |  18 +
 .../modules/ROOT/assets/images/icons/delete.svg    |  15 +
 .../modules/ROOT/assets/images/icons/developer.svg |   1 +
 .../ROOT/assets/images/icons/folder-add.svg        |  13 +
 .../modules/ROOT/assets/images/icons/folder.svg    |  17 +
 .../modules/ROOT/assets/images/icons/home.svg      |  13 +
 .../modules/ROOT/assets/images/icons/logo_icon.svg |  17 +
 .../modules/ROOT/assets/images/icons/metadata.svg  |  11 +
 .../ROOT/assets/images/icons/navigate-back.svg     |  17 +
 .../ROOT/assets/images/icons/navigate-forward.svg  |  17 +
 .../ROOT/assets/images/icons/navigate-up.svg       |  17 +
 .../ROOT/assets/images/icons/neo4j_logo.svg        |  45 +++
 .../ROOT/assets/images/icons/partition_schema.svg  |  19 +
 .../ROOT/assets/images/icons/pipeline-log.svg      |  49 +++
 .../modules/ROOT/assets/images/icons/pipeline.svg  |  12 +
 .../assets/images/icons/pipeline_run_config.svg    |  18 +
 .../modules/ROOT/assets/images/icons/play.svg      |   1 +
 .../modules/ROOT/assets/images/icons/plugin.svg    |  15 +
 .../modules/ROOT/assets/images/icons/preview.svg   |  15 +
 .../modules/ROOT/assets/images/icons/probe.svg     |  13 +
 .../modules/ROOT/assets/images/icons/project.svg   |  27 ++
 .../modules/ROOT/assets/images/icons/refresh.svg   |  12 +
 .../modules/ROOT/assets/images/icons/search.svg    |  16 +
 .../modules/ROOT/assets/images/icons/server.svg    |  40 ++
 .../modules/ROOT/assets/images/icons/splunk.svg    |  35 ++
 .../modules/ROOT/assets/images/icons/test.svg      |  19 +
 .../ROOT/assets/images/icons/workflow-log.svg      |  41 ++
 .../modules/ROOT/assets/images/icons/workflow.svg  |  12 +
 .../assets/images/icons/workflow_run_config.svg    |  15 +
 .../images/logging/custom-action-logging-level.png | Bin 0 -> 52848 bytes
 .../images/logging/custom-logging-actions.png      | Bin 0 -> 16066 bytes
 .../logging/custom-transform-logging-level.png     | Bin 0 -> 72863 bytes
 .../mongodb-input-screenshot-connection-tab.png    | Bin 0 -> 164602 bytes
 .../images/mongodb-input-screenshot-fields-tab.png | Bin 0 -> 128792 bytes
 .../images/mongodb-input-screenshot-input-tab.png  | Bin 0 -> 126092 bytes
 .../images/mongodb-input-screenshot-query-tab.png  | Bin 0 -> 121276 bytes
 .../mongodb-output-screenshot-connection-tab.png   | Bin 0 -> 180413 bytes
 .../mongodb-output-screenshot-fields-tab.png       | Bin 0 -> 128246 bytes
 .../mongodb-output-screenshot-indexes-tab.png      | Bin 0 -> 109326 bytes
 .../mongodb-output-screenshot-output-tab.png       | Bin 0 -> 210503 bytes
 .../images/run-configuration/beam-dataflow.png     | Bin 0 -> 68070 bytes
 .../images/run-configuration/beam-direct.png       | Bin 0 -> 53999 bytes
 .../assets/images/run-configuration/beam-flink.png | Bin 0 -> 72845 bytes
 .../assets/images/run-configuration/beam-spark.png | Bin 0 -> 74898 bytes
 .../run-configuration/configuration-selection.png  | Bin 0 -> 38231 bytes
 .../images/run-configuration/local-engine.png      | Bin 0 -> 39873 bytes
 .../images/run-configuration/remote-engine.png     | Bin 0 -> 36880 bytes
 .../ROOT/assets/images/system-properties-menu.png  | Bin 0 -> 30760 bytes
 .../modules/ROOT/assets/images/test_image.jpg      | Bin 0 -> 460554 bytes
 .../ROOT/assets/images/variable-indicator.png      | Bin 0 -> 10854 bytes
 docs/hop-user-manual/modules/ROOT/nav.adoc         | 362 +++++++++++++++++
 .../modules/ROOT/pages/concepts.adoc               |  21 +
 .../modules/ROOT/pages/database/databases.adoc     |  29 ++
 .../ROOT/pages/database/databases/as400.adoc       |  32 ++
 .../ROOT/pages/database/databases/cache.adoc       |  32 ++
 .../ROOT/pages/database/databases/clickhouse.adoc  |  32 ++
 .../modules/ROOT/pages/database/databases/db2.adoc |  32 ++
 .../ROOT/pages/database/databases/derby.adoc       |  32 ++
 .../ROOT/pages/database/databases/doris.adoc       |  36 ++
 .../ROOT/pages/database/databases/exasol.adoc      |  32 ++
 .../ROOT/pages/database/databases/firebird.adoc    |  32 ++
 .../pages/database/databases/googlebigquery.adoc   |  32 ++
 .../ROOT/pages/database/databases/greenplum.adoc   |  32 ++
 .../modules/ROOT/pages/database/databases/h2.adoc  |  32 ++
 .../ROOT/pages/database/databases/hypersonic.adoc  |  32 ++
 .../ROOT/pages/database/databases/infinidb.adoc    |  32 ++
 .../ROOT/pages/database/databases/infobright.adoc  |  32 ++
 .../ROOT/pages/database/databases/informix.adoc    |  32 ++
 .../ROOT/pages/database/databases/ingres.adoc      |  32 ++
 .../ROOT/pages/database/databases/interbase.adoc   |  32 ++
 .../ROOT/pages/database/databases/kingbasees.adoc  |  32 ++
 .../ROOT/pages/database/databases/mariadb.adoc     |  32 ++
 .../ROOT/pages/database/databases/monetdb.adoc     |  32 ++
 .../ROOT/pages/database/databases/mssql.adoc       |  34 ++
 .../ROOT/pages/database/databases/mssqlnative.adoc |  32 ++
 .../ROOT/pages/database/databases/mysql.adoc       |  32 ++
 .../ROOT/pages/database/databases/netezza.adoc     |  32 ++
 .../ROOT/pages/database/databases/oracle.adoc      |  32 ++
 .../ROOT/pages/database/databases/oraclerdb.adoc   |  32 ++
 .../ROOT/pages/database/databases/postgresql.adoc  |  32 ++
 .../ROOT/pages/database/databases/redshift.adoc    |  32 ++
 .../ROOT/pages/database/databases/sapdb.adoc       |  32 ++
 .../ROOT/pages/database/databases/snowflake.adoc   |  32 ++
 .../ROOT/pages/database/databases/sqlbase.adoc     |  32 ++
 .../ROOT/pages/database/databases/sqlite.adoc      |  32 ++
 .../ROOT/pages/database/databases/sybase.adoc      |  32 ++
 .../ROOT/pages/database/databases/sybaseiq.adoc    |  32 ++
 .../ROOT/pages/database/databases/teradata.adoc    |  31 ++
 .../ROOT/pages/database/databases/universe.adoc    |  32 ++
 .../ROOT/pages/database/databases/vectorwise.adoc  |  32 ++
 .../ROOT/pages/database/databases/vertica.adoc     |  32 ++
 .../modules/ROOT/pages/faq/faq.adoc                |   6 +
 .../ROOT/pages/getting-started/hop-concepts.adoc   |  22 ++
 .../getting-started/hop-download-install.adoc      |  27 ++
 .../pages/getting-started/hop-gui-pipelines.adoc   | 103 +++++
 .../pages/getting-started/hop-gui-workflows.adoc   |  72 ++++
 .../ROOT/pages/getting-started/hop-gui.adoc        |  43 ++
 .../ROOT/pages/getting-started/hop-next-steps.adoc |  16 +
 .../ROOT/pages/getting-started/hop-tools.adoc      |  95 +++++
 .../pages/getting-started/hop-what-is-hop.adoc     |  33 ++
 .../modules/ROOT/pages/getting-started/index.adoc  |  22 ++
 .../modules/ROOT/pages/hop-gui/file-dialog.adoc    |  45 +++
 .../modules/ROOT/pages/hop-gui/hop-gui-git.adoc    |   3 +
 .../modules/ROOT/pages/hop-gui/index.adoc          |  13 +
 .../hop-gui/perspective-data-orchestration.adoc    |   8 +
 .../pages/hop-gui/perspective-file-explorer.adoc   |  11 +
 .../ROOT/pages/hop-gui/perspective-metadata.adoc   |   8 +
 .../ROOT/pages/hop-gui/perspective-neo4.adoc       |  14 +
 .../ROOT/pages/hop-gui/perspective-plugin.adoc     |   8 +
 .../ROOT/pages/hop-gui/perspective-search.adoc     |  14 +
 .../modules/ROOT/pages/hop-gui/perspectives.adoc   |  19 +
 .../modules/ROOT/pages/hop-gui/shortcuts.adoc      |  64 +++
 .../modules/ROOT/pages/hop-run/index.adoc          |  38 ++
 .../modules/ROOT/pages/hop-search/index.adoc       |  46 +++
 .../modules/ROOT/pages/hop-server/index.adoc       |  87 ++++
 .../modules/ROOT/pages/hop-server/web-service.adoc | 107 +++++
 .../hop-tools/hop-conf/hop-conf-cloud-aws-s3.adoc  |   0
 .../hop-conf-cloud-azure-blob-storage.adoc         |  10 +
 .../hop-conf-cloud-google-cloud-storage.adoc       |   5 +
 .../hop-conf/hop-conf-cloud-google-drive.adoc      |   8 +
 .../hop-tools/hop-conf/hop-conf-projects.adoc      | 122 ++++++
 .../hop-tools/hop-conf/hop-conf-run-hpl-hwf.adoc   |  49 +++
 .../ROOT/pages/hop-tools/hop-conf/hop-conf.adoc    | 217 ++++++++++
 .../modules/ROOT/pages/hop-tools/hop-search.adoc   |   3 +
 .../modules/ROOT/pages/hop-tools/index.adoc        |  13 +
 .../modules/ROOT/pages/image-testpage.adoc         |  15 +
 docs/hop-user-manual/modules/ROOT/pages/index.adoc |  23 ++
 .../modules/ROOT/pages/logging/logging-basics.adoc |  63 +++
 .../ROOT/pages/logging/logging-reflection.adoc     | 436 +++++++++++++++++++++
 .../pages/metadata-types/beam-file-definition.adoc |  40 ++
 .../cassandra/cassandra-connection.adoc            |  64 +++
 .../ROOT/pages/metadata-types/data-set.adoc        |  30 ++
 .../ROOT/pages/metadata-types/hop-server.adoc      |  33 ++
 .../modules/ROOT/pages/metadata-types/index.adoc   |  34 ++
 .../pages/metadata-types/mongodb-connection.adoc   |  50 +++
 .../metadata-types/neo4j/neo4j-connection.adoc     | 152 +++++++
 .../metadata-types/neo4j/neo4j-graphmodel.adoc     |  26 ++
 .../pages/metadata-types/partition-schema.adoc     |  36 ++
 .../ROOT/pages/metadata-types/pipeline-log.adoc    |  35 ++
 .../ROOT/pages/metadata-types/pipeline-probe.adoc  |  31 ++
 .../pages/metadata-types/pipeline-run-config.adoc  |  38 ++
 .../pages/metadata-types/pipeline-unit-test.adoc   |  33 ++
 .../pages/metadata-types/rdbms-connection.adoc     |  85 ++++
 .../pages/metadata-types/splunk-connection.adoc    |  31 ++
 .../ROOT/pages/metadata-types/web-service.adoc     |  32 ++
 .../ROOT/pages/metadata-types/workflow-log.adoc    |  35 ++
 .../pages/metadata-types/workflow-run-config.adoc  |  34 ++
 .../modules/ROOT/pages/password/passwords.adoc     |   8 +
 .../pages/password/passwords/aespasswords.adoc     |  62 +++
 .../ROOT/pages/pipeline/create-pipeline.adoc       | 155 ++++++++
 .../ROOT/pages/pipeline/hop-pipeline-editor.adoc   |  32 ++
 .../ROOT/pages/pipeline/metadata-injection.adoc    |  18 +
 .../modules/ROOT/pages/pipeline/partitioning.adoc  |  87 ++++
 .../beam-dataflow-pipeline-engine.adoc             |  69 ++++
 .../beam-direct-pipeline-engine.adoc               |  34 ++
 .../beam-flink-pipeline-engine.adoc                |  52 +++
 .../beam-spark-pipeline-engine.adoc                | 102 +++++
 .../local-pipeline-engine.adoc                     |  23 ++
 .../pipeline-run-configurations.adoc               |  58 +++
 .../remote-pipeline-engine.adoc                    |  20 +
 .../modules/ROOT/pages/pipeline/pipelines.adoc     |  12 +
 .../pages/pipeline/run-preview-debug-pipeline.adoc | 113 ++++++
 .../modules/ROOT/pages/pipeline/transforms.adoc    |   9 +
 .../ROOT/pages/pipeline/transforms/abort.adoc      |  35 ++
 .../pages/pipeline/transforms/addsequence.adoc     |  43 ++
 .../ROOT/pages/pipeline/transforms/addxml.adoc     | 103 +++++
 .../pages/pipeline/transforms/analyticquery.adoc   | 105 +++++
 .../ROOT/pages/pipeline/transforms/append.adoc     |  42 ++
 .../transforms/azure-event-hubs-listener.adoc      |  71 ++++
 .../transforms/azure-event-hubs-writer.adoc        |  37 ++
 .../pipeline/transforms/beambigqueryinput.adoc     |  40 ++
 .../pipeline/transforms/beambigqueryoutput.adoc    |  38 ++
 .../pages/pipeline/transforms/beamconsume.adoc     |  46 +++
 .../ROOT/pages/pipeline/transforms/beaminput.adoc  |  56 +++
 .../ROOT/pages/pipeline/transforms/beamoutput.adoc |  59 +++
 .../pages/pipeline/transforms/beamproduce.adoc     |  36 ++
 .../pages/pipeline/transforms/beampublisher.adoc   |  38 ++
 .../pages/pipeline/transforms/beamsubscriber.adoc  |  39 ++
 .../pages/pipeline/transforms/beamtimestamp.adoc   |  34 ++
 .../ROOT/pages/pipeline/transforms/beamwindow.adoc |  63 +++
 .../pipeline/transforms/blockingtransform.adoc     |  39 ++
 .../transforms/blockuntiltransformsfinish.adoc     |  43 ++
 .../ROOT/pages/pipeline/transforms/calculator.adoc | 147 +++++++
 .../pages/pipeline/transforms/cassandra-input.adoc |  45 +++
 .../pipeline/transforms/cassandra-output.adoc      |  75 ++++
 .../pipeline/transforms/changefileencoding.adoc    |  38 ++
 .../ROOT/pages/pipeline/transforms/checksum.adoc   |  43 ++
 .../ROOT/pages/pipeline/transforms/clonerow.adoc   |  38 ++
 .../ROOT/pages/pipeline/transforms/closure.adoc    |  37 ++
 .../ROOT/pages/pipeline/transforms/coalesce.adoc   |  46 +++
 .../pages/pipeline/transforms/columnexists.adoc    |  39 ++
 .../pipeline/transforms/combinationlookup.adoc     |  66 ++++
 .../pages/pipeline/transforms/concatfields.adoc    |  89 +++++
 .../ROOT/pages/pipeline/transforms/constant.adoc   |  33 ++
 .../pipeline/transforms/creditcardvalidator.adoc   |  39 ++
 .../ROOT/pages/pipeline/transforms/csvinput.adoc   |  60 +++
 .../ROOT/pages/pipeline/transforms/cubeinput.adoc  |  35 ++
 .../ROOT/pages/pipeline/transforms/cubeoutput.adoc |  26 ++
 .../pages/pipeline/transforms/databasejoin.adoc    |  56 +++
 .../pages/pipeline/transforms/databaselookup.adoc  |  62 +++
 .../ROOT/pages/pipeline/transforms/datagrid.adoc   |  41 ++
 .../ROOT/pages/pipeline/transforms/dbproc.adoc     |  45 +++
 .../ROOT/pages/pipeline/transforms/delay.adoc      |  35 ++
 .../ROOT/pages/pipeline/transforms/delete.adoc     |  39 ++
 .../pages/pipeline/transforms/denormaliser.adoc    |  57 +++
 .../pipeline/transforms/detectemptystream.adoc     |  35 ++
 .../pages/pipeline/transforms/detectlastrow.adoc   |  33 ++
 .../pages/pipeline/transforms/dimensionlookup.adoc | 128 ++++++
 .../ROOT/pages/pipeline/transforms/dummy.adoc      |  32 ++
 .../pages/pipeline/transforms/dynamicsqlrow.adoc   |  42 ++
 .../ROOT/pages/pipeline/transforms/edi2xml.adoc    |  51 +++
 .../pipeline/transforms/enhancedjsonoutput.adoc    | 182 +++++++++
 .../ROOT/pages/pipeline/transforms/excelinput.adoc | 117 ++++++
 .../pages/pipeline/transforms/excelwriter.adoc     | 108 +++++
 .../pages/pipeline/transforms/execprocess.adoc     |  42 ++
 .../ROOT/pages/pipeline/transforms/execsqlrow.adoc |  44 +++
 .../ROOT/pages/pipeline/transforms/fake.adoc       | 399 +++++++++++++++++++
 .../pipeline/transforms/fieldschangesequence.adoc  |  34 ++
 .../pages/pipeline/transforms/fieldsplitter.adoc   |  83 ++++
 .../ROOT/pages/pipeline/transforms/fileexists.adoc |  39 ++
 .../ROOT/pages/pipeline/transforms/filelocked.adoc |  32 ++
 .../pages/pipeline/transforms/filesfromresult.adoc |  47 +++
 .../pages/pipeline/transforms/filestoresult.adoc   |  34 ++
 .../ROOT/pages/pipeline/transforms/filterrows.adoc |  89 +++++
 .../ROOT/pages/pipeline/transforms/flattener.adoc  |  54 +++
 .../ROOT/pages/pipeline/transforms/fuzzymatch.adoc |  69 ++++
 .../pages/pipeline/transforms/getfilenames.adoc    |  62 +++
 .../pipeline/transforms/getfilesrowcount.adoc      |  63 +++
 .../pipeline/transforms/getslavesequence.adoc      | 134 +++++++
 .../pages/pipeline/transforms/getsubfolders.adoc   |  53 +++
 .../pages/pipeline/transforms/gettablenames.adoc   |  51 +++
 .../pages/pipeline/transforms/getvariable.adoc     |  52 +++
 .../ROOT/pages/pipeline/transforms/getxmldata.adoc |  96 +++++
 .../pipeline/transforms/google-sheets-input.adoc   |  41 ++
 .../pipeline/transforms/google-sheets-output.adoc  |  51 +++
 .../ROOT/pages/pipeline/transforms/groupby.adoc    |  65 +++
 .../ROOT/pages/pipeline/transforms/http.adoc       |  67 ++++
 .../ROOT/pages/pipeline/transforms/httppost.adoc   |  78 ++++
 .../ROOT/pages/pipeline/transforms/ifnull.adoc     |  33 ++
 .../ROOT/pages/pipeline/transforms/injector.adoc   |  36 ++
 .../pages/pipeline/transforms/insertupdate.adoc    |  40 ++
 .../ROOT/pages/pipeline/transforms/janino.adoc     | 159 ++++++++
 .../ROOT/pages/pipeline/transforms/javafilter.adoc |  71 ++++
 .../ROOT/pages/pipeline/transforms/javascript.adoc |  42 ++
 .../ROOT/pages/pipeline/transforms/joinrows.adoc   |  42 ++
 .../ROOT/pages/pipeline/transforms/jsoninput.adoc  | 125 ++++++
 .../ROOT/pages/pipeline/transforms/jsonoutput.adoc | 201 ++++++++++
 .../ROOT/pages/pipeline/transforms/ldapinput.adoc  |  93 +++++
 .../ROOT/pages/pipeline/transforms/ldapoutput.adoc |  88 +++++
 .../pages/pipeline/transforms/loadfileinput.adoc   | 100 +++++
 .../ROOT/pages/pipeline/transforms/mail.adoc       | 116 ++++++
 .../ROOT/pages/pipeline/transforms/mailinput.adoc  |  93 +++++
 .../pages/pipeline/transforms/mailvalidator.adoc   |  47 +++
 .../pages/pipeline/transforms/mapping-input.adoc   |  28 ++
 .../pages/pipeline/transforms/mapping-output.adoc  |  25 ++
 .../ROOT/pages/pipeline/transforms/memgroupby.adoc |  41 ++
 .../ROOT/pages/pipeline/transforms/mergejoin.adoc  |  44 +++
 .../ROOT/pages/pipeline/transforms/mergerows.adoc  |  57 +++
 .../ROOT/pages/pipeline/transforms/metainject.adoc | 102 +++++
 .../pages/pipeline/transforms/metastructure.adoc   |  35 ++
 .../pipeline/transforms/monetdbbulkloader.adoc     |  84 ++++
 .../pages/pipeline/transforms/mongodbinput.adoc    | 287 ++++++++++++++
 .../pages/pipeline/transforms/mongodboutput.adoc   | 350 +++++++++++++++++
 .../pages/pipeline/transforms/mqttpublisher.adoc   |  23 ++
 .../pages/pipeline/transforms/mqttsubscriber.adoc  |  23 ++
 .../ROOT/pages/pipeline/transforms/multimerge.adoc |  38 ++
 .../pages/pipeline/transforms/neo4j-cypher.adoc    |  57 +++
 .../pipeline/transforms/neo4j-graphoutput.adoc     |  45 +++
 .../pages/pipeline/transforms/neo4j-output.adoc    |  50 +++
 .../ROOT/pages/pipeline/transforms/normaliser.adoc |  45 +++
 .../ROOT/pages/pipeline/transforms/nullif.adoc     |  29 ++
 .../pages/pipeline/transforms/numberrange.adoc     |  40 ++
 .../pages/pipeline/transforms/pgbulkloader.adoc    |  75 ++++
 .../pipeline/transforms/pgpdecryptstream.adoc      |  39 ++
 .../pipeline/transforms/pgpencryptstream.adoc      |  39 ++
 .../pipeline/transforms/pipelineexcecutor.adoc     |  87 ++++
 .../pages/pipeline/transforms/processfiles.adoc    |  41 ++
 .../pages/pipeline/transforms/propertyinput.adoc   |  76 ++++
 .../pages/pipeline/transforms/propertyoutput.adoc  |  58 +++
 .../pages/pipeline/transforms/randomvalue.adoc     |  42 ++
 .../pipeline/transforms/recordsfromstream.adoc     |  56 +++
 .../ROOT/pages/pipeline/transforms/regexeval.adoc  | 146 +++++++
 .../pages/pipeline/transforms/replacestring.adoc   |  57 +++
 .../pipeline/transforms/reservoirsampling.adoc     |  35 ++
 .../ROOT/pages/pipeline/transforms/rest.adoc       | 106 +++++
 .../pages/pipeline/transforms/rowgenerator.adoc    |  38 ++
 .../pages/pipeline/transforms/rowsfromresult.adoc  |  57 +++
 .../pages/pipeline/transforms/rowstoresult.adoc    |  33 ++
 .../ROOT/pages/pipeline/transforms/sasinput.adoc   |  43 ++
 .../pages/pipeline/transforms/selectvalues.adoc    |  92 +++++
 .../pipeline/transforms/setvalueconstant.adoc      |  43 ++
 .../pages/pipeline/transforms/setvaluefield.adoc   |  40 ++
 .../pages/pipeline/transforms/setvariable.adoc     |  43 ++
 .../pages/pipeline/transforms/simple-mapping.adoc  |  39 ++
 .../ROOT/pages/pipeline/transforms/sort.adoc       |  44 +++
 .../pages/pipeline/transforms/sortedmerge.adoc     |  39 ++
 .../pipeline/transforms/splitfieldtorows.adoc      |  40 ++
 .../pages/pipeline/transforms/splunkinput.adoc     |  44 +++
 .../ROOT/pages/pipeline/transforms/sql.adoc        |  46 +++
 .../pages/pipeline/transforms/sqlfileoutput.adoc   |  64 +++
 .../ROOT/pages/pipeline/transforms/ssh.adoc        |  68 ++++
 .../pages/pipeline/transforms/streamlookup.adoc    |  45 +++
 .../pipeline/transforms/streamschemamerge.adoc     |  37 ++
 .../ROOT/pages/pipeline/transforms/stringcut.adoc  |  40 ++
 .../pipeline/transforms/stringoperations.adoc      |  93 +++++
 .../ROOT/pages/pipeline/transforms/switchcase.adoc |  48 +++
 .../pipeline/transforms/synchronizeaftermerge.adoc |  59 +++
 .../ROOT/pages/pipeline/transforms/systemdata.adoc | 139 +++++++
 .../pages/pipeline/transforms/tablecompare.adoc    |  42 ++
 .../pages/pipeline/transforms/tableexists.adoc     |  36 ++
 .../ROOT/pages/pipeline/transforms/tableinput.adoc |  49 +++
 .../pages/pipeline/transforms/tableoutput.adoc     |  68 ++++
 .../ROOT/pages/pipeline/transforms/terafast.adoc   |  51 +++
 .../pages/pipeline/transforms/textfileinput.adoc   | 240 ++++++++++++
 .../pages/pipeline/transforms/textfileoutput.adoc  | 110 ++++++
 .../pipeline/transforms/tokenreplacement.adoc      |  24 ++
 .../ROOT/pages/pipeline/transforms/uniquerows.adoc |  37 ++
 .../pipeline/transforms/uniquerowsbyhashset.adoc   |  44 +++
 .../ROOT/pages/pipeline/transforms/update.adoc     |  47 +++
 .../pipeline/transforms/userdefinedjavaclass.adoc  | 218 +++++++++++
 .../pages/pipeline/transforms/valuemapper.adoc     |  51 +++
 .../pipeline/transforms/webserviceavailable.adoc   |  37 ++
 .../pages/pipeline/transforms/webservices.adoc     |  50 +++
 .../pipeline/transforms/workflowexecutor.adoc      |  71 ++++
 .../ROOT/pages/pipeline/transforms/writetolog.adoc |  60 +++
 .../pages/pipeline/transforms/xmlinputstream.adoc  |  87 ++++
 .../ROOT/pages/pipeline/transforms/xmljoin.adoc    |  50 +++
 .../ROOT/pages/pipeline/transforms/xmloutput.adoc  |  87 ++++
 .../pages/pipeline/transforms/xsdvalidator.adoc    |  60 +++
 .../ROOT/pages/pipeline/transforms/xslt.adoc       |  40 ++
 .../ROOT/pages/pipeline/transforms/yamlinput.adoc  |  78 ++++
 .../ROOT/pages/pipeline/transforms/zipfile.adoc    |  41 ++
 .../ROOT/pages/plugins/external-plugins.adoc       |  24 ++
 .../ROOT/pages/plugins/passwords/aespasswords.adoc |  62 +++
 .../modules/ROOT/pages/plugins/plugins.adoc        |  43 ++
 .../modules/ROOT/pages/plugins/projects.adoc       |   2 +
 .../ROOT/pages/plugins/projects/projects.adoc      | 328 ++++++++++++++++
 .../pages/plugins/transforms/dropboxinput.adoc     |  38 ++
 .../pages/plugins/transforms/dropboxoutput.adoc    |  39 ++
 .../plugins/transforms/google-sheets-input.adoc    |  36 ++
 .../plugins/transforms/google-sheets-output.adoc   |  47 +++
 .../pages/plugins/transforms/googleanalytics.adoc  |  87 ++++
 .../modules/ROOT/pages/projects/advanced.adoc      | 102 +++++
 .../modules/ROOT/pages/projects/index.adoc         |  39 ++
 .../modules/ROOT/pages/projects/metadata.adoc      |  46 +++
 .../ROOT/pages/projects/projects-environments.adoc | 107 +++++
 .../modules/ROOT/pages/samples/dummy-sample.adoc   |   5 +
 .../modules/ROOT/pages/samples/samples.adoc        |   5 +
 .../ROOT/pages/snippets/hop-concepts/action.adoc   |   1 +
 .../pages/snippets/hop-concepts/environment.adoc   |   2 +
 .../hop-concepts/hop-projects-environments.adoc    |   9 +
 .../ROOT/pages/snippets/hop-concepts/hop.adoc      |   1 +
 .../pages/snippets/hop-concepts/item-types.adoc    |  22 ++
 .../pages/snippets/hop-concepts/lazy-loading.adoc  |   3 +
 .../ROOT/pages/snippets/hop-concepts/metadata.adoc |   1 +
 .../ROOT/pages/snippets/hop-concepts/pipeline.adoc |   1 +
 .../ROOT/pages/snippets/hop-concepts/project.adoc  |   2 +
 .../pages/snippets/hop-concepts/transform.adoc     |   1 +
 .../ROOT/pages/snippets/hop-concepts/workflow.adoc |   1 +
 .../ROOT/pages/snippets/hop-tools/hop-conf.adoc    |   1 +
 .../ROOT/pages/snippets/hop-tools/hop-encrypt.adoc |   3 +
 .../ROOT/pages/snippets/hop-tools/hop-gui.adoc     |   1 +
 .../ROOT/pages/snippets/hop-tools/hop-run.adoc     |   1 +
 .../ROOT/pages/snippets/hop-tools/hop-search.adoc  |   1 +
 .../ROOT/pages/snippets/hop-tools/hop-server.adoc  |   1 +
 .../ROOT/pages/snippets/hop-tools/hop-tools.adoc   |  22 ++
 .../pages/snippets/hop-tools/hop-translator.adoc   |   1 +
 .../ROOT/pages/technology/google/google-info.adoc  |  41 ++
 .../ROOT/pages/technology/neo4j/neo4j-info.adoc    |  34 ++
 .../modules/ROOT/pages/technology/technology.adoc  |   5 +
 .../modules/ROOT/pages/variables.adoc              | 100 +++++
 docs/hop-user-manual/modules/ROOT/pages/vfs.adoc   | 280 +++++++++++++
 .../modules/ROOT/pages/vfs/aws-s3-vfs.adoc         |  60 +++
 .../ROOT/pages/vfs/azure-blob-storage-vfs.adoc     |  72 ++++
 .../ROOT/pages/vfs/google-cloud-storage-vfs.adoc   |  54 +++
 .../modules/ROOT/pages/vfs/google-drive-vfs.adoc   |  70 ++++
 .../modules/ROOT/pages/workflow/actions.adoc       |   8 +
 .../modules/ROOT/pages/workflow/actions/abort.adoc |  33 ++
 .../pages/workflow/actions/addresultfilenames.adoc |  36 ++
 .../ROOT/pages/workflow/actions/as400command.adoc  |  40 ++
 .../pages/workflow/actions/cassandra-exec-cql.adoc |  41 ++
 .../pages/workflow/actions/checkdbconnection.adoc  |  36 ++
 .../pages/workflow/actions/checkfilelocked.adoc    |  39 ++
 .../ROOT/pages/workflow/actions/columnsexist.adoc  |  36 ++
 .../ROOT/pages/workflow/actions/copyfiles.adoc     |  70 ++++
 .../workflow/actions/copymoveresultfilenames.adoc  |  49 +++
 .../ROOT/pages/workflow/actions/createfile.adoc    |  34 ++
 .../ROOT/pages/workflow/actions/createfolder.adoc  |  34 ++
 .../modules/ROOT/pages/workflow/actions/delay.adoc |  34 ++
 .../ROOT/pages/workflow/actions/deletefile.adoc    |  34 ++
 .../ROOT/pages/workflow/actions/deletefiles.adoc   |  37 ++
 .../ROOT/pages/workflow/actions/deletefolders.adoc |  43 ++
 .../workflow/actions/deleteresultfilenames.adoc    |  35 ++
 .../ROOT/pages/workflow/actions/dostounix.adoc     |  56 +++
 .../ROOT/pages/workflow/actions/dtdvalidator.adoc  |  35 ++
 .../modules/ROOT/pages/workflow/actions/dummy.adoc |  24 ++
 .../modules/ROOT/pages/workflow/actions/eval.adoc  | 138 +++++++
 .../pages/workflow/actions/evalfilesmetrics.adoc   |  82 ++++
 .../workflow/actions/evaluatetablecontent.adoc     |  46 +++
 .../ROOT/pages/workflow/actions/filecompare.adoc   |  34 ++
 .../ROOT/pages/workflow/actions/fileexists.adoc    |  39 ++
 .../ROOT/pages/workflow/actions/filesexist.adoc    |  40 ++
 .../ROOT/pages/workflow/actions/folderisempty.adoc |  36 ++
 .../pages/workflow/actions/folderscompare.adoc     |  40 ++
 .../modules/ROOT/pages/workflow/actions/ftp.adoc   |  88 +++++
 .../ROOT/pages/workflow/actions/ftpdelete.adoc     |  97 +++++
 .../ROOT/pages/workflow/actions/ftpput.adoc        |  71 ++++
 .../ROOT/pages/workflow/actions/ftpsget.adoc       |  83 ++++
 .../ROOT/pages/workflow/actions/ftpsput.adoc       |  69 ++++
 .../ROOT/pages/workflow/actions/getpop.adoc        |  43 ++
 .../modules/ROOT/pages/workflow/actions/http.adoc  |  62 +++
 .../modules/ROOT/pages/workflow/actions/mail.adoc  | 120 ++++++
 .../ROOT/pages/workflow/actions/mailvalidator.adoc |  46 +++
 .../ROOT/pages/workflow/actions/movefiles.adoc     | 107 +++++
 .../ROOT/pages/workflow/actions/msgboxinfo.adoc    |  41 ++
 .../ROOT/pages/workflow/actions/mssqlbulkload.adoc |  73 ++++
 .../ROOT/pages/workflow/actions/mysqlbulkfile.adoc |  48 +++
 .../ROOT/pages/workflow/actions/mysqlbulkload.adoc |  47 +++
 .../workflow/actions/neo4j-checkconnections.adoc   |  29 ++
 .../pages/workflow/actions/neo4j-cypherscript.adoc |  58 +++
 .../pages/workflow/actions/pgpdecryptfiles.adoc    |  95 +++++
 .../pages/workflow/actions/pgpencryptfiles.adoc    |  97 +++++
 .../ROOT/pages/workflow/actions/pgpfiles.adoc      |  20 +
 .../ROOT/pages/workflow/actions/pgpverify.adoc     |  36 ++
 .../modules/ROOT/pages/workflow/actions/ping.adoc  |  38 ++
 .../ROOT/pages/workflow/actions/pipeline.adoc      | 102 +++++
 .../ROOT/pages/workflow/actions/repeat-end.adoc    |  29 ++
 .../ROOT/pages/workflow/actions/repeat.adoc        |  57 +++
 .../pages/workflow/actions/runpipelinetests.adoc   |  35 ++
 .../workflow/actions/sendnagiospassivecheck.adoc   |  46 +++
 .../ROOT/pages/workflow/actions/setvariables.adoc  |  40 ++
 .../modules/ROOT/pages/workflow/actions/sftp.adoc  |  75 ++++
 .../ROOT/pages/workflow/actions/sftpput.adoc       |  73 ++++
 .../modules/ROOT/pages/workflow/actions/shell.adoc |  48 +++
 .../ROOT/pages/workflow/actions/simpleeval.adoc    |  81 ++++
 .../ROOT/pages/workflow/actions/snmptrap.adoc      |  44 +++
 .../modules/ROOT/pages/workflow/actions/sql.adoc   |  38 ++
 .../modules/ROOT/pages/workflow/actions/start.adoc |  26 ++
 .../ROOT/pages/workflow/actions/success.adoc       |  32 ++
 .../ROOT/pages/workflow/actions/tableexists.adoc   |  37 ++
 .../ROOT/pages/workflow/actions/telnet.adoc        |  35 ++
 .../pages/workflow/actions/truncatetables.adoc     |  39 ++
 .../modules/ROOT/pages/workflow/actions/unzip.adoc |  55 +++
 .../ROOT/pages/workflow/actions/waitforfile.adoc   |  38 ++
 .../ROOT/pages/workflow/actions/waitforsql.adoc    |  44 +++
 .../workflow/actions/webserviceavailable.adoc      |  35 ++
 .../ROOT/pages/workflow/actions/workflow.adoc      |  99 +++++
 .../ROOT/pages/workflow/actions/writetofile.adoc   |  38 ++
 .../ROOT/pages/workflow/actions/writetolog.adoc    |  35 ++
 .../ROOT/pages/workflow/actions/xmlwellformed.adoc |  48 +++
 .../ROOT/pages/workflow/actions/xsdvalidator.adoc  |  41 ++
 .../modules/ROOT/pages/workflow/actions/xslt.adoc  |  48 +++
 .../ROOT/pages/workflow/actions/zipfile.adoc       |  66 ++++
 .../ROOT/pages/workflow/create-workflow.adoc       | 127 ++++++
 .../ROOT/pages/workflow/run-debug-workflow.adoc    |  40 ++
 .../workflow-run-configurations.adoc               |  34 ++
 .../modules/ROOT/pages/workflow/workflows.adoc     |   8 +
 .../modules/ROOT/templates/template-faq.adoc       |   4 +
 .../modules/ROOT/templates/template-plugin.adoc    |   5 +
 .../modules/ROOT/templates/template-sample.adoc    |   2 +
 docs/hop-user-manual/pom.xml                       |  47 +++
 docs/pom.xml                                       |  46 +++
 pom.xml                                            |   3 +
 763 files changed, 29243 insertions(+), 3 deletions(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index 75bf4cf..ab7bfc9 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -70,17 +70,22 @@ pipeline {
                 checkout scm
             }
         }
-        stage ('Start Docs build') {
+        stage ('Start Website build') {
             when {
                 branch 'master'
-                changeset '**/*.adoc'
+                changeset 'docs/**'
             }
             steps {
                 echo 'Trigger Documentation Build'
-                build job: 'Hop/Hop-Documentation/asf-site', wait: false
+                build job: 'Hop/Hop-website/master', wait: false
             }
         }
         stage('Get POM Version') {
+            when {
+                not {
+                    changeset 'docs/**'
+                }
+            }
             steps{
                 script {
                     env.POM_VERSION = sh script: 'mvn help:evaluate -Dexpression=project.version -q -DforceStdout', returnStdout: true
@@ -89,6 +94,11 @@ pipeline {
             }
         }
         stage('Test & Build') {
+            when {
+                not {
+                    changeset 'docs/**'
+                }
+            }
             steps {
                 echo 'Test & Build'
 
@@ -108,6 +118,9 @@ pipeline {
         stage('Unzip Apache Hop'){
             when {
                 branch 'master'
+                not {
+                    changeset 'docs/**'
+                }
             }
             steps{
                 sh "unzip ./assemblies/client/target/hop-client-*.zip -d ./assemblies/client/target/"
@@ -118,6 +131,9 @@ pipeline {
         stage('Build Hop Docker Image') {
             when {
                 branch 'master'
+                not {
+                    changeset 'docs/**'
+                }
             }
             steps {
                 echo 'Building Hop Docker Image'
@@ -133,6 +149,9 @@ pipeline {
         stage('Build Hop Web Docker Image') {
             when {
                 branch 'master'
+                not {
+                    changeset 'docs/**'
+                }
             }
             steps {
                 echo 'Building Hop Web Docker Image'
@@ -149,6 +168,9 @@ pipeline {
         stage('Deploy'){
             when {
                 branch 'master'
+                not {
+                    changeset 'docs/**'
+                }
             }
             steps{
                 echo 'Deploying'
diff --git a/docs/README.md b/docs/README.md
new file mode 100644
index 0000000..1b66b20
--- /dev/null
+++ b/docs/README.md
@@ -0,0 +1,79 @@
+# About Project Hop documentation
+
+The hop documentation project consists of multiple types of documentation. Each with their own purpose.
+
+## Hop User manual
+The user manual contains general guidelines and info for starting hop users and reference material about actions and transforms for the more advanced users.
+It will contain Frequently Asked Questions and step by step samples
+
+A part of the user manual is imported from the main HOP repository, the database,action and transform documentation is maintained together with the code.
+
+## Hop Tech manual
+This reference guide will contain reference architectures and more advanced configuration and set-ups using HOP
+
+## Hop Development manual
+The Development manual contains information on how to create plugins and how the code of HOP works.
+
+# Structure
+When opening one of the three documentation folders you will notice there are two modules one is called ROOT the other is asciidoctor.
+The ROOT module contains all the content, the asciidoctor is a placeholder to generate a PDF book based on the ROOT module.
+
+```
+The asciidoctor module is currently not being used, it is a future project
+```
+
+Under the ROOT module you will find following folders:
+
+* assets
+  * Used for images, place your images in this folder
+* pages
+  * actual page content
+* templates
+  * templates you can use to base other material on
+
+And one special file called `nav.adoc` this file is (at least in the user manual) partially generated you will see a start and endtag in this file, do not add new pages between it, it will be overwritten in the next build.
+The `nav.adoc` is used to generate the list on the left hand side of the documentation website.
+
+
+
+# Build
+## Tools used
+
+For the website build Antora is used to generate the documents.
+
+We also generate a pdf-book using a Asciidoctor maven project.
+
+## Website
+The content in this repository is used to generate the website [User Manual](https://hop.apache.org/manual/latest/) and [Technical Documentation](https://hop.apache.org/tech-manual/latest/) each commit in master triggers a jenkins build that pushes the latest changes to the website. Testing the website version before deployment is currently not possible
+
+## PDF Book
+The same content is used to generate a book version of the manual that can be downloaded or distributed with the installation of hop (currently under discussion)
+
+The book can be generated using maven.
+
+```
+mvn clean install
+```
+
+The final result can be found in following location:
+
+hop-user/tech-manual/modules/asciidoctor/target/generated-docs
+
+
+# Contributing
+
+## Changing existing content
+
+1. create a fork of our repository
+2. update a page
+3. check if book lay-out does not break
+4. create pull request
+
+## Adding a new page
+
+When creating a new page following must be taken into account:
+* add your new page to nav.adoc
+* add your new page to asciidoctor index.adoc
+* when using xref to link to other Antora pages add a tag website-links[]
+
+For more information take a look at our [Contribution Guide](https://hop.apache.org/community/contributing/) or feel free to ask us question on our [Chat](https://chat.project-hop.org)
\ No newline at end of file
diff --git a/docs/hop-dev-manual/antora.yml b/docs/hop-dev-manual/antora.yml
new file mode 100644
index 0000000..e76034d
--- /dev/null
+++ b/docs/hop-dev-manual/antora.yml
@@ -0,0 +1,5 @@
+name: dev-manual
+title: Development Documentation
+version: latest
+nav:
+- modules/ROOT/nav.adoc
diff --git a/docs/hop-dev-manual/modules/.asciidoctor/pages/index.adoc b/docs/hop-dev-manual/modules/.asciidoctor/pages/index.adoc
new file mode 100644
index 0000000..93fe06d
--- /dev/null
+++ b/docs/hop-dev-manual/modules/.asciidoctor/pages/index.adoc
@@ -0,0 +1,16 @@
+:author: Project Hop
+:email: info@project-hop.org
+:sectnums:
+:sectnumlevels: 5
+:toc:
+:toc-title: Hop Technical Guide
+:toc: left
+:toclevels: 5
+
+:description: This guide will help you with more complex installations and configurations.
+:keywords: hop technical
+:sourcepath: ../../ROOT/pages
+
+= Hop Technical Guide
+
+include::{sourcepath}/getting-started.adoc[]
\ No newline at end of file
diff --git a/docs/hop-dev-manual/modules/.asciidoctor/pom.xml b/docs/hop-dev-manual/modules/.asciidoctor/pom.xml
new file mode 100644
index 0000000..45418b1
--- /dev/null
+++ b/docs/hop-dev-manual/modules/.asciidoctor/pom.xml
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~       http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  ~
+  -->
+<project 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/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <artifactId>hop-dev-manual</artifactId>
+        <groupId>org.hop.doc</groupId>
+        <version>1.0-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+
+    <groupId>org.hop.doc</groupId>
+    <artifactId>hop-dev-manual-asciidoctor</artifactId>
+    <version>1.0-SNAPSHOT</version>
+
+    <name>Hop Development Manual</name>
+    <description></description>
+    <packaging>pom</packaging>
+    <url>https://hop.apache.org</url>
+
+    <properties>
+        <output.filename>hop-dev-manual</output.filename>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>hop-doc-resources</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+        <!--Use resources plugin to grab images from other module for PDF build-->
+            <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <version>3.1.0</version>
+                <executions>
+                    <execution>
+                        <id>copy-resource-one</id>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals>
+
+                        <configuration>
+                            <outputDirectory>./target/assets/images</outputDirectory>
+                            <resources>
+                                <resource>
+                                    <directory>../ROOT/assets/images</directory>
+                                    <includes>
+                                        <include>**</include>
+                                    </includes>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-remote-resources-plugin</artifactId>
+                <version>1.6.0</version>
+                <configuration>
+                    <resourceBundles>
+                        <resourceBundle>org.hop.doc:hop-doc-resources:${project.version}</resourceBundle>
+                    </resourceBundles>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>process</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.asciidoctor</groupId>
+                <artifactId>asciidoctor-maven-plugin</artifactId>
+                <version>2.0.0-RC.1</version>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.asciidoctor</groupId>
+                        <artifactId>asciidoctor-maven-plugin</artifactId>
+                        <version>${asciidoctor.version}</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.asciidoctor</groupId>
+                        <artifactId>asciidoctorj-pdf</artifactId>
+                        <version>${asciidoctorj.pdf.version}</version>
+                    </dependency>
+                </dependencies>
+                <configuration>
+                    <sourceDirectory>pages</sourceDirectory>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>output-html</id>
+                        <phase>generate-resources</phase>
+                        <goals>
+                            <goal>process-asciidoc</goal>
+                        </goals>
+                        <configuration>
+                            <backend>html</backend>
+                            <doctype>book</doctype>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>output-pdf-book</id>
+                        <phase>generate-resources</phase>
+                        <goals>
+                            <goal>process-asciidoc</goal>
+                        </goals>
+                        <configuration>
+                            <backend>pdf</backend>
+                            <doctype>book</doctype>
+                            <attributes>
+                                <pdf-stylesdir>${project.basedir}/target/maven-shared-archive-resources/themes</pdf-stylesdir>
+                                <pdf-style>hop</pdf-style>
+                            </attributes>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
\ No newline at end of file
diff --git a/docs/hop-dev-manual/modules/ROOT/assets/.placeholder b/docs/hop-dev-manual/modules/ROOT/assets/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/docs/hop-dev-manual/modules/ROOT/assets/images/github-create-pull-request.png b/docs/hop-dev-manual/modules/ROOT/assets/images/github-create-pull-request.png
new file mode 100644
index 0000000..2bf95c7
Binary files /dev/null and b/docs/hop-dev-manual/modules/ROOT/assets/images/github-create-pull-request.png differ
diff --git a/docs/hop-dev-manual/modules/ROOT/assets/images/github-fork.png b/docs/hop-dev-manual/modules/ROOT/assets/images/github-fork.png
new file mode 100644
index 0000000..375ddae
Binary files /dev/null and b/docs/hop-dev-manual/modules/ROOT/assets/images/github-fork.png differ
diff --git a/docs/hop-dev-manual/modules/ROOT/assets/images/github-pull-request-checking.png b/docs/hop-dev-manual/modules/ROOT/assets/images/github-pull-request-checking.png
new file mode 100644
index 0000000..c10e375
Binary files /dev/null and b/docs/hop-dev-manual/modules/ROOT/assets/images/github-pull-request-checking.png differ
diff --git a/docs/hop-dev-manual/modules/ROOT/assets/images/github-pull-request.png b/docs/hop-dev-manual/modules/ROOT/assets/images/github-pull-request.png
new file mode 100644
index 0000000..9bc41ba
Binary files /dev/null and b/docs/hop-dev-manual/modules/ROOT/assets/images/github-pull-request.png differ
diff --git a/docs/hop-dev-manual/modules/ROOT/assets/images/github-repository-url.png b/docs/hop-dev-manual/modules/ROOT/assets/images/github-repository-url.png
new file mode 100644
index 0000000..187cab6
Binary files /dev/null and b/docs/hop-dev-manual/modules/ROOT/assets/images/github-repository-url.png differ
diff --git a/docs/hop-dev-manual/modules/ROOT/assets/images/hop-translator-after-start.png b/docs/hop-dev-manual/modules/ROOT/assets/images/hop-translator-after-start.png
new file mode 100644
index 0000000..9b7bd06
Binary files /dev/null and b/docs/hop-dev-manual/modules/ROOT/assets/images/hop-translator-after-start.png differ
diff --git a/docs/hop-dev-manual/modules/ROOT/assets/images/hop-translator-save-files-dialog.png b/docs/hop-dev-manual/modules/ROOT/assets/images/hop-translator-save-files-dialog.png
new file mode 100644
index 0000000..404d9a1
Binary files /dev/null and b/docs/hop-dev-manual/modules/ROOT/assets/images/hop-translator-save-files-dialog.png differ
diff --git a/docs/hop-dev-manual/modules/ROOT/assets/images/hop-translator-translating-a-key.png b/docs/hop-dev-manual/modules/ROOT/assets/images/hop-translator-translating-a-key.png
new file mode 100644
index 0000000..93425c2
Binary files /dev/null and b/docs/hop-dev-manual/modules/ROOT/assets/images/hop-translator-translating-a-key.png differ
diff --git a/docs/hop-dev-manual/modules/ROOT/assets/images/idea-new-project-maven.png b/docs/hop-dev-manual/modules/ROOT/assets/images/idea-new-project-maven.png
new file mode 100644
index 0000000..c917dad
Binary files /dev/null and b/docs/hop-dev-manual/modules/ROOT/assets/images/idea-new-project-maven.png differ
diff --git a/docs/hop-dev-manual/modules/ROOT/assets/images/integration-tests-001.png b/docs/hop-dev-manual/modules/ROOT/assets/images/integration-tests-001.png
new file mode 100644
index 0000000..b1a2fd6
Binary files /dev/null and b/docs/hop-dev-manual/modules/ROOT/assets/images/integration-tests-001.png differ
diff --git a/docs/hop-dev-manual/modules/ROOT/assets/images/integration-tests-002.png b/docs/hop-dev-manual/modules/ROOT/assets/images/integration-tests-002.png
new file mode 100644
index 0000000..5945fbf
Binary files /dev/null and b/docs/hop-dev-manual/modules/ROOT/assets/images/integration-tests-002.png differ
diff --git a/docs/hop-dev-manual/modules/ROOT/assets/images/integration-tests-003.png b/docs/hop-dev-manual/modules/ROOT/assets/images/integration-tests-003.png
new file mode 100644
index 0000000..363cffb
Binary files /dev/null and b/docs/hop-dev-manual/modules/ROOT/assets/images/integration-tests-003.png differ
diff --git a/docs/hop-dev-manual/modules/ROOT/assets/images/integration-tests-004.png b/docs/hop-dev-manual/modules/ROOT/assets/images/integration-tests-004.png
new file mode 100644
index 0000000..70b4c8b
Binary files /dev/null and b/docs/hop-dev-manual/modules/ROOT/assets/images/integration-tests-004.png differ
diff --git a/docs/hop-dev-manual/modules/ROOT/assets/images/start-your-own-plugin/plugin-sample-1.png b/docs/hop-dev-manual/modules/ROOT/assets/images/start-your-own-plugin/plugin-sample-1.png
new file mode 100644
index 0000000..2db56d4
Binary files /dev/null and b/docs/hop-dev-manual/modules/ROOT/assets/images/start-your-own-plugin/plugin-sample-1.png differ
diff --git a/docs/hop-dev-manual/modules/ROOT/assets/images/start-your-own-plugin/plugin-sample-2.png b/docs/hop-dev-manual/modules/ROOT/assets/images/start-your-own-plugin/plugin-sample-2.png
new file mode 100644
index 0000000..7618b97
Binary files /dev/null and b/docs/hop-dev-manual/modules/ROOT/assets/images/start-your-own-plugin/plugin-sample-2.png differ
diff --git a/docs/hop-dev-manual/modules/ROOT/nav.adoc b/docs/hop-dev-manual/modules/ROOT/nav.adoc
new file mode 100644
index 0000000..1eb6b99
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/nav.adoc
@@ -0,0 +1,18 @@
+* xref:getting-started.adoc[Getting started]
+* xref:porting-kettle-plugins.adoc[Porting Kettle plugins]
+* xref:metadata-plugins.adoc[Metadata plugins]
+* xref:setup-dev-environment.adoc[Setting up your development environment]
+* xref:integration-testing.adoc[Integration testing]
+* xref:internationalisation.adoc[Internationalisation (i18n)]
+* xref:plugin-development.adoc[Plugins Development]
+* xref:plugin-samples.adoc[Plugins Samples]
+* xref:svg-files.adoc[SVG Files]
+** xref:start-your-own-plugin.adoc[Creating your own plugin]
+* xref:apache-release/index.adoc[Apache Release Process]
+** xref:apache-release/creating-a-release.adoc[Creating a Release]
+** xref:apache-release/promoting-a-release.adoc[Promoting a Release]
+** xref:apache-release/checking-a-release.adoc[Checking a Release]
+* xref:webhop/index.adoc[Hop Web]
+** xref:webhop/developer-guide.adoc[Webhop Developer Guide]
+* xref:sdk/index.adoc[SDK]
+** xref:sdk/hop-sdk.adoc[The Hop SDK]
\ No newline at end of file
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/apache-release/checking-a-release.adoc b/docs/hop-dev-manual/modules/ROOT/pages/apache-release/checking-a-release.adoc
new file mode 100644
index 0000000..165c5fe
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/pages/apache-release/checking-a-release.adoc
@@ -0,0 +1,126 @@
+[[CheckingARelease]]
+= Checking a Release
+
+After the release manager creates a release as described in xref:apache-release/creating-a-release.adoc[Creating a Release] the voting process starts. This guide will contain some steps you can take to validate a release candidate and base your vote on. Each member will have his own way to check some parts of a release. There is no general rule on how to check a release, there is only a list on what has to be checked this list can be found in the https://www.apache.org/legal/release-poli [...]
+
+== Possible checks that can be followed (Linux)
+
+Start by grabbing the artifacts mentioned in the vote mail. Either use the link provided in the mail or grab them https://dist.apache.org/repos/dist/dev/incubator/hop/[here].
+
+In these examples a folder to check everything in was created in `/tmp` and the artifacts are already in place.
+
+[source,bash]
+----
+mkdir /tmp/release_check
+----
+
+First check would be to see if the keys and hashes are in order
+
+[source,bash]
+----
+# check the sha512
+
+sha512sum -c apache-hop-X.XX-incubating-rcX.tar.gz.sha512
+
+# should echo the artifact name and OK
+
+# check the gpg signature
+
+gpg --verify apache-hop-X.XX-incubating-rcX.tar.gz.asc
+
+# if it prints out gpg: Can't check signature: No public key fetch the key from public keyserver
+# 1. Check if the keyid matches a known key in the KEYS file https://dist.apache.org/repos/dist/dev/incubator/hop/KEYS
+# 2. grab the key from the public keyserver found in the release mail
+
+gpg --keyserver <KEY SERVER>  --receive-keys <KEY ID>
+
+# verify the package again
+
+gpg --verify apache-hop-X.XX-incubating-rcX.tar.gz.asc
+
+# output should be:
+# gpg: Good signature from "Owner Name <Ow...@apache.org>" [ultimate]
+
+----
+
+If these steps pass we can start checking the content of the release.
+First step would be to download the matching source code from github.
+
+[source,bash]
+----
+# replace branch with the branch name mentioned in the release mail
+
+git clone --depth 1 --branch X.XX-rcX https://github.com/apache/incubator-hop.git source_version
+
+# check if the git commit matches the commit mentioned in the release mail
+
+cd source_version
+git rev-parse --short HEAD
+
+# remove the .git folder
+
+rm -rf .git
+cd ..
+----
+
+final step is to see if the content of the source repository matches the content of the downloaded archive.
+
+[source,bash]
+----
+# unpack the downloaded source code
+
+tar -xvf apache-hop-X.XX-incubating-rcX.tar.gz
+
+# do a diff to see if they match
+
+diff -qr source_version apache-hop-X.XX-incubating
+
+# this should show no output indicating that all files match
+# the folder containing the source code can now be removed
+
+rm -rf source_version
+----
+
+Check if the unpacked archive contains following files and if they are correct
+
+* DISCLAIMER
+* LICENSE
+** check if mentioned licenses are available in the licenses folder
+* NOTICE
+* README
+** check for build instructions
+
+Validate if all files contain the correct headers
+
+[source,bash]
+----
+mvn apache-rat:rat -debug
+----
+
+Now build and test the released code
+
+[source,bash]
+----
+# run maven clean install (you can add -T 4 to build multi threaded)
+
+mvn clean install
+
+# switch to the finished artifact, extract and test
+cd assemblies/client/target
+unzip hop-client-*.zip
+cd hop 
+./hop-gui.sh
+----
+
+
+
+
+== Extra checks
+
+You can also check for unwanted binary files on the checked out tag
+
+[source,bash]
+----
+git ls-files -z | xargs -0 file -b | sort | uniq -c
+----
+
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/apache-release/creating-a-release.adoc b/docs/hop-dev-manual/modules/ROOT/pages/apache-release/creating-a-release.adoc
new file mode 100644
index 0000000..a77cab6
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/pages/apache-release/creating-a-release.adoc
@@ -0,0 +1,254 @@
+[[CreatingARelease]]
+= Creating a release
+
+This document will include the steps needed to be taken by the release manager to create a successful release candidate.
+
+== Creating a release branch
+
+first step is to create a new release branch.
+The branch must follow following naming pattern `releaseX.XX` where `X.XX` is the release version number.
+
+In this example upstream is the apache/incubator-hop github repository
+
+[source,bash]
+----
+git branch releaseX.XX upstream/master
+git checkout releaseX.XX
+git push upstream releaseX.XX:releaseX.XX
+----
+
+== update the version of the poms
+
+[source,bash]
+----
+mvn versions:set -DnewVersion=X.XX -DgenerateBackupPoms=false
+----
+
+== commit the changed version and add tag
+
+Next up checking in the changes and adding a release tag.
+
+[source,bash]
+----
+git add .
+git commit -m 'Create release version x.xx'
+git push upstream releaseX.XX:releaseX.XX
+
+git tag -a X.XX-rcX
+git push upstream tag X.XX-rcX
+----
+
+== Creating the release artifacts
+
+Checkout the tag to a clean folder to avoid files that are ignored by git and remove the git folder.
+Next up is creating the tar.gz file
+
+[source,bash]
+----
+git clone --depth 1 --branch X.XX-rcX https://github.com/apache/incubator-hop.git apache-hop-X.XX-incubating
+rm -rf apache-hop-X.XX-incubating/.git
+tar -czvf apache-hop-X.XX-incubating-rcX.tar.gz apache-hop-X.XX-incubating
+----
+
+== Sign the artifacts
+
+This part assumes you already have created and registered keys to sign the artifacts, for more information on creating and adding your keys see <<CreatingAKey,here>>
+
+[source,bash]
+----
+gpg --armor --default-key username@apache.org --output apache-hop-X.XX-incubating-rcX.tar.gz.asc --detach-sig apache-hop-X.XX-incubating-rcX.tar.gz
+sha512sum apache-hop-X.XX-incubating-rcX.tar.gz > apache-hop-X.XX-incubating-rcX.tar.gz.sha512
+----
+
+== Staging the files
+
+First step is to check out the SVN directory, and create a new directory
+
+[source,bash]
+----
+svn co https://dist.apache.org/repos/dist/dev/incubator/hop hop_release
+cd hop_release
+svn mkdir apache-hop-x.xx-incubating-rcx
+----
+
+Now copy over the following files in this new directory
+
+----
+apache-hop-X.XX-incubating-rcX.tar.gz.sha512
+apache-hop-X.XX-incubating-rcX.tar.gz.asc
+apache-hop-X.XX-incubating-rcX.tar.gz
+----
+
+Final checks before adding these files
+
+- check chekcsum
+- check pgp signature
+
+[source,bash]
+----
+cd apache-hop-x.xx-incubating-rcx
+gpg --verify apache-hop-X.XX-incubating-rcX.tar.gz.asc
+sha512sum -c apache-hop-X.XX-incubating-rcX.tar.gz.sha512
+----
+
+Add and commit the files to svn
+
+[source,bash]
+----
+svn add *
+svn status
+svn commit -m 'Add release files for Apache hop X.XX-rcX'
+----
+
+Check if the files are uploaded https://dist.apache.org/repos/dist/dev/incubator/hop/[here]
+
+
+== Send mail to dev list to announce new release candidate
+
+Mail Template
+
+----
+Subject: [VOTE] Release Apache Hop (incubating) X.XX-rcX
+TO: dev@hop.apache.org
+
+Hi All,
+
+<INCLUDE SOME TEXT>
+
+Build instructions can be found in the README included.
+
+The tag to be voted on is X.XX-rcX <REPLACE TAG> (commit <COMMIT HASH>):
+<URL TO TAG COMMIT>
+
+The release files, including signatures, digests, etc. can be found at:
+<INCLUDE URL TO DIST RC FOLDER>
+https://dist.apache.org/repos/dist/dev/incubator/hop/apache-hop-X.XX-incubating-rcX/
+
+The SHA512 Checksum for these artifacts is:
+<INCLUDE CHECKSUM FROM SHA512 file>
+
+Release artifacts are signed with the following key:
+<ADD URL TO YOUR KEY ON A PUBLIC KEYSERVER>
+
+For more information about the contents of this release, see:
+<ADD URL TO RELEASE IN JIRA>
+
+Please vote on releasing this package as Apache Hop (incubating) X.XX!
+
+The vote is open for 72 hours and passes if
+a majority of at least 3 +1 PMC votes are cast.
+
+[ ] +1 Release this package as Apache Hop (incubating) X.XX
+[ ] +0 No opinion
+[ ] -1 Do not release this package because ...
+
+Best Regards,
+<YOUR NAME>
+
+----
+
+
+== Send a result mail to the dev mailing list
+
+----
+Subject: [RESULT] [VOTE] Release Apache Hop (incubating) X.XX-rcX
+TO: dev@hop.apache.org
+
+Hello Team,
+
+The vote to release Apache Hop (incubating) X.XX - RCX has passed/failed.
+
++1 (binding):
+
++1 (non-binding)
+
++0
+
+-1 (binding)
+
+-1 (non-binding)
+
+Thank you for reviewing this release candidate.
+
+Cheers,
+<YOUR NAME>
+----
+
+== While in Incubator
+
+=== Send mail to general incubator list
+
+The mail to the IPMC is almost identical to our vote mail, a few extra details are added:
+
+- Vote and Result mail thread
+
+----
+Subject: [VOTE] Release Apache Hop (incubating) X.XX-rcX
+TO: general@incubator.apache.org
+
+Hi All,
+
+<INCLUDE SOME TEXT>
+
+Build instructions can be found in the README included.
+
+Hop community vote and result threads:
+Vote:
+ <URL TO VOTE FROM https://lists.apache.org/list.html?dev@hop.apache.org>
+Result:
+ <URL TO VOTE RESULT FROM https://lists.apache.org/list.html?dev@hop.apache.org>
+
+The tag to be voted on is X.XX-rcX <REPLACE TAG> (commit <COMMIT HASH>):
+<URL TO TAG COMMIT>
+
+The release files, including signatures, digests, etc. can be found at:
+<INCLUDE URL TO DIST RC FOLDER>
+https://dist.apache.org/repos/dist/dev/incubator/hop/apache-hop-X.XX-incubating-rcX/
+
+The SHA512 Checksum for these artifacts is:
+<INCLUDE CHECKSUM FROM SHA512 file>
+
+Release artifacts are signed with the following key:
+<ADD URL TO YOUR KEY ON A PUBLIC KEYSERVER>
+
+For more information about the contents of this release, see:
+<ADD URL TO RELEASE IN JIRA>
+
+Please vote on releasing this package as Apache Hop (incubating) X.XX!
+
+The vote is open for 72 hours and passes if
+a majority of at least 3 +1 PMC votes are cast.
+
+[ ] +1 Release this package as Apache Hop (incubating) X.XX
+[ ] +0 No opinion
+[ ] -1 Do not release this package because ...
+
+Best Regards,
+<YOUR NAME>
+
+----
+
+== [[CreatingAKey]]Creating a key
+
+To generate and publish a key follow these steps, it is recommended to use your apache email as key alias.
+
+[source,bash]
+----
+gpg --gen-key
+gpg -k <username>@apache.org
+# get the ID for your key
+gpg --send-keys --keyserver php.mit.edu <KEY ID>
+gpg --send-keys --keyserver keyserver.ubuntu.com <KEY ID>
+----
+
+
+Next step is to add your key to the key file in the Apache SVN repository.
+
+[source,bash]
+----
+svn co https://dist.apache.org/repos/dist/dev/incubator/hop hop_release
+cd hop_release
+gpg --list-sigs <keyID> >> KEYS
+gpg  --armor --export <keyID> >> KEYS
+svn commit -m "added new public key to KEYS file"
+----
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/apache-release/index.adoc b/docs/hop-dev-manual/modules/ROOT/pages/apache-release/index.adoc
new file mode 100644
index 0000000..c9e5bab
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/pages/apache-release/index.adoc
@@ -0,0 +1,5 @@
+[[ApacheRelease]]
+= Release process
+
+* xref:apache-release/creating-a-release.adoc[Creating a Release]
+* xref:apache-release/checking-a-release.adoc[Checking a Release]
\ No newline at end of file
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/apache-release/promoting-a-release.adoc b/docs/hop-dev-manual/modules/ROOT/pages/apache-release/promoting-a-release.adoc
new file mode 100644
index 0000000..812686f
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/pages/apache-release/promoting-a-release.adoc
@@ -0,0 +1,128 @@
+[[PromotingARelease]]
+= Promoting a release
+
+After the voting process has ended and the vote passed, following steps need to be taken to promote and create all release artifacts.
+
+== Renaming and moving the source code
+
+The first step is to move the source code from the staging to the release folder in SVN, as the release candidate has been approved it will be renamed to the official release artifact.
+
+Checkout or update your svn repository pointing to the staging area
+
+[source,bash]
+----
+# Checkout
+svn co https://dist.apache.org/repos/dist/dev/incubator/hop hop_release
+
+# Update
+svn update
+----
+
+Checkout the release area
+[source,bash]
+----
+svn co https://dist.apache.org/repos/dist/release/incubator/hop/ hop_public_release
+
+----
+
+Create a new folder in the hop_public_release location with the version number and copy the artifacts
+
+[source,bash]
+----
+cd hop_public_release
+svn mkdir X.XX
+cp ../hop_release/apache-hop-X.XX-incubating-rcX/* X.XX 
+----
+
+Remove the rc from the files and fix the link in the sha512 file
+[source,bash]
+----
+
+#Rename Files
+mv apache-hop-X.XX-incubating-rcX.tar.gz apache-hop-X.XX-incubating.tar.gz
+mv apache-hop-X.XX-incubating-rcX.tar.gz.asc apache-hop-X.XX-incubating.tar.gz.asc
+mv apache-hop-X.XX-incubating-rcX.tar.gz.sha512 apache-hop-X.XX-incubating.tar.gz.sha512
+
+#Remove rcx from sha512
+vi apache-hop-X.XX-incubating.tar.gz.sha512
+#Remove rcx and save
+----
+
+Test if both key and sha512 still work
+
+[source,bash]
+----
+gpg --verify apache-hop-X.XX-incubating.tar.gz.asc
+sha512sum -c apache-hop-X.XX-incubating.tar.gz.sha512
+----
+
+== Creating the client
+
+The client included in the release has to be build using the source code in the release. Copy the source you just prepared to a temp location to generate the client.
+
+[source,bash]
+----
+# Copy source to temp build location
+mkdir /tmp/client_build
+cp apache-hop-x.xx-incubating.tar.gz /tmp/client_build/
+cd /tmp/client_build
+
+# Extract
+tar -xvf apache-hop-X.XX-incubating.tar.gz
+cd apache-hop-X.XX-incubating
+
+# Run Build
+mvn -T 4 clean install -DskipTests=true
+
+# Copy client back (and rename)
+cp assemblies/client/target/hop-client-X.XX.zip SVN_LOCATION/hop_public_release/X.XX/apache-hop-client-X.XX-incubating.zip
+
+# Switch back to your SVN folder
+cd SVN_LOCATION/hop_public_release/X.XX/
+----
+
+As we now added a new binary file we also need to sign and create a sha512 for it.
+
+[source,bash]
+----
+# Create keyfile and sha512
+gpg --armor --default-key username@apache.org --output apache-hop-client-X.XX-incubating.zip.asc --detach-sig apache-hop-client-X.XX-incubating.zip
+sha512sum apache-hop-client-X.XX-incubating-.zip > apache-hop-client-X.XX-incubating.zip.sha512
+
+# Validate
+gpg --verify apache-hop-client-X.XX-incubating.zip.asc
+sha512sum -c apache-hop-client-X.XX-incubating.zip.sha512
+----
+
+Commit everything to SVN
+
+[source,bash]
+----
+svn add *
+svn status
+svn commit -m 'Add release files for Apache Hop X.XX'
+----
+
+== Creating Dockerhub Artifacts
+
+To create the docker images you can use the build used to create the client, go to the folder with the code and do following steps
+
+[source,bash]
+----
+unzip ./assemblies/client/target/hop-client-*.zip -d ./assemblies/client/target/
+unzip ./assemblies/web/target/hop.war -d ./assemblies/web/target/webapp
+unzip ./assemblies/plugins/dist/target/hop-assemblies-*.zip -d ./assemblies/plugins/dist/target/
+
+# Create image (make sure to add correct version)
+docker build . -f docker/Dockerfile -t docker.io/apache/incubator-hop:X.XX -t docker.io/apache/incubator-hop:latest
+
+# Push to dockerhub
+docker image push --all-tags docker.io/apache/incubator-hop
+
+# Create Hop Web
+docker build . -f docker/Dockerfile.web -t docker.io/apache/incubator-hop-web:X.XX -t docker.io/apache/incubator-hop-web:latest
+
+# Push to dockerhub
+docker image push --all-tags docker.io/apache/incubator-hop-web
+
+----
\ No newline at end of file
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/getting-started.adoc b/docs/hop-dev-manual/modules/ROOT/pages/getting-started.adoc
new file mode 100644
index 0000000..3637448
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/pages/getting-started.adoc
@@ -0,0 +1,57 @@
+[[GettingStarted-GettingStarted]]
+= Getting Started
+
+Welcome to the Hop project! The size of the codebase can perhaps appear to be a bit daunting at first so remember: *Don't Panic*!
+
+When it comes down to it the codebase is fairly simple in structure.
+
+Let's go over the main modules in the source code:
+
+== Core
+
+Like the name suggests this module contains the essentials to bootstrap Hop. It has the following types of things on board:
+
+- Tools: *hop-encrypt*
+- The plugin registry which keeps track of all the plugins: *PluginRegistry*
+- Core data types: *IValueMeta, ValueMetaString, ...*
+- Rows of data: *IRowMeta, RowMeta*
+- Logging: *HopLogStore, ILogChannel,...*
+- Generic relational database handling: *Database, IDatabaseMeta, ...*
+- Internationalization a.k.a. i18n to translate stuff: *BaseMessages*
+- Password obfuscation and encryption: *Encr*
+- Other utility classes like: *Const*
+- Plugin types: *LoggingPluginType, ValueMetaPluginType, DatabasePluginType, ExtensionPointPluginType, TwoWayPasswordEncoderPluginType*
+- Bootstrap everything in core with : *HopClientEnvironment.init()*
+
+== Engine
+
+This module contains the actual framework to handle pipelines and workflows.
+
+- Tools: *hop-server, hop-run*
+- Pipelines : *IPipelineMeta, Pipeline, IPipelineEngine, ...*
+- Workflows : *IWorkflowMeta, Workflow, ...*
+- Web server: *HopServer, StartPipelineServlet, ...*
+- Auditing: *AuditManager, AuditEvent, ...*
+- Other stuff worth mentioning: partitioning, lineage, ...
+- Plugin types: *RowDistributionPluginType, TransformPluginType, TransformDialogFragmentType, PartitionerPluginType, JobEntryPluginType,JobEntryDialogFragmentType, LogTablePluginType, LifecyclePluginType, HopLifecyclePluginType, HopServerPluginType, CompressionPluginType, AuthenticationProviderPluginType, AuthenticationConsumerPluginType, PipelineEnginePluginType*
+- Bootstrap everything in engine with : *HopEnvironment.init()*
+
+== UI
+
+This module obviously contains everything related to the Hop GUI
+
+- Tools: *hop-gui, hop-translate*
+- Hop GUI: *HopGui, HopDataOrchestrationPerspective, HopPipelineFileType, ...*
+- Translator, a tool to help you translate Hop itself: *Translator*
+- The rest is mostly a collection of re-usable dialogs and widgets
+
+== Metadata
+
+This module contains the core metadata serialization API for every shared object in Hop
+
+== Plugins
+
+The plugins module contains all the functionality in Hop which is not absolutely strictly essential.  This means that you will find a lot of transforms and actions in this module.
+You can use this collection as a series of examples on how to build plugins for Hop.
+
+
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/index.adoc b/docs/hop-dev-manual/modules/ROOT/pages/index.adoc
new file mode 100644
index 0000000..a9934c6
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/pages/index.adoc
@@ -0,0 +1,12 @@
+= Index Page
+
+* xref:getting-started.adoc[Getting started]
+* xref:metadata-plugins.adoc[Metadata plugins]
+* xref:porting-kettle-plugins.adoc[Porting Kettle plugins]
+* xref:setup-dev-environment.adoc[Setting up your development environment]
+* xref:integration-testing.adoc[Integration Testing]
+* xref:plugin-development.adoc[Plugin Development]
+* xref:plugin-samples.adoc[Plugin Samples]
+* xref:svg-files.adoc[SVG Files]
+* xref:start-your-own-plugin.adoc[Creating your own plugin]
+* xref:internationalisation.adoc[Internationalisation (i18n)]
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/integration-testing.adoc b/docs/hop-dev-manual/modules/ROOT/pages/integration-testing.adoc
new file mode 100644
index 0000000..3572b8b
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/pages/integration-testing.adoc
@@ -0,0 +1,149 @@
+[[integration-testing]]
+= Integration Testing
+
+The Apache Hop team has created an integration testing framework that is being used to test key components of the software.
+The integration tests run as a daily build on Jenkins and can be found https://ci-builds.apache.org/job/Hop/job/Hop-integration-tests/[here].
+
+
+== Adding tests to an existing project
+
+There are two possible scenarios that you can follow, the first is adding a test to one of the existing projects containing tests. The second scenario is creating a new project.
+
+First start by creating a local clone of the Apache Hop repository, instruction to do this can be found xref:setup-dev-environment.adoc[here].
+
+. Open the Hop gui and add one of the integration testing projects to your gui
++
+In this example we will be opening the `transforms` project and add an extra test in this project.
+When the UI asks to add an environment or lifecycle press no, using this is not supported 
++
+image::integration-tests-001.png[]
+
+. naming convention inside the project
++
+when taking a look inside the project you will see a distinct naming pattern is used.
+each test consists of one workflow and one or more pipelines to execute the test.
++
+The workflow *must* always start with `main-` followed by number and a logical explanation of what the test is checking. the pipelines linked to the workflow start with the same number the workflow uses to make a clear distinction which pipelines are linked to which test.
++
+image::integration-tests-002.png[]
++
+The workflows themselves can be straightforward, the exit code (success/abort) is used to determine if the workflow has passed or failed.
++
+note:: You can also make an integration test to test something that must fail. Then you simply link the false hop to a success and the true hop to an abort action.
++
+image::integration-tests-003.png[]
++
+image::integration-tests-004.png[]
++
+. create a unit test
++
+Now you can add your own workflow to the project folder. Make sure you have a Jira ticket you can refer to when creating a pull request.
+
+
+== Adding a new project
+
+You can also add a new project to the integration test folder. Give the project a meaningful name that explains the subject you will be testing.
+
+important:: the project should have a workflow engine named `local`
+
+== Running tests locally
+
+You can also run the integration tests on your local system.
+
+There are 2 ways the integration tests can be run oin your local system
+
+=== Docker Compose
+
+The entire test suite is available as a docker compose script to use this use following commands.
+This include all services available and needed for the tests.
+
+. Clean build HOP
++
+----
+cd incubator-hop
+mvn clean install
+----
++
+. Run the Docker Compose script
++
+----
+docker-compose -f docker/integration-tests/docker-compose-ci.yaml up -d
+----
++
+. Check the running container
++
+----
+docker logs integration-tests_integration_test_1
+----
++
+. Cleanup after run
++
+----
+docker-compose -f docker/integration-tests/docker-compose-ci.yaml down --rmi all
+----
++
+. Surefire Reports
++
+We generate xml reports that can be used by Jenkins to generate reports. these result reports can be found in the `integration-tests/surefire-reports` folder.
+
+=== Testing script
+
+A script is also provided to run the test without using Docker. This script is also used inside the automated test suite but can be used in a stand alone mode.
+
+This script can be found at following location `incubator-hop/integration-tests/scripts/run-tests.sh`. Be sure to export the needed system variables for the script to find the correct paths to run the tests.
+
+
+== Special checks
+
+In some cases you want to check the logs to see if a specific value is present to mark your test as passed or failed. The script used in `main-0001-static-partitioning` can be helpful.
+
+
+Code used in JavaScript Action in the workflow:
+
+[source,java]
+----
+var txt = previous_result.getLogText();
+
+
+var ok = true;
+
+var expectedVariables = [ 
+   "partitioned.0 - Internal.Transform.Partition.ID = P1",
+   "partitioned.1 - Internal.Transform.Partition.ID = P2",
+   "partitioned.2 - Internal.Transform.Partition.ID = P3"
+ ];
+
+for (var i = 0 ; i<expectedVariables.length ; i++) {
+  var expectedVariable = expectedVariables[i];
+  if ( !txt.contains(expectedVariable)) {
+    ok = false;
+    log.logError("Expected variable expression '"+expectedVariable+"' was not logged at least once");
+  }
+}
+
+var expectedValues = [ 
+   "partitioned.1 - id = 1",
+   "partitioned.2 - id = 2",
+   "partitioned.0 - id = 3",
+   "partitioned.1 - id = 4",
+   "partitioned.2 - id = 5",
+   "partitioned.0 - id = 6",
+   "partitioned.1 - id = 7",
+   "partitioned.2 - id = 8",
+   "partitioned.0 - id = 9",
+   "partitioned.1 - id = 10",
+ ];
+
+for (var i = 0 ; i<expectedValues.length ; i++) {
+  var expectedValue = expectedValues[i];
+  if ( !txt.contains(expectedValue)) {
+    ok = false;
+    log.logError("Value logged as '"+expectedValue+"' was not logged at least once");
+  }
+}
+
+
+ok;
+----
+
+This script reads the log returned by the previous pipeline and parses it to search for values.
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/internationalisation.adoc b/docs/hop-dev-manual/modules/ROOT/pages/internationalisation.adoc
new file mode 100644
index 0000000..5f5ff8c
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/pages/internationalisation.adoc
@@ -0,0 +1,184 @@
+[[Internationalisation-Internationalisation]]
+= Hop internationalisation
+
+== Introduction
+
+Hop is already being used in many countries across the world where different languages are spoken.  As such "internationalisation" represents the support for multiple languages in our software.  Since it is such a long word it is typically abbreviated to i18n.
+
+== Translating changes source code
+
+The message bundles that contains the translations for the various parts of Hop are part of the source code.  If you want to start any i18n efforts we recommend that you set up your development environment first as described here:
+
+xref:setup-dev-environment.adoc[Setting up your development environment]
+
+== How is it configured?
+
+In the Hop configuration file ```hop-config.json``` there is an entry called ```LocaleDefault``` which points to the locale string that you want to use.
+Such a locale string is always in the format: language code, underscore and country.  For example, the default is en_US for English in the US.
+
+You can change the locale you want to use in the configuration file or in the Hop GUI under the Tools / options menu.
+
+== Translating strings
+
+=== In Java code
+
+Suppose we're working on a class in file ```src/main/java/org/apache/hop/p1/Foo.java```
+What we want to do is have an easy way to get our hands on a translated String.
+The easiest way to do this is with the standard BaseMessages class.
+For example, you can see the following pop up all over the place in the Apache Hop source code:
+
+[source]
+----
+org.apache.hop.i18n.BaseMessages.getString(PKG, "Foo.MyMessage");
+----
+
+If references a PKG variable typically defined at the top of the class like this:
+
+[source]
+----
+private static final Class<?> PKG = Foo.class; // For Translator
+----
+
+By doing this we know the location of the message bundles that will be used for translations.
+In this case the message bundles will be looked for in
+
+[source]
+----
+src/main/resources/org/apache/hop/p1/messages/
+----
+
+For the default locale ```en_US``` it will point to a file called messages_en_US.properties in that folder:
+
+[source]
+----
+src/main/resources/org/apache/hop/p1/messages/messages_en_US.properties
+----
+
+In that file we can place an entry:
+
+[source]
+----
+Foo.MyMessage = My own personal message
+----
+
+=== In annotations
+
+Many plugin and GUI annotations support i18n as well. Unfortunately it is not possible to use the method explained above to resolve keys into strings.  Because of this we use the following format:
+
+[source]
+----
+i18n:package:key
+----
+
+For example, the main File menu in the Hop GUI is defined with an annotation:
+
+[source]
+----
+@GuiMenuElement(
+      root = ID_MAIN_MENU,
+      id = ID_MAIN_MENU_FILE,
+      label = "i18n::HopGui.Menu.File",
+      parentId = ID_MAIN_MENU)
+----
+
+With the ```i18n:``` prefix the Hop GUI registry knows that it can translate this using the given package and key.
+If there is no package defined it simply means: use the package from the current class.
+In our example it is ```org.apache.hop.ui.hopgui``` which means that we can find the message bundles for this class in ```ui/src/main/resources/org/apache/hop/ui/hopgui/messages/``` and for locale ```en_US``` in :
+
+[source]
+----
+ui/src/main/resources/org/apache/hop/ui/hopgui/messages/messages_en_US.properties
+----
+
+In there we can find the English translation:
+
+[source]
+-----
+...
+HopGui.Menu.File=&File
+....
+-----
+
+== Translator concerns
+
+If you think that it's quite a bit of a pain to figure out the keys, locations, locale and so on: we agree!
+To make i18n easy and translating fun we created a tool called Hop Translator.
+Translator allows you to provide strings for the keys that you use in your source code.  It will create the message bundles in the right location, in the right format (in UTF-8) and with the right Apache license header.
+
+To run translator simply build the code and then:
+
+[source]
+-----
+cd assemblies/client/target/
+unzip -q hop-*.zip
+cd hop
+sh hop-translator.sh translator.xml ../../../../
+-----
+
+In other words, run Translator and point it to the location of the source code you want to analyze.
+
+=== Do not be too smart
+
+Translator uses a simple Java code scanner to look for patterns like
+
+* PKG
+* BaseMessages.getString
+* "i18:
+
+So please give Translator a chance to pick up the i18n keys as well as the package in which they're being used.  If you think that it would be "better" to use things like clever prefixes and so on please remember that all you're doing is making sure your keys can't be found by Translator and as such are hard to translate.
+
+As much as possible, define the PKG variable to the same class as the one you're working in.  This will prevent message bundles from becoming too large and perhaps difficult to merge later on.
+
+== Using Translator
+
+To use Translator you need 2 things: the Hop source code and a recent build of Hop.
+With the latter you can start Translator like this:
+
+[source]
+----
+sh hop-translator.sh translator.xml /path/to/hop/source/code
+----
+
+After a few seconds of code-scanning you'll see the following interface:
+
+image::hop-translator-after-start.png[Hop Translator main window after start]
+
+The default locale ```en_US``` will be selected by default.
+
+=== Translating keys
+
+As an example, here is how we can translate the Hop GUI menu to Dutch:
+
+* Select the hopgui package:  ```org.apache.hop.ui.hopgui````
+* Select locale ```nl_NL``` at the very top left
+* Select any of the missing ```HopGui.Menu...``` keys
+
+In the following screenshot we selected ```HopGui.Menu.Edit.Cut```:
+
+image::hop-translator-translating-a-key.png[Hop Translator main window after selecting a package and the nl_NL locale]
+
+Now we can type in the translation for "Cut selected to clipboard" and hit the Apply button.
+Finally, when we're done with all keys and packages we can use the "Save" button to make sure our efforts are not for nought:
+
+image::hop-translator-save-files-dialog.png[Hop Translator: the save files dialog]
+
+Once the files are saved you re-build Hop and test them by using the translated keys.  Finally, don't forget to commit and push changes as described here:  xref:setup-dev-environment.adoc[Setting up your development environment]
+
+Please reference a JIRA case and see if there aren't any already for the locale you're covering.
+
+=== Highlighting codes
+
+As you can see in the screenshot above many packages for nl_NL are highlighted.  That is because there are a lot of non-translated keys in those packages:
+
+* light red: the message bundle is missing
+* the darkest gray: over 50 keys are not translated
+* dark gray: over 25 keys are not translated
+* gray: over 10 keys are not translated
+* light gray: over 5 keys are not translated
+* the lightest gray: at least one key is not translated
+
+=== Adding a new locale
+
+If you want to translate a new locale, simply add it to the translator.xml file available in the root of your Hop build.
+
+
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/metadata-plugins.adoc b/docs/hop-dev-manual/modules/ROOT/pages/metadata-plugins.adoc
new file mode 100644
index 0000000..752834e
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/pages/metadata-plugins.adoc
@@ -0,0 +1,77 @@
+[[MetadataPlugins-MetadataPlugins]]
+= Metadata plugins
+
+Writing metadata plugins is easy in Hop.  Any Plain Old Java Object can be used as a starting point.
+
+== @HopMetadata Annotation
+
+This annotation signals to the Metadata plugin type that there is something worth looking at.  The class which carries this annotation will contain the metadata.
+
+Here are the attributes of the @HopMetadata annotation:
+
+* key : this uniquely identifies the plugin and will be the name of the folder in which the metadata resides when serialising to JSON (see below)
+* name : a human-readable name
+* description : an extended description
+* image : the path to an image which helps identify the metadata in the Hop GUI
+
+The class with this annotation will be found either because it lives in the ```plugins/``` folder of Hop or if it's an internal class and is described in the file ```engine/src/main/resources/hop-metadata-plugins.xml```
+
+Example: https://github.com/apache/incubator-hop/blob/f8f2ad2d0bc0cfd143ae90cc32e73b6c9e1cda78/engine/src/main/java/org/apache/hop/partition/PartitionSchema.java#L47[PartitionSchema.java]
+
+== Metadata Properties
+
+All properties you want to have as part of the shared Hop Metadata should get the ```*@HopMetadataProperty*``` annotation.
+All top level classes flagged with @HopMetadata should have a ```name``` property of type ```String```.
+
+Here are the *@HopMetadataProperty* attributes:
+
+* key : optional key if you want it to be different from the name of the field
+* password: set this to true if you want the String field to be encoded using the TwoWayPasswordEncoder of the IHopMetadataProvider interface.
+* storeWithName: if you want to store a reference to another shared metadata object, you can set this to true, otherwise all the properties of the object will be stored.
+
+Here are the supported data types:
+
+* enum : any enum is serialized using its name
+* String : also see the password attribute above.
+* Integer / int
+* Long / long
+* Boolean / boolean
+* java.util.Date
+* java.util.Map<String,String>
+* java.util.List<T> : with T any of the data types listed here.
+* POJO : Any class with more @HopMetadataProperty annotations in it.
+
+
+== An Editor class to edit the metadata
+
+You also want to have a way to edit the metadata in the GUI.  This can be done by extending the class `MetadataEditor<IHopMetadata>`.
+
+Example: https://github.com/apache/incubator-hop/blob/master/ui/src/main/java/org/apache/hop/ui/partition/PartitionSchemaEditor.java[PartitionSchemaEditor.java]
+
+The path to the Editor class will be found automatically by looking at the name of the metadata plugin class and then simply by appending Editor to it.
+If you prefer to keep metadata and GUI code separate the Hop GUI will also look in package `org.apache.hop.ui` instead of `org.apache.hop`
+
+Working examples:
+
+* `org.apache.hop.path.to.MyMetadata`  -> `org.apache.hop.path.to.MyMetadataEditor`
+* `org.apache.hop.partition.PartitionSchema`  -> `org.apache.hop.ui.partition.PartitionSchemaEditor`
+
+=== Some methods explained
+
+* createControl() : create the various controls on the given parent Composite.  The composite has a FormLayout set.
+* setWidgetsContent(): Using the metadata object (or getMetadata()) you can set the content on the created controls.
+* getWidgetsContent(): Grab the values of the various controls and modify the metadata
+* save(): verify settings, grab metadata and call super.save()
+* setFocus(): sets the focus on the metadata dialog or tab.  Choose the control to set the focus to (usually the name).
+* createButtonsForButtonBar(): if you want to add buttons at the bottom to do things like testing, viewing, ... you can use this method
+
+== Metadata serialisation
+
+As mentioned above, the key or ID the @HopMetadata plugin is used as a top level folder to store objects in.
+For the serialisation to JSON most simple data types are supported. However we suggest you use the KISS principle.
+If you want to serialize interfaces (for example like IDatabase used by DatabaseMeta) you might want to flag the interface with the @HopMetadataObject annotation.
+This annotation allows you to specify an object factory for those classes.  Such an object factory implements interface ```IHopMetadataObjectFactory``` with the 2 following methods:
+
+* ```public Object createObject( String id, Object parentObject ) throws HopException``` -> Creates an object using an ID.  The parent object is often another metadata object.  You can use it to check if it implements IVariables so you can inherit variables from there.
+* ```public String getObjectId( Object object ) throws HopException``` -> Retrieves the object ID from the given object. We recommend that you check the instance of the object until the factory interface supports generics. (TODO)
+
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/plugin-development.adoc b/docs/hop-dev-manual/modules/ROOT/pages/plugin-development.adoc
new file mode 100644
index 0000000..5832010
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/pages/plugin-development.adoc
@@ -0,0 +1,93 @@
+[[PluginDevelopment-PluginDevelopment]]
+= Hop Plugin Development
+
+This page explains how to develop new plugins with references to make development easy.
+
+== Plugin Registry
+
+Hop keeps a central registry of all the available Hop plugins.  They are organized per plugin type (see below).
+The registry also keeps track of the class loaders that were created and used for the various plugins to avoid duplication.
+You can get a hold of this plugin registry at any place using
+
+[source]
+PluginRegistry.getInstance()
+
+
+== Plugin types
+
+Plugins allow you to extend Hop functionality in over 20 different areas.
+Each of these plugin types are represented by a class which implements ```IPluginType<T extends Annotation>```
+For your convenience you can extend a class called ```BasePluginType<T extends Annotation>```.
+The responsibility of these classes is to register plugins of the given type in the Hop Plugin Registry.
+It looks for these plugins in various ways:
+
+1. It reads an XML file if the plugin classes to load are in the classpath.  This technique is used for the core plugins and a number of GUI plugins.
+You can find them in ```core/src/resources```, ```engine/src/resources``` and ```ui/src/resources```.  The location of the file is defined using the ```getXmlPluginFile()``` method.
+
+2. It scans the ```plugins/``` subfolders and scans the jar files on the lookout for classes that have the annotation and interface specified in the plugin type.  It then loads these classes and adds them to the plugin registry.
+
+== Plugins
+
+You can use the plugin registry to search for plugins using an ID, a class name. You can list all plugins and types.
+Plugins contain a lot of information and implement the ```IPlugin``` interface.
+Here are a few of the main fields:
+
+|===
+|Field |Type|Optional| Description
+
+|ids|String[]|Mandatory|The unique ID of the plugin within its type.
+A plugin can have more than 1 ID to make it possible to merge multiple plugins into one and still remain backward compatible.
+
+|name|String|Optional|The name of the plugin as shown in the user interface
+
+|description|String|Optional|The description of the plugin as shown in the user interface
+
+|category|String|Optional|used to organize certain types of plugins in the UI, for example transforms and actions
+
+|imageFile|String|Optional|The path to the SVG file representing the icon of this plugin.
+
+|documentationUrl|String|Optional|The URL of the documentation for the plugin
+
+|keywords|String[]|Optional|The keywords which represent this plugin to make it easier to find it in the UI
+
+|nativePlugin|boolean|false|Indicates if the plugin can be found in the classpath (using XML or API) or in a plugin classpath
+
+|===
+
+Aside from this list you can find the main class, the libraries in the plugin classpath and so on.
+The information in the IPlugin objects is copied from the plugin annotations on the plugin classes by the PluginType class.
+
+
+== Where are the Hop plugins?
+
+In Hop all optional plugins are in the https://github.com/apache/incubator-hop/tree/master/plugins[hop/plugins] folder which contains the plugin categories:
+
+- database: relational database plugins
+- actions: workflow actions
+- engines: pipeline and workflow engines
+- transforms: pipeline transforms
+- vfs: Virtual Files System plugins
+- misc: miscellaneous plugins. Pick this category only when other plugin types don't fit.
+
+=== Actions
+
+== Steps to add new plugin
+
+=== Create skeleton
+
+Once you identified the category, create the plugin as a new maven sub module by carefully mentioning parent in your plugin pom file and adding new module in the parent project. This ensures adding the new plugin into maven build cycle.
+
+You can duplicate the reference plugin mentioned above as a starting point.
+When duplicating take time to modify the documentation and remove irrelevant to get the skeleton.
+
+THOUGHT: Can we create maven archetype? Contribution welcome.
+
+=== Add to assemblies
+
+To add the plugins into final artifacts, you need to add it to hop/assemblies/plugins directory under right category as a maven sub module by carefully mentioning parent in your plugin pom file and adding new module in the parent project. This ensures adding the new plugin into maven build cycle.
+
+Define src/assembly/assembly.xml with necessary dependent jars required for the plugin to function.
+Review the jars which end up going into the plugin zip.
+If any jar which is already present in hop/lib directory, exclude it.
+This is done to keep the target hop artifact size as small as possible.
+
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/plugin-samples.adoc b/docs/hop-dev-manual/modules/ROOT/pages/plugin-samples.adoc
new file mode 100644
index 0000000..dd879fc
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/pages/plugin-samples.adoc
@@ -0,0 +1,41 @@
+[[PluginSamples-PluginSamples]]
+= Plugin samples
+
+== Introduction
+
+This document will explain how a developer can add samples to the plugins in the source code so that they will end up in the ```samples``` project in the Hop client distribution assembly.
+
+== The Samples project
+
+The ```samples``` project in the Hop distribution is located in the config/projects/samples folder.
+Its parent is the ```default``` project.  This means that it's not needed to add any metadata objects (like run configurations) to the ```samples``` projects that are already present in the ```default``` project.
+
+== Plugin samples
+
+If a plugin places a ```samples/``` folder under the ```src/main/``` folder its content will be picked up and copied over the ```samples``` project folder.
+The content will end up exactly in the same folder structure.
+A few examples:
+
+
+|===
+|Source |Target
+
+|```plugins/transforms/addsequence/src/main/samples/transforms/Add Sequence - Add a unique ID.hpl```
+|```config/projects/samples/transforms/Add Sequence - Add a unique ID.hpl```
+
+|```plugins/engines/beam/src/main/samples/metadata/pipeline-run-configuration/Direct.json```
+|```config/projects/samples/metadata/pipeline-run-configuration/Direct.json```
+
+|===
+
+As you can see it's easy to add extra metadata simply by putting it in the ```metadata/``` folder under your samples/ folder in the plugin.  The same goes for test data ```datasets``` and so on.
+
+== Standard project content
+
+If you have metadata objects, sample input files data sets or files that you might want to make available for all plugins, please add them to the following place in the source code:
+
+[source]
+assemblies/static/src/main/resources/config/projects/samples
+
+
+
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/porting-kettle-plugins.adoc b/docs/hop-dev-manual/modules/ROOT/pages/porting-kettle-plugins.adoc
new file mode 100644
index 0000000..8f2f5ad
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/pages/porting-kettle-plugins.adoc
@@ -0,0 +1,107 @@
+[[PortingKettlePlugins-PortingKettlePlugins]]
+= Porting Kettle Plugins
+
+== Change maven dependencies
+
+You no longer need a Pentaho specific *$HOME/.m2/settings.xml*
+
+- Change group *pentaho-kettle* to *org.hop*
+- Change dependency *kettle-core* to *hop-core*
+- Change dependency *kettle-engine* to *hop-engine*
+- Change dependency *kettle-ui-swt* to *hop-ui-swt*
+
+== API changes
+
+=== Interface naming
+
+All interface classes have changed from <Name>Interface to I<Name>.
+For example: *RowMetaInterface -> IRowMeta*
+
+=== Transformations
+
+Transformations are now called Pipelines.  This means that the corresponding classes have changed.
+
+For example:
+- TransMeta is now called *PipelineMeta*
+- Trans is now called *Pipeline*
+
+=== Steps
+
+Steps are now called Transforms.  For example:
+
+- StepMeta is now called *TransformMeta*
+- StepMetaInterface is now called *ITransformMeta*
+- BaseStep is now called *BaseTransform*
+- StepDataInterface is now called *ITransformData*
+
+...and so on
+
+=== Transform Generics
+
+ITransform no longer expects you to pass ITransformMeta and ITransformData classes in the following methods:
+
+- processRow()
+- init()
+- dispose()
+- stopRunning()
+
+This greatly simplifies the code.
+Your need to let Hop know what the relationship is between your implementation of ITransform, ITransformMeta, ITransformData, for example:
+
+[source]
+----
+public class Sample extends BaseTransform<SampleMeta, SampleData> implements ITransform<SampleMeta, SampleData> {
+
+ ...
+
+}
+----
+
+The same is true for your implementation of ITransformMeta:
+
+[source]
+----
+public class SampleMeta extends BaseTransformMeta implements ITransformMeta<Sample, SampleData> {
+
+ ...
+
+}
+----
+
+== Repository
+
+Any references to Repository, including parameters and the saveRep() and loadRep() methods in Transforms and Actions can be safely removed
+
+== VariableSpace
+
+VariableSpace was renamed to IVariables
+The API has also been cleaned up and simplified.  For example, ```environmentSubstitute()``` is now called ```resolve()```
+Please note that metadata objects (TransMeta, JobMeta, DatabaseMeta, ...) no longer implement ```VariableSpace``` (or ```IVariables```).
+Only runtime objects like Pipeline, Workflow, ITransform and so on have a state in Hop.
+
+== Extension point plugins
+
+If you're porting classes implementing an Extension Point plugin by implementing ExtensionPointInterface please note that you'll receive an extra parameter which is IVariables.  It aims to contain the variables of the parent object in the XP context.
+Obviously the interface name changed to IExtensionPoint.
+You can also use generics to specify the expected class of the receiving subject.
+
+== Slave Servers and Database Connections
+
+These objects are no longer stored in a Pipeline or a Workflow, they are now fully shared objects so any references of those in the interface methods of Transforms and Actions can be safely removed:
+
+- List<DatabaseMeta> databases
+- List<SlaveServer> slaveServers
+
+
+== MetaStore -> HopMetadata
+
+The MetaStore code is unfortunately LGPL licensed and for that reason removed from the project. It was replaced by the general ```IHopMetadataProvider``` instead of the ```IMetaStore``` references.
+At any given time you can ask the current ```*IHopMetadataProvider*``` to give you a serializer for a metadata class.  This ```*IHopMetadataSerializer*``` can then be used to CRUD objects as well as list and so on.
+
+For more information on how to implement Hop Metadata plugins, see: Metadata Plugins.
+
+MetaStore elements can now be managed in a standard way.  In your transform dialogs you can use the widget:
+
+*MetaSelectionLine<T extends IHopMetadata>*
+
+This will take care of adding label, tooltip, combo box and a few buttons to manage the metastore elements.
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/sdk/hop-sdk.adoc b/docs/hop-dev-manual/modules/ROOT/pages/sdk/hop-sdk.adoc
new file mode 100644
index 0000000..76c91ea
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/pages/sdk/hop-sdk.adoc
@@ -0,0 +1,122 @@
+= The Hop SDK
+
+== Initializing
+
+First, we need to initialize the Hop API.
+This means we load configuration details, search for and load plugins and so on.
+
+You can do this with:
+
+[source,java]
+----
+HopEnvironment.init();
+----
+
+== Hop Metadata Providers
+
+Shared metadata in Hop is handled by a HopMetadataProvider.
+When using the Hop GUI you store it in a project in the ```metadata/``` folder.
+In that case you can point to such a folder with class ```JsonMetadataProvider```.
+Note that you can serialize such a metadata collection into a single JSON string using ```SerializableMetadataProvider```.
+This can be used to send metadata to remote servers and locations.
+
+When you have a provider you can ask it to give you a serializer with which you can add and retrieve all sorts of metadata objects.
+
+== Variables
+
+If you want to work with variables in your pipelines and workflows it makes sense to create a top level IVariables object.
+The easiest way to do this is with:
+
+[source,java]
+----
+IVariables variables = Variables.getADefaultVariableSpace();
+----
+
+This method also takes into account variables which are configured in hop-config.json (if that file can be found);
+
+== Pipeline metadata
+
+=== Loading from a file
+
+You can get the pipeline metadata using:
+
+[source,java]
+----
+PipelineMeta pipelineMeta = new PipelineMeta(
+  "path-to-your-filename.hpl",   // The filename
+  metadataProvider,             // See above
+  true,                        // set internal variables
+  variables                   // see above
+);
+----
+
+=== Loading from an input stream
+
+[source,java]
+----
+PipelineMeta pipelineMeta = new PipelineMeta(
+  inputStream,         // The stream to load from
+  metadataProvider,   // See above
+  true,              // set internal variables
+  variables         // see above
+);
+----
+
+=== Construct pipeline metadata with the Hop API
+
+Obviously you can start with an empty pipeline and add the transforms, hops you like:
+
+[source,java]
+----
+PipelineMeta pipelineMeta = new PipelineMeta();
+
+// Generate 1M empty rows
+//
+RowGeneratorMeta rowGeneratorMeta = new RowGeneratorMeta();
+rowGeneratorMeta.setRowLimit("1000000");
+
+TransformMeta rowGenerator = new TransformMeta("1M", rowGeneratorMeta);
+rowGenerator.setLocation(50, 50);
+pipelineMeta.addTransform(rowGenerator);
+
+// Just a dummy placeholder for testing
+//
+DummyMeta dummyMeta = new DummyMeta();
+TransformMeta dummy = new TransformMeta("Output", dummyMeta);
+dummy.setLocation(250, 50);
+pipelineMeta.addTransform(dummy);
+
+// Add a hop between both
+//
+PipelineHopMeta generatorDummyHop = new PipelineHopMeta(rowGenerator, dummy);
+pipelineMeta.addPipelineHop(generatorDummyHop);
+
+----
+
+== Pipeline execution
+
+The way a pipeline is executed depends on the run configuration you specify.
+To make it easy to get the engine we created a factory for you:
+
+[source,java]
+----
+IPipelineEngine pipelineEngine = PipelineEngineFactory.createPipelineEngine(
+  variables,           // see above
+  "local",            // The name of the run configuration defined in the metadata
+  metadataProvider,  // The metadata provider to resolve the run configuration details
+  pipelineMeta      // The pipeline metadata
+);
+
+// We can now simply execute this engine...
+//
+pipelineEngine.execute();
+
+// This execution runs in the background but we can wait for it to finish:
+//
+pipelineEngine.waitUnitlFinished();
+
+// When it's done we can evalute the results:
+//
+Result result = pipelineEngine.getResult();
+
+----
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/sdk/index.adoc b/docs/hop-dev-manual/modules/ROOT/pages/sdk/index.adoc
new file mode 100644
index 0000000..58c25d8
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/pages/sdk/index.adoc
@@ -0,0 +1,3 @@
+= Index Page
+
+* xref:sdk/hop-sdk.adoc[The Hop SDK]
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/setup-dev-environment.adoc b/docs/hop-dev-manual/modules/ROOT/pages/setup-dev-environment.adoc
new file mode 100644
index 0000000..b67d6a0
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/pages/setup-dev-environment.adoc
@@ -0,0 +1,216 @@
+[[SetupDevEnvironment-SetupDevEnvironment]]
+= Setting up your development environment
+
+== Introduction
+
+Thank you for wanting to help out with the development of Apache Hop. We really value your help.
+We assume you're going to be using the IntelliJ IDEA integrated development environment.
+
+== Fork Apache Hop!
+
+If you visit the https://github.com/apache/incubator-hop[Apache Hop code] on github you'll notice a Fork icon on the top right of the page:
+
+image::github-fork.png[width="25%"]
+
+Use this button to create a copy of the complete Hop codebase.  You can then work on this fork in all safety.
+We call this new fork "origin" and the master copy of the Hop codebase "upstream" from your point of view.
+
+== Clone it
+
+Now that you have your own fork it's time to clone it onto your work computer.  We're going to assume you set up github security with proper keys and so on.
+To get the URL of your fork you can use the copy button on this GitHub page:
+
+image::github-repository-url.png[width="75%"]
+
+You can now run a command like this:
+
+[source]
+----
+git clone git@github.com:YourAccount/incubator-hop.git
+----
+
+Once it's done you'll have a new ```incubator-hop``` folder containing the project.
+
+== Import the project
+
+In IDEA you can use menu :
+
+File / New / *Project from existing sources...*
+
+This will ask you to navigate to our new ```incubator-hop``` folder.
+
+Then you need to choose to import the project from external model "Maven":
+
+image::idea-new-project-maven.png[width="75%"]
+
+== Building the project
+
+To build your fork you can use Maven.
+
+Run the following command to build Hop and run all unit tests:
+
+[source]
+mvn clean install
+
+Please make sure all the files you added or changed have the proper license header.
+You can run the following command to verify this:
+
+[source]
+mvn apache-rat:check
+
+*IMPORTANT: At the very least make sure to run the above 2 commands before generating a pull request against the "upstream" Hop source code.*
+
+*Tip* : to run Maven quicker in parallel and by skipping the unit tests you can use the following command:
+
+[source]
+mvn -T4 -DskipTests=true clean install
+
+Replace 4 by the number of threads you can spend on your computer.
+
+== Code formatting
+
+Beyond following the obvious best practices of coding Java it's important to note that we are using a code formatter called
+*google-java-format*
+
+To install it in IntelliJ IDEA:
+
+* Go to File → Settings → Plugins.
+* Activate the Marketplace tab.
+* Search for the plugin *google-java-format* by Google.
+* Install it.
+* Restart IntelliJ IDEA.
+
+All code which gets accepted into Hop is re-formatted with google-java-format via the pull request validation system.
+
+== Copyright
+
+Please consider setting up an APL copyright header. In Idea this is done like this:
+*File* / *Settings...* / *Editor - Copyright*
+
+Create a new copyright profile called "APL" with the following content:
+
+[source]
+----
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+----
+
+Set this as the default copyright profile for all files.
+
+== Run Apache Hop
+
+After a successful build, the Hop UI can be started.
+
+    $ cd assemblies/client/target
+    $ unzip hop-client-*.zip
+    $ cd hop 
+
+On Windows, run `hop-gui.bat`, on Mac and Linux, run `hop-gui.sh` 
+
+== Debugging
+
+To debug the Hop GUI or a long running pipeline or workflow you can change the launch scripts and uncomment the line with the 5005 port in it:
+
+[source]
+----
+# optional line for attaching a debugger
+#
+HOP_OPTIONS="${HOP_OPTIONS} -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
+----
+
+In IntelliJ you can now start a remote debugging session using the menu:
+
+**Run -- Attach to process...
+**
+
+You can now set breakpoints in your code and see what's going on.
+
+== Committing work
+
+Updating your fork can be done simply by committing locally and then pushing those changes to "origin".
+Make sure to always reference a HOP-xxxxx JIRA case!  For example:
+
+[source]
+git commit -m "HOP-98765 : My work description" .
+
+
+== Updating your fork
+
+After a while it's likely your "origin" fork will be lagging behind with the main "upstream" Hop codebase.
+You can develop against the ```master``` branch of the codebase or you can create different branches for the features you're building or the JIRA cases you're fixing.
+In the commands below we assume you want to update your ```master``` branch.  If this is not the case, replace ```master``` with the branch you're interested in and later want to generate a pull request for.
+
+To update it you can add "upstream" to your local configuration:
+
+[source]
+git remote add upstream git@github.com:apache/incubator-hop.git
+
+Then you can fetch all the changes from "upstream":
+
+[source]
+git fetch upstream master
+
+We now want to catch up by pulling all the changes from "upstream" and by doing a rebase at the same time.
+
+[source]
+git pull --rebase upstream master
+
+Now of-course we want to update our "origin" fork as well:
+
+[source]
+git push --force-with-lease origin master
+
+== Generating a pull request
+
+Changes to the Hop codebase are done through Pull Requests.  They'll be built, compiled, tested and reviewed.
+
+On the github page of your "origin" fork you'll now see something like the following:
+
+image::github-pull-request.png[]
+
+You can now choose to create the Pull Request using the shown button.
+
+If all goes well you should see something like the following:
+
+image::github-create-pull-request.png[]
+
+After you hit the green "Create pull request" button you will be presented with the opportunity to describe the changes.
+Make sure to reference the right JIRA cases and leave useful tips for the reviewers of the changes.
+Again: as mentioned above *please make sure your project builds and all tests succeed.*
+
+Once you created the pull request we will run all sorts of tests and this will take some time.
+You can check the pull request to see how it's doing:
+
+image::github-pull-request-checking.png[]
+
+If the pull request doesn't build you can look at the details and fix it easily by simply pushing another commit to your "origin" fork.
+It will be automatically added to the pull request and it will re-run the build and tests.
+
+== Evaluating a pull request
+
+If you want to review someone else's pull request you can check out a pull request in a different branch.
+Before you do this, commit or stash all the changes you're making yourself in the branch you're currently using.
+
+Then fetch the pull request changes themselves, with ```1234``` being the pull request number and ```pr1234``` the name of the new branch you want to create locally:
+
+[source]
+git fetch upstream pull/1234/head:pr1234
+
+Now we can check out this branch:
+
+[source]
+git checkout pr1234
+
+You now have the state of the source code in the pull request and you can build and test the project.
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/start-your-own-plugin.adoc b/docs/hop-dev-manual/modules/ROOT/pages/start-your-own-plugin.adoc
new file mode 100644
index 0000000..b0c167e
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/pages/start-your-own-plugin.adoc
@@ -0,0 +1,103 @@
+[[PluginDevelopment-OwnPluginDevelopment]]
+= Creating a remote plugin
+
+This guide is to help you set up and start development on a plugin that will not be included in the Hop repository. For more information on plugin types and how to add them to the Hop repository check out xref:plugin-development.adoc[following guide].
+
+The Apache software foundation has a strict policy on source licenses including all dependencies used to provide certain functionality. To see which dependencies are allowed in an Apache project check https://www.apache.org/legal/resolved.html[following page].
+If your plugin consists of code and dependencies in category A it can safely be added to the Hop repository and community can help maintain the code. If it uses category B or X it can no longer be added to the default distribution of Hop.
+
+== Getting started
+
+This guides assumes your are using IntelliJ for your development, some steps might be different in Eclipse.
+
+. Clone the skeleton repository found https://github.com/project-hop/hop-plugin-sample[here]
+. Import the project in Intellij
+. Start coding
+
+=== Project structure
+
+The sample project consists out of 3 main modules and 3 sub-modules
+
+image::start-your-own-plugin/plugin-sample-1.png[]
+
+the main modules are:
+
+* hop-action-sample
+* hop-transform-sample
+* assemblies
+** assemblies-action-sample
+** assemblies-transform-sample
+** debug
+
+In our sample repository one action and one transform are provided, they all work but they do not manipulate data or perform any actions. The assemblies module is used to create a distribution or test your action or transform during development. 
+
+
+=== Debugging
+
+To debug the project create a new `application` configuration with following configuration:
+
+image::start-your-own-plugin/plugin-sample-2.png[]
+
+Important is the working directory, for hop to work including all the plugins provided by the project a certain folder structure is required. this is generated at the debug location using following pom.
+
+```
+        <dependency>
+            <groupId>org.apache.hop</groupId>
+            <artifactId>hop-core</artifactId>
+            <version>${hop.version}</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.hop</groupId>
+            <artifactId>hop-engine</artifactId>
+            <version>${hop.version}</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.hop</groupId>
+            <artifactId>hop-ui-swt</artifactId>
+            <version>${hop.version}</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.hop</groupId>
+            <artifactId>hop-assemblies-plugins-dist</artifactId>
+            <version>${hop.version}</version>
+            <type>zip</type>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.project.hop</groupId>
+            <artifactId>assemblies-transform-sample</artifactId>
+            <version>${project.version}</version>
+            <type>zip</type>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.project.hop</groupId>
+            <artifactId>assemblies-action-sample</artifactId>
+            <version>${project.version}</version>
+            <type>zip</type>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+            <scope>compile</scope>
+        </dependency>
+```
+
+When compiling you will notice a plugins directory is added to the debug location, this contains all plugins distributed by the Apache Hop team, the assemblies for the sample transform and action follow the same logic to make sure they are copied to the correct location too, this allows the Hop plugin loader to find and load all the plugins for the GUI.
\ No newline at end of file
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/svg-files.adoc b/docs/hop-dev-manual/modules/ROOT/pages/svg-files.adoc
new file mode 100644
index 0000000..ad94559
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/pages/svg-files.adoc
@@ -0,0 +1,19 @@
+[[SvgFiles-SvgFiles]]
+= SVG Files
+
+When adding or modifying SVG files in the Apache Hop project we kindly ask developers to keep the concerns below in mind.
+
+== Plain SVG files please
+
+We often find files in the codebase saved by Inkscape or other vector graphics tools that are not saved as "Plain SVG" or "SVG" file but as "Inkscape SVG" and so on.
+This causes a lot of extra information to be saved into the SVG files.  Often the size of the small icons is easily doubled in size.
+
+== Copyright
+
+Make sure that if you're downloading a file from the Internet somewhere that the file has a license which is compatible with the Apache Public License v2.0.
+Since there are a lot of licenses out there so be very careful.  Check with the other devs and on https://www.apache.org/legal/resolved.html[this page] to make sure an SVG file can be included in the project.
+
+== Colors scheme
+
+If you want to re-color or create icons that fit the Hop look & feel, please refer to http://hop.apache.org/tech-manual/latest/_attachments/BrandGuideline_Hop.pdf[Hop Branding guide] for some guidance.
+
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/webhop/developer-guide.adoc b/docs/hop-dev-manual/modules/ROOT/pages/webhop/developer-guide.adoc
new file mode 100644
index 0000000..0adf983
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/pages/webhop/developer-guide.adoc
@@ -0,0 +1,49 @@
+= Developer Guide
+
+== Methods to use
+
+=== EnvironmentUtils.getInstance().isWeb() to see if the client is a web browser instead of a desktop app.
+
+== Methods to avoid
+
+
+=== Display.getDefault() is not allowed
+
+See https://www.eclipse.org/forums/index.php/t/805303/
+
+____
+RAP is multi user framework by its nature. Every user session is
+associated with a display. In RAP, Display#getDefault() will not create
+a new display when it's called from non-UI thread - read
+Display#getDefault JavaDoc. When you execute a code in a background
+thread, RAP needs to know for which UI session (display) it belongs.
+That's why you have to provide the correct UISession/display from outside.
+____
+
+[source,java]
+----
+Display.getDefault() cannot be used in non-UI thread with RAP/RWT.
+----
+
+
+=== SWT.CASCADE without submenu does not work
+
+See https://bugs.eclipse.org/bugs/show_bug.cgi?id=569046
+
+____
+A menuitem with SWT.CASCADE without a submenu looks and behaves differently from SWT.
+
+SWT:
+
+- The menuitem does not have a right arrow on the right hand of the menu text.
+- The menuitem is clickable.
+
+RWT:
+
+- The menuitem has a right arrow.
+- The menuitem is NOT clickable.
+____
+
+=== CTabFolder.setSimple() is not allowed
+
+This method is not implemented in RAP/RWT.
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/webhop/index.adoc b/docs/hop-dev-manual/modules/ROOT/pages/webhop/index.adoc
new file mode 100644
index 0000000..cbdedac
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/pages/webhop/index.adoc
@@ -0,0 +1,3 @@
+= Index Page
+
+* xref:webhop/developer-guide.adoc[Developer Guide]
diff --git a/docs/hop-dev-manual/modules/ROOT/pages/webhop/webhop-antipatterns.adoc b/docs/hop-dev-manual/modules/ROOT/pages/webhop/webhop-antipatterns.adoc
new file mode 100644
index 0000000..979d16b
--- /dev/null
+++ b/docs/hop-dev-manual/modules/ROOT/pages/webhop/webhop-antipatterns.adoc
@@ -0,0 +1,159 @@
+= Developer Antipatterns
+
+Due to the https://www.eclipse.org/rap/developers-guide/devguide.php?topic=rwt.html[differences between RWT and SWT], there are some anti-patterns that should be avoided when developing webSpoon and (webSpoon-) compatible plugins.
+
+== Avoid sharing session-unique instances among sessions
+
+The *singleton pattern* is a design pattern where only one instance of a class is created.
+This pattern can be seen here and there in Spoon's source code.
+An example is `GUIResource`, which mainly manages colors, fonts, and images.
+The following code snippet (excerpt of https://github.com/pentaho/pentaho-kettle/blob/8.0.0.0-R/ui/src/main/java/org/pentaho/di/ui/core/gui/GUIResource.java[here]) illustrates how it is ensured that `GUIResource` can only be instantiated once.
+The resources (colors, fonts, and images) are accessed through `GUIResource.getInstance()`.
+
+[source,java]
+----
+public class GUIResource {
+  private static GUIResource guiResource;
+
+  // Making the constructor private prevents instantiation from outside
+  private GUIResource( Display display ) {
+  ...
+  }
+
+  public static final GUIResource getInstance() {
+    if ( guiResource != null ) {
+      return guiResource;
+    }
+    guiResource = new GUIResource( PropsUI.getDisplay() );
+    return guiResource;
+  }
+}
+----
+
+`Spoon` is another example that takes the singleton pattern (not strictly as it can be instantiated more than once).
+If you look at the following code snippet (excerpt of https://github.com/pentaho/pentaho-kettle/blob/8.0.0.0-R/ui/src/main/java/org/pentaho/di/ui/spoon/Spoon.java[here]), you would notice that `Display` is a member field of `Spoon`.
+This means that `Spoon` can only manages a single instance of `Display`.
+The singleton pattern for `Spoon` class is nothing wrong for Spoon that servers only a single user, but makes troubles for webSpoon where `Display` is instantiated for each session.
+
+[source,java]
+----
+public class Spoon extends ApplicationWindow implements AddUndoPositionInterface,
+    ..., PartitionSchemasProvider {
+  private static Spoon staticSpoon;
+  private Display display;
+  public static Spoon getInstance() {
+    return staticSpoon;
+  }
+}
+----
+
+Fortunately, RAP/RWT provides http://www.eclipse.org/rap/developers-guide/devguide.php?topic=singletons.html&version=3.3[SingletonUtil] as a remedy.
+`Spoon.getInstance()` in the following code will return an instance of `Spoon` that is unique to a session.
+As a result, each instance of `Display` can be referenced by their corresponding instance of `Spoon`.
+
+[source,java]
+----
+public class Spoon {
+  private Display display;
+  public static Spoon getInstance() {
+    return SingletonUtil.getSessionInstance( Spoon.class );
+  }
+}
+----
+
+The rule-of-thumb is that such a session-unique instance should accessed only by the corresponding session and not by any other.
+Let's look at examples below how this rule can be violated.
+
+=== Example: use of the static modifier for session-unique instances
+
+The code below violates the rule, but how?
+
+[source,java]
+----
+public class RepositoryOpenSaveDialog extends ThinDialog {
+  private static final Image LOGO = GUIResource.getInstance().getImageLogoSmall();
+}
+----
+
+Let us assume that `GUIResource` has already been adapted to RAP/RWT and `GUIResource.getInstance()` returns a session-unique instance of `GUIResource`.
+An instance of `Image` returned by `GUIResource.getInstance().getImageLogoSmall()` also becomes session-unique.
+When `RepositoryOpenSaveDialog` is instantiated, say in session A, `LOGO` is instantiated and assigned with an instance of `Image` unique to session A.
+By the static modifier, `LOGO` keeps the reference to that particular instance ever after and returns that instance when accessed in any later sessions.
+
+Sharing session-unique instance of `Image` is not necessarily harmful especially when the image is inherently common to all sessions (e.g., the kettle small logo).
+However, issues like https://github.com/HiromuHota/pentaho-kettle/issues/92[#92] happen when the session A gets terminated and the instance of `Image` is disposed, but accessed by another session.
+To resolve these issues, remove the static modifier as follows:
+
+[source,java]
+----
+public class RepositoryOpenSaveDialog extends ThinDialog {
+  private final Image LOGO = GUIResource.getInstance().getImageLogoSmall();
+}
+----
+
+=== Example: caching session-unique instances in plugins
+
+PDI plugins, even in webSpoon, have application scope instead of session scope and only one instance is instantiated for each one of these plugins (= effectively singleton).
+Let's take a look at a modified snippet of https://github.com/pentaho/big-data-plugin/blob/8.0.0.0-R/legacy/src/main/java/org/pentaho/di/core/hadoop/HadoopClusterViewTreeExtension.java[HadoopClusterViewTreeExtension].
+
+[source,java]
+----
+public class HadoopClusterViewTreeExtension implements ExtensionPointInterface {
+  private Spoon spoon = null;
+  private Image hadoopClusterImage = null;
+
+  public HadoopClusterViewTreeExtension() {
+    spoon = Spoon.getInstance();
+    hadoopClusterImage = getHadoopClusterImage( spoon.getDisplay() );
+  }
+
+  private void refreshNamedClusterSubtree( SelectionTreeExtension selectionTreeExtension ) {
+    for ( NamedCluster namedCluster : namedClusters ) {
+      createTreeItem( tiNcTitle, namedCluster.getName(), hadoopClusterImage );
+    }
+  }
+}
+----
+
+The constructor assigns a session-unique `Spoon` and (effectively) session-unique `Image` to its member fields.
+These member fields could be technically re-assigned but never in Spoon.
+In webSpoon, this code causes issues such as https://github.com/HiromuHota/pentaho-kettle/issues/23[#23] and a non-reported issue resolved by https://github.com/HiromuHota/big-data-plugin/commit/adbb00a697400e52a5e42774d7464bde214dce45[adbb00a].
+To resolve the issues, stop caching session-unique instances in the member fields and retrieve them on-demand.
+The code below is the corrected one.
+
+[source,java]
+----
+public class HadoopClusterViewTreeExtension implements ExtensionPointInterface {
+  // private Spoon spoon = null;
+  // private Image hadoopClusterImage = null;
+
+  public HadoopClusterViewTreeExtension() {
+    // spoon = Spoon.getInstance();
+    // hadoopClusterImage = getHadoopClusterImage( spoon.getDisplay() );
+  }
+
+  private void refreshNamedClusterSubtree( SelectionTreeExtension selectionTreeExtension ) {
+    for ( NamedCluster namedCluster : namedClusters ) {
+      createTreeItem( tiNcTitle, namedCluster.getName(),
+        getHadoopClusterImage( Spoon.getInstance().getDisplay() ) ) );
+    }
+  }
+}
+----
+
+== Avoid use of unimplemented SWT APIs
+
+=== Example: drawing on an Image
+
+SWT can paint on any widgets or image, while RAP/RWT can only paint on `Canvas` widget.
+SWT supports the following codes:
+
+[source,java]
+----
+  Image image = new Image( device, width, height );
+  GC gc = new GC( image );
+  gc.drawRectangle( 0, 0, 10, 20 );
+----
+
+but RWT does not.
+You can see an example of how this limitation has been overcame in https://github.com/HiromuHota/pdi-dataservice-server-plugin/commit/3a36a606d76eee40244568726d486b2b0c501fcf[pdi-dataservice-server-plugin].
diff --git a/docs/hop-dev-manual/pom.xml b/docs/hop-dev-manual/pom.xml
new file mode 100644
index 0000000..82b034c
--- /dev/null
+++ b/docs/hop-dev-manual/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~       http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  ~
+  -->
+<project 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/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.hop.doc</groupId>
+        <artifactId>hop-doc</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+
+    <groupId>org.hop.doc</groupId>
+    <artifactId>hop-dev-manual</artifactId>
+    <version>1.0-SNAPSHOT</version>
+
+    <name>Hop Development Manual Wrapper</name>
+    <description></description>
+    <packaging>pom</packaging>
+    <url>http://project-hop.org</url>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <modules>
+        <module>modules/.asciidoctor</module>
+    </modules>
+    
+</project>
\ No newline at end of file
diff --git a/docs/hop-doc-resources/pom.xml b/docs/hop-doc-resources/pom.xml
new file mode 100644
index 0000000..86522b9
--- /dev/null
+++ b/docs/hop-doc-resources/pom.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~       http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  ~
+  -->
+<project 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/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>hop-doc</artifactId>
+        <groupId>org.hop.doc</groupId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>hop-doc-resources</artifactId>
+    <name>Hop Documentation Resources</name>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-remote-resources-plugin</artifactId>
+                <version>1.6.0</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>bundle</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <includes>
+                        <include>**/*.yml</include>
+                    </includes>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+</project>
\ No newline at end of file
diff --git a/docs/hop-doc-resources/src/main/resources/themes/hop-theme.yml b/docs/hop-doc-resources/src/main/resources/themes/hop-theme.yml
new file mode 100644
index 0000000..50e7c60
--- /dev/null
+++ b/docs/hop-doc-resources/src/main/resources/themes/hop-theme.yml
@@ -0,0 +1,7 @@
+title_page:
+  align: left
+
+page:
+  layout: portrait
+  margin: [0.75in, 1in, 0.75in, 1in]
+  size: A4
diff --git a/docs/hop-tech-manual/README.md b/docs/hop-tech-manual/README.md
new file mode 100644
index 0000000..28a2fd5
--- /dev/null
+++ b/docs/hop-tech-manual/README.md
@@ -0,0 +1,7 @@
+# Hop Technical manual
+The asciidoc documents in this repository are used to generate the documentation that is available on the hop [website](https://hop.apache.org/technical/latest)
+
+## Contributing
+To contribute to this documentation create a pull request adding new content to the existing pages or add new pages to the repoitory.
+
+The document structure is represented by the [nav.adoc](modules/ROOT/nav.adoc) file add an xref in this file when creating a new page.
\ No newline at end of file
diff --git a/docs/hop-tech-manual/antora.yml b/docs/hop-tech-manual/antora.yml
new file mode 100644
index 0000000..6a342b4
--- /dev/null
+++ b/docs/hop-tech-manual/antora.yml
@@ -0,0 +1,5 @@
+name: tech-manual
+title: Technical Documentation
+version: latest
+nav:
+- modules/ROOT/nav.adoc
diff --git a/docs/hop-tech-manual/modules/.asciidoctor/pages/index.adoc b/docs/hop-tech-manual/modules/.asciidoctor/pages/index.adoc
new file mode 100644
index 0000000..1d352a3
--- /dev/null
+++ b/docs/hop-tech-manual/modules/.asciidoctor/pages/index.adoc
@@ -0,0 +1,17 @@
+:author: Project Hop
+:email: info@project-hop.org
+:sectnums:
+:sectnumlevels: 5
+:toc:
+:toc-title: Hop Technical Guide
+:toc: left
+:toclevels: 5
+
+:description: This guide will help you with more complex installations and configurations.
+:keywords: hop technical
+:sourcepath: ../../ROOT/pages
+
+= Hop Technical Guide
+
+include::{sourcepath}/getting-started.adoc[]
+include::{sourcepath}/hop-uit.adoc[]
diff --git a/docs/hop-tech-manual/modules/.asciidoctor/pom.xml b/docs/hop-tech-manual/modules/.asciidoctor/pom.xml
new file mode 100644
index 0000000..9a613be
--- /dev/null
+++ b/docs/hop-tech-manual/modules/.asciidoctor/pom.xml
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~       http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  ~
+  -->
+<project 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/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <artifactId>hop-tech-manual</artifactId>
+        <groupId>org.hop.doc</groupId>
+        <version>1.0-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+
+    <groupId>org.hop.doc</groupId>
+    <artifactId>hop-tech-manual-asciidoctor</artifactId>
+    <version>1.0-SNAPSHOT</version>
+
+    <name>Hop Technical Manual</name>
+    <description></description>
+    <packaging>pom</packaging>
+    <url>https://hop.apache.org</url>
+
+    <properties>
+        <output.filename>hop-tech-manual</output.filename>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>hop-doc-resources</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+        <!--Use resources plugin to grab images from other module for PDF build-->
+            <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <version>3.1.0</version>
+                <executions>
+                    <execution>
+                        <id>copy-resource-one</id>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals>
+
+                        <configuration>
+                            <outputDirectory>./target/assets/images</outputDirectory>
+                            <resources>
+                                <resource>
+                                    <directory>../ROOT/assets/images</directory>
+                                    <includes>
+                                        <include>**</include>
+                                    </includes>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-remote-resources-plugin</artifactId>
+                <version>1.6.0</version>
+                <configuration>
+                    <resourceBundles>
+                        <resourceBundle>org.hop.doc:hop-doc-resources:${project.version}</resourceBundle>
+                    </resourceBundles>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>process</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.asciidoctor</groupId>
+                <artifactId>asciidoctor-maven-plugin</artifactId>
+                <version>2.0.0-RC.1</version>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.asciidoctor</groupId>
+                        <artifactId>asciidoctor-maven-plugin</artifactId>
+                        <version>${asciidoctor.version}</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.asciidoctor</groupId>
+                        <artifactId>asciidoctorj-pdf</artifactId>
+                        <version>${asciidoctorj.pdf.version}</version>
+                    </dependency>
+                </dependencies>
+                <configuration>
+                    <sourceDirectory>pages</sourceDirectory>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>output-html</id>
+                        <phase>generate-resources</phase>
+                        <goals>
+                            <goal>process-asciidoc</goal>
+                        </goals>
+                        <configuration>
+                            <backend>html</backend>
+                            <doctype>book</doctype>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>output-pdf-book</id>
+                        <phase>generate-resources</phase>
+                        <goals>
+                            <goal>process-asciidoc</goal>
+                        </goals>
+                        <configuration>
+                            <backend>pdf</backend>
+                            <doctype>book</doctype>
+                            <attributes>
+                                <pdf-stylesdir>${project.basedir}/target/maven-shared-archive-resources/themes</pdf-stylesdir>
+                                <pdf-style>hop</pdf-style>
+                            </attributes>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
\ No newline at end of file
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/.placeholder b/docs/hop-tech-manual/modules/ROOT/assets/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/attachments/BrandGuideline_Hop.pdf b/docs/hop-tech-manual/modules/ROOT/assets/attachments/BrandGuideline_Hop.pdf
new file mode 100644
index 0000000..d6da1ab
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/attachments/BrandGuideline_Hop.pdf differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/hop-import/import-dialog.png b/docs/hop-tech-manual/modules/ROOT/assets/images/hop-import/import-dialog.png
new file mode 100644
index 0000000..0719339
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/hop-import/import-dialog.png differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/hop-import/import-report.png b/docs/hop-tech-manual/modules/ROOT/assets/images/hop-import/import-report.png
new file mode 100644
index 0000000..87c13bb
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/hop-import/import-report.png differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/hop-import/menu-import.png b/docs/hop-tech-manual/modules/ROOT/assets/images/hop-import/menu-import.png
new file mode 100644
index 0000000..2acd6a7
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/hop-import/menu-import.png differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-1.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-1.jpg
new file mode 100644
index 0000000..7320934
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-1.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-10.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-10.jpg
new file mode 100644
index 0000000..3bbb39e
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-10.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-11.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-11.jpg
new file mode 100644
index 0000000..2565e26
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-11.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-12.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-12.jpg
new file mode 100644
index 0000000..7bec0e1
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-12.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-2.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-2.jpg
new file mode 100644
index 0000000..705d5ed
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-2.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-3.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-3.jpg
new file mode 100644
index 0000000..3d97333
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-3.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-4.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-4.jpg
new file mode 100644
index 0000000..5c00fb9
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-4.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-5.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-5.jpg
new file mode 100644
index 0000000..ccf5f10
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-5.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-6.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-6.jpg
new file mode 100644
index 0000000..31e0a61
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-6.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-7.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-7.jpg
new file mode 100644
index 0000000..0dbef54
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-7.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-8.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-8.jpg
new file mode 100644
index 0000000..3afd059
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-8.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-9.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-9.jpg
new file mode 100644
index 0000000..de90204
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/CMYK/jpg/HOP_logo_CMYK-9.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-1.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-1.jpg
new file mode 100644
index 0000000..0cfde08
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-1.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-10.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-10.jpg
new file mode 100644
index 0000000..c4a9271
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-10.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-11.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-11.jpg
new file mode 100644
index 0000000..290fab0
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-11.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-12.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-12.jpg
new file mode 100644
index 0000000..5c7c21c
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-12.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-2.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-2.jpg
new file mode 100644
index 0000000..b9c2f9d
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-2.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-3.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-3.jpg
new file mode 100644
index 0000000..035c9b5
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-3.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-4.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-4.jpg
new file mode 100644
index 0000000..b0d38dd
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-4.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-5.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-5.jpg
new file mode 100644
index 0000000..7db928d
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-5.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-6.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-6.jpg
new file mode 100644
index 0000000..88891d3
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-6.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-7.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-7.jpg
new file mode 100644
index 0000000..d21332e
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-7.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-8.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-8.jpg
new file mode 100644
index 0000000..992ed13
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-8.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-9.jpg b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-9.jpg
new file mode 100644
index 0000000..baf99cc
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/jpg/HOP_logo_RGB-9.jpg differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-1.png b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-1.png
new file mode 100644
index 0000000..24880fc
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-1.png differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-11.png b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-11.png
new file mode 100644
index 0000000..029fb19
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-11.png differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-12.png b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-12.png
new file mode 100644
index 0000000..a9f13c4
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-12.png differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-2.png b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-2.png
new file mode 100644
index 0000000..7c3b9de
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-2.png differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-5.png b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-5.png
new file mode 100644
index 0000000..6c78cfe
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-5.png differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-6.png b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-6.png
new file mode 100644
index 0000000..1a514ee
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-6.png differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-7.png b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-7.png
new file mode 100644
index 0000000..63dfe25
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-7.png differ
diff --git a/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-8.png b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-8.png
new file mode 100644
index 0000000..83480fc
Binary files /dev/null and b/docs/hop-tech-manual/modules/ROOT/assets/images/logo/RGB/png/HOP_logo_RGB-8.png differ
diff --git a/docs/hop-tech-manual/modules/ROOT/nav.adoc b/docs/hop-tech-manual/modules/ROOT/nav.adoc
new file mode 100644
index 0000000..0598fd4
--- /dev/null
+++ b/docs/hop-tech-manual/modules/ROOT/nav.adoc
@@ -0,0 +1,7 @@
+* xref:getting-started.adoc[Getting started]
+* xref:docker-container.adoc[Docker container]
+* xref:hop-vs-kettle/index.adoc[Kettle/PDI and Hop]
+** xref:hop-vs-kettle/hop-vs-kettle.adoc[Hop vs Kettle]
+** xref:hop-vs-kettle/if-you-know-kettle.adoc[If you know Kettle]
+** xref:hop-vs-kettle/import-kettle-projects.adoc[Upgrade Kettle to Hop]
+* xref:hop-logo-and-icons.adoc[Hop logo and icons]
diff --git a/docs/hop-tech-manual/modules/ROOT/pages/docker-container.adoc b/docs/hop-tech-manual/modules/ROOT/pages/docker-container.adoc
new file mode 100644
index 0000000..fa49dde
--- /dev/null
+++ b/docs/hop-tech-manual/modules/ROOT/pages/docker-container.adoc
@@ -0,0 +1,226 @@
+[[DockerContainer-DockerContainer]]
+= Docker container
+
+== Introduction
+
+This is the documentation of the official Apache Hop docker container published on:
+
+https://hub.docker.com/r/apache/incubator-hop
+
+It's a **Hop Docker image** supporting both **short-lived** and **long-lived** setups.
+
+== Container Folder Structure
+
+|===
+|Directory | Description
+
+|```/opt/hop```
+| location of the hop package
+
+|```/files```
+| here you should mount a directory that contains the **hop and project config** as well as the **workflows and pipelines**.
+
+|===
+
+== Environment Variables
+
+You can provide values for the following environment variables:
+
+For **short-lived** containers (execute a workflow or pipeline):
+
+|===
+|Environment Variable | Required | Description
+
+|```HOP_LOG_LEVEL```
+| No
+| Specify the log level.Default: ```Basic```.Optional.
+
+|```HOP_FILE_PATH```
+| Yes
+| Path to hop workflow or pipeline
+
+|```HOP_LOG_PATH```
+| No
+| File path to hop log file
+
+|```HOP_CONFIG_DIRECTORY```
+| No
+| Path to the Hop config folder.DISABLED for now.
+
+|```HOP_PROJECT_NAME```
+| Yes
+| Name of the Hop project to use
+
+|```HOP_PROJECT_DIRECTORY```
+| Yes
+| Path to the home of the hop project.Should start with ```/files```.
+
+|```HOP_PROJECT_CONFIG_FILE_NAME```
+| No
+| Name of the project config file including file extension.Defaults to ```project-config.json```.
+
+|```HOP_ENVIRONMENT_NAME```
+| Yes
+| Name of the Hop run environment to use
+
+|```HOP_ENVIRONMENT_CONFIG_FILE_NAME_PATHS```
+| Yes
+| comma separated list of paths to environment config files (including filename and file extension). paths should start with ```/files```.
+
+|```HOP_RUN_CONFIG```
+| Yes
+| Name of the Hop run configuration to use
+
+|```HOP_RUN_PARAMETERS```
+| No
+| Parameters that should be passed on to the hop-run command.Specify as comma separated list, e.g. ```PARAM_1=aaa,PARAM_2=bbb```.Optional.
+
+|```HOP_OPTIONS```
+| No
+| Any JRE options you want to set
+
+|```HOP_SHARED_JDBC_DIRECTORY```
+| No
+| Path to the directory where the JDCB drivers are located
+
+|```HOP_CUSTOM_ENTRYPOINT_EXTENSION_SHELL_FILE_PATH```
+| No
+| Path to custom entrypoint extension script file, e.g. to fetch Hop project files from S3 or gitlab.
+
+|===
+
+For **long-lived** containers (Hop Server):
+
+|===
+|Environment Variable | Description
+
+|```HOP_SERVER_PORT```
+| The port for hop-server.  Pick a value like ```8080``` or ```8181```
+
+|```HOP_SERVER_USER```
+| Username for hop-server.  The Hop default is ```cluster```
+
+|```HOP_SERVER_PASS```
+| Password for hop-server user.  The Hop default is ```cluster```
+
+|===
+
+== How to run the Container
+
+The most common use case will be that you run a **short-lived container** to just complete one Hop workflow or pipeline.
+
+Example for running a **workflow**:
+
+[source,bash]
+----
+docker pull docker.io/apache/incubator-hop:<tag>
+docker run -it --rm \
+  --env HOP_LOG_LEVEL=Basic \
+  --env HOP_FILE_PATH='${PROJECT_HOME}/pipelines-and-workflows/main.hwf' \
+  --env HOP_PROJECT_DIRECTORY=/files/project \
+  --env HOP_PROJECT_NAME=project-a \
+  --env HOP_ENVIRONMENT_NAME=project-a-test \
+  --env HOP_ENVIRONMENT_CONFIG_FILE_NAME_PATHS=/files/config/project-a-test.json \
+  --env HOP_RUN_CONFIG=classic \
+  --env HOP_RUN_PARAMETERS=PARAM_LOG_MESSAGE=Hello,PARAM_WAIT_FOR_X_MINUTES=1 \
+  -v /path/to/local/dir:/files \
+  --name my-simple-hop-container \
+  apache/incubator-hop:<tag>
+----
+
+If you need a **long-lived container**, this option is also available. Run this command to start a Hop Server in a docker container:
+
+[source,bash]
+----
+docker pull docker.io/apache/incubator-hop:<tag>
+docker run -it --rm \
+  --env HOP_SERVER_USER=admin \
+  --env HOP_SERVER_PASS=admin \
+  --env HOP_SERVER_PORT=8181 \
+  -p 8181:8181 \
+  --name my-hop-server-container \
+ apache/incubator-hop:<tag>
+----
+
+Hop Server is designed to receive all variables and metadata from executing clients. This means it needs little to no configuration to run.
+
+You can then access the hop-server UI from your host at `http://localhost:8181`
+
+== Custom Entrypoint Extension Shell Script
+
+To make the Hop Docker image even more flexible, we added a ```HOP_CUSTOM_ENTRYPOINT_EXTENSION_SHELL_FILE_PATH``` variable that accepts a path to a custom shell script (that you provide).This shell script will run when you start the container before your Hop project is registered with the container's Hop config and before your Hop workflow or pipeline gets kicked off.
+This feature might come in handy when you want to run some custom logic upfront, e.g. source Hop project files from S3 or clone them from GitHub.
+
+The custom shell file can be provided in several ways (this is not a full list):
+
+- via the mount point (```/files```)
+- You create your own Dockerfile, define this image as the base and then use the ```COPY``` instruction to copy your custom shell file in your Docker image.
+
+For the last scenario mentioned, it could be something like this:
+
+We create a simple **bash script** called ```clone-git-repo.sh``` in a sub-folder called ```resources```:
+
+[source,shell]
+----
+#!/bin/bash
+cd /home/hop
+git clone ${GIT_REPO_URI}
+chown -R hop:hop /home/hop/${GIT_REPO_NAME}
+----
+
+We also make it parameter-driven, so it any other team can use it.We create our custom Dockerfile like so:
+
+[source,dockerfile]
+----
+FROM apache/incubator-hop:0.70-SNAPSHOT
+ENV GIT_REPO_URI=https://...
+# example value: https://github.com/diethardsteiner/apache-hop-minimal-project.git
+ENV GIT_REPO_NAME=repo-name
+# example value: apache-hop-minimal-project
+USER root
+RUN apk update \
+  && apk add --no-cache git
+# copy custom entrypoint extension shell script
+COPY --chown=hop:hop ./resources/clone-git-repo.sh /home/hop/clone-git-repo.sh
+USER hop
+----
+
+Note that apart from defining the new environment variables (that go in line with the parameters we defined in the ```clone-git-repo.sh``` earlier on ), we also ```COPY``` the ```clone-git-repo.sh``` file to user hop's home directory.
+
+Next let's build a small script which builds our custom image and then tests it by spinning up a container and running a workflow:
+
+[source,shell]
+----
+#!/bin/zsh
+
+DOCKER_IMG_CHECK=$(docker images | grep ds/custom-hop)
+
+if [ ! -z "${DOCKER_IMG_CHECK}" ]; then
+  echo "removing existing ds/custom-hop image"
+  docker rmi ds/custom-hop:latest
+fi
+
+docker build . -f custom.Dockerfile -t ds/custom-hop:latest
+
+echo " ==== TESTING ====="
+
+
+HOP_DOCKER_IMAGE=ds/custom-hop:latest
+PROJECT_DEPLOYMENT_DIR=/home/hop/apache-hop-minimal-project
+
+docker run -it --rm \
+  --env HOP_LOG_LEVEL=Basic \
+  --env HOP_FILE_PATH='${PROJECT_HOME}/main.hwf' \
+  --env HOP_PROJECT_DIRECTORY=${PROJECT_DEPLOYMENT_DIR} \
+  --env HOP_PROJECT_NAME=apache-hop-minimum-project \
+  --env HOP_ENVIRONMENT_NAME=dev \
+  --env HOP_ENVIRONMENT_CONFIG_FILE_NAME_PATHS=${PROJECT_DEPLOYMENT_DIR}/dev-config.json \
+  --env HOP_RUN_CONFIG=local \
+  --env HOP_CUSTOM_ENTRYPOINT_EXTENSION_SHELL_FILE_PATH=/home/hop/clone-git-repo.sh \
+  --env GIT_REPO_URI=https://github.com/diethardsteiner/apache-hop-minimal-project.git \
+  --env GIT_REPO_NAME=apache-hop-minimal-project \
+  --name my-simple-hop-container \
+  ${HOP_DOCKER_IMAGE}
+----
+
+
diff --git a/docs/hop-tech-manual/modules/ROOT/pages/getting-started.adoc b/docs/hop-tech-manual/modules/ROOT/pages/getting-started.adoc
new file mode 100644
index 0000000..881c821
--- /dev/null
+++ b/docs/hop-tech-manual/modules/ROOT/pages/getting-started.adoc
@@ -0,0 +1,2 @@
+[[GettingStarted-GettingStarted]]
+= Getting Started
diff --git a/docs/hop-tech-manual/modules/ROOT/pages/hop-logo-and-icons.adoc b/docs/hop-tech-manual/modules/ROOT/pages/hop-logo-and-icons.adoc
new file mode 100644
index 0000000..cc2820c
--- /dev/null
+++ b/docs/hop-tech-manual/modules/ROOT/pages/hop-logo-and-icons.adoc
@@ -0,0 +1,38 @@
+[[HopLogoAndIcons-HopLogoAndIcons]]
+= Hop Logo and Icons
+
+== CMYK for Printing
+image::logo/CMYK/jpg/HOP_logo_CMYK-2.jpg[HOP_logo_CMYK-2.jpg]
+image::logo/CMYK/jpg/HOP_logo_CMYK-1.jpg[HOP_logo_CMYK-1.jpg]
+image::logo/CMYK/jpg/HOP_logo_CMYK-3.jpg[HOP_logo_CMYK-3.jpg]
+image::logo/CMYK/jpg/HOP_logo_CMYK-4.jpg[HOP_logo_CMYK-4.jpg]
+image::logo/CMYK/jpg/HOP_logo_CMYK-5.jpg[HOP_logo_CMYK-5.jpg]
+image::logo/CMYK/jpg/HOP_logo_CMYK-6.jpg[HOP_logo_CMYK-6.jpg]
+image::logo/CMYK/jpg/HOP_logo_CMYK-7.jpg[HOP_logo_CMYK-7.jpg]
+image::logo/CMYK/jpg/HOP_logo_CMYK-8.jpg[HOP_logo_CMYK-8.jpg]
+image::logo/CMYK/jpg/HOP_logo_CMYK-9.jpg[HOP_logo_CMYK-9.jpg]
+image::logo/CMYK/jpg/HOP_logo_CMYK-10.jpg[HOP_logo_CMYK-10.jpg]
+image::logo/CMYK/jpg/HOP_logo_CMYK-11.jpg[HOP_logo_CMYK-11.jpg]
+image::logo/CMYK/jpg/HOP_logo_CMYK-12.jpg[HOP_logo_CMYK-12.jpg]
+
+== RGB for Web usage
+image::logo/RGB/jpg/HOP_logo_RGB-1.jpg[HOP_logo_RGB-1.jpg]
+image::logo/RGB/jpg/HOP_logo_RGB-2.jpg[HOP_logo_RGB-2.jpg]
+image::logo/RGB/jpg/HOP_logo_RGB-3.jpg[HOP_logo_RGB-3.jpg]
+image::logo/RGB/jpg/HOP_logo_RGB-4.jpg[HOP_logo_RGB-4.jpg]
+image::logo/RGB/jpg/HOP_logo_RGB-5.jpg[HOP_logo_RGB-5.jpg]
+image::logo/RGB/jpg/HOP_logo_RGB-6.jpg[HOP_logo_RGB-6.jpg]
+image::logo/RGB/jpg/HOP_logo_RGB-7.jpg[HOP_logo_RGB-7.jpg]
+image::logo/RGB/jpg/HOP_logo_RGB-8.jpg[HOP_logo_RGB-8.jpg]
+image::logo/RGB/jpg/HOP_logo_RGB-9.jpg[HOP_logo_RGB-9.jpg]
+image::logo/RGB/jpg/HOP_logo_RGB-10.jpg[HOP_logo_RGB-10.jpg]
+image::logo/RGB/jpg/HOP_logo_RGB-11.jpg[HOP_logo_RGB-11.jpg]
+image::logo/RGB/jpg/HOP_logo_RGB-12.jpg[HOP_logo_RGB-12.jpg]
+
+== Style guide:
+
+link:{attachmentsdir}/BrandGuideline_Hop.pdf[BrandGuideline_Hop.pdf]
+
+
+
+
diff --git a/docs/hop-tech-manual/modules/ROOT/pages/hop-vs-kettle/hop-vs-kettle.adoc b/docs/hop-tech-manual/modules/ROOT/pages/hop-vs-kettle/hop-vs-kettle.adoc
new file mode 100644
index 0000000..5bb0255
--- /dev/null
+++ b/docs/hop-tech-manual/modules/ROOT/pages/hop-vs-kettle/hop-vs-kettle.adoc
@@ -0,0 +1,68 @@
+[[HopvsKettle]]
+:imagesdir: ../assets/images
+:openvar: ${
+:closevar: }
+:page-pagination:
+
+= Hop vs Kettle - A Quick Comparison
+
+== Concepts
+
+[width=90%", cols="6,2,2", options="header"]
+|===
+|Terminology|Kettle|Hop
+|Parallel scalable data pipeline|Transformation|Pipeline
+|An operation in a parallel pipeline|Step|Transform
+|Sequential series of actions|Job|Workflow
+|An action in a workflow|Job Entry|Action
+| Shared metadata container|Metastore|Hop Metadata
+|The graphical user interface|Spoon|Hop Gui
+|Script to run data pipelines|Pan|Hop Run
+|Script to run workflows|Kitchen|Hop Run
+|Server for remote execution|Carte|Hop Server
+|Script for configuration|-|Hop Config
+|===
+
+== Configuration
+
+[width="90%", cols="2,3,3", options="header"]
+|===
+|Configuration|Kettle|Hop
+|System variables|{openvar}KETTLE_HOME{closevar}/.kettle/kettle.properties|{openvar}HOP_CONFIG_FOLDER{closevar}/hop-config.json or ./config/hop-config.json
+|GUI preferences (fonts, colors, preferences…)|{openvar}KETTLE_HOME{closevar}/.kettle/kettle.properties|{openvar}HOP_CONFIG_FOLDER{closevar}/hop-config.json or ./config/hop-config.json
+|Language choice|{openvar}KETTLE_HOME{closevar}/.kettle/.languageChoice|{openvar}HOP_CONFIG_FOLDER{closevar}/hop-config.json or ./config/hop-config.json
+|Shared objects|{openvar}KETTLE_HOME{closevar}/.kettle/shared.xml|All stored in Hop shared metadata
+|GUI usage information|{openvar}KETTLE_HOME{closevar}/.kettle/kettle.properties|{openvar}HOP_AUDIT_FOLDER{closevar}/<project>/
+|Shared metadata|{openvar}PENTAHO_METASTORE_FOLDER{closevar} or {openvar}HOME{closevar}/.pentaho/metastore|{openvar}HOP_METADATA_FOLDER{closevar} or {openvar}HOP_CONFIG_FOLDER{closevar}/metadata
+|Environment/Project configurations|{openvar}KETTLE_HOME{closevar}/.kettle/environment/metastore|{openvar}HOP_CONFIG_FOLDER{closevar}/hop-config.json or ./config/hop-config.json
+|===
+
+== Engines
+
+[width="90%", cols="70%,15%,15%", options="header"]
+|===
+|Engine|Kettle|Hop
+|Unit Testing|Plugin|Yes
+|Apache Spark Support|No (PDI EE only)|Yes (Beam)
+|Apache Flink Support|No|Yes (Beam)
+|Google Cloud DataFlow Support|No|Yes (Beam)
+|===
+
+== Features
+
+[width="90%", cols="70%,15%,15%", options="header"]
+|===
+|Feature|Kettle|Hop
+|Projects and Lifecycle Configuration |No|Yes
+|Search Information in projects and configurations|No|Yes
+|Configuration management through UI and command line|No|Yes
+|Standardized shared metadata|No|Yes
+|Pluggable runtime engines|No|Yes
+|Advanced GUI features: memory, native zooom, ...|No|Yes
+|Metadata Injection|Yes|Yes (most transforms)
+|Mapping (sub-transformation/pipeline|Yes|Yes(simplified)
+|Web Interface|WebSpoon|HopWeb (in progress)
+|APL 2.0 license compliance|LGPL doubts regarding pentaho-metastore library|Yes
+|Pluggable metadata objects|No|Yes
+|GUI plugin architecture|XUL based (XML)|Java annotations
+|===
\ No newline at end of file
diff --git a/docs/hop-tech-manual/modules/ROOT/pages/hop-vs-kettle/if-you-know-kettle.adoc b/docs/hop-tech-manual/modules/ROOT/pages/hop-vs-kettle/if-you-know-kettle.adoc
new file mode 100644
index 0000000..33a2ad0
--- /dev/null
+++ b/docs/hop-tech-manual/modules/ROOT/pages/hop-vs-kettle/if-you-know-kettle.adoc
@@ -0,0 +1,46 @@
+[[IfYouKnowKettle]]
+:imagesdir: ../assets/images
+:page-pagination:
+
+= If You Know Kettle (Pentaho Data Integration)
+
+== Why Hop?
+
+With Hop, we want to allow data engineers to be able to deliver high quality work, deliver that work fast and integrated with bleeding edge technology.
+
+We want Hop to be completely open source, and are eager to hear your feedback on our https://chat.project-hop.org[chat] and just as eager to see your bug tickets and feature request in https://jira.project-hop.org[our JIRA].
+
+As an open source first project, we'll start the https://www.apache.org/[Apache Software Foundation] https://incubator.apache.org/[incubation] process soon, and aim to become and ASF https://projects.apache.org/[top level project] as soon as possible.
+
+Check our https://hop.apache.org/docs/qa/[Q&A] for more information on why Hop was created and what the project is all about.
+
+== Concepts
+
+A couple of things have been renamed to align Apache Hop (Incubating) with modern data processing platforms.
+
+**_A lot_** has changed behind the scenes, but don't worry, if you're familiar with Kettle/PDI, you'll feel right at home immediately.
+
+[width="85%", cols="20%, 20%, 60%", options="header"]
+|===
+|Kettle|Hop|Difference
+|Spoon|Hop Gui|Spoon has been abandoned. Hop Gui was written from scratch. Check the https://hop.apache.org/manual/latest/getting-started.html[Getting Started guide] or the https://hop.apache.org/manual/latest/hop-gui/index.html[Hop Gui docs] to find out more.
+|Transformation|Pipeline|No conceptual changes. You'll develop pipelines just like you would develop a transformation, but a pipeline in Hop can run on different runtimes
+|Job|Workflow|No conceptual changes. You'll develop a workflow just like you would develop a job, but a workflow in Hop can run on different runtimes
+|Step|Transform|No conceptual changes. The underlying code has changed and the dialogs have been updated, but you'll feel right at home.
+|Job Entry|Action|No conceptual changes. The underlying code has changed and the dialogs have been updated, but you'll feel right at home.
+|Metastore|Metadata|All metadata objects in Hop are stored as metadata. This happens behind the scenes. Except for increased usability, as a Hop developer, you'll hardly notice.
+|Carte|Hop Server|Again, smooth sailing. A lot has changed behind the scenes, but you'll hardly notice. Check the https://hop.apache.org/manual/latest/hop-server/index.html[docs]
+|Pan/Kitchen/(Maitre)|Hop Run|Kitchen and Pan depended on the Spoon GUI code. With the rewrite of Spoon to Hop Gui, we've recreated the command line tools. We believe this now is more consistent while providing more options and being easier to use at the same time. Check the https://hop.apache.org/manual/latest/hop-run/index.html[docs]
+|JNDI|gone|jndi in Kettle/PDI is based on an open source project that hasn't been updated in about a decade. As there was no reason to keep this functionality in Hop, it was abandoned.
+|Repositories|gone|Code repositories belong in a VCS these days. We've abandoned the file and database (and PDI EE repositories) repositories, but implemented Git integration instead.
+|-|Projects, Environments, Run Config|The https://github.com/mattcasters/kettle-environment[Kettle Environments Plugin] has been integrated and significantly extended. Hop now has integrated functionality to support your projects, environments and run configurations. Check the https://hop.apache.org/manual/latest/hop-gui/environments/environments.html[docs].
+|-|Hop Config|This is a new command line tool to configure your projects, environments and run configurations.
+|===
+
+== Apache Beam
+
+https://beam.apache.org[Apache Beam] has been deeply integrated in Hop. Beam allows us to run pipelines directly on
+
+* https://spark.apache.org[Apache Spark]
+* https://flink.apache.org[Apache Flink]
+* https://cloud.google.com/dataflow[Google Dataflow]
diff --git a/docs/hop-tech-manual/modules/ROOT/pages/hop-vs-kettle/import-kettle-projects.adoc b/docs/hop-tech-manual/modules/ROOT/pages/hop-vs-kettle/import-kettle-projects.adoc
new file mode 100644
index 0000000..4cbbe4f
--- /dev/null
+++ b/docs/hop-tech-manual/modules/ROOT/pages/hop-vs-kettle/import-kettle-projects.adoc
@@ -0,0 +1,71 @@
+[[ImportKettleToHop]]
+:imagesdir: ../assets/images
+:page-pagination:
+:page-pagination-no-next:
+
+= Import Kettle (PDI) Projects in Apache Hop (Incubating)
+
+As stated in the https://hop.apache.org/docs/qa/[Q&A], Apache Hop (Incubating) used Kettle (aka Pentaho Data Integration or PDI) as a starting point in late 2019. A lot has happened in the meantime on both Apache Hop (Incubating) and Pentaho Data Integration.
+
+Compatibility with Kettle/PDI never was a goal for Apache Hop (Incubating), but since a lot of organizations have invested vast amounts of resources in Kettle/PDI project development, the Apache Hop (Incubating) community provides a way to import Kettle/PDI code into Hop and convert the imported code the the Hop ways of working.
+
+== Imported Items
+
+* jobs: convert to Workflows (kjb to hwf), job entries to actions
+* transformations: convert to Pipelines (ktr to hpl), steps to transforms
+* kettle.properties: import to project variables
+* shared.xml: extract relational database connections to Hop relational database connection metadata objects
+* jdbc.properties: extract JNDI (simple-jndi) relational database connections to Hop relational database connection metadata objects
+* connections in jobs and transformations are extracted and converted to Hop relational database connection metadata objects
+* import jobs, transformations and other files into a Hop project (selected or bootstrapped in specified folder)
+* repository references are extracted and converted to file references
+
+== Known limitations
+
+* no connection cleanup: only 1 copy of database connections with the same name but different configurations is kept.
+* no metastore import
+
+== Usage
+
+To import your Kettle/PDI projects in Hop, select `File -> Import from Kettle/PDI` or press `CTRL-i`.
+
+image:hop-import/menu-import.png[File --> Import from Kettle/PDI]
+
+Add you import sources and target in the pop-up dialog you'll be presented with:
+
+image:hop-import/import-dialog.png[Import Dialog]
+
+The options in this dialog are:
+
+[options="header", width=90%]
+|===
+|Option|Description|Optional
+|Import From|The folder to import Kettle/PDI jobs and transformations from|No
+|Import in existing project|check to import into an existing project, uncheck to import into a folder|No
+|Import in project|Dropdown list of available projects to import the Kettle/PDI project into|Conditional
+|Import to folder|Path to import the Kettle/PDI project to. All imported items will be imported into a Hop project in this folder.|Conditional
+|Path to kettle.properties|Path to a kettle.properties file. All properties in this file will be imported as variables in the Hop project.|Yes
+|Path to shared.xml|Path to a shared.xml file. All database connections in this file will be imported as Hop relational database connection metadata objects in the specified Hop project or folder.|Yes
+|Path to jdbc.properties|Path to a jdbc.properties file. All Kettle/PDI JNDI database connections in this file will be imported as Hop (generic) relational database connection metadata objects in the specified Hop project or folder.|Yes
+|===
+
+After entering your import details, click the 'Import' button.
+
+After a couple of seconds (even when importing large projects), you'll be presented with a migration summary:
+
+image:hop-import/import-report.png[Import Report]
+
+The migration summary shows:
+
+* number of jobs
+* number of transformations
+* number of other files
+* number of variables
+* number of database connections
+
+NOTE: Only migrated items will be shown. Items that were not available in the specified folders or files for this import will not be shown.
+
+When multiple database connections with the same name but different configurations were found (see 'Known limitations'), a `connnections.csv` file will be created in the project folder. This file contains a list of all jobs and transformations, with the connections they use.
+
+
+
diff --git a/docs/hop-tech-manual/modules/ROOT/pages/hop-vs-kettle/index.adoc b/docs/hop-tech-manual/modules/ROOT/pages/hop-vs-kettle/index.adoc
new file mode 100644
index 0000000..f4285d4
--- /dev/null
+++ b/docs/hop-tech-manual/modules/ROOT/pages/hop-vs-kettle/index.adoc
@@ -0,0 +1,18 @@
+[[HopAndKettle]]
+:imagesdir: ../assets/images
+:page-pagination:
+:page-pagination-no-back:
+
+= Hop vs Kettle
+
+Hop initially (late 2019) started as a fork of the Kettle (Pentaho Data Integration).
+
+Hop and Kettle/PDI are independent projects, each with their own roadmap and priorities. Given these different roadmaps, architectural vision and development track, Hop and Kettle/PDI are incompatible.
+
+However, since Hop shares a common history with Kettle/PDI, we provide the Hop community a way to import existing PDI/Kettle projects into Hop as seamlessly as possible.
+
+Check the following pages to find out more:
+
+* xref:hop-vs-kettle/hop-vs-kettle.adoc[Hop vs Kettle]: a comparison between the concepts and approaches in Kettle/PDI vs Hop
+* xref:hop-vs-kettle/if-you-know-kettle.adoc[If you know Kettle] provides guidance on how to get started with Hop quickly if you've used Kettle/PDI before
+* xref:hop-vs-kettle/import-kettle-projects.adoc[Import Kettle] explains how your existing Kettle/PDI projects can be imported into Hop
diff --git a/docs/hop-tech-manual/modules/ROOT/pages/index.adoc b/docs/hop-tech-manual/modules/ROOT/pages/index.adoc
new file mode 100644
index 0000000..cc2096b
--- /dev/null
+++ b/docs/hop-tech-manual/modules/ROOT/pages/index.adoc
@@ -0,0 +1,6 @@
+= Index Page
+
+* xref:getting-started.adoc[Getting started]
+* xref:docker-container.adoc[Docker container]
+* xref:hop-logo-and-icons.adoc[Hop logo and icons]
+* xref:hop-vs-kettle/index.adoc[Kettle/PDI and Hop]
diff --git a/docs/hop-tech-manual/pom.xml b/docs/hop-tech-manual/pom.xml
new file mode 100644
index 0000000..0ec28ef
--- /dev/null
+++ b/docs/hop-tech-manual/pom.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~       http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  ~
+  -->
+<project 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/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.hop.doc</groupId>
+        <artifactId>hop-doc</artifactId>
+        <version>1.0-SNAPSHOT</version>
+    </parent>
+
+    <groupId>org.hop.doc</groupId>
+    <artifactId>hop-tech-manual</artifactId>
+    <version>1.0-SNAPSHOT</version>
+
+    <name>Hop Technical Manual Wrapper</name>
+    <description></description>
+    <packaging>pom</packaging>
+    <url>https://hop.apache.org</url>
+
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    </properties>
+
+    <modules>
+        <module>modules/.asciidoctor</module>
+    </modules>
+    
+</project>
\ No newline at end of file
diff --git a/docs/hop-user-manual/README.md b/docs/hop-user-manual/README.md
new file mode 100644
index 0000000..cdb66c2
--- /dev/null
+++ b/docs/hop-user-manual/README.md
@@ -0,0 +1,7 @@
+# Hop user manual
+The asciidoc documents in this repository are used to generate the documentation that is available on the hop [website](https://hop.apache.org/manual/latest)
+
+## Contributing
+To contribute to this documentation create a pull request adding new content to the existing pages or add new pages to the repoitory.
+
+The document structure is represented by the [nav.adoc](modules/ROOT/nav.adoc) file add an xref in this file when creating a new page.
\ No newline at end of file
diff --git a/docs/hop-user-manual/antora.yml b/docs/hop-user-manual/antora.yml
new file mode 100644
index 0000000..5021f52
--- /dev/null
+++ b/docs/hop-user-manual/antora.yml
@@ -0,0 +1,5 @@
+name: manual
+title: User manual
+version: latest
+nav:
+- modules/ROOT/nav.adoc
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assembly-jar.xml b/docs/hop-user-manual/modules/.asciidoctor/assembly-jar.xml
new file mode 100644
index 0000000..85b135a
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assembly-jar.xml
@@ -0,0 +1,22 @@
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2"
+          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+          xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd">
+    <id>assembly-jar</id>
+    <includeBaseDirectory>true</includeBaseDirectory>
+
+    <formats>
+        <format>jar</format>
+    </formats>
+    <fileSets>
+        <fileSet>
+            <directory>${project.build.directory}/assets/</directory>
+            <outputDirectory>/assets/</outputDirectory>
+        </fileSet>
+    </fileSets>
+    <files>
+        <file>
+            <source> ${project.build.directory}/generated-docs/index.html</source>
+            <outputDirectory>/pages/</outputDirectory>
+        </file>
+    </files>
+</assembly>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/generic_connection.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/generic_connection.png
new file mode 100644
index 0000000..5f398d7
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/generic_connection.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-add-transform.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-add-transform.png
new file mode 100644
index 0000000..4c8ae98
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-add-transform.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-add-two-transforms.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-add-two-transforms.png
new file mode 100644
index 0000000..1a7c063
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-add-two-transforms.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-click-anywhere.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-click-anywhere.png
new file mode 100644
index 0000000..6c96ab3
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-click-anywhere.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-create-hop.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-create-hop.png
new file mode 100644
index 0000000..2a69a73
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-create-hop.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-debug-dialog.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-debug-dialog.png
new file mode 100644
index 0000000..8961d69
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-debug-dialog.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-debug-pipeline.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-debug-pipeline.png
new file mode 100644
index 0000000..4765dc2
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-debug-pipeline.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-debug-results.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-debug-results.png
new file mode 100644
index 0000000..192c842
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-debug-results.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-execution-results-metrics.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-execution-results-metrics.png
new file mode 100644
index 0000000..02ac9a2
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-execution-results-metrics.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-hop-gui.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-hop-gui.png
new file mode 100644
index 0000000..2131fa6
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-hop-gui.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-dialog.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-dialog.png
new file mode 100644
index 0000000..bafedbd
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-dialog.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-pipeline.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-pipeline.png
new file mode 100644
index 0000000..355bad1
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-pipeline.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-slave-config.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-slave-config.png
new file mode 100644
index 0000000..b4db566
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-slave-config.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-slave-run-config.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-slave-run-config.png
new file mode 100644
index 0000000..f6eda64
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-slave-run-config.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-slave.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-slave.png
new file mode 100644
index 0000000..6f1433a
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-slave.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-transform.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-transform.png
new file mode 100644
index 0000000..91db819
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-transform.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-workflow-abort.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-workflow-abort.png
new file mode 100644
index 0000000..36a3ab7
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-workflow-abort.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-workflow-actions.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-workflow-actions.png
new file mode 100644
index 0000000..d6eb48c
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-workflow-actions.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-workflow-pipeline-action.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-workflow-pipeline-action.png
new file mode 100644
index 0000000..7325975
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-workflow-pipeline-action.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-workflow.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-workflow.png
new file mode 100644
index 0000000..d289206
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-new-workflow.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-pipeline-toolbar.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-pipeline-toolbar.png
new file mode 100644
index 0000000..4d6da40
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-pipeline-toolbar.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-preview-dialog.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-preview-dialog.png
new file mode 100644
index 0000000..a603322
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-preview-dialog.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-preview-pipeline.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-preview-pipeline.png
new file mode 100644
index 0000000..33f7b86
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-preview-pipeline.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-preview-results.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-preview-results.png
new file mode 100644
index 0000000..a057dc9
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-preview-results.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-configuration-dialog.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-configuration-dialog.png
new file mode 100644
index 0000000..7a489d6
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-configuration-dialog.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-pipeline-dialog.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-pipeline-dialog.png
new file mode 100644
index 0000000..270c1f6
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-pipeline-dialog.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-workflow-config-dialog.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-workflow-config-dialog.png
new file mode 100644
index 0000000..b8c548d
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-workflow-config-dialog.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-workflow-dialog.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-workflow-dialog.png
new file mode 100644
index 0000000..69777d0
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-workflow-dialog.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-workflow-logging.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-workflow-logging.png
new file mode 100644
index 0000000..40a7fb3
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-workflow-logging.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-workflow-metrics.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-workflow-metrics.png
new file mode 100644
index 0000000..77fd704
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-workflow-metrics.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-workflow-with-config.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-workflow-with-config.png
new file mode 100644
index 0000000..fecf9cd
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-run-workflow-with-config.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-save-pipeline.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-save-pipeline.png
new file mode 100644
index 0000000..b1359b7
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-save-pipeline.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-server-index.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-server-index.png
new file mode 100644
index 0000000..59d0915
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-server-index.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-server-status-after-run-details.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-server-status-after-run-details.png
new file mode 100644
index 0000000..35b7d3c
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-server-status-after-run-details.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-server-status-after-run.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-server-status-after-run.png
new file mode 100644
index 0000000..c005f04
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-server-status-after-run.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-server-status.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-server-status.png
new file mode 100644
index 0000000..6ffee87
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/getting-started-server-status.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/Antu_edit-redo.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/Antu_edit-redo.svg
new file mode 100644
index 0000000..7e7c703
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/Antu_edit-redo.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
+  <path
+      d="m257.75 113.71c-74.42 0-140.28 35.892-181.77 91.16l-75.978-75.995v242.61h242.61l-82.54-82.53c21.931-66.52 84.47-114.58 158.33-114.58 92.16 0 166.79 74.69 166.79 166.8.0001-125.63-101.82-227.45-227.43-227.45"
+      transform="matrix(-.04122 0 0 .04122 21 .998)" fill="#4d4d4d"/>
+</svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/Antu_edit-undo.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/Antu_edit-undo.svg
new file mode 100644
index 0000000..0f854b8
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/Antu_edit-undo.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
+  <path
+      d="m257.75 113.71c-74.42 0-140.28 35.892-181.77 91.16l-75.978-75.995v242.61h242.61l-82.54-82.53c21.931-66.52 84.47-114.58 158.33-114.58 92.16 0 166.79 74.69 166.79 166.8.0001-125.63-101.82-227.45-227.43-227.45"
+      transform="matrix(.04122 0 0 .04122 1 .998)" fill="#4d4d4d"/>
+</svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/HOP.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/HOP.svg
new file mode 100644
index 0000000..0cf92c8
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/HOP.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
+<polygon fill="#0E3A5A" points="15,8 12.6,8 3.1,4.6 4.4,8 1,8 1,8.4 4.3,8.4 3.1,11.7 12.4,8.4 15,8.4 "/>
+</svg>
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/align-bottom.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/align-bottom.svg
new file mode 100644
index 0000000..7869732
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/align-bottom.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns="http://www.w3.org/2000/svg"
+    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+    width="32"
+    height="32"
+    viewBox="0 0 8.4666659 8.4666659"
+    version="1.1"
+    id="svg72"
+    inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+    sodipodi:docname="align-bottom.svg">
+  <defs
+      id="defs66"/>
+  <sodipodi:namedview
+      id="base"
+      pagecolor="#ffffff"
+      bordercolor="#666666"
+      borderopacity="1.0"
+      inkscape:pageopacity="0.0"
+      inkscape:pageshadow="2"
+      inkscape:zoom="22.627417"
+      inkscape:cx="11.034218"
+      inkscape:cy="7.3764479"
+      inkscape:document-units="mm"
+      inkscape:current-layer="layer1"
+      showgrid="false"
+      units="px"/>
+  <metadata
+      id="metadata69">
+    <rdf:RDF>
+      <cc:Work
+          rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+            rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+      inkscape:label="Layer 1"
+      inkscape:groupmode="layer"
+      id="layer1"
+      transform="translate(0,-288.53334)">
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359671;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect74"
+        width="1.9361738"
+        height="2.0744655"
+        x="-295.66226"
+        y="5.0174847"
+        transform="rotate(-90)"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.17156053;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect4609"
+        width="0.47103932"
+        height="7.6911559"
+        x="-296.68744"
+        y="0.44491023"
+        transform="rotate(-90)"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359672;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect74-3"
+        width="1.9361739"
+        height="2.0744655"
+        x="-295.66223"
+        y="1.8734894"
+        transform="rotate(-90)"/>
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/align-left.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/align-left.svg
new file mode 100644
index 0000000..2e65f28
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/align-left.svg
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns="http://www.w3.org/2000/svg"
+    id="svg72"
+    version="1.1"
+    viewBox="0 0 8.4666659 8.4666659"
+    height="32"
+    width="32">
+  <defs
+      id="defs66"/>
+  <metadata
+      id="metadata69">
+    <rdf:RDF>
+      <cc:Work
+          rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+            rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+      transform="translate(0,-288.53334)"
+      id="layer1">
+    <rect
+        y="289.72552"
+        x="2.0435982"
+        height="2.0744655"
+        width="1.9361738"
+        id="rect74"
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359671;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"/>
+    <rect
+        y="288.93954"
+        x="0.9552325"
+        height="7.6911559"
+        width="0.47103932"
+        id="rect4609"
+        style="opacity:1;fill:#000000;fill-opacity:0.99506178;stroke:#000000;stroke-width:0.17156053;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"/>
+    <rect
+        y="293.46786"
+        x="2.0749466"
+        height="2.0744655"
+        width="1.9361739"
+        id="rect74-3"
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359672;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"/>
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/align-right.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/align-right.svg
new file mode 100644
index 0000000..1331d83
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/align-right.svg
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns="http://www.w3.org/2000/svg"
+    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+    id="svg72"
+    version="1.1"
+    viewBox="0 0 8.4666659 8.4666659"
+    height="32"
+    width="32"
+    sodipodi:docname="align-right.svg"
+    inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
+  <sodipodi:namedview
+      pagecolor="#ffffff"
+      bordercolor="#666666"
+      borderopacity="1"
+      objecttolerance="10"
+      gridtolerance="10"
+      guidetolerance="10"
+      inkscape:pageopacity="0"
+      inkscape:pageshadow="2"
+      inkscape:window-width="640"
+      inkscape:window-height="480"
+      id="namedview4692"
+      showgrid="false"
+      inkscape:zoom="52.143555"
+      inkscape:cx="15.662898"
+      inkscape:cy="16"
+      inkscape:current-layer="svg72"/>
+  <defs
+      id="defs66"/>
+  <metadata
+      id="metadata69">
+    <rdf:RDF>
+      <cc:Work
+          rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+            rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <rect
+      style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359671;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+      id="rect74"
+      width="1.9361738"
+      height="2.0744655"
+      x="5.2504497"
+      y="1.0653249"/>
+  <rect
+      style="opacity:1;fill:#000000;fill-opacity:0.99506178;stroke:#000000;stroke-width:0.17156053;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+      id="rect4609"
+      width="0.47103932"
+      height="7.6911559"
+      x="7.6480131"
+      y="0.31993774"/>
+  <rect
+      style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359672;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+      id="rect74-3"
+      width="1.9361739"
+      height="2.0744655"
+      x="5.2817984"
+      y="4.8076649"/>
+</svg>
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/align-top.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/align-top.svg
new file mode 100644
index 0000000..f3ce2be
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/align-top.svg
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns="http://www.w3.org/2000/svg"
+    id="svg72"
+    version="1.1"
+    viewBox="0 0 8.4666659 8.4666659"
+    height="32"
+    width="32">
+  <defs
+      id="defs66"/>
+  <metadata
+      id="metadata69">
+    <rdf:RDF>
+      <cc:Work
+          rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+            rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+      transform="translate(0,-288.53334)"
+      id="layer1">
+    <rect
+        transform="rotate(-90)"
+        y="4.7906747"
+        x="-291.86316"
+        height="2.0744655"
+        width="1.9361738"
+        id="rect74"
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359671;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"/>
+    <rect
+        transform="rotate(-90)"
+        y="0.42600939"
+        x="-289.4295"
+        height="7.6911559"
+        width="0.47103932"
+        id="rect4609"
+        style="opacity:1;fill:#000000;fill-opacity:0.99506178;stroke:#000000;stroke-width:0.17156053;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"/>
+    <rect
+        transform="rotate(-90)"
+        y="1.6466794"
+        x="-291.86313"
+        height="2.0744655"
+        width="1.9361739"
+        id="rect74-3"
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359672;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"/>
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/back.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/back.svg
new file mode 100644
index 0000000..e823004
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/back.svg
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 22 22" style="enable-background:new 0 0 22 22;" xml:space="preserve">
+<style type="text/css">
+	.st0{display:none;}
+	.st1{display:inline;}
+	.st2{fill:#434343;}
+	.st3{display:inline;fill:#424242;}
+	.st4{fill:#414141;}
+</style>
+  <g id="Layer_1_1_" class="st0">
+	<title>stop</title>
+    <g id="ptdjwZ.tif" class="st1">
+		<path class="st2" d="M0.1,3.2h15.7v15.7H0.1V3.2z M2.3,5.2v11.2h11.1V5.2H2.3z"/>
+	</g>
+    <polygon class="st3" points="17,9.4 19.3,11.6 21.5,9.4 22,9.9 19.3,12.6 16.5,9.9 	"/>
+</g>
+  <g>
+	<polygon class="st4" points="5.1,9.7 22,9.7 22,12.3 5.1,12.3 12,19.4 10.1,21.3 0.1,11 10.2,0.7 12.1,2.6 	"/>
+</g>
+</svg>
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/cleanup.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/cleanup.svg
new file mode 100644
index 0000000..2d43d3d
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/cleanup.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 22 22" style="enable-background:new 0 0 22 22;" xml:space="preserve">
+<style type="text/css">
+	.st0{display:none;}
+	.st1{display:inline;}
+	.st2{fill:#434343;}
+	.st3{display:inline;fill:#424242;}
+	.st4{fill:#424242;}
+</style>
+  <g id="Layer_1_1_" class="st0">
+	<title>stop</title>
+    <g id="ptdjwZ.tif" class="st1">
+		<path class="st2" d="M0.1,3.2h15.7v15.7H0.1V3.2z M2.3,5.2v11.2h11.1V5.2H2.3z"/>
+	</g>
+    <polygon class="st3" points="17,9.4 19.3,11.6 21.5,9.4 22,9.9 19.3,12.6 16.5,9.9 	"/>
+</g>
+  <polygon class="st4" points="15.4,13.7 14.4,12.7 16.5,12.7 16.5,10.5 10.6,10.5 10.6,16.4 12.8,16.4 12.8,14.3 13.8,15.3 "/>
+  <polygon class="st4" points="2.8,12.7 4.9,12.7 0.3,17.3 1.9,18.9 6.5,14.3 6.5,16.4 8.8,16.4 8.8,10.5 2.8,10.5 "/>
+  <polygon class="st4" points="16.5,6.2 14.4,6.2 19,1.6 17.4,0 12.8,4.6 12.8,2.5 10.6,2.5 10.6,8.4 16.5,8.4 "/>
+  <polygon class="st4" points="6.5,4.6 1.9,0 0.3,1.6 4.9,6.2 2.8,6.2 2.8,8.4 8.8,8.4 8.8,2.5 6.5,2.5 "/>
+  <path class="st4" d="M20.3,15l-4.4,4.4l-1.5-1.5l-1.3,1.3l2.8,2.8l5.7-5.7L20.3,15z"/>
+</svg>
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/close.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/close.svg
new file mode 100644
index 0000000..2e7bf85
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/close.svg
@@ -0,0 +1,10 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
+  <defs>
+    <style>.cls-1{fill:#434343;}</style>
+  </defs>
+  <title>close</title>
+  <g id="Layer_3" data-name="Layer 3">
+    <rect class="cls-1" x="10.21" y="0.81" width="2.4" height="20.22" transform="translate(11.07 -4.87) rotate(45)"/>
+    <rect class="cls-1" x="10.21" y="0.81" width="2.4" height="20.22" transform="translate(27.21 10.58) rotate(135)"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/debug.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/debug.svg
new file mode 100644
index 0000000..9ddf103
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/debug.svg
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
+<g id="Layer_2">
+	<g id="Layer_2_1_">
+		<rect fill="none" width="16" height="16"/>
+	</g>
+</g>
+  <g id="art">
+	<g>
+		<polygon fill="#FFFFFF" points="6.1,2.5 3.8,8.9 5,12.2 7.4,13.6 9.3,12.9 12.2,10.6 10.3,3.8 9.6,2.4 		"/>
+    <path fill="#3D6480" d="M16,11.7V9.2c0-0.9-0.7-1.7-1.7-1.7h-1.6c-0.1-0.3-0.3-0.5-0.5-0.8l1.4-1.5C13.8,5,14,4.5,14,4.2V1.7
+			l-1.7-1v3.1c0,0.1,0,0.3-0.1,0.4l-0.9,1c-0.4-0.7-0.6-1.5-0.6-2.6c0-1.2-0.8-2.3-2-2.6v1.6c0,0.4-0.3,0.7-0.7,0.7
+			c-0.4,0-0.7-0.3-0.7-0.7V0c-1.1,0.3-2,1.3-2,2.6c0,1.1-0.3,1.9-0.6,2.6L3.8,4.2C3.7,4.1,3.7,4,3.7,3.8V0.7L2,1.7v2.5
+			c0,0.3,0.1,0.8,0.3,1l1.4,1.5C3.6,7,3.4,7.3,3.3,7.5H1.7C0.8,7.5,0,8.3,0,9.2v2.5l1.7-1V9.9c0-0.4,0.3-0.7,0.7-0.7h0.3
+			c0,0.2,0,0.3,0,0.5c0,0.6,0.1,1.3,0.3,1.8l-1,1.1c-0.2,0.2-0.3,0.6-0.3,0.9V16l1.7-1v-1c0-0.1,0-0.3,0.1-0.4L4,13
+			c0.6,0.7,1.4,1.5,2.4,1.7c0,0,0,0,0.1,0c0.1,0,0.1,0,0.2,0c0,0,1.2,0.6,2.7,0c0.1,0,0.1,0,0.2,0l0.1,0c1-0.3,1.8-1,2.4-1.7
+			l0.5,0.5c0.1,0.1,0.1,0.3,0.1,0.4v1l1.7,1v-2.5c0-0.3-0.1-0.7-0.3-0.9l-1-1.1c0.2-0.6,0.3-1.2,0.3-1.8c0-0.2,0-0.3,0-0.5h0.3
+			c0.4,0,0.7,0.3,0.7,0.7v0.8L16,11.7z M11.2,10.1c0,1.6-1.4,2.9-3.1,2.9c-1.7,0-3.1-1.3-3.1-2.9c0-0.1,0-0.2,0-0.4h0L5,9.4
+			c0,0,0-0.1,0-0.1l0.8-3c0-0.3,0.1-0.6,0.2-0.8l0,0l0,0c0.4-0.7,1.1-1.1,2-1.1c1,0,1.8,0.6,2.1,1.4l0,0l0,0.1c0,0.1,0,0.1,0.1,0.2
+			l0.9,3.3c0,0,0,0,0,0l0.1,0.4h0C11.1,9.9,11.2,10,11.2,10.1z"/>
+	</g>
+</g>
+</svg>
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/distribute-horizontally.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/distribute-horizontally.svg
new file mode 100644
index 0000000..4d4baed
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/distribute-horizontally.svg
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns="http://www.w3.org/2000/svg"
+    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+    width="32"
+    height="32"
+    viewBox="0 0 8.4666659 8.4666659"
+    version="1.1"
+    id="svg72"
+    inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+    sodipodi:docname="distribute-horizontally.svg">
+  <defs
+      id="defs66"/>
+  <sodipodi:namedview
+      id="base"
+      pagecolor="#ffffff"
+      bordercolor="#666666"
+      borderopacity="1.0"
+      inkscape:pageopacity="0.0"
+      inkscape:pageshadow="2"
+      inkscape:zoom="45.254834"
+      inkscape:cx="6.6334329"
+      inkscape:cy="13.292542"
+      inkscape:document-units="mm"
+      inkscape:current-layer="layer1"
+      showgrid="false"
+      units="px"/>
+  <metadata
+      id="metadata69">
+    <rdf:RDF>
+      <cc:Work
+          rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+            rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+      inkscape:label="Layer 1"
+      inkscape:groupmode="layer"
+      id="layer1"
+      transform="translate(0,-288.53334)">
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359672;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect74"
+        width="1.9361739"
+        height="2.0744655"
+        x="3.3213022"
+        y="291.66656"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359674;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect74-3"
+        width="1.936174"
+        height="2.0744655"
+        x="0.65159398"
+        y="291.65063"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359674;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect74-4"
+        width="1.936174"
+        height="2.0744655"
+        x="5.9013805"
+        y="291.6412"/>
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/distribute-vertically.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/distribute-vertically.svg
new file mode 100644
index 0000000..e7bea49
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/distribute-vertically.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns="http://www.w3.org/2000/svg"
+    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+    width="32"
+    height="32"
+    viewBox="0 0 8.4666659 8.4666659"
+    version="1.1"
+    id="svg72"
+    inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+    sodipodi:docname="distribute-vertically.svg">
+  <defs
+      id="defs66"/>
+  <sodipodi:namedview
+      id="base"
+      pagecolor="#ffffff"
+      bordercolor="#666666"
+      borderopacity="1.0"
+      inkscape:pageopacity="0.0"
+      inkscape:pageshadow="2"
+      inkscape:zoom="32"
+      inkscape:cx="4.3955456"
+      inkscape:cy="16.663154"
+      inkscape:document-units="mm"
+      inkscape:current-layer="layer1"
+      showgrid="false"
+      units="px"/>
+  <metadata
+      id="metadata69">
+    <rdf:RDF>
+      <cc:Work
+          rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+            rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+      inkscape:label="Layer 1"
+      inkscape:groupmode="layer"
+      id="layer1"
+      transform="translate(0,-288.53334)">
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359671;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect74"
+        width="1.9361738"
+        height="2.0744655"
+        x="-293.60446"
+        y="3.2325137"
+        transform="rotate(-90)"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359672;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect74-3"
+        width="1.9361739"
+        height="2.0744655"
+        x="-296.27417"
+        y="3.2166057"
+        transform="rotate(-90)"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359672;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect74-4"
+        width="1.9361739"
+        height="2.0744655"
+        x="-291.02438"
+        y="3.2071607"
+        transform="rotate(-90)"/>
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/job.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/job.svg
new file mode 100644
index 0000000..53299b9
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/job.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#F99C1C;}
+</style>
+  <polygon class="st0" points="11,7 11,5.3 13,5.3 9,1.2 10.2,0 14.2,4 14.2,2.1 16,2.1 16,7 "/>
+  <polygon class="st0" points="9,11 10.7,11 10.7,13 14.8,9 16,10.2 12,14.2 13.9,14.2 13.9,16 9,16 "/>
+  <polygon class="st0" points="5,9 5,10.7 3,10.7 7,14.8 5.8,16 1.8,12 1.8,13.9 0,13.9 0,9 "/>
+  <polygon class="st0" points="7,5 5.3,5 5.3,3 1.2,7 0,5.8 4,1.8 2.1,1.8 2.1,0 7,0 "/>
+</svg>
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/pause.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/pause.svg
new file mode 100644
index 0000000..b6ad0fb
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/pause.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 22 22" style="enable-background:new 0 0 22 22;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#424243;}
+</style>
+  <title>pause</title>
+  <g>
+	<rect x="6.5" y="4.6" class="st0" width="2.6" height="13"/>
+    <rect x="13.1" y="4.6" class="st0" width="2.6" height="13"/>
+</g>
+</svg>
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/print.png b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/print.png
new file mode 100644
index 0000000..a79aa32
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/print.png differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/run.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/run.svg
new file mode 100644
index 0000000..f48567f
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/run.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 22 22" style="enable-background:new 0 0 22 22;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#414242;}
+</style>
+  <title>run</title>
+  <path class="st0" d="M3.6,19l15.7-8L3.6,3V19z M5.2,5.6L15.7,11L5.2,16.4V5.6z"/>
+</svg>
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/run_option.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/run_option.svg
new file mode 100644
index 0000000..c63611b
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/run_option.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 22 22" style="enable-background:new 0 0 22 22;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#414242;}
+</style>
+  <title>run</title>
+  <path class="st0" d="M0,19l15.7-8L0,3V19z M1.6,5.6L12.1,11L1.6,16.4V5.6z"/>
+  <g id="Layer_2_1_">
+	<g>
+		<g>
+			<polygon class="st0" points="17.1,10.4 19.3,12.6 21.5,10.4 22,10.9 19.3,13.6 16.6,10.9 			"/>
+		</g>
+	</g>
+</g>
+</svg>
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/show-all.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/show-all.svg
new file mode 100644
index 0000000..904dd21
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/show-all.svg
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns="http://www.w3.org/2000/svg"
+    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+    width="32"
+    height="32"
+    viewBox="0 0 8.4666659 8.4666659"
+    version="1.1"
+    id="svg72"
+    inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+    sodipodi:docname="show-all.svg">
+  <defs
+      id="defs66"/>
+  <sodipodi:namedview
+      id="base"
+      pagecolor="#ffffff"
+      bordercolor="#666666"
+      borderopacity="1.0"
+      inkscape:pageopacity="0.0"
+      inkscape:pageshadow="2"
+      inkscape:zoom="45.254834"
+      inkscape:cx="7.671996"
+      inkscape:cy="15.899998"
+      inkscape:document-units="mm"
+      inkscape:current-layer="layer1"
+      showgrid="false"
+      units="px"/>
+  <metadata
+      id="metadata69">
+    <rdf:RDF>
+      <cc:Work
+          rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+            rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+      inkscape:label="Layer 1"
+      inkscape:groupmode="layer"
+      id="layer1"
+      transform="translate(0,-288.53334)">
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.26458332;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect842"
+        width="1.6837981"
+        height="1.660412"
+        x="1.0231411"
+        y="289.1832"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.26458332;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect842-3"
+        width="1.6837981"
+        height="1.660412"
+        x="5.4255714"
+        y="290.99564"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.26458332;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect842-6"
+        width="1.6837981"
+        height="1.660412"
+        x="1.8065749"
+        y="294.05338"/>
+    <path
+        style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+        d="m 2.1865988,290.07188 c 3.928862,1.68964 3.9580945,1.69549 3.9580945,1.69549 l -3.3500562,3.06358 v 0 l -0.6080383,-4.46674 v 0"
+        id="path871"
+        inkscape:connector-curvature="0"/>
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/show-selected.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/show-selected.svg
new file mode 100644
index 0000000..b50f86d
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/show-selected.svg
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns="http://www.w3.org/2000/svg"
+    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+    width="32"
+    height="32"
+    viewBox="0 0 8.4666659 8.4666659"
+    version="1.1"
+    id="svg72"
+    inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+    sodipodi:docname="show-selected.svg">
+  <defs
+      id="defs66"/>
+  <sodipodi:namedview
+      id="base"
+      pagecolor="#ffffff"
+      bordercolor="#666666"
+      borderopacity="1.0"
+      inkscape:pageopacity="0.0"
+      inkscape:pageshadow="2"
+      inkscape:zoom="45.254834"
+      inkscape:cx="7.671996"
+      inkscape:cy="15.899998"
+      inkscape:document-units="mm"
+      inkscape:current-layer="layer1"
+      showgrid="false"
+      units="px"/>
+  <metadata
+      id="metadata69">
+    <rdf:RDF>
+      <cc:Work
+          rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+            rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+      inkscape:label="Layer 1"
+      inkscape:groupmode="layer"
+      id="layer1"
+      transform="translate(0,-288.53334)">
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.26458332;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect842"
+        width="1.6837981"
+        height="1.660412"
+        x="1.0231411"
+        y="289.1832"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.26458332;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect842-3"
+        width="1.6837981"
+        height="1.660412"
+        x="5.4255714"
+        y="290.99564"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.26458332;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect842-6"
+        width="1.6837981"
+        height="1.660412"
+        x="1.8065749"
+        y="294.05338"/>
+    <path
+        style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+        d="m 2.1865988,290.07188 c 3.928862,1.68964 3.9580945,1.69549 3.9580945,1.69549 l -3.3500562,3.06358 v 0 l -0.6080383,-4.46674 v 0"
+        id="path871"
+        inkscape:connector-curvature="0"/>
+    <polygon
+        transform="matrix(0.59370318,0,0,0.7770137,-1.1721096,284.24272)"
+        points="16,11.8 15,10.9 11.8,14.1 10.8,13 9.8,14 11.8,16 "
+        id="polygon14"
+        style="fill:#3d6480"/>
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/snap-to-grid.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/snap-to-grid.svg
new file mode 100644
index 0000000..acbcb98
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/snap-to-grid.svg
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns="http://www.w3.org/2000/svg"
+    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+    width="32"
+    height="32"
+    viewBox="0 0 8.4666659 8.4666659"
+    version="1.1"
+    id="svg72"
+    inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+    sodipodi:docname="snap-to-grid.svg">
+  <defs
+      id="defs66"/>
+  <sodipodi:namedview
+      id="base"
+      pagecolor="#ffffff"
+      bordercolor="#666666"
+      borderopacity="1.0"
+      inkscape:pageopacity="0.0"
+      inkscape:pageshadow="2"
+      inkscape:zoom="39.531689"
+      inkscape:cx="11.942076"
+      inkscape:cy="19.76492"
+      inkscape:document-units="mm"
+      inkscape:current-layer="layer1"
+      showgrid="false"
+      units="px"/>
+  <metadata
+      id="metadata69">
+    <rdf:RDF>
+      <cc:Work
+          rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+            rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title/>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+      inkscape:label="Layer 1"
+      inkscape:groupmode="layer"
+      id="layer1"
+      transform="translate(0,-288.53334)">
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-3"
+        width="0.50559711"
+        height="0.52918857"
+        x="2.9457181"
+        y="294.92465"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-56"
+        width="0.50559711"
+        height="0.52918857"
+        x="0.93985528"
+        y="294.92938"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-2"
+        width="0.50559711"
+        height="0.52918857"
+        x="4.93503"
+        y="294.90106"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-9"
+        width="0.50559711"
+        height="0.52918857"
+        x="6.9881415"
+        y="294.88687"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-3-7"
+        width="0.50559711"
+        height="0.52918857"
+        x="2.9374499"
+        y="293.34543"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-56-9"
+        width="0.50559711"
+        height="0.52918857"
+        x="0.93158704"
+        y="293.35016"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-2-2"
+        width="0.50559711"
+        height="0.52918857"
+        x="4.9267621"
+        y="293.32184"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-9-0"
+        width="0.50559711"
+        height="0.52918857"
+        x="6.9798732"
+        y="293.30765"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-3-2"
+        width="0.50559711"
+        height="0.52918857"
+        x="2.9374499"
+        y="291.69177"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-56-3"
+        width="0.50559711"
+        height="0.52918857"
+        x="0.93158704"
+        y="291.6965"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-2-7"
+        width="0.50559711"
+        height="0.52918857"
+        x="4.9267621"
+        y="291.66818"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-9-5"
+        width="0.50559711"
+        height="0.52918857"
+        x="6.9798732"
+        y="291.65399"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-3-9"
+        width="0.50559711"
+        height="0.52918857"
+        x="2.9539864"
+        y="289.93063"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-56-2"
+        width="0.50559711"
+        height="0.52918857"
+        x="0.94812351"
+        y="289.93536"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-2-28"
+        width="0.50559711"
+        height="0.52918857"
+        x="4.9432983"
+        y="289.90704"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-9-9"
+        width="0.50559711"
+        height="0.52918857"
+        x="6.9964094"
+        y="289.89285"/>
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/stop.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/stop.svg
new file mode 100644
index 0000000..0bd2732
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/stop.svg
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 22 22" style="enable-background:new 0 0 22 22;" xml:space="preserve">
+<style type="text/css">
+	.st0{display:none;}
+	.st1{display:inline;}
+	.st2{fill:#434343;}
+	.st3{display:inline;fill:#424242;}
+	.st4{fill:#424243;}
+	.st5{fill:#414242;}
+</style>
+  <g id="Layer_1" class="st0">
+	<title>stop</title>
+    <g id="ptdjwZ.tif" class="st1">
+		<path class="st2" d="M0.1,3.2h15.7v15.7H0.1V3.2z M2.3,5.2v11.2h11.1V5.2H2.3z"/>
+	</g>
+    <polygon class="st3" points="17,9.4 19.3,11.6 21.5,9.4 22,9.9 19.3,12.6 16.5,9.9 	"/>
+</g>
+  <g id="Layer_2">
+	<g>
+		<g id="ptdjwZ.tif_1_">
+			<g>
+				<path class="st4" d="M0.1,3.2c5,0,9.1,0,14.8,0c0,5.7,0,9.8,0,14.8c-5.2,0-9.6,0-14.8,0C0.1,12.8,0.1,8.4,0.1,3.2z M1.6,4.8
+					v11.7h11.7V4.8H1.6z"/>
+			</g>
+		</g>
+    <g>
+			<polygon class="st5" points="17,9.4 19.2,11.6 21.4,9.4 21.9,9.9 19.2,12.6 16.5,9.9 			"/>
+		</g>
+	</g>
+</g>
+</svg>
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/trans.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/trans.svg
new file mode 100644
index 0000000..c71e9d7
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/trans.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#1CB24B;}
+</style>
+  <polygon class="st0" points="13.8,10.7 13.8,9 8.9,9 8.9,13.9 10.6,13.9 10.6,12 14.7,16 15.9,14.8 11.9,10.7 "/>
+  <polygon class="st0" points="7.1,13.9 5.4,13.9 5.4,12 1.3,16 0.1,14.8 4.1,10.7 2.2,10.7 2.2,9 7.1,9 "/>
+  <polygon class="st0" points="8.9,7 13.8,7 13.8,5.3 11.9,5.3 15.9,1.2 14.7,0 10.6,4 10.6,2.1 8.9,2.1 "/>
+  <polygon class="st0" points="2.2,7 2.2,5.3 4.1,5.3 0.1,1.2 1.3,0 5.4,4 5.4,2.1 7.1,2.1 7.1,7 "/>
+</svg>
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/view-as-xml.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/view-as-xml.svg
new file mode 100644
index 0000000..39b8122
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/view-as-xml.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#424242;}
+</style>
+  <g>
+	<polygon class="st0" points="13.8,5.4 12.7,4.3 8.9,8 8.8,0.1 7.2,0.1 7.2,8 3.3,4.2 2.2,5.4 8,11.2 	"/>
+    <polygon class="st0" points="15.9,8.9 14.2,7.3 14.2,14.3 1.8,14.3 1.8,7.4 0.1,9 0.1,15.9 15.9,15.9 	"/>
+</g>
+</svg>
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/view.svg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/view.svg
new file mode 100644
index 0000000..a2f5600
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/assets/images/getting-started/icons/view.svg
@@ -0,0 +1,10 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
+  <defs>
+    <style>.cls-1{fill:#434343;}</style>
+  </defs>
+  <title>view</title>
+  <g id="QdVc5y.tif">
+    <path class="cls-1"
+          d="M19.41,10.71v.64a8.09,8.09,0,0,1-8,5.13,8.09,8.09,0,0,1-8-5.13v-.64a8.26,8.26,0,0,1,8-5.12A8.24,8.24,0,0,1,19.41,10.71ZM13.3,7.09a5.13,5.13,0,0,1,.15,7.8,8,8,0,0,0,4.47-3.15,1.09,1.09,0,0,0,0-1.31A8.4,8.4,0,0,0,13.3,7.09Zm-4,7.78A5.09,5.09,0,0,1,9.45,7.1a8.78,8.78,0,0,0-4.54,3.16,1.21,1.21,0,0,0,0,1.57A8.28,8.28,0,0,0,9.28,14.87Z"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/.asciidoctor/assets/images/test_image.jpg b/docs/hop-user-manual/modules/.asciidoctor/assets/images/test_image.jpg
new file mode 100644
index 0000000..92afb4a
Binary files /dev/null and b/docs/hop-user-manual/modules/.asciidoctor/assets/images/test_image.jpg differ
diff --git a/docs/hop-user-manual/modules/.asciidoctor/pages/index.adoc b/docs/hop-user-manual/modules/.asciidoctor/pages/index.adoc
new file mode 100644
index 0000000..92dc638
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/pages/index.adoc
@@ -0,0 +1,334 @@
+:author: Project Hop
+:email: info@project-hop.org
+:sectnums:
+:sectnumlevels: 5
+:toc:
+:toc-title: Hop Getting Started Guide
+:toc: left
+:toclevels: 5
+
+:description: This getting started guide helps you to quickly get a feeling of what Hop is and how it can make your life easier.
+:keywords: hop gettingstarted
+:sourcepath: ../../ROOT/pages
+
+= Hop User Manual
+
+Website Generated using the online version of the documentation, this documentation can be found https://hop.apache.org/manual/latest/[here]
+
+//::=START AUTO GENERATED LINKS
+include::{sourcepath}/getting-started.adoc[leveloffset=+0]
+include::{sourcepath}/concepts.adoc[leveloffset=+0]
+include::{sourcepath}/hop-vs-kettle/index.adoc[leveloffset=+0]
+include::{sourcepath}/hop-vs-kettle/hop-vs-kettle.adoc[leveloffset=+1]
+include::{sourcepath}/hop-vs-kettle/if-you-know-kettle.adoc[leveloffset=+1]
+include::{sourcepath}/hop-vs-kettle/import-kettle-projects.adoc[leveloffset=+1]
+include::{sourcepath}/logging/logging-basics.adoc[leveloffset=+0]
+include::{sourcepath}/logging/logging-reflection.adoc[leveloffset=+1]
+include::{sourcepath}/hop-gui/index.adoc[leveloffset=+0]
+include::{sourcepath}/hop-gui/environments/environments.adoc[leveloffset=+1]
+include::{sourcepath}/hop-gui/pipelines/pipelines.adoc[leveloffset=+1]
+include::{sourcepath}/hop-gui/pipelines/hop-pipeline-editor.adoc[leveloffset=+2]
+include::{sourcepath}/hop-gui/pipelines/create-pipeline.adoc[leveloffset=+2]
+include::{sourcepath}/hop-gui/pipelines/run-preview-debug-pipeline.adoc[leveloffset=+2]
+include::{sourcepath}/hop-gui/pipelines/pipeline-run-configurations/pipeline-run-configurations.adoc[leveloffset=+2]
+include::{sourcepath}/hop-gui/pipelines/pipeline-run-configurations/beam-dataflow-pipeline-engine.adoc[leveloffset=+3]
+include::{sourcepath}/hop-gui/pipelines/pipeline-run-configurations/beam-direct-pipeline-engine.adoc[leveloffset=+3]
+include::{sourcepath}/hop-gui/pipelines/pipeline-run-configurations/beam-flink-pipeline-engine.adoc[leveloffset=+3]
+include::{sourcepath}/hop-gui/pipelines/pipeline-run-configurations/beam-spark-pipeline-engine.adoc[leveloffset=+3]
+include::{sourcepath}/hop-gui/pipelines/pipeline-run-configurations/local-pipeline-engine.adoc[leveloffset=+3]
+include::{sourcepath}/hop-gui/pipelines/pipeline-run-configurations/remote-pipeline-engine.adoc[leveloffset=+3]
+include::{sourcepath}/hop-gui/pipelines/metadata-injection.adoc[leveloffset=+2]
+include::{sourcepath}/hop-gui/workflows/workflows.adoc[leveloffset=+1]
+include::{sourcepath}/hop-gui/workflows/create-workflow.adoc[leveloffset=+2]
+include::{sourcepath}/hop-gui/workflows/run-debug-workflow.adoc[leveloffset=+2]
+include::{sourcepath}/hop-gui/workflows/workflow-run-configurations/workflow-run-configurations.adoc[leveloffset=+2]
+include::{sourcepath}/hop-gui/variables/variables.adoc[leveloffset=+1]
+include::{sourcepath}/hop-run/index.adoc[leveloffset=+0]
+include::{sourcepath}/hop-server/index.adoc[leveloffset=+0]
+include::{sourcepath}/hop-server/web-service.adoc[leveloffset=+1]
+include::{sourcepath}/plugins/plugins.adoc[leveloffset=+0]
+include::{sourcepath}/plugins/transforms.adoc[leveloffset=+1]
+include::{sourcepath}/plugins/transforms/abort.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/constant.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/addsequence.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/addxml.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/checksum.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/fieldschangesequence.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/analyticquery.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/append.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/beambigqueryinput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/beambigqueryoutput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/beampublisher.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/beamsubscriber.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/beaminput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/beamconsume.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/beamproduce.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/beamoutput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/beamtimestamp.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/beamwindow.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/blockingtransform.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/blockuntiltransformsfinish.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/csvinput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/calculator.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/dbproc.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/changefileencoding.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/filelocked.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/webserviceavailable.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/clonerow.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/closure.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/coalesce.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/columnexists.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/combinationlookup.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/concatfields.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/rowstoresult.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/creditcardvalidator.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/cubeinput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/cubeoutput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/datagrid.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/validator.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/databasejoin.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/databaselookup.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/delay.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/delete.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/detectemptystream.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/dimensionlookup.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/dummy.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/dynamicsqlrow.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/edi2xml.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/mailinput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/enhancedjsonoutput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/excelwriter.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/sql.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/execprocess.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/execsqlrow.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/fake.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/fileexists.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/filesfromresult.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/filestoresult.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/filterrows.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/fuzzymatch.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/randomvalue.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/getxmldata.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/getslavesequence.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/rowsfromresult.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/getsubfolders.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/systemdata.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/getfilenames.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/getfilesrowcount.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/recordsfromstream.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/gettablenames.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/getvariable.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/groupby.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/httppost.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/http.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/detectlastrow.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/ifnull.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/injector.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/insertupdate.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/jsoninput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/jsonoutput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/javafilter.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/javascript.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/joinrows.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/ldapinput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/ldapoutput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/ldifinput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/loadfileinput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/mqttpublisher.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/mqttsubscriber.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/mail.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/mailvalidator.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/memgroupby.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/mergejoin.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/mergerows.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/metainject.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/metastructure.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/excelinput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/exceloutput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/monetdbbulkloader.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/mongodbinput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/mongodboutput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/multimerge.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/nullif.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/numberrange.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/pgpdecryptstream.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/pgpencryptstream.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/pipelineexcecutor.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/pgbulkloader.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/processfiles.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/rest.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/propertyinput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/regexeval.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/replacestring.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/reservoirsampling.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/denormaliser.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/flattener.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/rowgenerator.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/normaliser.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/ssh.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/sasinput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/sqlfileoutput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/selectvalues.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/syslog.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/setvariable.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/setvaluefield.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/setvalueconstant.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/sort.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/sortedmerge.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/fieldsplitter.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/splitfieldtorows.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/streamlookup.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/streamschemamerge.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/stringoperations.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/stringcut.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/switchcase.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/synchronizeaftermerge.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/tablecompare.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/tableexists.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/tableinput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/tableoutput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/terafast.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/textfileinput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/textfileoutput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/tokenreplacement.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/uniquerows.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/uniquerowsbyhashset.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/update.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/userdefinedjavaclass.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/janino.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/valuemapper.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/webservices.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/workflowexecutor.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/propertyoutput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/writetolog.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/xmlinputstream.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/xmljoin.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/xmloutput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/xsdvalidator.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/xslt.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/yamlinput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/transforms/zipfile.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/projects.adoc[leveloffset=+1]
+include::{sourcepath}/plugins/projects/projects.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/passwords.adoc[leveloffset=+1]
+include::{sourcepath}/plugins/passwords/aespasswords.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases.adoc[leveloffset=+1]
+include::{sourcepath}/plugins/databases/as400.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/derby.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/cache.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/clickhouse.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/db2.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/exasol.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/googlebigquery.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/greenplum.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/sqlbase.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/h2.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/hypersonic.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/universe.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/infinidb.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/infobright.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/mssql.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/mssqlnative.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/mariadb.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/sapdb.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/mysql.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/netezza.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/oracle.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/oraclerdb.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/postgresql.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/redshift.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/snowflake.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/sqlite.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/sybase.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/sybaseiq.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/teradata.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/vectorwise.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/vertica.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/firebird.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/informix.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/ingres.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/interbase.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/kingbasees.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/databases/monetdb.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions.adoc[leveloffset=+1]
+include::{sourcepath}/plugins/actions/as400command.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/abort.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/addresultfilenames.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/checkdbconnection.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/checkfilelocked.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/webserviceavailable.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/xmlwellformed.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/filesexist.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/columnsexist.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/copyfiles.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/copymoveresultfilenames.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/createfile.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/createfolder.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/dtdvalidator.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/pgpdecryptfiles.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/delay.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/deletefile.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/deletefiles.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/deletefolders.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/deleteresultfilenames.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/msgboxinfo.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/dostounix.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/dummy.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/pgpencryptfiles.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/repeat-end.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/evalfilesmetrics.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/evaluatetablecontent.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/ftpdelete.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/fileexists.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/filecompare.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/folderisempty.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/folderscompare.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/getpop.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/ftp.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/ftpsget.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/sftp.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/http.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/eval.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/mssqlbulkload.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/mail.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/mailvalidator.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/movefiles.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/mysqlbulkfile.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/mysqlbulkload.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/pgpfiles.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/ping.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/pipeline.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/ftpput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/sftpput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/repeat.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/runpipelinetests.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/sql.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/sendnagiospassivecheck.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/syslog.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/setvariables.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/shell.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/simpleeval.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/snmptrap.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/start.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/success.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/tableexists.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/telnet.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/truncatetables.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/unzip.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/ftpsput.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/pgpverify.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/waitforsql.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/waitforfile.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/workflow.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/writetofile.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/writetolog.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/xsdvalidator.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/xslt.adoc[leveloffset=+2]
+include::{sourcepath}/plugins/actions/zipfile.adoc[leveloffset=+2]
+include::{sourcepath}/samples/samples.adoc[leveloffset=+0]
+include::{sourcepath}/samples/dummy-sample.adoc[leveloffset=+1]
+include::{sourcepath}/faq/faq.adoc[leveloffset=+0]
+include::{sourcepath}/image-testpage.adoc[leveloffset=+0]
+//::=END AUTO GENERATED LINKS
+
+Website Generated using the online version of the documentation, this documentation can be found https://hop.apache.org/manual/latest/[here]
diff --git a/docs/hop-user-manual/modules/.asciidoctor/pom.xml b/docs/hop-user-manual/modules/.asciidoctor/pom.xml
new file mode 100644
index 0000000..9bb151c
--- /dev/null
+++ b/docs/hop-user-manual/modules/.asciidoctor/pom.xml
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~       http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  ~
+  -->
+<project 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/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <artifactId>hop-user-manual</artifactId>
+        <groupId>org.hop.doc</groupId>
+        <version>1.0-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+
+    <groupId>org.hop.doc</groupId>
+    <artifactId>hop-user-manual-asciidoctor</artifactId>
+    <version>1.0-SNAPSHOT</version>
+
+    <name>Hop User Manual</name>
+    <description></description>
+    <packaging>pom</packaging>
+    <url>https://hop.apache.org</url>
+
+    <properties>
+        <output.filename>hop-user-manual</output.filename>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>hop-doc-resources</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+        <!--Use resources plugin to grab images from other module for PDF build-->
+            <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <version>3.1.0</version>
+                <executions>
+                    <execution>
+                        <id>copy-resource-one</id>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals>
+
+                        <configuration>
+                            <outputDirectory>./target/assets/images</outputDirectory>
+                            <resources>
+                                <resource>
+                                    <directory>../ROOT/assets/images</directory>
+                                    <includes>
+                                        <include>**</include>
+                                    </includes>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-remote-resources-plugin</artifactId>
+                <version>1.6.0</version>
+                <configuration>
+                    <resourceBundles>
+                        <resourceBundle>org.hop.doc:hop-doc-resources:${project.version}</resourceBundle>
+                    </resourceBundles>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>process</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.asciidoctor</groupId>
+                <artifactId>asciidoctor-maven-plugin</artifactId>
+                <version>2.0.0-RC.1</version>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.asciidoctor</groupId>
+                        <artifactId>asciidoctor-maven-plugin</artifactId>
+                        <version>${asciidoctor.version}</version>
+                    </dependency>
+                    <dependency>
+                        <groupId>org.asciidoctor</groupId>
+                        <artifactId>asciidoctorj-pdf</artifactId>
+                        <version>${asciidoctorj.pdf.version}</version>
+                    </dependency>
+                </dependencies>
+                <configuration>
+                    <sourceDirectory>pages</sourceDirectory>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>output-html</id>
+                        <phase>generate-resources</phase>
+                        <goals>
+                            <goal>process-asciidoc</goal>
+                        </goals>
+                        <configuration>
+                            <backend>html</backend>
+                            <doctype>book</doctype>
+                        </configuration>
+                    </execution>
+                    <!--<execution>
+                        <id>output-pdf-book</id>
+                        <phase>generate-resources</phase>
+                        <goals>
+                            <goal>process-asciidoc</goal>
+                        </goals>
+                        <configuration>
+                            <backend>pdf</backend>
+                            <doctype>book</doctype>
+                            <attributes>
+                                <pdf-stylesdir>${project.basedir}/target/maven-shared-archive-resources/themes</pdf-stylesdir>
+                                <pdf-style>hop</pdf-style>
+                            </attributes>
+                        </configuration>
+                    </execution>-->
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <configuration>
+                            <appendAssemblyId>false</appendAssemblyId>
+                            <descriptors>
+                                <descriptor>assembly-jar.xml</descriptor>
+                            </descriptors>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+</project>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/.placeholder b/docs/hop-user-manual/modules/ROOT/assets/.placeholder
new file mode 100644
index 0000000..e69de29
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/concepts/environments.png b/docs/hop-user-manual/modules/ROOT/assets/images/concepts/environments.png
new file mode 100644
index 0000000..f70527a
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/concepts/environments.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/concepts/pipeline.png b/docs/hop-user-manual/modules/ROOT/assets/images/concepts/pipeline.png
new file mode 100644
index 0000000..b9914b0
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/concepts/pipeline.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/concepts/workflow.png b/docs/hop-user-manual/modules/ROOT/assets/images/concepts/workflow.png
new file mode 100644
index 0000000..230ba4a
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/concepts/workflow.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/generic_connection.png b/docs/hop-user-manual/modules/ROOT/assets/images/generic_connection.png
new file mode 100644
index 0000000..5f398d7
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/generic_connection.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-add-transform.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-add-transform.png
new file mode 100644
index 0000000..4c8ae98
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-add-transform.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-add-two-transforms.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-add-two-transforms.png
new file mode 100644
index 0000000..1a7c063
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-add-two-transforms.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-click-anywhere.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-click-anywhere.png
new file mode 100644
index 0000000..6c96ab3
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-click-anywhere.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-create-hop.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-create-hop.png
new file mode 100644
index 0000000..2a69a73
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-create-hop.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-new-workflow-abort.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-new-workflow-abort.png
new file mode 100644
index 0000000..36a3ab7
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-new-workflow-abort.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-new-workflow-actions.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-new-workflow-actions.png
new file mode 100644
index 0000000..d6eb48c
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-new-workflow-actions.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-new-workflow-pipeline-action.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-new-workflow-pipeline-action.png
new file mode 100644
index 0000000..7325975
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-new-workflow-pipeline-action.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-new-workflow.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-new-workflow.png
new file mode 100644
index 0000000..d289206
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-new-workflow.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-pipeline-toolbar.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-pipeline-toolbar.png
new file mode 100644
index 0000000..4d6da40
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-pipeline-toolbar.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-run-workflow-config-dialog.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-run-workflow-config-dialog.png
new file mode 100644
index 0000000..b8c548d
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-run-workflow-config-dialog.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-run-workflow-dialog.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-run-workflow-dialog.png
new file mode 100644
index 0000000..69777d0
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-run-workflow-dialog.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-run-workflow-with-config.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-run-workflow-with-config.png
new file mode 100644
index 0000000..fecf9cd
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/getting-started-run-workflow-with-config.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-1.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-1.png
new file mode 100644
index 0000000..7e05ea8
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-1.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-2.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-2.png
new file mode 100644
index 0000000..19778f0
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-2.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-3.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-3.png
new file mode 100644
index 0000000..7e05ea8
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-3.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-4.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-4.png
new file mode 100644
index 0000000..c822dfc
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-4.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-5.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-5.png
new file mode 100644
index 0000000..c569f11
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-5.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-6.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-6.png
new file mode 100644
index 0000000..2fe830a
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-6.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-7.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-7.png
new file mode 100644
index 0000000..3b9fe91
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-7.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-8.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-8.png
new file mode 100644
index 0000000..01e2af4
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-8.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-9.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-9.png
new file mode 100644
index 0000000..d2b20cd
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-9.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-add-two-transforms.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-add-two-transforms.png
new file mode 100644
index 0000000..1a7c063
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-add-two-transforms.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-create-hop.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-create-hop.png
new file mode 100644
index 0000000..2a69a73
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-pipeline-create-hop.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-1.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-1.png
new file mode 100644
index 0000000..d23edd6
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-1.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-2.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-2.png
new file mode 100644
index 0000000..19778f0
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-2.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-3.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-3.png
new file mode 100644
index 0000000..d23edd6
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-3.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-4.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-4.png
new file mode 100644
index 0000000..0912b8a
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-4.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-5.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-5.png
new file mode 100644
index 0000000..c569f11
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-5.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-6.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-6.png
new file mode 100644
index 0000000..48fad7e
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-6.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-7.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-7.png
new file mode 100644
index 0000000..9f44725
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-7.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-add-pipeline-action.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-add-pipeline-action.png
new file mode 100644
index 0000000..c38ba08
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-add-pipeline-action.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-run.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-run.png
new file mode 100644
index 0000000..0e67a73
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-run.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-save.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-save.png
new file mode 100644
index 0000000..8153b21
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-create-workflow-save.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-overview-1.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-overview-1.png
new file mode 100644
index 0000000..b873ea8
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-overview-1.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-overview-2.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-overview-2.png
new file mode 100644
index 0000000..3bcaef6
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-overview-2.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-1.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-1.png
new file mode 100644
index 0000000..c3c72ca
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-1.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-2.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-2.png
new file mode 100644
index 0000000..2dbdf57
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-2.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-3.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-3.png
new file mode 100644
index 0000000..63a4fbf
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-3.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-4.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-4.png
new file mode 100644
index 0000000..c53c1ed
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-4.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-5.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-5.png
new file mode 100644
index 0000000..915e321
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-5.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-6.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-6.png
new file mode 100644
index 0000000..2778fd6
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-6.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-7.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-7.png
new file mode 100644
index 0000000..d57497e
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/gs-hop-gui-run-pipeline-7.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/Antu_edit-redo.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/Antu_edit-redo.svg
new file mode 100644
index 0000000..7e7c703
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/Antu_edit-redo.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
+  <path
+      d="m257.75 113.71c-74.42 0-140.28 35.892-181.77 91.16l-75.978-75.995v242.61h242.61l-82.54-82.53c21.931-66.52 84.47-114.58 158.33-114.58 92.16 0 166.79 74.69 166.79 166.8.0001-125.63-101.82-227.45-227.43-227.45"
+      transform="matrix(-.04122 0 0 .04122 21 .998)" fill="#4d4d4d"/>
+</svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/Antu_edit-undo.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/Antu_edit-undo.svg
new file mode 100644
index 0000000..0f854b8
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/Antu_edit-undo.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
+  <path
+      d="m257.75 113.71c-74.42 0-140.28 35.892-181.77 91.16l-75.978-75.995v242.61h242.61l-82.54-82.53c21.931-66.52 84.47-114.58 158.33-114.58 92.16 0 166.79 74.69 166.79 166.8.0001-125.63-101.82-227.45-227.43-227.45"
+      transform="matrix(.04122 0 0 .04122 1 .998)" fill="#4d4d4d"/>
+</svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/HOP.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/HOP.svg
new file mode 100644
index 0000000..0cf92c8
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/HOP.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
+<polygon fill="#0E3A5A" points="15,8 12.6,8 3.1,4.6 4.4,8 1,8 1,8.4 4.3,8.4 3.1,11.7 12.4,8.4 15,8.4 "/>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/align-bottom.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/align-bottom.svg
new file mode 100644
index 0000000..7869732
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/align-bottom.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns="http://www.w3.org/2000/svg"
+    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+    width="32"
+    height="32"
+    viewBox="0 0 8.4666659 8.4666659"
+    version="1.1"
+    id="svg72"
+    inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+    sodipodi:docname="align-bottom.svg">
+  <defs
+      id="defs66"/>
+  <sodipodi:namedview
+      id="base"
+      pagecolor="#ffffff"
+      bordercolor="#666666"
+      borderopacity="1.0"
+      inkscape:pageopacity="0.0"
+      inkscape:pageshadow="2"
+      inkscape:zoom="22.627417"
+      inkscape:cx="11.034218"
+      inkscape:cy="7.3764479"
+      inkscape:document-units="mm"
+      inkscape:current-layer="layer1"
+      showgrid="false"
+      units="px"/>
+  <metadata
+      id="metadata69">
+    <rdf:RDF>
+      <cc:Work
+          rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+            rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+      inkscape:label="Layer 1"
+      inkscape:groupmode="layer"
+      id="layer1"
+      transform="translate(0,-288.53334)">
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359671;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect74"
+        width="1.9361738"
+        height="2.0744655"
+        x="-295.66226"
+        y="5.0174847"
+        transform="rotate(-90)"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.17156053;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect4609"
+        width="0.47103932"
+        height="7.6911559"
+        x="-296.68744"
+        y="0.44491023"
+        transform="rotate(-90)"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359672;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect74-3"
+        width="1.9361739"
+        height="2.0744655"
+        x="-295.66223"
+        y="1.8734894"
+        transform="rotate(-90)"/>
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/align-left.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/align-left.svg
new file mode 100644
index 0000000..2e65f28
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/align-left.svg
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns="http://www.w3.org/2000/svg"
+    id="svg72"
+    version="1.1"
+    viewBox="0 0 8.4666659 8.4666659"
+    height="32"
+    width="32">
+  <defs
+      id="defs66"/>
+  <metadata
+      id="metadata69">
+    <rdf:RDF>
+      <cc:Work
+          rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+            rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+      transform="translate(0,-288.53334)"
+      id="layer1">
+    <rect
+        y="289.72552"
+        x="2.0435982"
+        height="2.0744655"
+        width="1.9361738"
+        id="rect74"
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359671;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"/>
+    <rect
+        y="288.93954"
+        x="0.9552325"
+        height="7.6911559"
+        width="0.47103932"
+        id="rect4609"
+        style="opacity:1;fill:#000000;fill-opacity:0.99506178;stroke:#000000;stroke-width:0.17156053;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"/>
+    <rect
+        y="293.46786"
+        x="2.0749466"
+        height="2.0744655"
+        width="1.9361739"
+        id="rect74-3"
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359672;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"/>
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/align-right.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/align-right.svg
new file mode 100644
index 0000000..1331d83
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/align-right.svg
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns="http://www.w3.org/2000/svg"
+    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+    id="svg72"
+    version="1.1"
+    viewBox="0 0 8.4666659 8.4666659"
+    height="32"
+    width="32"
+    sodipodi:docname="align-right.svg"
+    inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
+  <sodipodi:namedview
+      pagecolor="#ffffff"
+      bordercolor="#666666"
+      borderopacity="1"
+      objecttolerance="10"
+      gridtolerance="10"
+      guidetolerance="10"
+      inkscape:pageopacity="0"
+      inkscape:pageshadow="2"
+      inkscape:window-width="640"
+      inkscape:window-height="480"
+      id="namedview4692"
+      showgrid="false"
+      inkscape:zoom="52.143555"
+      inkscape:cx="15.662898"
+      inkscape:cy="16"
+      inkscape:current-layer="svg72"/>
+  <defs
+      id="defs66"/>
+  <metadata
+      id="metadata69">
+    <rdf:RDF>
+      <cc:Work
+          rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+            rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <rect
+      style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359671;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+      id="rect74"
+      width="1.9361738"
+      height="2.0744655"
+      x="5.2504497"
+      y="1.0653249"/>
+  <rect
+      style="opacity:1;fill:#000000;fill-opacity:0.99506178;stroke:#000000;stroke-width:0.17156053;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+      id="rect4609"
+      width="0.47103932"
+      height="7.6911559"
+      x="7.6480131"
+      y="0.31993774"/>
+  <rect
+      style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359672;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+      id="rect74-3"
+      width="1.9361739"
+      height="2.0744655"
+      x="5.2817984"
+      y="4.8076649"/>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/align-top.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/align-top.svg
new file mode 100644
index 0000000..f3ce2be
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/align-top.svg
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns="http://www.w3.org/2000/svg"
+    id="svg72"
+    version="1.1"
+    viewBox="0 0 8.4666659 8.4666659"
+    height="32"
+    width="32">
+  <defs
+      id="defs66"/>
+  <metadata
+      id="metadata69">
+    <rdf:RDF>
+      <cc:Work
+          rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+            rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+      transform="translate(0,-288.53334)"
+      id="layer1">
+    <rect
+        transform="rotate(-90)"
+        y="4.7906747"
+        x="-291.86316"
+        height="2.0744655"
+        width="1.9361738"
+        id="rect74"
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359671;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"/>
+    <rect
+        transform="rotate(-90)"
+        y="0.42600939"
+        x="-289.4295"
+        height="7.6911559"
+        width="0.47103932"
+        id="rect4609"
+        style="opacity:1;fill:#000000;fill-opacity:0.99506178;stroke:#000000;stroke-width:0.17156053;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"/>
+    <rect
+        transform="rotate(-90)"
+        y="1.6466794"
+        x="-291.86313"
+        height="2.0744655"
+        width="1.9361739"
+        id="rect74-3"
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359672;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"/>
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/back.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/back.svg
new file mode 100644
index 0000000..e823004
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/back.svg
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 22 22" style="enable-background:new 0 0 22 22;" xml:space="preserve">
+<style type="text/css">
+	.st0{display:none;}
+	.st1{display:inline;}
+	.st2{fill:#434343;}
+	.st3{display:inline;fill:#424242;}
+	.st4{fill:#414141;}
+</style>
+  <g id="Layer_1_1_" class="st0">
+	<title>stop</title>
+    <g id="ptdjwZ.tif" class="st1">
+		<path class="st2" d="M0.1,3.2h15.7v15.7H0.1V3.2z M2.3,5.2v11.2h11.1V5.2H2.3z"/>
+	</g>
+    <polygon class="st3" points="17,9.4 19.3,11.6 21.5,9.4 22,9.9 19.3,12.6 16.5,9.9 	"/>
+</g>
+  <g>
+	<polygon class="st4" points="5.1,9.7 22,9.7 22,12.3 5.1,12.3 12,19.4 10.1,21.3 0.1,11 10.2,0.7 12.1,2.6 	"/>
+</g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/cleanup.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/cleanup.svg
new file mode 100644
index 0000000..2d43d3d
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/cleanup.svg
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 22 22" style="enable-background:new 0 0 22 22;" xml:space="preserve">
+<style type="text/css">
+	.st0{display:none;}
+	.st1{display:inline;}
+	.st2{fill:#434343;}
+	.st3{display:inline;fill:#424242;}
+	.st4{fill:#424242;}
+</style>
+  <g id="Layer_1_1_" class="st0">
+	<title>stop</title>
+    <g id="ptdjwZ.tif" class="st1">
+		<path class="st2" d="M0.1,3.2h15.7v15.7H0.1V3.2z M2.3,5.2v11.2h11.1V5.2H2.3z"/>
+	</g>
+    <polygon class="st3" points="17,9.4 19.3,11.6 21.5,9.4 22,9.9 19.3,12.6 16.5,9.9 	"/>
+</g>
+  <polygon class="st4" points="15.4,13.7 14.4,12.7 16.5,12.7 16.5,10.5 10.6,10.5 10.6,16.4 12.8,16.4 12.8,14.3 13.8,15.3 "/>
+  <polygon class="st4" points="2.8,12.7 4.9,12.7 0.3,17.3 1.9,18.9 6.5,14.3 6.5,16.4 8.8,16.4 8.8,10.5 2.8,10.5 "/>
+  <polygon class="st4" points="16.5,6.2 14.4,6.2 19,1.6 17.4,0 12.8,4.6 12.8,2.5 10.6,2.5 10.6,8.4 16.5,8.4 "/>
+  <polygon class="st4" points="6.5,4.6 1.9,0 0.3,1.6 4.9,6.2 2.8,6.2 2.8,8.4 8.8,8.4 8.8,2.5 6.5,2.5 "/>
+  <path class="st4" d="M20.3,15l-4.4,4.4l-1.5-1.5l-1.3,1.3l2.8,2.8l5.7-5.7L20.3,15z"/>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/close.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/close.svg
new file mode 100644
index 0000000..2e7bf85
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/close.svg
@@ -0,0 +1,10 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
+  <defs>
+    <style>.cls-1{fill:#434343;}</style>
+  </defs>
+  <title>close</title>
+  <g id="Layer_3" data-name="Layer 3">
+    <rect class="cls-1" x="10.21" y="0.81" width="2.4" height="20.22" transform="translate(11.07 -4.87) rotate(45)"/>
+    <rect class="cls-1" x="10.21" y="0.81" width="2.4" height="20.22" transform="translate(27.21 10.58) rotate(135)"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/debug.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/debug.svg
new file mode 100644
index 0000000..9ddf103
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/debug.svg
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
+<g id="Layer_2">
+	<g id="Layer_2_1_">
+		<rect fill="none" width="16" height="16"/>
+	</g>
+</g>
+  <g id="art">
+	<g>
+		<polygon fill="#FFFFFF" points="6.1,2.5 3.8,8.9 5,12.2 7.4,13.6 9.3,12.9 12.2,10.6 10.3,3.8 9.6,2.4 		"/>
+    <path fill="#3D6480" d="M16,11.7V9.2c0-0.9-0.7-1.7-1.7-1.7h-1.6c-0.1-0.3-0.3-0.5-0.5-0.8l1.4-1.5C13.8,5,14,4.5,14,4.2V1.7
+			l-1.7-1v3.1c0,0.1,0,0.3-0.1,0.4l-0.9,1c-0.4-0.7-0.6-1.5-0.6-2.6c0-1.2-0.8-2.3-2-2.6v1.6c0,0.4-0.3,0.7-0.7,0.7
+			c-0.4,0-0.7-0.3-0.7-0.7V0c-1.1,0.3-2,1.3-2,2.6c0,1.1-0.3,1.9-0.6,2.6L3.8,4.2C3.7,4.1,3.7,4,3.7,3.8V0.7L2,1.7v2.5
+			c0,0.3,0.1,0.8,0.3,1l1.4,1.5C3.6,7,3.4,7.3,3.3,7.5H1.7C0.8,7.5,0,8.3,0,9.2v2.5l1.7-1V9.9c0-0.4,0.3-0.7,0.7-0.7h0.3
+			c0,0.2,0,0.3,0,0.5c0,0.6,0.1,1.3,0.3,1.8l-1,1.1c-0.2,0.2-0.3,0.6-0.3,0.9V16l1.7-1v-1c0-0.1,0-0.3,0.1-0.4L4,13
+			c0.6,0.7,1.4,1.5,2.4,1.7c0,0,0,0,0.1,0c0.1,0,0.1,0,0.2,0c0,0,1.2,0.6,2.7,0c0.1,0,0.1,0,0.2,0l0.1,0c1-0.3,1.8-1,2.4-1.7
+			l0.5,0.5c0.1,0.1,0.1,0.3,0.1,0.4v1l1.7,1v-2.5c0-0.3-0.1-0.7-0.3-0.9l-1-1.1c0.2-0.6,0.3-1.2,0.3-1.8c0-0.2,0-0.3,0-0.5h0.3
+			c0.4,0,0.7,0.3,0.7,0.7v0.8L16,11.7z M11.2,10.1c0,1.6-1.4,2.9-3.1,2.9c-1.7,0-3.1-1.3-3.1-2.9c0-0.1,0-0.2,0-0.4h0L5,9.4
+			c0,0,0-0.1,0-0.1l0.8-3c0-0.3,0.1-0.6,0.2-0.8l0,0l0,0c0.4-0.7,1.1-1.1,2-1.1c1,0,1.8,0.6,2.1,1.4l0,0l0,0.1c0,0.1,0,0.1,0.1,0.2
+			l0.9,3.3c0,0,0,0,0,0l0.1,0.4h0C11.1,9.9,11.2,10,11.2,10.1z"/>
+	</g>
+</g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/distribute-horizontally.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/distribute-horizontally.svg
new file mode 100644
index 0000000..4d4baed
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/distribute-horizontally.svg
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns="http://www.w3.org/2000/svg"
+    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+    width="32"
+    height="32"
+    viewBox="0 0 8.4666659 8.4666659"
+    version="1.1"
+    id="svg72"
+    inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+    sodipodi:docname="distribute-horizontally.svg">
+  <defs
+      id="defs66"/>
+  <sodipodi:namedview
+      id="base"
+      pagecolor="#ffffff"
+      bordercolor="#666666"
+      borderopacity="1.0"
+      inkscape:pageopacity="0.0"
+      inkscape:pageshadow="2"
+      inkscape:zoom="45.254834"
+      inkscape:cx="6.6334329"
+      inkscape:cy="13.292542"
+      inkscape:document-units="mm"
+      inkscape:current-layer="layer1"
+      showgrid="false"
+      units="px"/>
+  <metadata
+      id="metadata69">
+    <rdf:RDF>
+      <cc:Work
+          rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+            rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+      inkscape:label="Layer 1"
+      inkscape:groupmode="layer"
+      id="layer1"
+      transform="translate(0,-288.53334)">
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359672;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect74"
+        width="1.9361739"
+        height="2.0744655"
+        x="3.3213022"
+        y="291.66656"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359674;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect74-3"
+        width="1.936174"
+        height="2.0744655"
+        x="0.65159398"
+        y="291.65063"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359674;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect74-4"
+        width="1.936174"
+        height="2.0744655"
+        x="5.9013805"
+        y="291.6412"/>
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/distribute-vertically.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/distribute-vertically.svg
new file mode 100644
index 0000000..e7bea49
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/distribute-vertically.svg
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns="http://www.w3.org/2000/svg"
+    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+    width="32"
+    height="32"
+    viewBox="0 0 8.4666659 8.4666659"
+    version="1.1"
+    id="svg72"
+    inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+    sodipodi:docname="distribute-vertically.svg">
+  <defs
+      id="defs66"/>
+  <sodipodi:namedview
+      id="base"
+      pagecolor="#ffffff"
+      bordercolor="#666666"
+      borderopacity="1.0"
+      inkscape:pageopacity="0.0"
+      inkscape:pageshadow="2"
+      inkscape:zoom="32"
+      inkscape:cx="4.3955456"
+      inkscape:cy="16.663154"
+      inkscape:document-units="mm"
+      inkscape:current-layer="layer1"
+      showgrid="false"
+      units="px"/>
+  <metadata
+      id="metadata69">
+    <rdf:RDF>
+      <cc:Work
+          rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+            rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+      inkscape:label="Layer 1"
+      inkscape:groupmode="layer"
+      id="layer1"
+      transform="translate(0,-288.53334)">
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359671;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect74"
+        width="1.9361738"
+        height="2.0744655"
+        x="-293.60446"
+        y="3.2325137"
+        transform="rotate(-90)"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359672;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect74-3"
+        width="1.9361739"
+        height="2.0744655"
+        x="-296.27417"
+        y="3.2166057"
+        transform="rotate(-90)"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.19359672;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect74-4"
+        width="1.9361739"
+        height="2.0744655"
+        x="-291.02438"
+        y="3.2071607"
+        transform="rotate(-90)"/>
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/job.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/job.svg
new file mode 100644
index 0000000..53299b9
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/job.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#F99C1C;}
+</style>
+  <polygon class="st0" points="11,7 11,5.3 13,5.3 9,1.2 10.2,0 14.2,4 14.2,2.1 16,2.1 16,7 "/>
+  <polygon class="st0" points="9,11 10.7,11 10.7,13 14.8,9 16,10.2 12,14.2 13.9,14.2 13.9,16 9,16 "/>
+  <polygon class="st0" points="5,9 5,10.7 3,10.7 7,14.8 5.8,16 1.8,12 1.8,13.9 0,13.9 0,9 "/>
+  <polygon class="st0" points="7,5 5.3,5 5.3,3 1.2,7 0,5.8 4,1.8 2.1,1.8 2.1,0 7,0 "/>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/pause.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/pause.svg
new file mode 100644
index 0000000..b6ad0fb
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/pause.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 22 22" style="enable-background:new 0 0 22 22;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#424243;}
+</style>
+  <title>pause</title>
+  <g>
+	<rect x="6.5" y="4.6" class="st0" width="2.6" height="13"/>
+    <rect x="13.1" y="4.6" class="st0" width="2.6" height="13"/>
+</g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/print.png b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/print.png
new file mode 100644
index 0000000..a79aa32
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/print.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/run.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/run.svg
new file mode 100644
index 0000000..f48567f
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/run.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 22 22" style="enable-background:new 0 0 22 22;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#414242;}
+</style>
+  <title>run</title>
+  <path class="st0" d="M3.6,19l15.7-8L3.6,3V19z M5.2,5.6L15.7,11L5.2,16.4V5.6z"/>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/run_option.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/run_option.svg
new file mode 100644
index 0000000..c63611b
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/run_option.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 22 22" style="enable-background:new 0 0 22 22;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#414242;}
+</style>
+  <title>run</title>
+  <path class="st0" d="M0,19l15.7-8L0,3V19z M1.6,5.6L12.1,11L1.6,16.4V5.6z"/>
+  <g id="Layer_2_1_">
+	<g>
+		<g>
+			<polygon class="st0" points="17.1,10.4 19.3,12.6 21.5,10.4 22,10.9 19.3,13.6 16.6,10.9 			"/>
+		</g>
+	</g>
+</g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/show-all.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/show-all.svg
new file mode 100644
index 0000000..904dd21
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/show-all.svg
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns="http://www.w3.org/2000/svg"
+    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+    width="32"
+    height="32"
+    viewBox="0 0 8.4666659 8.4666659"
+    version="1.1"
+    id="svg72"
+    inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+    sodipodi:docname="show-all.svg">
+  <defs
+      id="defs66"/>
+  <sodipodi:namedview
+      id="base"
+      pagecolor="#ffffff"
+      bordercolor="#666666"
+      borderopacity="1.0"
+      inkscape:pageopacity="0.0"
+      inkscape:pageshadow="2"
+      inkscape:zoom="45.254834"
+      inkscape:cx="7.671996"
+      inkscape:cy="15.899998"
+      inkscape:document-units="mm"
+      inkscape:current-layer="layer1"
+      showgrid="false"
+      units="px"/>
+  <metadata
+      id="metadata69">
+    <rdf:RDF>
+      <cc:Work
+          rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+            rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+      inkscape:label="Layer 1"
+      inkscape:groupmode="layer"
+      id="layer1"
+      transform="translate(0,-288.53334)">
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.26458332;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect842"
+        width="1.6837981"
+        height="1.660412"
+        x="1.0231411"
+        y="289.1832"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.26458332;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect842-3"
+        width="1.6837981"
+        height="1.660412"
+        x="5.4255714"
+        y="290.99564"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.26458332;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect842-6"
+        width="1.6837981"
+        height="1.660412"
+        x="1.8065749"
+        y="294.05338"/>
+    <path
+        style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+        d="m 2.1865988,290.07188 c 3.928862,1.68964 3.9580945,1.69549 3.9580945,1.69549 l -3.3500562,3.06358 v 0 l -0.6080383,-4.46674 v 0"
+        id="path871"
+        inkscape:connector-curvature="0"/>
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/show-selected.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/show-selected.svg
new file mode 100644
index 0000000..b50f86d
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/show-selected.svg
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns="http://www.w3.org/2000/svg"
+    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+    width="32"
+    height="32"
+    viewBox="0 0 8.4666659 8.4666659"
+    version="1.1"
+    id="svg72"
+    inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+    sodipodi:docname="show-selected.svg">
+  <defs
+      id="defs66"/>
+  <sodipodi:namedview
+      id="base"
+      pagecolor="#ffffff"
+      bordercolor="#666666"
+      borderopacity="1.0"
+      inkscape:pageopacity="0.0"
+      inkscape:pageshadow="2"
+      inkscape:zoom="45.254834"
+      inkscape:cx="7.671996"
+      inkscape:cy="15.899998"
+      inkscape:document-units="mm"
+      inkscape:current-layer="layer1"
+      showgrid="false"
+      units="px"/>
+  <metadata
+      id="metadata69">
+    <rdf:RDF>
+      <cc:Work
+          rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+            rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+      inkscape:label="Layer 1"
+      inkscape:groupmode="layer"
+      id="layer1"
+      transform="translate(0,-288.53334)">
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.26458332;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect842"
+        width="1.6837981"
+        height="1.660412"
+        x="1.0231411"
+        y="289.1832"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.26458332;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect842-3"
+        width="1.6837981"
+        height="1.660412"
+        x="5.4255714"
+        y="290.99564"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.26458332;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect842-6"
+        width="1.6837981"
+        height="1.660412"
+        x="1.8065749"
+        y="294.05338"/>
+    <path
+        style="fill:none;stroke:#000000;stroke-width:0.26458332px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+        d="m 2.1865988,290.07188 c 3.928862,1.68964 3.9580945,1.69549 3.9580945,1.69549 l -3.3500562,3.06358 v 0 l -0.6080383,-4.46674 v 0"
+        id="path871"
+        inkscape:connector-curvature="0"/>
+    <polygon
+        transform="matrix(0.59370318,0,0,0.7770137,-1.1721096,284.24272)"
+        points="16,11.8 15,10.9 11.8,14.1 10.8,13 9.8,14 11.8,16 "
+        id="polygon14"
+        style="fill:#3d6480"/>
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/snap-to-grid.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/snap-to-grid.svg
new file mode 100644
index 0000000..acbcb98
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/snap-to-grid.svg
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns="http://www.w3.org/2000/svg"
+    xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+    width="32"
+    height="32"
+    viewBox="0 0 8.4666659 8.4666659"
+    version="1.1"
+    id="svg72"
+    inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
+    sodipodi:docname="snap-to-grid.svg">
+  <defs
+      id="defs66"/>
+  <sodipodi:namedview
+      id="base"
+      pagecolor="#ffffff"
+      bordercolor="#666666"
+      borderopacity="1.0"
+      inkscape:pageopacity="0.0"
+      inkscape:pageshadow="2"
+      inkscape:zoom="39.531689"
+      inkscape:cx="11.942076"
+      inkscape:cy="19.76492"
+      inkscape:document-units="mm"
+      inkscape:current-layer="layer1"
+      showgrid="false"
+      units="px"/>
+  <metadata
+      id="metadata69">
+    <rdf:RDF>
+      <cc:Work
+          rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+            rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title/>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+      inkscape:label="Layer 1"
+      inkscape:groupmode="layer"
+      id="layer1"
+      transform="translate(0,-288.53334)">
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-3"
+        width="0.50559711"
+        height="0.52918857"
+        x="2.9457181"
+        y="294.92465"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-56"
+        width="0.50559711"
+        height="0.52918857"
+        x="0.93985528"
+        y="294.92938"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-2"
+        width="0.50559711"
+        height="0.52918857"
+        x="4.93503"
+        y="294.90106"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-9"
+        width="0.50559711"
+        height="0.52918857"
+        x="6.9881415"
+        y="294.88687"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-3-7"
+        width="0.50559711"
+        height="0.52918857"
+        x="2.9374499"
+        y="293.34543"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-56-9"
+        width="0.50559711"
+        height="0.52918857"
+        x="0.93158704"
+        y="293.35016"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-2-2"
+        width="0.50559711"
+        height="0.52918857"
+        x="4.9267621"
+        y="293.32184"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-9-0"
+        width="0.50559711"
+        height="0.52918857"
+        x="6.9798732"
+        y="293.30765"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-3-2"
+        width="0.50559711"
+        height="0.52918857"
+        x="2.9374499"
+        y="291.69177"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-56-3"
+        width="0.50559711"
+        height="0.52918857"
+        x="0.93158704"
+        y="291.6965"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-2-7"
+        width="0.50559711"
+        height="0.52918857"
+        x="4.9267621"
+        y="291.66818"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-9-5"
+        width="0.50559711"
+        height="0.52918857"
+        x="6.9798732"
+        y="291.65399"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-3-9"
+        width="0.50559711"
+        height="0.52918857"
+        x="2.9539864"
+        y="289.93063"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-56-2"
+        width="0.50559711"
+        height="0.52918857"
+        x="0.94812351"
+        y="289.93536"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-2-28"
+        width="0.50559711"
+        height="0.52918857"
+        x="4.9432983"
+        y="289.90704"/>
+    <rect
+        style="opacity:1;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+        id="rect39-7-9-9"
+        width="0.50559711"
+        height="0.52918857"
+        x="6.9964094"
+        y="289.89285"/>
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/stop.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/stop.svg
new file mode 100644
index 0000000..0bd2732
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/stop.svg
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 22 22" style="enable-background:new 0 0 22 22;" xml:space="preserve">
+<style type="text/css">
+	.st0{display:none;}
+	.st1{display:inline;}
+	.st2{fill:#434343;}
+	.st3{display:inline;fill:#424242;}
+	.st4{fill:#424243;}
+	.st5{fill:#414242;}
+</style>
+  <g id="Layer_1" class="st0">
+	<title>stop</title>
+    <g id="ptdjwZ.tif" class="st1">
+		<path class="st2" d="M0.1,3.2h15.7v15.7H0.1V3.2z M2.3,5.2v11.2h11.1V5.2H2.3z"/>
+	</g>
+    <polygon class="st3" points="17,9.4 19.3,11.6 21.5,9.4 22,9.9 19.3,12.6 16.5,9.9 	"/>
+</g>
+  <g id="Layer_2">
+	<g>
+		<g id="ptdjwZ.tif_1_">
+			<g>
+				<path class="st4" d="M0.1,3.2c5,0,9.1,0,14.8,0c0,5.7,0,9.8,0,14.8c-5.2,0-9.6,0-14.8,0C0.1,12.8,0.1,8.4,0.1,3.2z M1.6,4.8
+					v11.7h11.7V4.8H1.6z"/>
+			</g>
+		</g>
+    <g>
+			<polygon class="st5" points="17,9.4 19.2,11.6 21.4,9.4 21.9,9.9 19.2,12.6 16.5,9.9 			"/>
+		</g>
+	</g>
+</g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/trans.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/trans.svg
new file mode 100644
index 0000000..c71e9d7
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/trans.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#1CB24B;}
+</style>
+  <polygon class="st0" points="13.8,10.7 13.8,9 8.9,9 8.9,13.9 10.6,13.9 10.6,12 14.7,16 15.9,14.8 11.9,10.7 "/>
+  <polygon class="st0" points="7.1,13.9 5.4,13.9 5.4,12 1.3,16 0.1,14.8 4.1,10.7 2.2,10.7 2.2,9 7.1,9 "/>
+  <polygon class="st0" points="8.9,7 13.8,7 13.8,5.3 11.9,5.3 15.9,1.2 14.7,0 10.6,4 10.6,2.1 8.9,2.1 "/>
+  <polygon class="st0" points="2.2,7 2.2,5.3 4.1,5.3 0.1,1.2 1.3,0 5.4,4 5.4,2.1 7.1,2.1 7.1,7 "/>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/view-as-xml.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/view-as-xml.svg
new file mode 100644
index 0000000..39b8122
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/view-as-xml.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#424242;}
+</style>
+  <g>
+	<polygon class="st0" points="13.8,5.4 12.7,4.3 8.9,8 8.8,0.1 7.2,0.1 7.2,8 3.3,4.2 2.2,5.4 8,11.2 	"/>
+    <polygon class="st0" points="15.9,8.9 14.2,7.3 14.2,14.3 1.8,14.3 1.8,7.4 0.1,9 0.1,15.9 15.9,15.9 	"/>
+</g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/view.svg b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/view.svg
new file mode 100644
index 0000000..a2f5600
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/getting-started/icons/view.svg
@@ -0,0 +1,10 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
+  <defs>
+    <style>.cls-1{fill:#434343;}</style>
+  </defs>
+  <title>view</title>
+  <g id="QdVc5y.tif">
+    <path class="cls-1"
+          d="M19.41,10.71v.64a8.09,8.09,0,0,1-8,5.13,8.09,8.09,0,0,1-8-5.13v-.64a8.26,8.26,0,0,1,8-5.12A8.24,8.24,0,0,1,19.41,10.71ZM13.3,7.09a5.13,5.13,0,0,1,.15,7.8,8,8,0,0,0,4.47-3.15,1.09,1.09,0,0,0,0-1.31A8.4,8.4,0,0,0,13.3,7.09Zm-4,7.78A5.09,5.09,0,0,1,9.45,7.1a8.78,8.78,0,0,0-4.54,3.16,1.21,1.21,0,0,0,0,1.57A8.28,8.28,0,0,0,9.28,14.87Z"/>
+  </g>
+</svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/create-environment-dialogue.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/create-environment-dialogue.png
new file mode 100644
index 0000000..bca2a19
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/create-environment-dialogue.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/create-project-dialogue.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/create-project-dialogue.png
new file mode 100644
index 0000000..dc87754
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/create-project-dialogue.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/edit-environment-menu.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/edit-environment-menu.png
new file mode 100644
index 0000000..4198287
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/edit-environment-menu.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/environment-add.svg b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/environment-add.svg
new file mode 100644
index 0000000..b118711
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/environment-add.svg
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="42px"
+   height="42px"
+   viewBox="0 0 42 42"
+   enable-background="new 0 0 42 42"
+   xml:space="preserve"><metadata
+   id="metadata25"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs23" />
+
+
+<text
+   id="text816"
+   y="19.834593"
+   x="56.459057"
+   style="font-style:normal;font-weight:normal;font-size:192px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+   xml:space="preserve"><tspan
+     y="194.53062"
+     x="56.459057"
+     id="tspan814" /></text>
+
+<text
+   id="text820"
+   y="28.070263"
+   x="2.978379"
+   style="font-style:normal;font-weight:normal;font-size:44.69970703px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23281099"
+   xml:space="preserve"><tspan
+     style="stroke-width:0.23281099"
+     y="28.070263"
+     x="2.978379"
+     id="tspan818">e</tspan></text>
+
+<g
+   transform="matrix(0.48941052,0,0,0.48941052,24.528835,24.811866)"
+   id="art"><polygon
+     id="polygon6"
+     points="18.2,0 13.8,0 13.8,13.8 0,13.8 0,18.2 13.8,18.2 13.8,32 18.2,32 18.2,18.2 32,18.2 32,13.8 18.2,13.8 "
+     style="fill:#3d6380" /></g></svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/environment-delete.svg b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/environment-delete.svg
new file mode 100644
index 0000000..c3aa7b1
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/environment-delete.svg
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="42px"
+   height="42px"
+   viewBox="0 0 42 42"
+   enable-background="new 0 0 42 42"
+   xml:space="preserve"><metadata
+   id="metadata25"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs23" />
+
+
+<text
+   id="text816"
+   y="19.834593"
+   x="56.459057"
+   style="font-style:normal;font-weight:normal;font-size:192px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+   xml:space="preserve"><tspan
+     y="194.53062"
+     x="56.459057"
+     id="tspan814" /></text>
+
+<text
+   id="text820"
+   y="28.070263"
+   x="2.978379"
+   style="font-style:normal;font-weight:normal;font-size:44.69970703px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23281099"
+   xml:space="preserve"><tspan
+     style="stroke-width:0.23281099"
+     y="28.070263"
+     x="2.978379"
+     id="tspan818">e</tspan></text>
+
+<polygon
+   points="37.6,31.4 34.7,34.3 31.8,31.4 30.4,32.7 33.3,35.6 30.4,38.5 31.8,39.9 34.7,37 37.6,39.9 38.9,38.5 36,35.6 38.9,32.7 "
+   id="polygon18"
+   style="fill:#ea102a"
+   transform="matrix(1.6377839,0,0,1.6377839,-23.702184,-25.258686)" /></svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/environment-edit.svg b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/environment-edit.svg
new file mode 100644
index 0000000..48d5ea9
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/environment-edit.svg
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   id="Layer_1"
+   x="0px"
+   y="0px"
+   width="42px"
+   height="42px"
+   viewBox="0 0 42 42"
+   enable-background="new 0 0 42 42"
+   xml:space="preserve"><metadata
+   id="metadata25"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs23" />
+
+
+<text
+   id="text816"
+   y="19.834593"
+   x="56.459057"
+   style="font-style:normal;font-weight:normal;font-size:192px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+   xml:space="preserve"><tspan
+     y="194.53062"
+     x="56.459057"
+     id="tspan814"></tspan></text>
+<text
+   id="text820"
+   y="28.070263"
+   x="2.978379"
+   style="font-style:normal;font-weight:normal;font-size:44.69970703px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.23281099"
+   xml:space="preserve"><tspan
+     style="stroke-width:0.23281099"
+     y="28.070263"
+     x="2.978379"
+     id="tspan818">e</tspan></text>
+<ellipse
+   ry="2.0063434"
+   rx="2.0330944"
+   cy="34.986797"
+   cx="25.54306"
+   id="path2067"
+   style="opacity:1;fill:#000000;fill-opacity:1;stroke-width:0.72368419;paint-order:markers fill stroke" /><ellipse
+   ry="0.22179212"
+   rx="1.3307527"
+   cy="35.715889"
+   cx="29.202629"
+   id="path2069"
+   style="opacity:0.3;fill:#ffd700;fill-opacity:1;paint-order:markers fill stroke" /><ellipse
+   ry="2.0063434"
+   rx="2.0330944"
+   cy="34.976582"
+   cx="30.903036"
+   id="path2067-1"
+   style="opacity:1;fill:#000000;fill-opacity:1;stroke-width:0.72368419;paint-order:markers fill stroke" /><ellipse
+   ry="2.0063434"
+   rx="2.0330944"
+   cy="34.976585"
+   cx="36.004257"
+   id="path2067-6"
+   style="opacity:1;fill:#000000;fill-opacity:1;stroke-width:0.72368419;paint-order:markers fill stroke" /></svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/environment-files.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/environment-files.png
new file mode 100644
index 0000000..7f7ed1f
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/environment-files.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/new-environment-dialog.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/new-environment-dialog.png
new file mode 100644
index 0000000..85a92af
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/new-environment-dialog.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/new-environment.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/new-environment.png
new file mode 100644
index 0000000..0cc1671
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/new-environment.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/project-add.svg b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/project-add.svg
new file mode 100644
index 0000000..ba1acc9
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/project-add.svg
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xml:space="preserve"
+   enable-background="new 0 0 42 42"
+   viewBox="0 0 42 42"
+   height="42px"
+   width="42px"
+   y="0px"
+   x="0px"
+   id="Layer_1"
+   version="1.1"><metadata
+   id="metadata25"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs23" />
+
+
+<text
+   xml:space="preserve"
+   style="font-style:normal;font-weight:normal;font-size:192px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+   x="56.459057"
+   y="19.834593"
+   id="text816"><tspan
+     id="tspan814"
+     x="56.459057"
+     y="194.53062" /></text>
+
+
+
+
+<g
+   id="art"
+   transform="matrix(0.48941052,0,0,0.48941052,24.528835,24.811866)"><polygon
+     style="fill:#3d6380"
+     points="18.2,0 13.8,0 13.8,13.8 0,13.8 0,18.2 13.8,18.2 13.8,32 18.2,32 18.2,18.2 32,18.2 32,13.8 18.2,13.8 "
+     id="polygon6" /></g><text
+   id="text821"
+   y="28.042698"
+   x="2.8721724"
+   style="font-style:normal;font-weight:normal;font-size:48.81200027px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25422916"
+   xml:space="preserve"><tspan
+     style="stroke-width:0.25422916"
+     y="28.042698"
+     x="2.8721724"
+     id="tspan819">p</tspan></text>
+</svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/project-delete.svg b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/project-delete.svg
new file mode 100644
index 0000000..21620ab
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/project-delete.svg
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xml:space="preserve"
+   enable-background="new 0 0 42 42"
+   viewBox="0 0 42 42"
+   height="42px"
+   width="42px"
+   y="0px"
+   x="0px"
+   id="Layer_1"
+   version="1.1"><metadata
+   id="metadata25"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs23" />
+
+
+<text
+   xml:space="preserve"
+   style="font-style:normal;font-weight:normal;font-size:192px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+   x="56.459057"
+   y="19.834593"
+   id="text816"><tspan
+     id="tspan814"
+     x="56.459057"
+     y="194.53062" /></text>
+
+
+
+
+<polygon
+   transform="matrix(1.6377839,0,0,1.6377839,-23.702184,-25.258686)"
+   style="fill:#ea102a"
+   id="polygon18"
+   points="37.6,31.4 34.7,34.3 31.8,31.4 30.4,32.7 33.3,35.6 30.4,38.5 31.8,39.9 34.7,37 37.6,39.9 38.9,38.5 36,35.6 38.9,32.7 " /><text
+   id="text821"
+   y="28.091171"
+   x="2.7267504"
+   style="font-style:normal;font-weight:normal;font-size:48.81200027px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25422916"
+   xml:space="preserve"><tspan
+     style="stroke-width:0.25422916"
+     y="28.091171"
+     x="2.7267504"
+     id="tspan819">p</tspan></text>
+</svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/project-edit.svg b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/project-edit.svg
new file mode 100644
index 0000000..38c26a6
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/project-edit.svg
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xml:space="preserve"
+   enable-background="new 0 0 42 42"
+   viewBox="0 0 42 42"
+   height="42px"
+   width="42px"
+   y="0px"
+   x="0px"
+   id="Layer_1"
+   version="1.1"><metadata
+   id="metadata25"><rdf:RDF><cc:Work
+       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+   id="defs23" />
+
+
+<text
+   xml:space="preserve"
+   style="font-style:normal;font-weight:normal;font-size:192px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+   x="56.459057"
+   y="19.834593"
+   id="text816"><tspan
+     id="tspan814"
+     x="56.459057"
+     y="194.53062" /></text>
+
+
+<ellipse
+   style="opacity:1;fill:#000000;fill-opacity:1;stroke-width:0.72368419;paint-order:markers fill stroke"
+   id="path2067"
+   cx="25.54306"
+   cy="34.986797"
+   rx="2.0330944"
+   ry="2.0063434" /><ellipse
+   style="opacity:0.3;fill:#ffd700;fill-opacity:1;paint-order:markers fill stroke"
+   id="path2069"
+   cx="29.202629"
+   cy="35.715889"
+   rx="1.3307527"
+   ry="0.22179212" /><ellipse
+   style="opacity:1;fill:#000000;fill-opacity:1;stroke-width:0.72368419;paint-order:markers fill stroke"
+   id="path2067-1"
+   cx="30.903036"
+   cy="34.976582"
+   rx="2.0330944"
+   ry="2.0063434" /><ellipse
+   style="opacity:1;fill:#000000;fill-opacity:1;stroke-width:0.72368419;paint-order:markers fill stroke"
+   id="path2067-6"
+   cx="36.004257"
+   cy="34.976585"
+   rx="2.0330944"
+   ry="2.0063434" /><text
+   id="text821"
+   y="28.188118"
+   x="2.7025132"
+   style="font-style:normal;font-weight:normal;font-size:48.81200027px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25422916"
+   xml:space="preserve"><tspan
+     style="stroke-width:0.25422916"
+     y="28.188118"
+     x="2.7025132"
+     id="tspan819">p</tspan></text>
+</svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/switch-environment-list.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/switch-environment-list.png
new file mode 100644
index 0000000..964a755
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/switch-environment-list.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/switch-environment.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/switch-environment.png
new file mode 100644
index 0000000..9bd4b21
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/switch-environment.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/switch-project-list.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/switch-project-list.png
new file mode 100644
index 0000000..0a5399a
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/environment/switch-project-list.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/file-dialog.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/file-dialog.png
new file mode 100644
index 0000000..a6470f3
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/file-dialog.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/new-work-item.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/new-work-item.png
new file mode 100644
index 0000000..225a6df
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/new-work-item.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/new.svg b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/new.svg
new file mode 100644
index 0000000..5674ded
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/new.svg
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
+<g id="Layer_2">
+	<g id="Layer_2_1_">
+		<rect fill="none" width="16" height="16"/>
+	</g>
+</g>
+  <g id="Layer_1">
+	<g>
+		<path fill="#FFFFFF" d="M3,0.8V15c0,0,10.2-0.2,10,0c-0.2,0.2,0-10.5,0-10.5l-0.7-1h-1.9v-2L9,0.7L3,0.8z"/>
+    <path fill="none" d="M10.1,4.5v-3H3v13h10l0-10H10.1z M11,8.4H8.4V11H7.6V8.4H5V7.7h2.6V5h0.8v2.6H11V8.4z"/>
+    <polygon fill="#0E3A5A" stroke="#0E3A5A" stroke-width="0.5" stroke-miterlimit="10" points="8.3,7.7 8.3,5.5 7.7,5.5 7.7,7.7
+			5.5,7.7 5.5,8.3 7.7,8.3 7.7,10.5 8.3,10.5 8.3,8.3 10.5,8.3 10.5,7.7 		"/>
+    <path fill="#0E3A5A" d="M14,4.5l-1.5-1.5v0h-1.4V1.5h0L9.6,0H2v16H14L14,4.5z M3.5,14.5v-13h6.1v3h3l0,10H3.5z"/>
+	</g>
+</g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/debug-pipeline.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/debug-pipeline.png
new file mode 100644
index 0000000..4d69831
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/debug-pipeline.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/executed-pipeline.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/executed-pipeline.png
new file mode 100644
index 0000000..7ad6a9d
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/executed-pipeline.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/failed-pipeline.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/failed-pipeline.png
new file mode 100644
index 0000000..f2de0bb
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/failed-pipeline.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/hop-type.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/hop-type.png
new file mode 100644
index 0000000..df9b023
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/hop-type.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/logging-pipeline.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/logging-pipeline.png
new file mode 100644
index 0000000..5e41578
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/logging-pipeline.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/monitoring-pipeline.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/monitoring-pipeline.png
new file mode 100644
index 0000000..ae5abc1
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/monitoring-pipeline.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/new-pipeline.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/new-pipeline.png
new file mode 100644
index 0000000..1605c9c
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/new-pipeline.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/parameters-pipeline.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/parameters-pipeline.png
new file mode 100644
index 0000000..3db6af3
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/parameters-pipeline.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-buffers.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-buffers.png
new file mode 100644
index 0000000..835869f
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-buffers.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-partition-schema.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-partition-schema.png
new file mode 100644
index 0000000..d6dc4ba
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-partition-schema.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-partitioned.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-partitioned.png
new file mode 100644
index 0000000..2c7e628
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-partitioned.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-preview-2.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-preview-2.png
new file mode 100644
index 0000000..6605073
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-preview-2.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-preview-table.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-preview-table.png
new file mode 100644
index 0000000..6f29c17
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-preview-table.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-preview.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-preview.png
new file mode 100644
index 0000000..bd3126b
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-preview.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-swimlanes-1.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-swimlanes-1.png
new file mode 100644
index 0000000..ac08556
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-swimlanes-1.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-swimlanes-2.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-swimlanes-2.png
new file mode 100644
index 0000000..11a0a82
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-swimlanes-2.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-table.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-table.png
new file mode 100644
index 0000000..d47a628
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/partitionining-table.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/preview-menu-pipeline.PNG b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/preview-menu-pipeline.PNG
new file mode 100644
index 0000000..cf30843
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/preview-menu-pipeline.PNG differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/preview-pipeline.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/preview-pipeline.png
new file mode 100644
index 0000000..e70b6c8
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/preview-pipeline.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/properties-pipeline.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/properties-pipeline.png
new file mode 100644
index 0000000..c27ef8e
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/properties-pipeline.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/run-configuration-pipeline.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/run-configuration-pipeline.png
new file mode 100644
index 0000000..88d6d89
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/run-configuration-pipeline.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/save-pipeline.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/save-pipeline.png
new file mode 100644
index 0000000..7cbcf6b
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/save-pipeline.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/simple-pipeline.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/simple-pipeline.png
new file mode 100644
index 0000000..90143cd
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/simple-pipeline.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/transform-metrics-pipeline.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/transform-metrics-pipeline.png
new file mode 100644
index 0000000..1c15d49
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/transform-metrics-pipeline.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/transforms.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/transforms.png
new file mode 100644
index 0000000..45dc41c
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/pipeline/transforms.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/new-run-configuration.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/new-run-configuration.png
new file mode 100644
index 0000000..3421e87
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/new-run-configuration.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/parameters-properties.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/parameters-properties.png
new file mode 100644
index 0000000..25dde0e
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/parameters-properties.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/settings-properties.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/settings-properties.png
new file mode 100644
index 0000000..80bac90
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/settings-properties.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/simple-workflow.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/simple-workflow.png
new file mode 100644
index 0000000..836c859
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/simple-workflow.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/workflow-action.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/workflow-action.png
new file mode 100644
index 0000000..03c51dc
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/workflow-action.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/workflow-properties.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/workflow-properties.png
new file mode 100644
index 0000000..5265910
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/workflow-properties.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/workflow-run-configuration.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/workflow-run-configuration.png
new file mode 100644
index 0000000..33bd761
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-gui/workflow/workflow-run-configuration.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-run/hop-run-options.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-run/hop-run-options.png
new file mode 100644
index 0000000..48929f1
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-run/hop-run-options.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-server/hop-server-index.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-server/hop-server-index.png
new file mode 100644
index 0000000..b5c9d3e
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-server/hop-server-index.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-server/hop-server-no-tasks.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-server/hop-server-no-tasks.png
new file mode 100644
index 0000000..d8a2132
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-server/hop-server-no-tasks.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-server/hop-server-options.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-server/hop-server-options.png
new file mode 100644
index 0000000..b2c4ee9
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-server/hop-server-options.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-server/web-service-example.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-server/web-service-example.png
new file mode 100644
index 0000000..8c633e1
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-server/web-service-example.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/hop-server/web-service-pipeline-example.png b/docs/hop-user-manual/modules/ROOT/assets/images/hop-server/web-service-pipeline-example.png
new file mode 100644
index 0000000..66f0559
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/hop-server/web-service-pipeline-example.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/Cassandra_logo.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/Cassandra_logo.svg
new file mode 100644
index 0000000..95e3303
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/Cassandra_logo.svg
@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns="http://www.w3.org/2000/svg"
+    version="1.1"
+    width="279.18411"
+    height="187.47701"
+    id="svg2816"
+    xml:space="preserve"><title
+     id="title3537">Apache Cassandra</title>
+  <metadata
+      id="metadata2822"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+      rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title>Apache Cassandra</dc:title><cc:license
+      rdf:resource="Apache License"/><dc:creator><cc:Agent><dc:title>Apache Software Foundation</dc:title></cc:Agent></dc:creator><dc:source>https://svn.apache.org/repos/asf/cassandra/logo/cassandra.svg</dc:source></cc:Work></rdf:RDF></metadata>
+  <defs
+      id="defs2820"><clipPath
+       id="clipPath2832"><path
+         d="M 0,792 612,792 612,0 0,0 0,792 z"
+         id="path2834" /></clipPath>
+    <clipPath
+        id="clipPath2844"><path
+         d="M 0,792 612,792 612,0 0,0 0,792 z"
+         id="path2846" /></clipPath>
+    <clipPath
+        id="clipPath2852"><path
+         d="m 96.0078,715.93 88.2902,0 0,-62.176 -88.2902,0 0,62.176 z"
+         id="path2854" /></clipPath>
+    <clipPath
+        id="clipPath2868"><path
+         d="M 0,792 612,792 612,0 0,0 0,792 z"
+         id="path2870" /></clipPath>
+    <clipPath
+        id="clipPath2880"><path
+         d="M 0,792 612,792 612,0 0,0 0,792 z"
+         id="path2882" /></clipPath>
+    <clipPath
+        id="clipPath2908"><path
+         d="M 0,792 612,792 612,0 0,0 0,792 z"
+         id="path2910" /></clipPath>
+    <clipPath
+        id="clipPath2936"><path
+         d="M 0,792 612,792 612,0 0,0 0,792 z"
+         id="path2938" /></clipPath>
+    <clipPath
+        id="clipPath2944"><path
+         d="m 121.202,708.378 45.899,0 0,-45.859 -45.899,0 0,45.859 z"
+         id="path2946" /></clipPath>
+    <clipPath
+        id="clipPath2960"><path
+         d="M 0,792 612,792 612,0 0,0 0,792 z"
+         id="path2962" /></clipPath>
+    <clipPath
+        id="clipPath2968"><path
+         d="m 40.4033,726.188 212.4017,0 0,-61.818 -212.4017,0 0,61.818 z"
+         id="path2970" /></clipPath>
+    <clipPath
+        id="clipPath2988"><path
+         d="M 0,792 612,792 612,0 0,0 0,792 z"
+         id="path2990" /></clipPath>
+    <clipPath
+        id="clipPath2996"><path
+         d="m 39.5195,688.644 199.3805,0 0,-73.818 -199.3805,0 0,73.818 z"
+         id="path2998" /></clipPath>
+    <clipPath
+        id="clipPath3016"><path
+         d="M 0,792 612,792 612,0 0,0 0,792 z"
+         id="path3018" /></clipPath></defs>
+  <g
+      transform="translate(-62.668647,-74.06425)"
+      id="layer1"
+      style="display:inline"><g
+   transform="matrix(1.25,0,0,-1.25,19.117647,990)"
+   id="g3012"><g
+     clip-path="url(#clipPath3016)"
+     id="g3014"><g
+       transform="translate(61.4912,609.1372)"
+       id="g3020"><path
+         d="M 0,0 C 1.824,0 3.552,-0.432 4.417,-1.296 4.561,-2.641 3.36,-4.801 2.592,-4.801 1.68,-4.465 0.816,-4.272 -0.24,-4.272 c -4.368,0 -6.529,-4.513 -6.529,-8.977 0,-2.784 0.96,-4.465 3.169,-4.465 2.352,0 4.752,1.584 6.096,2.784 0.336,-0.239 0.768,-1.008 0.768,-1.872 0,-0.96 -0.288,-1.872 -1.152,-2.736 -1.536,-1.536 -4.128,-2.832 -7.873,-2.832 -4.32,0 -7.296,2.448 -7.296,8.161 C -13.057,-6.721 -8.113,0 -0.048,0 L 0,0 z"
+         id="path3022"
+         style="fill:#373535;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+      transform="translate(75.6021,591.6636)"
+      id="g3024"><path
+         d="m 0,0 c 2.352,0 6.625,4.129 7.825,12.001 0.048,0.48 0.096,0.624 0.192,1.104 -0.528,0.192 -1.248,0.336 -1.969,0.336 -1.776,0 -3.6,-0.528 -5.232,-2.736 -1.68,-2.352 -2.4,-5.28 -2.4,-7.633 C -1.584,1.057 -1.008,0 -0.048,0 L 0,0 z m -7.729,2.16 c 0,2.832 0.96,7.777 4.561,11.377 3.072,3.168 6.816,3.937 10.225,3.937 2.256,0 5.328,-0.72 7.248,-1.105 -0.48,-2.112 -1.632,-10.08 -2.16,-14.688 -0.24,-1.969 -0.336,-4.705 -0.24,-5.713 -1.584,-0.672 -4.56,-0.864 -5.377,-0.864 -0.431,0 -0.5 [...]
+         id="path3026"
+         style="fill:#373535;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+      transform="translate(101.8579,609.1372)"
+      id="g3028"><path
+         d="m 0,0 c 1.968,0 3.84,-0.72 4.705,-1.632 -0.048,-1.345 -1.104,-3.6 -2.785,-2.976 -0.72,0.24 -1.44,0.431 -2.4,0.431 -1.296,0 -2.4,-0.576 -2.4,-1.775 0,-0.912 0.672,-1.585 3.888,-3.841 2.305,-1.68 3.217,-3.168 3.217,-5.28 0,-3.505 -3.313,-7.297 -9.073,-7.297 -2.352,0 -4.417,0.912 -5.089,1.872 -0.864,1.44 -0.192,4.272 0.769,3.793 1.248,-0.624 3.312,-1.297 4.992,-1.297 1.584,0 2.592,0.721 2.592,1.681 0,0.815 -0.72,1.536 -3.648,3.6 -2.449,1.824 -3.217,3.504 -3.217,5.424 0,3.984 3.4 [...]
+         id="path3030"
+         style="fill:#373535;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+      transform="translate(118.417,609.1372)"
+      id="g3032"><path
+         d="m 0,0 c 1.969,0 3.841,-0.72 4.705,-1.632 -0.048,-1.345 -1.103,-3.6 -2.784,-2.976 -0.72,0.24 -1.441,0.431 -2.4,0.431 -1.296,0 -2.4,-0.576 -2.4,-1.775 0,-0.912 0.672,-1.585 3.888,-3.841 2.304,-1.68 3.216,-3.168 3.216,-5.28 0,-3.505 -3.313,-7.297 -9.073,-7.297 -2.352,0 -4.416,0.912 -5.088,1.872 -0.864,1.44 -0.192,4.272 0.768,3.793 1.248,-0.624 3.312,-1.297 4.992,-1.297 1.584,0 2.592,0.721 2.592,1.681 0,0.815 -0.72,1.536 -3.648,3.6 -2.448,1.824 -3.216,3.504 -3.216,5.424 0,3.984 3 [...]
+         id="path3034"
+         style="fill:#373535;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+      transform="translate(133.5361,591.6636)"
+      id="g3036"><path
+         d="m 0,0 c 2.353,0 6.625,4.129 7.825,12.001 0.048,0.48 0.097,0.624 0.193,1.104 -0.529,0.192 -1.248,0.336 -1.969,0.336 -1.776,0 -3.6,-0.528 -5.233,-2.736 -1.679,-2.352 -2.4,-5.28 -2.4,-7.633 C -1.584,1.057 -1.008,0 -0.047,0 L 0,0 z m -7.729,2.16 c 0,2.832 0.961,7.777 4.561,11.377 3.072,3.168 6.816,3.937 10.225,3.937 2.256,0 5.329,-0.72 7.249,-1.105 -0.48,-2.112 -1.632,-10.08 -2.16,-14.688 -0.241,-1.969 -0.336,-4.705 -0.241,-5.713 -1.584,-0.672 -4.559,-0.864 -5.376,-0.864 -0.431,0 [...]
+         id="path3038"
+         style="fill:#373535;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+      transform="translate(158.688,602.897)"
+      id="g3040"><path
+         d="m 0,0 c 2.209,3.552 5.088,6.24 9.121,6.24 3.408,0 4.512,-3.168 3.889,-7.68 -0.336,-2.113 -0.912,-5.137 -1.297,-7.921 -0.336,-2.353 -0.576,-4.464 -0.527,-5.905 -1.248,-0.624 -4.897,-0.864 -5.713,-0.864 -0.336,0 -0.385,2.641 0.048,5.425 0.383,2.304 1.2,6.48 1.584,8.881 0.241,1.391 0.192,3.072 -1.152,3.072 -1.777,0 -6,-2.833 -8.113,-14.449 -0.145,-0.96 -0.528,-1.536 -1.057,-1.872 -0.719,-0.433 -2.256,-0.817 -5.375,-0.865 0.576,2.928 1.488,8.929 2.16,13.345 0.623,4.032 0.864,6.62 [...]
+         id="path3042"
+         style="fill:#373535;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+      transform="translate(183.0728,591.7114)"
+      id="g3044"><path
+         d="m 0,0 c 2.111,0 6.385,3.937 7.584,10.897 0.049,0.384 0.193,1.104 0.289,1.537 -0.625,0.576 -1.441,0.96 -2.736,0.96 -4.85,0 -7.01,-5.809 -7.01,-9.986 C -1.873,1.152 -1.104,0 -0.049,0 L 0,0 z m -3.168,-4.944 c -3.072,0 -4.992,2.736 -4.992,7.44 0,7.777 4.847,14.93 13.008,14.93 1.441,0 2.736,-0.384 3.552,-0.864 0.432,2.208 1.44,9.025 1.489,11.041 1.343,0.24 4.224,0.671 5.519,0.671 0.53,0 0.674,-0.527 0.481,-1.727 C 14.736,19.346 12.674,5.521 12.289,2.448 12,-0.144 11.953,-2.688 12 [...]
+         id="path3046"
+         style="fill:#373535;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+      transform="translate(208.0317,602.2241)"
+      id="g3048"><path
+         d="M 0,0 C 2.545,5.665 5.568,6.913 7.537,6.913 8.162,6.913 9.121,6.529 9.553,6.049 9.746,4.465 8.498,1.297 7.393,0.097 6.816,0.385 6.098,0.673 5.281,0.673 c -1.633,0 -4.849,-2.545 -6.865,-13.489 -0.145,-0.913 -0.432,-1.297 -0.959,-1.537 -0.816,-0.48 -4.033,-0.864 -5.568,-0.912 0.718,3.937 1.966,11.953 2.447,16.658 0.144,1.2 0.191,3.408 0.096,4.272 0.912,0.432 4.513,1.248 5.328,1.248 0.433,0 0.769,-2.641 0.095,-6.913 L 0,0 z"
+         id="path3050"
+         style="fill:#373535;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+      transform="translate(224.9751,591.6636)"
+      id="g3052"><path
+         d="m 0,0 c 2.354,0 6.625,4.129 7.826,12.001 0.047,0.48 0.096,0.624 0.192,1.104 -0.528,0.192 -1.248,0.336 -1.969,0.336 -1.776,0 -3.6,-0.528 -5.233,-2.736 -1.679,-2.352 -2.4,-5.28 -2.4,-7.633 C -1.584,1.057 -1.008,0 -0.047,0 L 0,0 z m -7.729,2.16 c 0,2.832 0.961,7.777 4.561,11.377 3.072,3.168 6.816,3.937 10.225,3.937 2.256,0 5.328,-0.72 7.25,-1.105 -0.481,-2.112 -1.633,-10.08 -2.161,-14.688 -0.24,-1.969 -0.337,-4.705 -0.24,-5.713 -1.584,-0.672 -4.56,-0.864 -5.377,-0.864 -0.431,0 - [...]
+         id="path3054"
+         style="fill:#373535;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></g></g>
+</g>
+  <g
+      transform="translate(-62.668647,-74.06425)"
+      id="layer2"
+      style="display:inline"><g
+       transform="matrix(1.25,0,0,-1.25,19.117647,990)"
+       id="g4555"><g
+         id="g2828"><g
+           clip-path="url(#clipPath2832)"
+           id="g2830"><g
+             transform="translate(210.8784,690.4834)"
+             id="g2836"><path
+               d="m 0,0 c 1.584,-18.452 -27.455,-36.014 -64.859,-39.223 -37.404,-3.209 -69.01,9.151 -70.592,27.602 -1.584,18.455 27.455,36.016 64.859,39.225 C -33.188,30.812 -1.582,18.455 0,0"
+               id="path2838"
+               style="fill:#bbe6fb;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></g></g><g
+      id="g2840"><g
+           clip-path="url(#clipPath2844)"
+           id="g2842"><g
+             id="g2848"><g
+               id="g2850" /><g
+      id="g2856"><g
+                 clip-path="url(#clipPath2852)"
+                 id="g2858"
+                 style="opacity:0.35000604"><g
+                   transform="translate(141.3843,715.9233)"
+                   id="g2860"><path
+                     d="m 0,0 c -14.268,0.232 -30.964,-5.433 -43.387,-10.738 -1.293,-3.726 -1.989,-7.689 -1.989,-11.797 0,-21.888 19.764,-39.634 44.145,-39.634 24.381,0 44.145,17.746 44.145,39.634 0,6.927 -1.984,13.435 -5.463,19.101 C 27.512,-1.889 13.842,-0.225 0,0"
+                     id="path2862"
+                     style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></g></g></g></g></g><g
+      id="g2864"><g
+           clip-path="url(#clipPath2868)"
+           id="g2866"><g
+             transform="translate(140.1528,715.9277)"
+             id="g2872"><path
+               d="m 0,0 c -7.899,0.482 -21.514,-3.639 -32.867,-7.75 -1.725,-4.071 -2.683,-8.526 -2.683,-13.201 0,-19.178 17.388,-34.725 35.782,-34.725 18.273,0 34.44,15.572 35.782,34.725 0.436,6.237 -1.711,12.114 -4.692,17.181 C 19.552,-1.697 7.061,-0.431 0,0"
+               id="path2874"
+               style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></g></g><g
+      id="g2876"><g
+           clip-path="url(#clipPath2880)"
+           id="g2878"><g
+             transform="translate(119.8818,697.4946)"
+             id="g2884"><path
+               d="M 0,0 C 0.969,2.146 2.437,3.197 3.859,4.996 3.701,5.422 3.355,6.815 3.355,7.298 c 0,2.156 1.749,3.906 3.906,3.906 0.509,0 0.995,-0.101 1.44,-0.278 6.465,4.927 14.976,7.075 23.529,5.163 0.781,-0.176 1.547,-0.389 2.299,-0.623 C 26.076,16.638 16.548,13.644 10.067,8.413 10.265,7.946 10.814,6.611 10.814,6.074 10.814,3.917 9.418,3.392 7.261,3.392 6.771,3.392 6.303,3.486 5.87,3.651 4.406,1.685 2.612,-2.06 1.734,-4.401 c 3.584,-3.206 6.822,-4.368 11.042,-5.945 -0.011,0.201 0.14 [...]
+               id="path2886"
+               style="fill:#373535;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+      transform="translate(168.4907,700.4282)"
+      id="g2888"><path
+               d="m 0,0 c 0.719,-0.648 1.111,-1.217 1.42,-1.771 0.951,-1.71 -0.957,-3.275 -2.914,-3.275 -0.199,0 -0.391,0.027 -0.582,0.059 -2.205,-3.446 -6.067,-7.865 -9.498,-10.089 5.261,-0.862 10.222,-2.969 14.17,-6.225 2.875,5.151 5.08,12.589 5.08,18.907 0,4.809 -2.123,8.334 -5.328,10.92 C 2.18,5.95 0.805,2.347 0,0"
+               id="path2890"
+               style="fill:#373535;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+      transform="translate(125.7842,667.8032)"
+      id="g2892"><path
+               d="M 0,0 C 1.753,4.841 6.065,8.592 10.144,11.892 9.547,12.709 8.652,14.732 8.279,15.69 3.304,17.203 -1.098,20.035 -4.512,23.784 -4.537,23.675 -4.568,23.569 -4.594,23.46 -5.237,20.579 -5.355,17.692 -5.035,14.876 -2.653,14.432 -0.85,12.345 -0.85,9.834 -0.85,8.345 -2.155,6.187 -3.168,5.248 -2.067,2.872 -1.316,1.726 0,0"
+               id="path2894"
+               style="fill:#373535;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+      transform="translate(125.4756,663.7393)"
+      id="g2896"><path
+               d="m 0,0 c -2.091,2.079 -3.537,6.226 -4.894,8.83 -0.254,-0.039 -0.514,-0.066 -0.78,-0.066 -2.836,0 -5.807,2.38 -5.135,5.134 0.372,1.524 1.424,2.521 3.137,3.353 -0.39,3.157 -0.496,7.695 0.237,10.977 0.21,0.939 0.655,1.379 0.95,2.273 -3.129,4.579 -5.151,10.589 -5.151,16.552 0,0.218 0.011,0.433 0.016,0.649 -5.288,-2.652 -9.253,-6.83 -9.253,-13.407 0,-14.548 8.379,-28.819 20.846,-34.413 C -0.018,-0.079 -0.01,-0.039 0,0"
+               id="path2898"
+               style="fill:#373535;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+      transform="translate(156.1313,683.8511)"
+      id="g2900"><path
+               d="m 0,0 c -1.611,-4.582 -5.967,-7.873 -11.1,-7.873 -2.746,0 -5.265,0.947 -7.267,2.521 -4.127,-3.214 -7.871,-8.86 -9.774,-13.758 0.854,-0.919 1.449,-1.675 2.407,-2.49 2.887,-0.752 6.863,0 9.988,0 12.57,0 23.703,5.592 30.086,15.398 C 10.096,-3.263 5.09,-0.466 0,0"
+               id="path2902"
+               style="fill:#373535;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></g></g><g
+      id="g2904"><g
+           clip-path="url(#clipPath2908)"
+           id="g2906"><g
+             transform="translate(119.5596,695.7944)"
+             id="g2912"><path
+               d="m 0,0 c 0.969,2.146 2.184,4.132 3.605,5.931 -0.158,0.425 -0.25,0.884 -0.25,1.367 0,2.156 1.749,3.906 3.906,3.906 0.509,0 0.995,-0.101 1.44,-0.278 6.465,4.927 14.976,7.075 23.529,5.163 0.781,-0.176 1.547,-0.389 2.299,-0.623 -8.453,1.172 -17.187,-1.419 -23.668,-6.651 0.198,-0.466 0.306,-0.98 0.306,-1.517 0,-2.157 -1.749,-3.906 -3.906,-3.906 -0.49,0 -0.958,0.094 -1.391,0.259 -1.464,-1.966 -2.661,-4.138 -3.539,-6.48 3.078,-3.317 6.856,-5.94 11.075,-7.517 -0.01,0.201 -0.031, [...]
+               id="path2914"
+               style="fill:#1287b1;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+      transform="translate(169.0396,699.8481)"
+      id="g2916"><path
+               d="m 0,0 c 0.719,-0.648 1.18,-1.577 1.18,-2.621 0,-1.957 -1.588,-3.545 -3.545,-3.545 -0.199,0 -0.391,0.027 -0.582,0.059 -2.205,-3.446 -5.127,-6.384 -8.559,-8.608 5.072,-0.793 9.846,-2.945 13.793,-6.201 2.875,5.151 4.518,11.084 4.518,17.402 0,4.809 -2.123,8.334 -5.328,10.92 C 1.309,4.83 0.805,2.347 0,0"
+               id="path2918"
+               style="fill:#1287b1;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+      transform="translate(126.3252,666.6401)"
+      id="g2920"><path
+               d="M 0,0 C 1.753,4.841 4.799,9.185 8.878,12.484 8.281,13.302 7.789,14.195 7.416,15.153 2.44,16.666 -1.961,19.498 -5.375,23.247 -5.4,23.138 -5.432,23.032 -5.457,22.923 -6.101,20.042 -6.219,17.155 -5.898,14.339 -3.517,13.895 -1.713,11.808 -1.713,9.297 -1.713,7.808 -2.352,6.469 -3.365,5.53 -2.446,3.582 -1.316,1.726 0,0"
+               id="path2922"
+               style="fill:#1287b1;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+      transform="translate(125.4619,663.7983)"
+      id="g2924"><path
+               d="m 0,0 c -2.091,2.079 -3.846,4.467 -5.202,7.07 -0.255,-0.039 -0.515,-0.065 -0.78,-0.065 -2.836,0 -5.135,2.299 -5.135,5.134 0,2.032 1.184,3.784 2.897,4.616 -0.389,3.156 -0.257,6.432 0.477,9.714 0.21,0.938 0.466,1.854 0.761,2.749 -3.129,4.578 -4.962,10.113 -4.962,16.076 0,0.218 0.01,0.433 0.015,0.648 -5.288,-2.651 -9.253,-6.83 -9.253,-13.406 0,-14.549 8.688,-27.06 21.155,-32.654 C -0.018,-0.079 -0.01,-0.039 0,0"
+               id="path2926"
+               style="fill:#1287b1;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g><g
+      transform="translate(155.8091,682.1509)"
+      id="g2928"><path
+               d="m 0,0 c -1.611,-4.582 -5.967,-7.873 -11.1,-7.873 -2.746,0 -5.265,0.947 -7.267,2.521 -4.127,-3.214 -7.242,-7.595 -9.144,-12.494 0.853,-0.919 1.765,-1.785 2.723,-2.599 2.888,-0.752 5.917,-1.155 9.042,-1.155 12.57,0 23.621,6.49 30.004,16.295 C 10.014,-2.365 5.09,-0.466 0,0"
+               id="path2930"
+               style="fill:#1287b1;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></g></g><g
+      id="g2932"><g
+           clip-path="url(#clipPath2936)"
+           id="g2934"><g
+             id="g2940"><g
+               id="g2942" /><g
+      id="g2948"><g
+                 clip-path="url(#clipPath2944)"
+                 id="g2950"><g
+                   transform="translate(156.2222,685.187)"
+                   id="g2952"><path
+                     d="M 0,0 10.879,2.595 -0.041,3.152 8.846,9.944 -1.238,6.329 5.615,15.826 -3.85,9.535 l 3.309,11.117 -6.5,-9.163 -0.148,11.579 -4.277,-10.314 -3.566,10.437 0.193,-12.295 -6.163,11.021 3.335,-11.702 -9.997,7.27 7.831,-9.84 -12.411,4.564 9.795,-7.247 -12.56,-0.386 12.842,-3.314 -12.853,-2.779 12.687,-0.92 -10.699,-6.851 11.017,3.994 -7.644,-9.681 9.659,7.79 -3.478,-12.991 7.457,10.572 -1.045,-12.486 4.233,11.319 3.603,-11.897 0.876,11.933 5.348,-10.181 -3.16,11.645 9.79 [...]
+                     id="path2954"
+                     style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></g></g></g></g></g><g
+      id="g2956"><g
+           clip-path="url(#clipPath2960)"
+           id="g2958"><g
+             id="g2964"><g
+               id="g2966" /><g
+      id="g2972"><g
+                 clip-path="url(#clipPath2968)"
+                 id="g2974"
+                 style="opacity:0.35000604"><g
+                   transform="translate(40.4033,664.3701)"
+                   id="g2976"><path
+                     d="m 0,0 c 33.74,33.739 60.687,44.155 85.143,48.91 3.236,0.629 3.848,7.7 3.848,7.7 0,0 0.453,-5.208 2.718,-5.887 2.264,-0.68 5.207,8.152 5.207,8.152 0,0 -2.717,-7.926 0,-8.379 2.718,-0.453 7.699,7.699 7.699,7.699 0,0 -2.037,-7.019 -0.678,-7.472 1.357,-0.453 8.15,10.189 8.15,10.189 0,0 -4.076,-7.019 -0.226,-7.699 3.851,-0.679 9.467,4.791 9.467,4.791 0,0 -4.416,-5.005 -2.448,-5.696 8.379,-2.945 15.159,7.945 15.159,7.945 0,0 -1.571,-4.775 -5.647,-9.983 8.83,-2.264 15.38 [...]
+                     id="path2978"
+                     style="fill:#373535;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></g></g></g><g
+      transform="translate(41.7861,666.9326)"
+      id="g2980"><path
+               d="m 0,0 c 33.74,33.739 60.686,44.154 85.142,48.91 3.237,0.629 3.849,7.699 3.849,7.699 0,0 0.452,-5.209 2.718,-5.887 2.264,-0.679 5.207,8.151 5.207,8.151 0,0 -2.717,-7.926 0,-8.378 2.718,-0.452 7.699,7.699 7.699,7.699 0,0 -2.037,-7.019 -0.68,-7.472 1.359,-0.453 8.152,10.19 8.152,10.19 0,0 -4.076,-7.02 -0.226,-7.699 3.849,-0.68 9.467,4.79 9.467,4.79 0,0 -4.416,-5.005 -2.448,-5.696 8.379,-2.944 15.157,7.945 15.157,7.945 0,0 -1.571,-4.775 -5.645,-9.983 8.83,-2.265 15.389,11.0 [...]
+               id="path2982"
+               style="fill:#373535;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></g></g><g
+      id="g2984"><g
+           clip-path="url(#clipPath2988)"
+           id="g2986"><g
+             id="g2992"><g
+               id="g2994" /><g
+      id="g3000"><g
+                 clip-path="url(#clipPath2996)"
+                 id="g3002"
+                 style="opacity:0.35000604"><g
+                   transform="translate(39.5195,660.6802)"
+                   id="g3004"><path
+                     d="m 0,0 c 17.832,-8.945 34.137,1.358 54.686,-4.433 15.623,-4.404 34.645,-9.833 60.458,-6.096 25.814,3.735 47.893,14.944 58.424,34.985 3.283,8.943 16.642,-2.039 16.642,-2.039 0,0 -9.736,4.076 -9.509,2.151 0.226,-1.924 14.605,-8.604 14.605,-8.604 0,0 -13.021,4.076 -12.228,1.019 0.793,-3.057 16.302,-15.285 16.302,-15.285 0,0 -17.548,13.36 -19.019,11.549 -1.473,-1.812 7.472,-9.172 7.472,-9.172 0,0 -14.832,9.172 -20.041,6.467 -3.746,-1.943 15.399,-14.506 15.399,-14.506 0 [...]
+                     id="path3006"
+                     style="fill:#373535;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></g></g></g><g
+      transform="translate(38.8408,662.7183)"
+      id="g3008"><path
+               d="m 0,0 c 17.832,-8.945 34.136,1.358 54.685,-4.434 15.623,-4.402 34.646,-9.832 60.46,-6.095 25.814,3.736 47.891,14.945 58.422,34.984 3.283,8.944 16.642,-2.037 16.642,-2.037 0,0 -9.736,4.075 -9.509,2.15 0.226,-1.924 14.605,-8.604 14.605,-8.604 0,0 -13.021,4.075 -12.228,1.018 0.793,-3.056 16.304,-15.284 16.304,-15.284 0,0 -17.55,13.361 -19.021,11.548 -1.471,-1.811 7.473,-9.17 7.473,-9.17 0,0 -14.833,9.17 -20.041,6.467 -3.747,-1.944 15.398,-14.506 15.398,-14.506 0,0 -12.455, [...]
+               id="path3010"
+               style="fill:#373535;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></g></g></g></g></svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/MongoDB_Leaf_FullColor_RGB.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/MongoDB_Leaf_FullColor_RGB.svg
new file mode 100644
index 0000000..285408b
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/MongoDB_Leaf_FullColor_RGB.svg
@@ -0,0 +1,12 @@
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 216.56 448.5">
+  <defs>
+    <style>.cls-1{fill:#10aa50;}.cls-2{fill:#b8c4c2;}.cls-3{fill:#12924f;}</style>
+  </defs>
+  <title>MongoDB_Leaf_FullColor_RGB</title>
+  <path class="cls-1"
+        d="M202.8,179.68c-23-101.47-71-128.49-83.18-147.59C113,21.7,106.25,5.91,106.25,5.91c-.66,9-1.83,14.7-9.51,21.54C81.36,41.16,16,94.42,10.51,209.72c-5.12,107.5,79,173.8,90.18,180.65,8.54,4.2,19,.08,24-3.77,40.54-27.84,96-102.07,78.06-206.92"/>
+  <path class="cls-2"
+        d="M109.73,333.11c-2.11,26.62-3.63,42.11-9,57.29,0,0,3.54,25.33,6,52.17l8.77,0a488.62,488.62,0,0,1,9.57-56.2C113.71,380.8,110.16,356.46,109.73,333.11Z"/>
+  <path class="cls-3"
+        d="M125.06,386.39h0c-11.48-5.3-14.8-30.13-15.31-53.28A1090.8,1090.8,0,0,0,112.2,218.4c-.6-20.07.3-185.92-4.94-210.2,2.12,4.75,7.24,15.91,12.36,23.88,12.23,19.11,60.19,46.13,83.17,147.61C220.7,284.27,165.57,358.37,125.06,386.39Z"/>
+</svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/NEO4J.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/NEO4J.svg
new file mode 100644
index 0000000..d266818
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/NEO4J.svg
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+    xmlns="http://www.w3.org/2000/svg"
+    version="1.1"
+    x="0px"
+    y="0px"
+    width="42px"
+    height="42px"
+    viewBox="0 0 42 42"
+    enable-background="new 0 0 42 42"
+    xml:space="preserve"
+>
+  <ellipse
+      fill="#3F6380"
+      cx="20.375"
+      cy="19.542"
+      rx="13.041"
+      ry="13.124"
+  />
+  <ellipse
+      fill="#1DB24B"
+      stroke="#FFFFFF"
+      stroke-width="0.5"
+      stroke-miterlimit="10"
+      cx="27.458"
+      cy="16.333"
+      rx="7.208"
+      ry="7.167"
+  />
+  <ellipse
+      fill="#1DB24B"
+      stroke="#FFFFFF"
+      stroke-width="0.5"
+      stroke-miterlimit="10"
+      cx="18.042"
+      cy="30.582"
+      rx="5.875"
+      ry="5.834"
+  />
+  <ellipse
+      fill="#1DB24B"
+      stroke="#FFFFFF"
+      stroke-width="0.5"
+      stroke-miterlimit="10"
+      cx="13.092"
+      cy="9.583"
+      rx="4.075"
+      ry="4"
+  />
+  <ellipse
+      fill="#FFFFFF"
+      cx="18.99"
+      cy="8.667"
+      rx="1.052"
+      ry="1.083"
+  />
+  <ellipse
+      fill="#FFFFFF"
+      cx="21.705"
+      cy="9.583"
+      rx="1.052"
+      ry="1.083"
+  />
+  <ellipse
+      fill="#FFFFFF"
+      cx="11.928"
+      cy="15.229"
+      rx="1.052"
+      ry="1.083"
+  />
+  <ellipse
+      fill="#FFFFFF"
+      cx="12.115"
+      cy="18.062"
+      rx="1.052"
+      ry="1.083"
+  />
+  <ellipse
+      fill="#FFFFFF"
+      cx="12.761"
+      cy="21.105"
+      rx="1.052"
+      ry="1.083"
+  />
+  <ellipse
+      fill="#FFFFFF"
+      cx="14.22"
+      cy="23.834"
+      rx="1.052"
+      ry="1.082"
+  />
+  <ellipse
+      fill="#FFFFFF"
+      cx="27.199"
+      cy="25.334"
+      rx="1.053"
+      ry="1.082"
+  />
+  <ellipse
+      fill="#FFFFFF"
+      cx="25.304"
+      cy="27.584"
+      rx="1.052"
+      ry="1.082"
+  />
+
+  <rect
+      x="4.202"
+      y="10.417"
+      fill="#3D6380"
+      width="7.481"
+      height="1.236"
+  />
+  <rect
+      x="10.448"
+      y="4.171"
+      fill="#3D6380"
+      width="1.235"
+      height="7.482"
+  />
+  <rect
+      x="1.095"
+      y="6.394"
+      transform="matrix(-0.707 -0.7072 0.7072 -0.707 7.0628 16.9487)"
+      fill="#3D6380"
+      width="11.894"
+      height="1.234"
+  />
+</svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/Test_tube_icon.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/Test_tube_icon.svg
new file mode 100644
index 0000000..266f90d
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/Test_tube_icon.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   width="24"
+   height="24"
+   version="1.1"
+   >
+  <g
+     transform="translate(-379.90478,129.88361)">
+    <path
+       style="fill:#5cc0c4;fill-opacity:1;stroke-width:0.0437786"
+       d="m 400.07699,-117.81773 -0.39819,0.34509 c -1.13507,0.98367 -2.23636,2.42927 -2.81167,3.69065 -1.27231,2.78963 -0.50795,5.54973 1.68525,6.08582 0.43462,0.10623 1.30101,-4.1e-4 1.76881,-0.21754 0.51649,-0.23977 1.16437,-0.90075 1.41535,-1.44397 0.28076,-0.60767 0.31901,-1.68083 0.0927,-2.60049 -0.0986,-0.40071 -0.45531,-1.37556 -0.79273,-2.1664 -0.6587,-1.54387 -0.93017,-2.46567 -0.94818,-3.21964 z m -1.6169,3.43608 c 0.046,-0.002 0.0743,0.009 0.0748,0.0382 0.004,0.20828 0.1031,0 [...]
+        />
+    <path
+         style="opacity:1;fill:#5cc0c4;fill-opacity:1;stroke:none;stroke-width:0.131336;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+       d="m 388.59957,-118.30002 -4.48567,4.5536 c -0.97778,1.02368 -0.97778,2.68339 0,3.70707 0.9778,1.02367 2.5631,1.02367 3.5409,0 l 7.00201,-7.60965 z"
+        />
+    <path
+       d="m 395.77524,-127.88361 -0.58121,0.60849 -12.21064,12.78368 c -1.43815,1.50567 -1.43815,3.97293 0,5.4786 1.43818,1.50564 3.79483,1.50564 5.23301,0 l 12.79185,-13.39217 z m 0,2.43395 2.90817,3.04465 -11.62943,12.1752 c -0.80996,0.84795 -2.09821,0.84795 -2.90817,0 -0.80995,-0.84798 -0.80995,-2.19668 0,-3.04465 z"
+       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;ove [...]
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/beam-logo.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/beam-logo.svg
new file mode 100644
index 0000000..86d0033
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/beam-logo.svg
@@ -0,0 +1,19 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 114.07453 153.42"><defs><style>.cls-1{isolation:isolate;}.cls-2{opacity:0.15;}.cls-12,.cls-19,.cls-2{mix-blend-mode:multiply;}.cls-3{fill:url(#linear-gradient);}.cls-16,.cls-17,.cls-4,.cls-9{fill:#fff;}.cls-5{fill:#fee900;}.cls-6{fill:url(#linear-gradient-2);}.cls-7{fill:url(#linear-gradient-3);}.cls-8{opacity:0.65;fill:url(#linear-gradient-4);}.cls-9{opacity:0.9;}.cls-10,.cls-11{opacity:0.75; [...]
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/bookmark-add.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/bookmark-add.svg
new file mode 100644
index 0000000..69a2e3e
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/bookmark-add.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="24"
+   height="24"
+   viewBox="0 0 24 24"
+   >
+  <path
+     d="M 18.135758,0.71428569 A 2.4525114,2.5132275 0 0 1 20.588271,3.2275132 V 23.333333 L 12.004479,19.513227 3.4206899,23.333333 V 3.2275132 c 0,-1.4074074 1.1036301,-2.51322751 2.4525113,-2.51322751 H 18.135758 M 10.778224,5.7407406 V 8.2539681 H 8.3257128 v 2.5132269 h 2.4525112 v 2.513228 h 2.452513 v -2.513228 h 2.452512 V 8.2539681 H 13.230737 V 5.7407406 Z"
+     style="fill:#0e3a5a;fill-opacity:1;stroke-width:1.24134" />
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/bookmark.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/bookmark.svg
new file mode 100644
index 0000000..dac777a
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/bookmark.svg
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg            xmlns:svg="http://www.w3.org/2000/svg"   xmlns="http://www.w3.org/2000/svg"          /></svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/data_orch.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/data_orch.svg
new file mode 100644
index 0000000..ab6c680
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/data_orch.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   x="0px"
+   y="0px"
+   viewBox="0 0 16 16"
+   enable-background="new 0 0 16 16"
+   >
+<polygon
+   points="4.4,8 1,8 1,8.4 4.3,8.4 3.1,11.7 12.4,8.4 15,8.4 15,8 12.6,8 3.1,4.6 "
+   transform="matrix(0.83333086,-0.76443337,0.72622646,0.87717255,-4.1160486,6.084217)"
+   style="fill:#0e3a5a" />
+</svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/database.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/database.svg
new file mode 100644
index 0000000..d602739
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/database.svg
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 20.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1"  xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
+     width="16px" height="16px" viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" >
+<style type="text/css">
+	.st0{fill:#FFFFFF;}
+	.st1{fill:#3D6380;}
+</style>
+  <g>
+	<path class="st0" d="M12.2,11.2v2c0,0.1-0.3,0.3-1,0.5C10.4,13.9,9.3,14,8,14c-2.8,0-4.1-0.6-4.2-0.7v-2.1c0.5,0.3,2.1,0.6,4.3,0.6
+		C10.3,11.8,11.6,11.5,12.2,11.2z"/>
+    <path class="st0" d="M12.2,7.6v2.1c-0.2,0.1-0.5,0.2-0.9,0.3c-0.8,0.2-2,0.3-3.2,0.3c-2.1,0-3.6-0.3-4.2-0.6V7.6
+		c0.5,0.3,2.1,0.6,4.2,0.6C10.3,8.2,11.7,7.9,12.2,7.6z"/>
+    <path class="st0" d="M12.2,4.3v1.9c-0.2,0.1-0.5,0.2-0.9,0.3c-0.8,0.2-2,0.3-3.2,0.3c-2.1,0-3.6-0.3-4.2-0.7V4.3
+		c0.5,0.3,2.1,0.6,4.2,0.6C10.3,4.9,11.7,4.5,12.2,4.3z"/>
+    <path class="st0" d="M12.2,2.7v0.2c-0.6,0.3-2,0.6-4.1,0.6c-2.1,0-3.6-0.3-4.2-0.7V2.7C4.1,2.5,5.4,2,8,2C10.5,2,12,2.5,12.2,2.7z"
+    />
+    <path class="st1" d="M8,0.5c-2.1,0-5.6,0.3-5.6,2.1v10.7c0,2.1,4.3,2.2,5.7,2.2c1.3,0,2.6-0.1,3.5-0.4c1.4-0.4,2.1-1,2.1-1.8V2.6
+		C13.6,0.7,9.7,0.5,8,0.5z M3.8,2.7C4.1,2.5,5.4,2,8,2c2.5,0,4,0.5,4.2,0.7v0.2c-0.6,0.3-2,0.6-4.1,0.6c-2.1,0-3.6-0.3-4.2-0.7V2.7z
+		 M3.8,4.3c0.5,0.3,2.1,0.6,4.2,0.6c2.2,0,3.6-0.4,4.1-0.6v1.9c-0.2,0.1-0.5,0.2-0.9,0.3c-0.8,0.2-2,0.3-3.2,0.3
+		c-2.1,0-3.6-0.3-4.2-0.7V4.3z M3.8,7.6c0.5,0.3,2.1,0.6,4.2,0.6c2.2,0,3.6-0.4,4.1-0.6v2.1c-0.2,0.1-0.5,0.2-0.9,0.3
+		c-0.8,0.2-2,0.3-3.2,0.3c-2.1,0-3.6-0.3-4.2-0.6V7.6z M12.2,13.2c0,0.1-0.3,0.3-1,0.5C10.4,13.9,9.3,14,8,14
+		c-2.8,0-4.1-0.6-4.2-0.7v-2.1c0.5,0.3,2.1,0.6,4.3,0.6c2.2,0,3.6-0.3,4.1-0.6V13.2z"/>
+</g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/dataset.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/dataset.svg
new file mode 100644
index 0000000..5fc1fda
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/dataset.svg
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
+<rect id="rect1408_7_" x="3" y="13" fill="#5CC1C5" stroke="#5CC1C5" stroke-linecap="round" stroke-linejoin="round" width="3" height="3"/>
+<rect id="rect1408_6_" x="8" y="13" fill="#5CC1C5" stroke="#5CC1C5" stroke-linecap="round" stroke-linejoin="round" width="3" height="3"/>
+<rect id="rect1408_5_" x="13" y="13" fill="#5CC1C5" stroke="#5CC1C5" stroke-linecap="round" stroke-linejoin="round" width="3" height="3"/>
+<rect id="rect1408_4_" x="18" y="13" fill="#5CC1C5" stroke="#5CC1C5" stroke-linecap="round" stroke-linejoin="round" width="3" height="3"/>
+<rect id="rect1408_11_" x="3" y="18" fill="#5CC1C5" stroke="#5CC1C5" stroke-linecap="round" stroke-linejoin="round" width="3" height="3"/>
+<rect id="rect1408_10_" x="8" y="18" fill="#5CC1C5" stroke="#5CC1C5" stroke-linecap="round" stroke-linejoin="round" width="3" height="3"/>
+<rect id="rect1408_9_" x="13" y="18" fill="#5CC1C5" stroke="#5CC1C5" stroke-linecap="round" stroke-linejoin="round" width="3" height="3"/>
+<rect id="rect1408_8_" x="18" y="18" fill="#5CC1C5" stroke="#5CC1C5" stroke-linecap="round" stroke-linejoin="round" width="3" height="3"/>
+<rect id="rect1408_19_" x="3" y="3" transform="matrix(-0.7072 0.707 -0.707 -0.7072 10.8635 4.5009)" fill="none" stroke="#5CC1C5" stroke-linecap="round" stroke-linejoin="round" width="3" height="3"/>
+<rect id="rect1408_17_" x="13" y="3" fill="#5CC1C5" stroke="#5CC1C5" stroke-linecap="round" stroke-linejoin="round" width="3" height="3"/>
+<rect id="rect1408_16_" x="18" y="3" fill="#5CC1C5" stroke="#5CC1C5" stroke-linecap="round" stroke-linejoin="round" width="3" height="3"/>
+<rect id="rect1408_14_" x="8" y="8" fill="#5CC1C5" stroke="#5CC1C5" stroke-linecap="round" stroke-linejoin="round" width="3" height="3"/>
+<rect id="rect1408_13_" x="13" y="8" fill="#5CC1C5" stroke="#5CC1C5" stroke-linecap="round" stroke-linejoin="round" width="3" height="3"/>
+<rect id="rect1408_12_" x="18" y="8" fill="#5CC1C5" stroke="#5CC1C5" stroke-linecap="round" stroke-linejoin="round" width="3" height="3"/>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/delete.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/delete.svg
new file mode 100644
index 0000000..e54a422
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/delete.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="24"
+   viewBox="0 0 24 24"
+   height="24">
+  <path
+     fill="none"
+     d="M0 0h24v24H0z" />
+  <path
+     style="fill:#0e3a5a;fill-opacity:1"
+     d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z" />
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/developer.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/developer.svg
new file mode 100644
index 0000000..5728238
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/developer.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"/></svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/folder-add.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/folder-add.svg
new file mode 100644
index 0000000..8502494
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/folder-add.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="24"
+   height="24"
+   viewBox="0 0 24 24"
+   >
+  <path
+     d="M 9.8,3 12,5.2500001 h 8.8 A 2.2,2.2500001 0 0 1 23,7.5000002 V 18.750001 A 2.2,2.2500001 0 0 1 20.8,21 H 3.2 C 1.979,21 1,19.9875 1,18.750001 V 5.2500001 C 1,4.0012501 1.979,3 3.2,3 h 6.6 m 5.5,5.6250003 V 12 H 12 v 2.249999 h 3.3 V 17.625 h 2.2 v -3.375001 h 3.3 V 12 H 17.5 V 8.6250003 Z"
+     style="fill:#0e3a5a;fill-opacity:1;stroke-width:1.11245" />
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/folder.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/folder.svg
new file mode 100644
index 0000000..bf19e1f
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/folder.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   height="24"
+   viewBox="0 0 24 24"
+   width="24"
+   version="1.1"
+   >
+  <path
+     d="M0 0h24v24H0z"
+     fill="none"
+      />
+  <path
+     d="m 20.799999,5.2499999 h -8.8 L 9.8,3 H 3.2 C 1.99,3 1.0110001,4.0124999 1.0110001,5.2499999 L 1,18.749999 C 1,19.987499 1.99,21 3.2,21 H 20.799999 C 22.01,21 23,19.987499 23,18.749999 V 7.5000001 C 23,6.2625 22.01,5.2499999 20.799999,5.2499999 Z m 0,13.4999991 H 3.2 V 7.5000001 h 17.599999 z"
+     style="fill:#0e3a5a;fill-opacity:1;stroke-width:1.11243" />
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/home.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/home.svg
new file mode 100644
index 0000000..bcd8309
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/home.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="24"
+   height="24"
+   viewBox="0 0 24 24"
+   >
+  <path
+     d="m 10,22 v -7.058824 h 4 V 22 h 5 v -9.411765 h 3 L 12,2 2,12.588235 H 5 V 22 Z"
+     style="fill:#0e3a5a;fill-opacity:1;stroke-width:1.08465" />
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/logo_icon.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/logo_icon.svg
new file mode 100644
index 0000000..1855c5c
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/logo_icon.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   viewBox="0 0 48.000001 48.000002"
+   height="48pt"
+   width="48pt"
+   version="1.1">
+  <path
+     style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-st [...]
+     d="m 40.722651,30.877314 c 0,9.460954 -7.669665,17.130619 -17.130619,17.130619 -9.461195,0 -17.130858,-7.669665 -17.130858,-17.130619 0,-9.460952 7.669663,-17.130616 17.130858,-17.130616 9.460954,0 17.130619,7.669664 17.130619,17.130616"
+      />
+  <path
+     style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-st [...]
+     d="m 27.151703,37.971659 c -2.366321,-2.670082 -3.42083,-6.253141 -2.976257,-10.096881 h 0.01132 l 1.963872,-13.93701 0.391377,-2.835928 4.837589,0.366587 -6.8561,-11.33552696 -8.485395,10.17318596 4.729754,0.358402 -0.490547,3.405664 -0.442166,3.107679 -1.3756,9.922857 h -2.33e-4 l -7.23e-4,0.0057 -0.106384,0.768315 h 0.03249 c -0.440721,5.246056 1.122626,10.164758 4.451748,13.921122 1.99468,2.250547 4.478941,3.914505 7.275398,4.924242 2.494611,-1.027791 4.69124,-2.627965 6.430538, [...]
+      />
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/metadata.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/metadata.svg
new file mode 100644
index 0000000..7cfd49b
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/metadata.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns="http://www.w3.org/2000/svg"
+   viewBox="0 0 24 24"
+   height="24"
+   width="24"
+   version="1.1">
+  <path
+     style="fill:#0e3a5a;fill-opacity:1;stroke-width:1.33201"
+     d="m 8.0396825,5.3756614 h 7.9920635 a 2.6640211,2.6640211 0 0 1 2.664021,2.6640211 V 18.695767 H 16.031746 V 8.0396825 H 13.367725 V 17.363756 H 10.703704 V 8.0396825 H 8.0396825 V 18.695767 H 5.3756614 V 8.0396825 A 2.6640211,2.6640211 0 0 1 8.0396825,5.3756614 M 2.7116402,0.04761905 H 21.359789 A 2.6640211,2.6640211 0 0 1 24.02381,2.7116402 V 21.359789 A 2.6640211,2.6640211 0 0 1 21.359789,24.02381 H 2.7116402 A 2.6640211,2.6640211 0 0 1 0.04761905,21.359789 V 2.7116402 A 2.66402 [...]
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/navigate-back.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/navigate-back.svg
new file mode 100644
index 0000000..c59d1aa
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/navigate-back.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   height="24"
+   viewBox="0 0 24 24"
+   width="24"
+   version="1.1"
+   >
+  <path
+     d="M0 0h24v24H0z"
+     fill="none"
+      />
+  <path
+     d="M 12,7 V 2 L 2,12 12,22 V 17 H 22 V 7 Z"
+     style="fill:#0e3a5a;fill-opacity:1;stroke-width:1.25" />
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/navigate-forward.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/navigate-forward.svg
new file mode 100644
index 0000000..b84d177
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/navigate-forward.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   height="24"
+   viewBox="0 0 24 24"
+   width="24"
+   version="1.1"
+   >
+  <path
+     d="M0 0h24v24H0z"
+     fill="none"
+      />
+  <path
+     d="M 12,7 V 2 L 22,12 12,22 V 17 H 2 V 7 Z"
+     style="fill:#0e3a5a;fill-opacity:1;stroke-width:1.25" />
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/navigate-up.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/navigate-up.svg
new file mode 100644
index 0000000..378d2a0
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/navigate-up.svg
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   height="24"
+   viewBox="0 0 24 24"
+   width="24"
+   version="1.1"
+   >
+  <path
+     d="M0 0h24v24H0z"
+     fill="none"
+      />
+  <path
+     d="M 7,12 H 2 L 12,2 22,12 H 17 V 22 H 7 Z"
+     style="fill:#0e3a5a;fill-opacity:1;stroke-width:1.25" />
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/neo4j_logo.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/neo4j_logo.svg
new file mode 100644
index 0000000..cf32559
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/neo4j_logo.svg
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns="http://www.w3.org/2000/svg"
+   viewBox="0 0 533.33331 533.33331"
+   height="533.33331"
+   width="533.33331"
+   xml:space="preserve"
+   version="1.1">
+  <g
+     transform="matrix(1.3333333,0,0,-1.3333333,0,533.33333)"
+     id="g3726"><g
+       transform="scale(0.1)"
+       id="g3728">
+  <path
+         style="fill:#208cc7;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         d="m 3255.98,2150.96 c 0,-717.72 -581.83,-1299.55 -1299.55,-1299.55 -717.73,0 -1299.559,581.83 -1299.559,1299.55 0,717.72 581.829,1299.55 1299.559,1299.55 717.72,0 1299.55,-581.83 1299.55,-1299.55" /><path
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         d="m 1233.6,2576.83 c 0,-57.39 -46.56,-103.96 -103.96,-103.96 -57.43,0 -103.97,46.57 -103.97,103.96 0,57.45 46.54,103.97 103.97,103.97 57.4,0 103.96,-46.52 103.96,-103.97" /><path
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         d="m 1250.77,2291.94 c 0,-57.39 -46.56,-103.96 -103.96,-103.96 -57.43,0 -103.97,46.57 -103.97,103.96 0,57.45 46.54,103.96 103.97,103.96 57.4,0 103.96,-46.51 103.96,-103.96" /><path
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         d="m 1314.42,1989.87 c 0,-57.39 -46.56,-103.96 -103.96,-103.96 -57.43,0 -103.97,46.57 -103.97,103.96 0,57.45 46.54,103.97 103.97,103.97 57.4,0 103.96,-46.52 103.96,-103.97" /><path
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         d="m 1457.04,1719.15 c 0,-57.38 -46.56,-103.96 -103.96,-103.96 -57.43,0 -103.97,46.58 -103.97,103.96 0,57.46 46.54,103.97 103.97,103.97 57.4,0 103.96,-46.51 103.96,-103.97" /><path
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         d="m 2569.19,1340.59 c 0,-57.38 -46.56,-103.96 -103.97,-103.96 -57.43,0 -103.96,46.58 -103.96,103.96 0,57.46 46.53,103.97 103.96,103.97 57.41,0 103.97,-46.51 103.97,-103.97" /><path
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         d="m 2757.95,1564.02 c 0,-57.38 -46.56,-103.96 -103.97,-103.96 -57.43,0 -103.96,46.58 -103.96,103.96 0,57.46 46.53,103.97 103.96,103.97 57.41,0 103.97,-46.51 103.97,-103.97" /><path
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         d="m 2210.13,3143.99 c 0,-57.38 -46.56,-103.96 -103.96,-103.96 -57.43,0 -103.97,46.58 -103.97,103.96 0,57.45 46.54,103.97 103.97,103.97 57.4,0 103.96,-46.52 103.96,-103.97" /><path
+         style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         d="m 1937.4,3239.81 c 0,-57.39 -46.56,-103.96 -103.96,-103.96 -57.43,0 -103.97,46.57 -103.97,103.96 0,57.45 46.54,103.97 103.97,103.97 57.4,0 103.96,-46.52 103.96,-103.97" /><path
+         style="fill:#59b734;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         d="m 3366.55,2460.28 c 0,-382.48 -310.06,-692.53 -692.53,-692.53 -382.48,0 -692.53,310.05 -692.53,692.53 0,382.47 310.05,692.52 692.53,692.52 382.47,0 692.53,-310.05 692.53,-692.52" /><path
+         style="fill:none;stroke:#ffffff;stroke-width:50;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+         d="m 3366.55,2460.28 c 0,-382.48 -310.06,-692.53 -692.53,-692.53 -382.48,0 -692.53,310.05 -692.53,692.53 0,382.47 310.05,692.52 692.53,692.52 382.47,0 692.53,-310.05 692.53,-692.52 z" /><path
+         style="fill:#59b734;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         d="m 2291.31,1048.58 c 0,-312.932 -253.68,-566.611 -566.61,-566.611 -312.93,0 -566.62,253.679 -566.62,566.611 0,312.93 253.69,566.61 566.62,566.61 312.93,0 566.61,-253.68 566.61,-566.61" /><path
+         style="fill:none;stroke:#ffffff;stroke-width:50;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+         d="m 2291.31,1048.58 c 0,-312.932 -253.68,-566.611 -566.61,-566.611 -312.93,0 -566.62,253.679 -566.62,566.611 0,312.93 253.69,566.61 566.62,566.61 312.93,0 566.61,-253.68 566.61,-566.61 z" /><path
+         style="fill:#59b734;fill-opacity:1;fill-rule:nonzero;stroke:none"
+         d="m 1636.53,3156.59 c 0,-208.63 -169.12,-377.75 -377.74,-377.75 -208.63,0 -377.747,169.12 -377.747,377.75 0,208.62 169.117,377.74 377.747,377.74 208.62,0 377.74,-169.12 377.74,-377.74" /><path
+         style="fill:none;stroke:#ffffff;stroke-width:50;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+         d="m 1636.53,3156.59 c 0,-208.63 -169.12,-377.75 -377.74,-377.75 -208.63,0 -377.747,169.12 -377.747,377.75 0,208.62 169.117,377.74 377.747,377.74 208.62,0 377.74,-169.12 377.74,-377.74 z" /></g></g>
+</svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/partition_schema.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/partition_schema.svg
new file mode 100644
index 0000000..ff2847c
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/partition_schema.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="24"
+   height="24"
+   viewBox="0 0 24 24"
+   >
+  <path
+     d="m 7.809907,1.8427453 v 1.5231025 h 2.735338 L 7.1182638,6.7928283 8.1906829,7.8667344 11.617664,4.4397539 V 7.173604 h 1.5231 V 1.8427453 Z"
+     style="stroke-width:0.761551;fill:#ff00ff;fill-opacity:1" />
+  <path
+     d="m 13.079566,16.438258 h -1.454993 v 2.613018 L 8.3508423,15.777544 7.3249595,16.802006 10.598691,20.075738 H 7.9870944 v 1.45499 h 5.0924716 z"
+     style="stroke-width:0.727495;fill:#ff00ff;fill-opacity:1" />
+  <path
+     d="m 14.248748,15.614046 -1.128173,-1.118932 2.009489,-2.026083 -5.055986,0.02079 -0.0077,-1.583283 5.055986,-0.02079 -2.024983,-2.0083941 1.118933,-1.1281716 3.948603,3.9162617 z"
+     style="stroke-width:0.794478;fill:#ff00ff;fill-opacity:1" />
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/pipeline-log.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/pipeline-log.svg
new file mode 100644
index 0000000..b377180
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/pipeline-log.svg
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="24px" height="24px" viewBox="-3 -2 24 24" enable-background="new -3 -2 24 24" xml:space="preserve">
+<defs>
+</defs>
+<path fill="#0F3B5A" d="M0,0v17.992h5.076c0-0.517,0-0.956,0-1.418H1.503V1.418h12.029V9.93c0.478,0,1.025,0,1.503,0V0H0z"/>
+<path fill="#0F3B5A" d="M9.22,18.102c-0.435,0-0.824-0.066-1.164-0.203c-0.339-0.138-0.627-0.323-0.863-0.562
+	c-0.236-0.238-0.415-0.522-0.537-0.854c-0.123-0.332-0.184-0.696-0.184-1.093c0-0.393,0.063-0.751,0.184-1.081
+	c0.124-0.33,0.301-0.614,0.537-0.856c0.233-0.238,0.523-0.426,0.863-0.561c0.339-0.134,0.727-0.201,1.164-0.201
+	c0.435,0,0.821,0.067,1.164,0.201c0.338,0.135,0.627,0.322,0.862,0.561c0.234,0.24,0.416,0.526,0.536,0.856
+	c0.123,0.33,0.185,0.691,0.185,1.081c0,0.398-0.062,0.761-0.185,1.093c-0.123,0.33-0.3,0.616-0.536,0.854
+	c-0.235,0.238-0.524,0.426-0.862,0.562C10.044,18.035,9.656,18.102,9.22,18.102z M9.22,17.208c0.267,0,0.497-0.054,0.694-0.159
+	s0.359-0.244,0.484-0.416s0.218-0.365,0.278-0.582c0.06-0.214,0.09-0.434,0.09-0.661c0-0.218-0.03-0.437-0.09-0.654
+	c-0.061-0.219-0.153-0.413-0.278-0.582c-0.125-0.17-0.287-0.307-0.484-0.412c-0.197-0.106-0.428-0.16-0.694-0.16
+	c-0.266,0-0.497,0.054-0.694,0.16c-0.197,0.105-0.357,0.242-0.484,0.412c-0.125,0.169-0.221,0.363-0.278,0.582
+	c-0.062,0.218-0.09,0.437-0.09,0.654c0,0.225,0.031,0.445,0.09,0.661c0.058,0.217,0.153,0.41,0.278,0.582
+	c0.126,0.172,0.288,0.311,0.484,0.416C8.723,17.154,8.954,17.208,9.22,17.208z"/>
+<path fill="#0F3B5A" d="M17.998,17.696c0,0.775-0.229,1.353-0.689,1.732C16.85,19.809,16.188,20,15.324,20
+	c-0.273,0-0.549-0.026-0.825-0.08c-0.276-0.053-0.529-0.143-0.757-0.267c-0.229-0.127-0.421-0.292-0.573-0.496
+	c-0.155-0.204-0.246-0.457-0.274-0.755h1.199c0.035,0.159,0.096,0.287,0.181,0.388c0.084,0.101,0.184,0.177,0.301,0.232
+	c0.114,0.056,0.244,0.094,0.385,0.109c0.141,0.015,0.287,0.023,0.44,0.023c0.485,0,0.839-0.112,1.065-0.336
+	c0.224-0.226,0.334-0.55,0.334-0.974v-0.783h-0.02c-0.169,0.283-0.397,0.507-0.69,0.664c-0.291,0.159-0.605,0.238-0.941,0.238
+	c-0.436,0-0.806-0.07-1.11-0.214c-0.305-0.143-0.559-0.339-0.759-0.586c-0.198-0.248-0.346-0.534-0.437-0.859
+	c-0.092-0.324-0.138-0.67-0.138-1.042c0-0.346,0.057-0.671,0.17-0.983c0.112-0.311,0.274-0.585,0.483-0.818
+	c0.211-0.234,0.471-0.422,0.774-0.563c0.306-0.139,0.651-0.207,1.037-0.207c0.343,0,0.659,0.066,0.946,0.202
+	c0.288,0.134,0.509,0.349,0.664,0.64h0.02v-0.706H18L17.998,17.696L17.998,17.696z M15.336,17.069c0.267,0,0.493-0.051,0.679-0.152
+	c0.187-0.104,0.338-0.239,0.454-0.408c0.118-0.169,0.199-0.361,0.253-0.576c0.052-0.215,0.078-0.43,0.078-0.651
+	c0-0.218-0.028-0.43-0.085-0.635c-0.055-0.204-0.143-0.387-0.257-0.546c-0.115-0.16-0.266-0.284-0.454-0.379
+	c-0.186-0.093-0.408-0.138-0.668-0.138c-0.267,0-0.491,0.054-0.673,0.159c-0.182,0.106-0.331,0.243-0.443,0.412
+	c-0.112,0.17-0.192,0.361-0.241,0.575c-0.051,0.215-0.074,0.43-0.074,0.641c0,0.213,0.028,0.419,0.084,0.621
+	c0.057,0.202,0.143,0.381,0.258,0.543c0.117,0.159,0.264,0.287,0.441,0.387C14.867,17.021,15.083,17.069,15.336,17.069z"/>
+<path id="path8080-6_1_" fill="#53C3C4" d="M9.732,2.083c-0.117,0-0.23,0.006-0.341,0.018
+	C8.5,2.198,7.747,2.642,7.254,2.931c-0.516,0.304-1.166,0.781-1.852,0.99C4.718,4.13,4.062,4.099,3.415,3.409
+	c-0.246-0.27-0.596-0.2-0.783,0.154c-0.187,0.355-0.139,0.86,0.107,1.13C2.743,4.697,2.747,4.701,2.75,4.705
+	C3.693,5.71,4.76,5.766,5.634,5.499c0.875-0.267,1.621-0.827,2.043-1.075c0.484-0.285,1.118-0.641,1.798-0.715
+	c0.679-0.074,1.388,0.101,2.13,0.942c0.238,0.281,0.592,0.229,0.785-0.116c0.195-0.345,0.16-0.853-0.08-1.134
+	c-0.004-0.006-0.01-0.012-0.014-0.018C11.449,2.424,10.543,2.087,9.732,2.083L9.732,2.083z M9.732,5.308
+	c-0.117,0-0.23,0.006-0.341,0.018C8.5,5.422,7.747,5.866,7.254,6.155c-0.516,0.304-1.166,0.781-1.852,0.99
+	C4.718,7.354,4.062,7.323,3.415,6.633c-0.246-0.269-0.596-0.2-0.783,0.155c-0.187,0.354-0.139,0.86,0.107,1.129
+	C2.743,7.921,2.747,7.925,2.75,7.929C3.693,8.935,4.76,8.99,5.634,8.723c0.875-0.267,1.621-0.827,2.043-1.075
+	c0.484-0.285,1.118-0.641,1.798-0.715c0.679-0.074,1.388,0.101,2.13,0.942c0.238,0.281,0.592,0.229,0.785-0.116
+	c0.195-0.345,0.16-0.853-0.08-1.134c-0.004-0.006-0.01-0.012-0.014-0.017C11.449,5.648,10.543,5.312,9.732,5.308L9.732,5.308z
+	 M9.732,8.532c-0.117,0-0.23,0.006-0.341,0.018C8.5,8.646,7.747,9.09,7.254,9.379c-0.516,0.304-1.166,0.781-1.852,0.99
+	c-0.685,0.208-1.341,0.177-1.988-0.513c-0.246-0.269-0.596-0.2-0.783,0.155c-0.187,0.354-0.139,0.86,0.107,1.129
+	c0.004,0.005,0.008,0.009,0.012,0.013c0.942,1.005,2.01,1.061,2.884,0.794c0.875-0.268,1.621-0.827,2.043-1.075
+	c0.484-0.285,1.118-0.641,1.798-0.715c0.679-0.074,1.388,0.101,2.13,0.942c0.238,0.282,0.592,0.229,0.785-0.115
+	c0.195-0.345,0.16-0.853-0.08-1.134c-0.004-0.006-0.01-0.012-0.014-0.017C11.449,8.872,10.543,8.536,9.732,8.532L9.732,8.532z"/>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/pipeline.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/pipeline.svg
new file mode 100644
index 0000000..d9cffcd
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/pipeline.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+    xmlns="http://www.w3.org/2000/svg"
+    version="1.1"
+    viewBox="0 0 24 24"
+    height="24"
+    width="24">
+  <path
+      style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;over [...]
+      d="m 16.180733,4.4778047 c -0.225712,-9.036e-4 -0.447587,0.00881 -0.664725,0.028102 C 13.778895,4.6602 12.310021,5.3650171 11.351491,5.8248197 10.345127,6.307569 9.0772298,7.0667616 7.7423285,7.3987385 6.4074274,7.7307155 5.1288775,7.6809549 3.8672819,6.5842574 A 1.0898647,1.2811267 0 1 0 2.5712276,8.644132 C 4.4094203,10.242054 6.4885583,10.329324 8.1935554,9.9053072 9.8985627,9.4812892 11.35277,8.5914861 12.17503,8.1970524 13.119637,7.7439286 14.355443,7.1782597 15.680225,7.06059 [...]
+  />
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/pipeline_run_config.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/pipeline_run_config.svg
new file mode 100644
index 0000000..5e13c42
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/pipeline_run_config.svg
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   viewBox="0 0 24 24"
+   width="24"
+   height="24"
+   y="0px"
+   x="0px"
+   version="1.1"
+   >
+  <g
+     transform="translate(-379.90478,129.88361)">
+    <path
+       d="m 383.43575,-107.93557 c -0.37253,-0.0851 -0.65467,-0.23003 -0.94305,-0.48466 -0.27928,-0.24661 -0.43935,-0.48119 -0.53638,-0.786 -0.0495,-0.15581 -0.0515,-0.49045 -0.0515,-8.67683 0,-8.18638 0.001,-8.52103 0.0515,-8.67685 0.10795,-0.33915 0.36479,-0.69029 0.66872,-0.91427 0.18773,-0.13836 0.59764,-0.31846 0.83879,-0.36854 0.42761,-0.0888 0.99027,-0.0295 1.37569,0.14485 0.23315,0.10553 16.10083,8.27682 16.2519,8.36919 0.15149,0.0927 0.43051,0.35694 0.54233,0.51376 0.05,0.0702 0 [...]
+       style="fill:#53c3c4;fill-opacity:1;stroke:none;stroke-width:0.3179;stroke-linecap:round;stroke-linejoin:round" />
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/play.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/play.svg
new file mode 100644
index 0000000..1bb457c
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/play.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><g><rect fill="none" height="24" width="24"/></g><g><path d="M12,2C6.48,2,2,6.48,2,12s4.48,10,10,10s10-4.48,10-10S17.52,2,12,2z M9.5,16.5v-9l7,4.5L9.5,16.5z"/></g></svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/plugin.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/plugin.svg
new file mode 100644
index 0000000..9aa8914
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/plugin.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   viewBox="0 0 24 24"
+   height="24"
+   width="24"
+   version="1.1">
+  <path
+     style="fill:#0e3a5a;fill-opacity:1;stroke-width:1.18924"
+     d="m 24.023809,13.696428 c 0,2.074287 -1.559999,3.795 -3.6,4.077858 v 3.582857 a 2.4,2.3571429 0 0 1 -2.4,2.357143 H 13.46381 v -0.353571 a 3.24,3.1821429 0 0 0 -3.240001,-3.182144 c -1.7999994,0 -3.2399995,1.426072 -3.2399995,3.182144 v 0.353571 h -4.56 A 2.4,2.3571429 0 0 1 0.02380952,21.357143 v -4.478572 h 0.36000001 c 1.78799997,0 3.24000007,-1.414285 3.24000007,-3.182143 0,-1.767857 -1.4520001,-3.182142 -3.24000007,-3.182142 H 0.02380952 V 6.0357143 A 2.4,2.3571429 0 0 1 2.423 [...]
+  <path
+     d="m 2.4380952,20.111112 v -1.231999 l 0.407143,-0.196497 C 4.0445232,18.10381 4.9390137,17.217181 5.4981112,16.053062 6.336834,14.306721 6.1764493,12.212807 5.0811732,10.609694 4.5170068,9.7839463 3.7634164,9.1444673 2.8309523,8.7002104 L 2.4380952,8.5130399 V 7.2813924 6.049745 h 3.0000001 3 V 5.0580602 c 0,-0.8951381 0.00548,-1.0127491 0.056343,-1.2080493 0.2455349,-0.9428891 1.2122282,-1.5174117 2.1548137,-1.2806436 0.649911,0.1632508 1.13771,0.6423393 1.303929,1.2806436 0.05085 [...]
+     style="fill:#c9e8fb;fill-opacity:0.811765;stroke:#0e3a5a;stroke-width:0.340118;stroke-linecap:round;stroke-linejoin:round" />
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/preview.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/preview.svg
new file mode 100644
index 0000000..d5c10dc
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/preview.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="24"
+   viewBox="0 0 24 24"
+   height="24">
+  <path
+     fill="none"
+     d="M0 0h24v24H0z" />
+  <path
+     style="fill:#0e3a5a;fill-opacity:1"
+     d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z" />
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/probe.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/probe.svg
new file mode 100644
index 0000000..340fe78
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/probe.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 43363)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
+<path fill="#0F3B5A" d="M20.242,8.62c0-4.202-3.697-7.62-8.241-7.62C7.456,1,3.758,4.418,3.758,8.62
+	c0,2.633,1.453,4.958,3.659,6.329v5.439c0,0.478,0.414,0.859,0.928,0.859c0.513,0,0.929-0.382,0.929-0.859v-4.577
+	c0.573,0.186,1.175,0.315,1.798,0.38v5.95c0,0.475,0.415,0.859,0.93,0.859c0.513,0,0.929-0.385,0.929-0.859v-5.95
+	c0.622-0.064,1.225-0.194,1.798-0.38v4.577c0,0.478,0.415,0.859,0.929,0.859s0.93-0.382,0.93-0.859v-5.439
+	C18.789,13.578,20.242,11.252,20.242,8.62z M5.617,8.62c0-3.252,2.863-5.901,6.384-5.901c3.518,0,6.382,2.649,6.382,5.901
+	c0,3.254-2.864,5.902-6.382,5.902C8.48,14.521,5.617,11.874,5.617,8.62z M12.001,12.859c2.528,0,4.585-1.902,4.585-4.24
+	c0-2.337-2.057-4.239-4.585-4.239c-2.529,0-4.587,1.902-4.587,4.239C7.414,10.958,9.472,12.859,12.001,12.859z"/>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/project.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/project.svg
new file mode 100644
index 0000000..00be7fa
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/project.svg
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns="http://www.w3.org/2000/svg"
+   enable-background="new 0 0 42 42"
+   viewBox="0 0 42 42"
+   height="42px"
+   width="42px"
+   y="0px"
+   x="0px"
+   version="1.1">
+<text
+   style="font-style:normal;font-weight:normal;font-size:192px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+   x="56.459057"
+   y="19.834593"
+   ><tspan
+     x="56.459057"
+     y="194.53062" /></text>
+<text
+   y="28.045294"
+   x="2.8174167"
+   style="font-style:normal;font-weight:normal;font-size:48.81200027px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.25422916"
+   ><tspan
+     style="stroke-width:0.25422916"
+     y="28.045294"
+     x="2.8174167"
+     >p</tspan></text>
+</svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/refresh.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/refresh.svg
new file mode 100644
index 0000000..78f0510
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/refresh.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   viewBox="0 0 24 24"
+   height="24"
+   width="24"
+   version="1.1">
+  <path
+     style="fill:#0e3a5a;fill-opacity:1"
+     d="m 10,3 a -9,9 0 0 1 9,9 h 3 L 18.11,15.89 18.04,16.03 14,12 h 3 a -7,7 0 0 0 -7,-7 -7,7 0 0 0 -7,7 -7,7 0 0 0 7,7 c 1.93,0 3.68,-0.79 4.94,-2.06 l 1.42,1.42 C 14.73,20 12.5,21 10,21 A -9,9 0 0 1 1,12 -9,9 0 0 1 10,3 Z" />
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/search.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/search.svg
new file mode 100644
index 0000000..e4fa704
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/search.svg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg
+    xmlns="http://www.w3.org/2000/svg"
+    enable-background="new 0 0 16 16"
+    viewBox="0 0 16 16"
+    y="0px"
+    x="0px"
+    height="16px"
+    width="16px"
+    version="1.1">
+<path fill="#0E3A5A" d="M12,10.2c0.7-1.1,1.1-2.3,1.1-3.6c0-3.6-2.9-6.5-6.5-6.5C3,0.1,0.1,3,0.1,6.6s2.9,6.5,6.5,6.5
+	c1.3,0,2.6-0.4,3.6-1.1l3.9,3.9l1.8-1.8L12,10.2z M11.1,6.6c0,2.5-2,4.5-4.5,4.5c-2.5,0-4.5-2-4.5-4.5s2-4.5,4.5-4.5
+	C9.1,2.1,11.1,4.1,11.1,6.6z"/>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/server.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/server.svg
new file mode 100644
index 0000000..2e345f6
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/server.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="24"
+   height="24"
+   viewBox="0 0 24 24"
+   >
+  <rect
+     y="1.9834554"
+     x="5.9834528"
+     height="20.033089"
+     width="12.033094"
+     style="fill:#0e3a5a;fill-opacity:1;stroke:#0e3a5a;stroke-width:1.96691;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <rect
+     y="4"
+     x="8"
+     height="2"
+     width="8"
+     style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.75862;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+  <rect
+     style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.75862;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     width="8"
+     height="2"
+     x="8"
+     y="7" />
+  <rect
+     style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.75862;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+     width="8"
+     height="2"
+     x="8"
+     y="10" />
+  <rect
+     y="18"
+     x="11"
+     height="2"
+     width="2"
+     style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.879308;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/splunk.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/splunk.svg
new file mode 100644
index 0000000..f379d48
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/splunk.svg
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+    xmlns:dc="http://purl.org/dc/elements/1.1/"
+    xmlns:cc="http://creativecommons.org/ns#"
+    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+    xmlns="http://www.w3.org/2000/svg"
+    id="svg38"
+    version="1.1"
+    viewBox="0 0 8.4666665 8.4666669"
+    height="32"
+    width="32">
+  <defs
+      id="defs32"/>
+  <metadata
+      id="metadata35">
+    <rdf:RDF>
+      <cc:Work
+          rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+            rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+      transform="translate(0,-288.53332)"
+      id="layer1">
+    <polygon
+        id="polygon14"
+        points="800,106.4 800,126.402 703.77,173.651 703.77,153.019 778.896,115.929 703.77,79.784 703.77,58.207 "
+        style="fill:#6ab361"
+        transform="matrix(0.06797798,0,0,0.06797798,-46.755784,284.91871)"/>
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/test.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/test.svg
new file mode 100644
index 0000000..feb7637
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/test.svg
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Generator: Adobe Illustrator 17.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg
+    xmlns="http://www.w3.org/2000/svg"
+    version="1.1"
+    x="0px"
+    y="0px"
+    width="42px"
+    height="42px"
+    viewBox="0 0 42 42"
+    enable-background="new 0 0 42 42"
+    >
+<rect
+    style="opacity:1;fill:#00006d;fill-opacity:1;stroke:#756f00;stroke-width:1.93700004;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
+    width="12.433599"
+    height="33.010841"
+    x="14.227139"
+    y="4.0690408"/>
+</svg>
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/workflow-log.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/workflow-log.svg
new file mode 100644
index 0000000..8f9f1c5
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/workflow-log.svg
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
+<path fill="#0F3B5A" d="M3,2v17.992h5.076c0-0.517,0-0.956,0-1.418H4.503V3.418h12.029v8.511c0.478,0,1.025,0,1.503,0V2H3z"/>
+<path fill="#0F3B5A" d="M12.22,20.102c-0.435,0-0.824-0.066-1.164-0.203c-0.339-0.138-0.627-0.323-0.863-0.562
+	c-0.236-0.238-0.415-0.522-0.537-0.854c-0.123-0.332-0.184-0.696-0.184-1.093c0-0.393,0.063-0.751,0.184-1.081
+	c0.124-0.33,0.301-0.614,0.537-0.856c0.233-0.238,0.523-0.426,0.863-0.561c0.339-0.134,0.727-0.201,1.164-0.201
+	c0.435,0,0.821,0.067,1.164,0.201c0.338,0.135,0.627,0.322,0.862,0.561c0.234,0.24,0.416,0.526,0.536,0.856
+	c0.123,0.33,0.185,0.691,0.185,1.081c0,0.398-0.062,0.761-0.185,1.093c-0.123,0.33-0.3,0.616-0.536,0.854
+	c-0.235,0.238-0.524,0.426-0.862,0.562C13.044,20.035,12.656,20.102,12.22,20.102z M12.22,19.208c0.267,0,0.497-0.054,0.694-0.159
+	s0.359-0.244,0.484-0.416s0.218-0.365,0.278-0.582c0.06-0.214,0.09-0.434,0.09-0.661c0-0.218-0.03-0.437-0.09-0.654
+	c-0.061-0.219-0.153-0.413-0.278-0.582c-0.125-0.17-0.287-0.307-0.484-0.412c-0.197-0.106-0.428-0.16-0.694-0.16
+	c-0.266,0-0.497,0.054-0.694,0.16c-0.197,0.105-0.357,0.242-0.484,0.412c-0.125,0.169-0.221,0.363-0.278,0.582
+	c-0.062,0.218-0.09,0.437-0.09,0.654c0,0.225,0.031,0.445,0.09,0.661c0.058,0.217,0.153,0.41,0.278,0.582
+	c0.126,0.172,0.288,0.311,0.484,0.416C11.723,19.154,11.954,19.208,12.22,19.208z"/>
+<path fill="#0F3B5A" d="M20.998,19.696c0,0.775-0.229,1.353-0.689,1.732C19.85,21.809,19.188,22,18.324,22
+	c-0.273,0-0.549-0.026-0.825-0.08c-0.276-0.053-0.529-0.143-0.757-0.267c-0.229-0.127-0.421-0.292-0.573-0.496
+	c-0.155-0.204-0.246-0.457-0.274-0.755h1.199c0.035,0.159,0.096,0.287,0.181,0.388c0.084,0.101,0.184,0.177,0.301,0.232
+	c0.114,0.056,0.244,0.094,0.385,0.109c0.141,0.015,0.287,0.023,0.44,0.023c0.485,0,0.839-0.112,1.065-0.336
+	c0.224-0.226,0.334-0.55,0.334-0.974v-0.783h-0.02c-0.169,0.283-0.397,0.507-0.69,0.664c-0.291,0.159-0.605,0.238-0.941,0.238
+	c-0.436,0-0.806-0.07-1.11-0.214c-0.305-0.143-0.559-0.339-0.759-0.586c-0.198-0.248-0.346-0.534-0.437-0.859
+	c-0.092-0.324-0.138-0.67-0.138-1.042c0-0.346,0.057-0.671,0.17-0.983c0.112-0.311,0.274-0.585,0.483-0.818
+	c0.211-0.234,0.471-0.422,0.774-0.563c0.306-0.139,0.651-0.207,1.037-0.207c0.343,0,0.659,0.066,0.946,0.202
+	c0.288,0.134,0.509,0.349,0.664,0.64h0.02v-0.706H21L20.998,19.696L20.998,19.696z M18.336,19.069c0.267,0,0.493-0.051,0.679-0.152
+	c0.187-0.104,0.338-0.239,0.454-0.408c0.118-0.169,0.199-0.361,0.253-0.576c0.052-0.215,0.078-0.43,0.078-0.651
+	c0-0.218-0.028-0.43-0.085-0.635c-0.055-0.204-0.143-0.387-0.257-0.546c-0.115-0.16-0.266-0.284-0.454-0.379
+	c-0.186-0.093-0.408-0.138-0.668-0.138c-0.267,0-0.491,0.054-0.673,0.159c-0.182,0.106-0.331,0.243-0.443,0.412
+	c-0.112,0.17-0.192,0.361-0.241,0.575c-0.051,0.215-0.074,0.43-0.074,0.641c0,0.213,0.028,0.419,0.084,0.621
+	c0.057,0.202,0.143,0.381,0.258,0.543c0.117,0.159,0.264,0.287,0.441,0.387C17.867,19.021,18.083,19.069,18.336,19.069z"/>
+<g id="layer1" transform="translate(-379.90478,129.88361)">
+	<path id="rect8091-8" fill="#033D5D" d="M390.439-125.8c-0.2,0-0.401,0.077-0.555,0.23
+		l-1.599,1.599l0.566,0.567l1.365-1.365c0.062-0.062,0.142-0.092,0.222-0.092s0.16,0.031,0.222,0.092l1.066,1.066l-0.576,0.577
+		h1.722v-1.722l-0.578,0.578l-1.301-1.301C390.84-125.723,390.639-125.8,390.439-125.8L390.439-125.8z M386.375-123.25l0.578,0.578
+		l-1.301,1.301c-0.154,0.154-0.23,0.354-0.23,0.555s0.076,0.401,0.23,0.555l1.599,1.599l0.567-0.566l-1.365-1.365
+		c-0.062-0.062-0.092-0.142-0.092-0.222s0.03-0.16,0.092-0.222l1.066-1.067l0.577,0.577v-1.722H386.375z M393.593-122.937
+		l-0.567,0.567l1.365,1.365c0.062,0.062,0.092,0.142,0.092,0.222s-0.03,0.16-0.092,0.222l-1.066,1.067l-0.577-0.577v1.722h1.722
+		l-0.578-0.578l1.301-1.301c0.154-0.154,0.23-0.354,0.23-0.555s-0.076-0.401-0.23-0.555L393.593-122.937z M387.972-118.475v1.722
+		l0.578-0.578l1.301,1.301c0.153,0.154,0.354,0.23,0.555,0.23s0.401-0.076,0.555-0.23l1.599-1.599l-0.566-0.567l-1.365,1.366
+		c-0.062,0.061-0.142,0.092-0.222,0.092s-0.16-0.031-0.222-0.092l-1.066-1.067l0.576-0.577H387.972z"/>
+</g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/workflow.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/workflow.svg
new file mode 100644
index 0000000..df16156
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/workflow.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+    xmlns="http://www.w3.org/2000/svg"
+    width="512"
+    height="512"
+    version="1.1">
+  <g transform="translate(-379.90478,129.88361)">
+    <path
+        d="m 634.95062,-97.807163 c -8.92671,0 -17.8545,3.418519 -24.69475,10.258786 l -71.22658,71.226345 25.24726,25.2472345 60.7976,-60.7973805 c 2.73709,-2.737124 6.30586,-4.10273 9.87647,-4.10273 3.5708,0 7.1407,1.366519 9.87667,4.10273 L 692.3514,-4.3480664 666.65757,21.34622 h 76.70372 v -76.707316 l -25.76221,25.765802 -57.95351,-57.953083 c -6.84023,-6.840267 -15.76785,-10.258786 -24.69495,-10.258786 z M 453.92222,15.776774 479.68801,41.53917 421.7345,99.492456 c -6.84026,6.8402 [...]
+        style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#033d5d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:45.3993;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape [...]
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/icons/workflow_run_config.svg b/docs/hop-user-manual/modules/ROOT/assets/images/icons/workflow_run_config.svg
new file mode 100644
index 0000000..516d699
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/assets/images/icons/workflow_run_config.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   height="24"
+   width="24">
+  <g
+     transform="translate(-379.90478,129.88361)"
+     >
+    <path
+       style="fill:#0e3a5a;fill-opacity:1;stroke-width:2.35679"
+       d="m 400.89385,-116.33557 -15.90672,8.2033 c -1.34993,0.69546 -3.08235,-0.14665 -3.08235,-1.54867 v -16.40659 c 0,-1.39981 1.72992,-2.24413 3.08235,-1.54645 l 15.90672,8.20329 a 2.0049015,1.7819724 0 0 1 0,3.09512 z" />
+  </g>
+</svg>
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/logging/custom-action-logging-level.png b/docs/hop-user-manual/modules/ROOT/assets/images/logging/custom-action-logging-level.png
new file mode 100644
index 0000000..95f2574
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/logging/custom-action-logging-level.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/logging/custom-logging-actions.png b/docs/hop-user-manual/modules/ROOT/assets/images/logging/custom-logging-actions.png
new file mode 100644
index 0000000..fea5799
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/logging/custom-logging-actions.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/logging/custom-transform-logging-level.png b/docs/hop-user-manual/modules/ROOT/assets/images/logging/custom-transform-logging-level.png
new file mode 100644
index 0000000..694f225
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/logging/custom-transform-logging-level.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-input-screenshot-connection-tab.png b/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-input-screenshot-connection-tab.png
new file mode 100644
index 0000000..df98e6b
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-input-screenshot-connection-tab.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-input-screenshot-fields-tab.png b/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-input-screenshot-fields-tab.png
new file mode 100644
index 0000000..5fe28fa
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-input-screenshot-fields-tab.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-input-screenshot-input-tab.png b/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-input-screenshot-input-tab.png
new file mode 100644
index 0000000..3d810c8
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-input-screenshot-input-tab.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-input-screenshot-query-tab.png b/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-input-screenshot-query-tab.png
new file mode 100644
index 0000000..f14878e
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-input-screenshot-query-tab.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-output-screenshot-connection-tab.png b/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-output-screenshot-connection-tab.png
new file mode 100644
index 0000000..b3fba4f
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-output-screenshot-connection-tab.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-output-screenshot-fields-tab.png b/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-output-screenshot-fields-tab.png
new file mode 100644
index 0000000..e7e95e6
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-output-screenshot-fields-tab.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-output-screenshot-indexes-tab.png b/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-output-screenshot-indexes-tab.png
new file mode 100644
index 0000000..0853714
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-output-screenshot-indexes-tab.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-output-screenshot-output-tab.png b/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-output-screenshot-output-tab.png
new file mode 100644
index 0000000..88e708c
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/mongodb-output-screenshot-output-tab.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/beam-dataflow.png b/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/beam-dataflow.png
new file mode 100644
index 0000000..02ff2c8
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/beam-dataflow.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/beam-direct.png b/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/beam-direct.png
new file mode 100644
index 0000000..e7f77fd
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/beam-direct.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/beam-flink.png b/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/beam-flink.png
new file mode 100644
index 0000000..5f58506
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/beam-flink.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/beam-spark.png b/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/beam-spark.png
new file mode 100644
index 0000000..81b4b5f
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/beam-spark.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/configuration-selection.png b/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/configuration-selection.png
new file mode 100644
index 0000000..ee6824f
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/configuration-selection.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/local-engine.png b/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/local-engine.png
new file mode 100644
index 0000000..a0361b8
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/local-engine.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/remote-engine.png b/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/remote-engine.png
new file mode 100644
index 0000000..ab73bb9
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/run-configuration/remote-engine.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/system-properties-menu.png b/docs/hop-user-manual/modules/ROOT/assets/images/system-properties-menu.png
new file mode 100644
index 0000000..746d807
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/system-properties-menu.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/test_image.jpg b/docs/hop-user-manual/modules/ROOT/assets/images/test_image.jpg
new file mode 100644
index 0000000..92afb4a
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/test_image.jpg differ
diff --git a/docs/hop-user-manual/modules/ROOT/assets/images/variable-indicator.png b/docs/hop-user-manual/modules/ROOT/assets/images/variable-indicator.png
new file mode 100644
index 0000000..9197ba0
Binary files /dev/null and b/docs/hop-user-manual/modules/ROOT/assets/images/variable-indicator.png differ
diff --git a/docs/hop-user-manual/modules/ROOT/nav.adoc b/docs/hop-user-manual/modules/ROOT/nav.adoc
new file mode 100644
index 0000000..d96eae8
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/nav.adoc
@@ -0,0 +1,362 @@
+* xref:getting-started/index.adoc[Getting Started]
+** xref:getting-started/hop-what-is-hop.adoc[What is Hop]
+** xref:getting-started/hop-concepts.adoc[Hop Concepts]
+** xref:getting-started/hop-download-install.adoc[Download & Install]
+** xref:getting-started/hop-tools.adoc[Tools]
+** xref:getting-started/hop-gui.adoc[Hop Gui Overview]
+** xref:getting-started/hop-gui-pipelines.adoc[Pipelines]
+** xref:getting-started/hop-gui-workflows.adoc[Workflows]
+** xref:getting-started/hop-next-steps.adoc[Next Steps]
+* xref:concepts.adoc[Concepts]
+* xref:hop-gui/index.adoc[Hop Gui]
+** xref:hop-gui/file-dialog.adoc[File Dialog]
+** xref:hop-gui/perspectives.adoc[Perspectives]
+** xref:hop-gui/shortcuts.adoc[Keyboard Shortcuts]
+* xref:projects/index.adoc[Projects]
+** xref:projects/projects-environments.adoc[Projects & Environments]
+** xref:projects/metadata.adoc[Metadata]
+** xref:projects/advanced.adoc[Advanced Configuration]
+* xref:pipeline/pipelines.adoc[Pipelines]
+** xref:pipeline/hop-pipeline-editor.adoc[Pipeline Editor]
+** xref:pipeline/create-pipeline.adoc[Create a Pipeline]
+** xref:pipeline/run-preview-debug-pipeline.adoc[Run, Preview and Debug a Pipeline]
+** xref:pipeline/pipeline-run-configurations/pipeline-run-configurations.adoc[Pipeline Run Configurations]
+*** xref:pipeline/pipeline-run-configurations/beam-dataflow-pipeline-engine.adoc[Beam Google DataFlow]
+*** xref:pipeline/pipeline-run-configurations/beam-direct-pipeline-engine.adoc[Beam Direct]
+*** xref:pipeline/pipeline-run-configurations/beam-flink-pipeline-engine.adoc[Beam Flink]
+*** xref:pipeline/pipeline-run-configurations/beam-spark-pipeline-engine.adoc[Beam Spark]
+*** xref:pipeline/pipeline-run-configurations/local-pipeline-engine.adoc[Local Native]
+*** xref:pipeline/pipeline-run-configurations/remote-pipeline-engine.adoc[Remote Native]
+** xref:pipeline/metadata-injection.adoc[Metadata Injection]
+** xref:pipeline/partitioning.adoc[Partitioning]
+** xref:pipeline/transforms.adoc[Transforms]
+//::=START AUTO GENERATED LINKS TRANSFORMS
+*** xref:pipeline/transforms/abort.adoc[Abort]
+*** xref:pipeline/transforms/checksum.adoc[Add a checksum]
+*** xref:pipeline/transforms/constant.adoc[Add Constants]
+*** xref:pipeline/transforms/addsequence.adoc[Add Sequence]
+*** xref:pipeline/transforms/fieldschangesequence.adoc[Add value fields changing sequence]
+*** xref:pipeline/transforms/addxml.adoc[Add XML]
+*** xref:pipeline/transforms/analyticquery.adoc[Analytic Query]
+*** xref:pipeline/transforms/append.adoc[Append Streams]
+*** xref:pipeline/transforms/azure-event-hubs-listener.adoc[Azure Event Hubs Listener]
+*** xref:pipeline/transforms/azure-event-hubs-writer.adoc[Azure Event Hubs Writer]
+*** xref:pipeline/transforms/beambigqueryinput.adoc[Beam BigQuery Input]
+*** xref:pipeline/transforms/beambigqueryoutput.adoc[Beam BigQuery Output]
+*** xref:pipeline/transforms/beampublisher.adoc[Beam GCP Pub/Sub : Publish]
+*** xref:pipeline/transforms/beamsubscriber.adoc[Beam GCP Pub/Sub : Subscribe]
+*** xref:pipeline/transforms/beaminput.adoc[Beam Input]
+*** xref:pipeline/transforms/beamconsume.adoc[Beam Kafka Consume]
+*** xref:pipeline/transforms/beamproduce.adoc[Beam Kafka Produce]
+*** xref:pipeline/transforms/beamoutput.adoc[Beam Output]
+*** xref:pipeline/transforms/beamtimestamp.adoc[Beam Timestamp]
+*** xref:pipeline/transforms/beamwindow.adoc[Beam Window]
+*** xref:pipeline/transforms/blockingtransform.adoc[Blocking transform]
+*** xref:pipeline/transforms/blockuntiltransformsfinish.adoc[Blocking until transforms finish]
+*** xref:pipeline/transforms/calculator.adoc[Calculator]
+*** xref:pipeline/transforms/dbproc.adoc[Call DB procedure]
+*** xref:pipeline/transforms/changefileencoding.adoc[Change file encoding]
+*** xref:pipeline/transforms/filelocked.adoc[Check if file is locked]
+*** xref:pipeline/transforms/webserviceavailable.adoc[Check if webservice is available]
+*** xref:pipeline/transforms/clonerow.adoc[Clone row]
+*** xref:pipeline/transforms/closure.adoc[Closure]
+*** xref:pipeline/transforms/coalesce.adoc[Coalesce]
+*** xref:pipeline/transforms/columnexists.adoc[Column exists]
+*** xref:pipeline/transforms/combinationlookup.adoc[Combination lookup/update]
+*** xref:pipeline/transforms/concatfields.adoc[Concat Fields]
+*** xref:pipeline/transforms/rowstoresult.adoc[Copy rows to result]
+*** xref:pipeline/transforms/creditcardvalidator.adoc[Credit card validator]
+*** xref:pipeline/transforms/csvinput.adoc[CSV File Input]
+*** xref:pipeline/transforms/cubeinput.adoc[Cube input]
+*** xref:pipeline/transforms/cubeoutput.adoc[Cube output]
+*** xref:pipeline/transforms/databasejoin.adoc[Database Join]
+*** xref:pipeline/transforms/databaselookup.adoc[Database Lookup]
+*** xref:pipeline/transforms/datagrid.adoc[Data Grid]
+*** xref:pipeline/transforms/delay.adoc[Delay row]
+*** xref:pipeline/transforms/delete.adoc[Delete]
+*** xref:pipeline/transforms/detectemptystream.adoc[Detect Empty Stream]
+*** xref:pipeline/transforms/dimensionlookup.adoc[Dimension lookup/update]
+*** xref:pipeline/transforms/dummy.adoc[Dummy (do nothing)]
+*** xref:pipeline/transforms/dynamicsqlrow.adoc[Dynamic SQL row]
+*** xref:pipeline/transforms/edi2xml.adoc[Edi to XML]
+*** xref:pipeline/transforms/mailinput.adoc[Email Messages Input]
+*** xref:pipeline/transforms/enhancedjsonoutput.adoc[Enhanced JSON Output]
+*** xref:pipeline/transforms/excelwriter.adoc[Excel writer]
+*** xref:pipeline/transforms/execprocess.adoc[Execute a process]
+*** xref:pipeline/transforms/execsqlrow.adoc[Execute row SQL script]
+*** xref:pipeline/transforms/sql.adoc[Execute SQL script]
+*** xref:pipeline/transforms/fake.adoc[Fake data]
+*** xref:pipeline/transforms/fileexists.adoc[File exists]
+*** xref:pipeline/transforms/filesfromresult.adoc[Files from result]
+*** xref:pipeline/transforms/filestoresult.adoc[Files to result]
+*** xref:pipeline/transforms/filterrows.adoc[Filter Rows]
+*** xref:pipeline/transforms/fuzzymatch.adoc[Fuzzy match]
+*** xref:pipeline/transforms/randomvalue.adoc[Generate Random Value]
+*** xref:pipeline/transforms/getxmldata.adoc[Get Data From XML]
+*** xref:pipeline/transforms/getfilenames.adoc[Get filenames]
+*** xref:pipeline/transforms/getfilesrowcount.adoc[Get files rowcount]
+*** xref:pipeline/transforms/getslavesequence.adoc[Get ID from slave server]
+*** xref:pipeline/transforms/google-sheets-input.adoc[Google Sheets Input]
+*** xref:pipeline/transforms/google-sheets-output.adoc[Google Sheets Output]
+*** xref:pipeline/transforms/recordsfromstream.adoc[Get records from stream ]
+*** xref:pipeline/transforms/rowsfromresult.adoc[Get Rows from Result]
+*** xref:pipeline/transforms/getsubfolders.adoc[Get SubFolder names]
+*** xref:pipeline/transforms/systemdata.adoc[Get System Info]
+*** xref:pipeline/transforms/gettablenames.adoc[Get table names]
+*** xref:pipeline/transforms/getvariable.adoc[Get variables]
+*** xref:pipeline/transforms/groupby.adoc[Group By]
+*** xref:pipeline/transforms/http.adoc[HTTP client]
+*** xref:pipeline/transforms/httppost.adoc[HTTP Post]
+*** xref:pipeline/transforms/detectlastrow.adoc[Identify last row in a stream]
+*** xref:pipeline/transforms/ifnull.adoc[If Null]
+*** xref:pipeline/transforms/injector.adoc[Injector]
+*** xref:pipeline/transforms/insertupdate.adoc[Insert / Update]
+*** xref:pipeline/transforms/javafilter.adoc[Java Filter]
+*** xref:pipeline/transforms/javascript.adoc[JavaScript]
+*** xref:pipeline/transforms/joinrows.adoc[Join Rows]
+*** xref:pipeline/transforms/jsoninput.adoc[JSON Input]
+*** xref:pipeline/transforms/jsonoutput.adoc[JSON Output]
+*** xref:pipeline/transforms/ldapinput.adoc[LDAP Input]
+*** xref:pipeline/transforms/ldapoutput.adoc[LDAP Output]
+*** xref:pipeline/transforms/loadfileinput.adoc[Load file content in memory]
+*** xref:pipeline/transforms/mail.adoc[Mail]
+*** xref:pipeline/transforms/mailvalidator.adoc[Mail Validator]
+*** xref:pipeline/transforms/memgroupby.adoc[Memory Group By]
+*** xref:pipeline/transforms/mergejoin.adoc[Merge Join]
+*** xref:pipeline/transforms/mergerows.adoc[Merge rows (diff)]
+*** xref:pipeline/transforms/metainject.adoc[Metadata Injection]
+*** xref:pipeline/transforms/metastructure.adoc[Metadata structure of stream]
+*** xref:pipeline/transforms/excelinput.adoc[Microsoft Excel input]
+*** xref:pipeline/transforms/monetdbbulkloader.adoc[MonetDB Bulk Loader]
+*** xref:pipeline/transforms/mongodbinput.adoc[MongoDB Input]
+*** xref:pipeline/transforms/mongodboutput.adoc[MongoDB Output]
+*** xref:pipeline/transforms/mqttpublisher.adoc[MQTT Publisher]
+*** xref:pipeline/transforms/mqttsubscriber.adoc[MQTT Subscriber]
+*** xref:pipeline/transforms/multimerge.adoc[Multiway Merge Join]
+*** xref:pipeline/transforms/nullif.adoc[Null If]
+*** xref:pipeline/transforms/numberrange.adoc[Number range]
+*** xref:pipeline/transforms/pgpdecryptstream.adoc[PGP decrypt stream]
+*** xref:pipeline/transforms/pgpencryptstream.adoc[PGP encrypt stream]
+*** xref:pipeline/transforms/pipelineexcecutor.adoc[Pipeline Executor]
+*** xref:pipeline/transforms/pgbulkloader.adoc[PostgreSQL Bulk Loader]
+*** xref:pipeline/transforms/processfiles.adoc[Process files]
+*** xref:pipeline/transforms/propertyinput.adoc[Read data (key, value) from properties files.]
+*** xref:pipeline/transforms/regexeval.adoc[Regex Evaluation]
+*** xref:pipeline/transforms/replacestring.adoc[Replace in String]
+*** xref:pipeline/transforms/reservoirsampling.adoc[Reservoir Sampling]
+*** xref:pipeline/transforms/rest.adoc[REST Client]
+*** xref:pipeline/transforms/denormaliser.adoc[Row Denormaliser]
+*** xref:pipeline/transforms/flattener.adoc[Row Flattener]
+*** xref:pipeline/transforms/rowgenerator.adoc[Row Generator]
+*** xref:pipeline/transforms/neo4j-cypher.adoc[Neo4j Cypher]
+*** xref:pipeline/transforms/neo4j-graphoutput.adoc[Neo4j Graph Output]
+*** xref:pipeline/transforms/neo4j-output.adoc[Neo4j Output]
+*** xref:pipeline/transforms/normaliser.adoc[Row Normaliser]
+*** xref:pipeline/transforms/ssh.adoc[Run SSH commands]
+*** xref:pipeline/transforms/sasinput.adoc[SAS Input]
+*** xref:pipeline/transforms/selectvalues.adoc[Select Values]
+*** xref:pipeline/transforms/setvaluefield.adoc[Set field Value]
+*** xref:pipeline/transforms/setvalueconstant.adoc[Set field value to a constant]
+*** xref:pipeline/transforms/setvariable.adoc[Set Variables]
+*** xref:pipeline/transforms/sortedmerge.adoc[Sorted Merge]
+*** xref:pipeline/transforms/sort.adoc[Sort Rows]
+*** xref:pipeline/transforms/fieldsplitter.adoc[Split Fields]
+*** xref:pipeline/transforms/splitfieldtorows.adoc[Split fields to rows]
+*** xref:pipeline/transforms/sqlfileoutput.adoc[SQL File Output]
+*** xref:pipeline/transforms/streamlookup.adoc[Stream Lookup]
+*** xref:pipeline/transforms/streamschemamerge.adoc[Stream Schema Merge]
+*** xref:pipeline/transforms/stringoperations.adoc[String operations]
+*** xref:pipeline/transforms/stringcut.adoc[Strings cut]
+*** xref:pipeline/transforms/switchcase.adoc[Switch / Case]
+*** xref:pipeline/transforms/synchronizeaftermerge.adoc[Synchronize after merge ]
+*** xref:pipeline/transforms/tablecompare.adoc[Table Compare]
+*** xref:pipeline/transforms/tableexists.adoc[Table Exists]
+*** xref:pipeline/transforms/tableinput.adoc[Table Input]
+*** xref:pipeline/transforms/tableoutput.adoc[Table Output]
+*** xref:pipeline/transforms/terafast.adoc[Teradata Bulk Loader]
+*** xref:pipeline/transforms/textfileinput.adoc[Text File Input]
+*** xref:pipeline/transforms/textfileoutput.adoc[Text File Output]
+*** xref:pipeline/transforms/tokenreplacement.adoc[Token Replacement]
+*** xref:pipeline/transforms/uniquerows.adoc[Unique Rows]
+*** xref:pipeline/transforms/uniquerowsbyhashset.adoc[Unique Rows (HashSet)]
+*** xref:pipeline/transforms/update.adoc[Update]
+*** xref:pipeline/transforms/userdefinedjavaclass.adoc[User Defined Java Class]
+*** xref:pipeline/transforms/janino.adoc[User Defined Java Expression]
+*** xref:pipeline/transforms/valuemapper.adoc[Value Mapper]
+*** xref:pipeline/transforms/webservices.adoc[Web services lookup]
+*** xref:pipeline/transforms/workflowexecutor.adoc[Workflow Executor]
+*** xref:pipeline/transforms/propertyoutput.adoc[Write data to properties file]
+*** xref:pipeline/transforms/writetolog.adoc[Write to log]
+*** xref:pipeline/transforms/xmlinputstream.adoc[XML Input Stream (StAX) ]
+*** xref:pipeline/transforms/xmljoin.adoc[XML Join]
+*** xref:pipeline/transforms/xmloutput.adoc[XML Output]
+*** xref:pipeline/transforms/xsdvalidator.adoc[XSD Validator]
+*** xref:pipeline/transforms/xslt.adoc[XSL Transformation]
+*** xref:pipeline/transforms/yamlinput.adoc[Yaml Input]
+*** xref:pipeline/transforms/zipfile.adoc[Zip file]
+//::=END AUTO GENERATED LINKS TRANSFORMS
+* xref:workflow/workflows.adoc[Workflows]
+** xref:workflow/create-workflow.adoc[Create a Workflow]
+** xref:workflow/run-debug-workflow.adoc[Run and Debug a Workflow]
+** xref:workflow/workflow-run-configurations/workflow-run-configurations.adoc[Workflow Run Configurations]
+** xref:workflow/actions.adoc[Actions]
+//::=START AUTO GENERATED LINKS ACTIONS
+*** xref:workflow/actions/abort.adoc[Abort]
+*** xref:workflow/actions/addresultfilenames.adoc[Add filenames to result]
+*** xref:workflow/actions/as400command.adoc[AS/400 Command]
+*** xref:workflow/actions/checkdbconnection.adoc[Check Db connections]
+*** xref:workflow/actions/checkfilelocked.adoc[Check Files Locked]
+*** xref:workflow/actions/webserviceavailable.adoc[Check if Webservice is available]
+*** xref:workflow/actions/xmlwellformed.adoc[Check if XML file is well formed]
+*** xref:workflow/actions/filesexist.adoc[Checks if files exists]
+*** xref:workflow/actions/columnsexist.adoc[Columns exist in a table]
+*** xref:workflow/actions/copyfiles.adoc[Copy Files]
+*** xref:workflow/actions/copymoveresultfilenames.adoc[Copy Or Move Files from result]
+*** xref:workflow/actions/createfile.adoc[Create File]
+*** xref:workflow/actions/createfolder.adoc[Create Folder]
+*** xref:workflow/actions/pgpdecryptfiles.adoc[Decrypt files with PGP]
+*** xref:workflow/actions/delay.adoc[Delay]
+*** xref:workflow/actions/deletefile.adoc[Delete File]
+*** xref:workflow/actions/deleteresultfilenames.adoc[Delete filenames from result]
+*** xref:workflow/actions/deletefiles.adoc[Delete Files]
+*** xref:workflow/actions/deletefolders.adoc[Delete Folders]
+*** xref:workflow/actions/msgboxinfo.adoc[Display Msgbox info]
+*** xref:workflow/actions/dostounix.adoc[Dos To Unix]
+*** xref:workflow/actions/dtdvalidator.adoc[DTD Validator]
+*** xref:workflow/actions/dummy.adoc[Dummy]
+*** xref:workflow/actions/pgpencryptfiles.adoc[Encrypt files with PGP]
+*** xref:workflow/actions/repeat-end.adoc[End Repeat]
+*** xref:workflow/actions/evalfilesmetrics.adoc[Evaluate File Metrics]
+*** xref:workflow/actions/evaluatetablecontent.adoc[Evaluate rows number in a table]
+*** xref:workflow/actions/filecompare.adoc[File compare]
+*** xref:workflow/actions/fileexists.adoc[File Exists]
+*** xref:workflow/actions/folderisempty.adoc[Folder is Empty]
+*** xref:workflow/actions/folderscompare.adoc[Folders Compare]
+*** xref:workflow/actions/ftpdelete.adoc[FTP delete]
+*** xref:workflow/actions/ftp.adoc[Get a file with FTP]
+*** xref:workflow/actions/ftpsget.adoc[Get a file with FTPS]
+*** xref:workflow/actions/sftp.adoc[Get a file with SFTP]
+*** xref:workflow/actions/getpop.adoc[Get Mail from POP]
+*** xref:workflow/actions/http.adoc[Http Get]
+*** xref:workflow/actions/eval.adoc[JavaScript]
+*** xref:workflow/actions/mail.adoc[Mail]
+*** xref:workflow/actions/mailvalidator.adoc[Mail Validator]
+*** xref:workflow/actions/movefiles.adoc[Move Files]
+*** xref:workflow/actions/mssqlbulkload.adoc[MS SQL Server Bulk Loader]
+*** xref:workflow/actions/mysqlbulkfile.adoc[MySQL Bulk File]
+*** xref:workflow/actions/mysqlbulkload.adoc[MySQL Bulk Loader]
+*** xref:workflow/actions/neo4j-checkconnections.adoc[Neo4j Check Connections]
+*** xref:workflow/actions/neo4j-cypherscript.adoc[Neo4j Cypher Script]
+*** xref:workflow/actions/pgpfiles.adoc[PGP Files]
+*** xref:workflow/actions/ping.adoc[Ping]
+*** xref:workflow/actions/pipeline.adoc[Pipeline]
+*** xref:workflow/actions/ftpput.adoc[Put a file with FTP]
+*** xref:workflow/actions/sftpput.adoc[Put a file with SFTP]
+*** xref:workflow/actions/repeat.adoc[Repeat]
+*** xref:workflow/actions/runpipelinetests.adoc[Run Pipeline Tests]
+*** xref:workflow/actions/sendnagiospassivecheck.adoc[Send Nagios check]
+*** xref:workflow/actions/setvariables.adoc[Set Variables]
+*** xref:workflow/actions/shell.adoc[Shell Action]
+*** xref:workflow/actions/simpleeval.adoc[Simple Evaluation]
+*** xref:workflow/actions/snmptrap.adoc[Snmp Trap]
+*** xref:workflow/actions/sql.adoc[SQL Script Executor]
+*** xref:workflow/actions/start.adoc[Start]
+*** xref:workflow/actions/success.adoc[Success Action]
+*** xref:workflow/actions/tableexists.adoc[Table Exists]
+*** xref:workflow/actions/telnet.adoc[Telnet a host]
+*** xref:workflow/actions/truncatetables.adoc[Truncate Tables]
+*** xref:workflow/actions/unzip.adoc[Unzip]
+*** xref:workflow/actions/ftpsput.adoc[Upload files to FTPS]
+*** xref:workflow/actions/pgpverify.adoc[Verify file signature with PGP]
+*** xref:workflow/actions/waitforfile.adoc[Wait for file]
+*** xref:workflow/actions/waitforsql.adoc[Wait for SQL]
+*** xref:workflow/actions/workflow.adoc[Workflow]
+*** xref:workflow/actions/writetofile.adoc[Write to File]
+*** xref:workflow/actions/writetolog.adoc[Write to Log]
+*** xref:workflow/actions/xsdvalidator.adoc[XSD Validator]
+*** xref:workflow/actions/xslt.adoc[XSL Transformation]
+*** xref:workflow/actions/zipfile.adoc[Zip File]
+//::=END AUTO GENERATED LINKS ACTIONS
+* xref:variables.adoc[Variables]
+* xref:vfs.adoc[Virtual File System]
+** xref:vfs/aws-s3-vfs.adoc[Amazon Web Services S3]
+** xref:vfs/azure-blob-storage-vfs.adoc[Microsoft Azure Storage]
+** xref:vfs/google-cloud-storage-vfs.adoc[Google Cloud Storage]
+** xref:vfs/google-drive-vfs.adoc[Google Drive]
+* xref:database/databases.adoc[Relational Database Connections]
+//::=START AUTO GENERATED LINKS DATABASES
+** xref:database/databases/derby.adoc[Apache Derby]
+** xref:database/databases/doris.adoc[Apache Doris]
+** xref:database/databases/as400.adoc[AS400]
+** xref:database/databases/cache.adoc[Cache]
+** xref:database/databases/clickhouse.adoc[ClickHouse]
+** xref:database/databases/db2.adoc[DB2]
+** xref:database/databases/exasol.adoc[Exasol]
+** xref:database/databases/firebird.adoc[firebird]
+** xref:database/databases/googlebigquery.adoc[Google BigQuery]
+** xref:database/databases/greenplum.adoc[Greenplum]
+** xref:database/databases/sqlbase.adoc[Gupta SQLBase]
+** xref:database/databases/h2.adoc[H2]
+** xref:database/databases/hypersonic.adoc[Hypersonic]
+** xref:database/databases/universe.adoc[IBM Universe]
+** xref:database/databases/infinidb.adoc[InfiniDB]
+** xref:database/databases/infobright.adoc[Infobright DB]
+** xref:database/databases/informix.adoc[informix]
+** xref:database/databases/ingres.adoc[ingres]
+** xref:database/databases/interbase.adoc[interbase]
+** xref:database/databases/kingbasees.adoc[Kingbase ES]
+** xref:database/databases/mariadb.adoc[Mariadb]
+** xref:database/databases/sapdb.adoc[MaxDB (SAP DB)]
+** xref:database/databases/monetdb.adoc[monetdb]
+** xref:database/databases/mssql.adoc[MS SqlServer]
+** xref:database/databases/mssqlnative.adoc[MS SqlServer (Native)]
+** xref:database/databases/mysql.adoc[MySql]
+** xref:database/databases/netezza.adoc[Netezza]
+** xref:database/databases/oracle.adoc[Oracle]
+** xref:database/databases/oraclerdb.adoc[Oracle RDB]
+** xref:database/databases/postgresql.adoc[PostgreSQL]
+** xref:database/databases/redshift.adoc[Redshift]
+** xref:database/databases/snowflake.adoc[Snowflake]
+** xref:database/databases/sqlite.adoc[SqLite]
+** xref:database/databases/sybase.adoc[Sybase]
+** xref:database/databases/sybaseiq.adoc[Sybase IQ]
+** xref:database/databases/teradata.adoc[Teradata]
+** xref:database/databases/vectorwise.adoc[Vectorwise]
+** xref:database/databases/vertica.adoc[Vertica]
+//::=END AUTO GENERATED LINKS DATABASES
+* xref:logging/logging-basics.adoc[Logging basics]
+** xref:logging/logging-reflection.adoc[Logging reflection]
+* xref:metadata-types/index.adoc[Metadata Types]
+** xref:metadata-types/beam-file-definition.adoc[Beam File Definition]
+** xref:metadata-types/cassandra/cassandra-connection.adoc[Cassandra Connection]
+** xref:metadata-types/data-set.adoc[Data Set]
+** xref:metadata-types/hop-server.adoc[Hop Server]
+** xref:metadata-types/mongodb-connection.adoc[MongoDB Connection]
+** xref:metadata-types/neo4j/neo4j-connection.adoc[Neo4j Connection]
+** xref:metadata-types/neo4j/neo4j-graphmodel.adoc[Neo4j Graph Model]
+** xref:metadata-types/partition-schema.adoc[Partition Schema]
+** xref:metadata-types/pipeline-log.adoc[Pipeline Log]
+** xref:metadata-types/pipeline-probe.adoc[Pipeline Probe]
+** xref:metadata-types/pipeline-run-config.adoc[Pipeline Run Configuration]
+** xref:metadata-types/pipeline-unit-test.adoc[Pipeline Unit Test]
+** xref:metadata-types/rdbms-connection.adoc[Relational Database Connection]
+** xref:metadata-types/splunk-connection.adoc[Splunk Connection]
+** xref:metadata-types/web-service.adoc[Web Service]
+** xref:metadata-types/workflow-log.adoc[Workflow Log]
+** xref:metadata-types/workflow-run-config.adoc[Workflow Run Configuration]
+* xref:password/passwords.adoc[Passwords]
+//::=START AUTO GENERATED LINKS PASSWORDS
+** xref:password/passwords/aespasswords.adoc[AES Two way password encoder]
+//::=END AUTO GENERATED LINKS PASSWORDS
+* xref:plugins/plugins.adoc[Plugins]
+//::=START AUTO GENERATED LINKS
+//::=END AUTO GENERATED LINKS
+** xref:plugins/external-plugins.adoc[External Plugins]
+* xref:samples/samples.adoc[Samples]
+** xref:samples/dummy-sample.adoc[Dummy Sample]
+* xref:technology/technology.adoc[Technology]
+** xref:technology/neo4j/neo4j-info.adoc[Neo4j]
+** xref:technology/google/google-info.adoc[Google]
+* xref:hop-tools/index.adoc[Hop Tools]
+** xref:hop-tools/hop-conf/hop-conf.adoc[hop-conf]
+** xref:hop-tools/hop-search.adoc[hop-search]
diff --git a/docs/hop-user-manual/modules/ROOT/pages/concepts.adoc b/docs/hop-user-manual/modules/ROOT/pages/concepts.adoc
new file mode 100644
index 0000000..db0f7e3
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/pages/concepts.adoc
@@ -0,0 +1,21 @@
+[[Concepts]]
+:imagesdir: ../assets/images
+
+= Concepts
+
+include::snippets/hop-tools/hop-tools.adoc[]
+
+include::snippets/hop-concepts/item-types.adoc[]
+
+include::snippets/hop-concepts/hop-projects-environments.adoc[]
+
+== Metadata
+
+include::snippets/hop-concepts/metadata.adoc[]
+
+== Various
+The following items are an alphabetically ordered list of concepts that are used throughout Hop and will be mentioned at various locations in the Hop tools and documentation.
+
+
+Lazy Loading::
+include::snippets/hop-concepts/lazy-loading.adoc[]
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/pages/database/databases.adoc b/docs/hop-user-manual/modules/ROOT/pages/database/databases.adoc
new file mode 100644
index 0000000..d0ca2f4
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/pages/database/databases.adoc
@@ -0,0 +1,29 @@
+[[database-plugins]]
+:imagesdir: ../../assets/images
+= Database Plugins
+
+Creating a database connection in HOP is done using one of the many database types available, or you can create a generic connection.
+To create a database connection go to file -> New and select Database connection.
+
+The connection is saved in a central location and can then be used by all pipelines and workflows.
+
+If the license allowed it a jdbc driver is included in the distribution. The documentation of the database type shows you whether the driver is included and if it isn't included will guide you to the location on where to download it.
+
+The `HOP_SHARED_JDBC_FOLDER` variable can be set before starting Hop to point at a centralized location of your required jdbc drivers. This can be set as an environment variable or be added to the Hop start script as an exported variable.
+
+== Generic connection
+HOP can connect to any database that has a jdbc driver available, the list of supplied databases contain some database specific configuration and a list of reserved keywords.
+
+When a specific database type is not yet available for the database you want to use, you can use the generic connection. To use a generic connection you have to copy your jdbc driver to the `Installation directory/lib` folder. 
+
+image::generic_connection.png[Generic Connection Dialog]
+
+Every connection needs a connection name.
+
+In the Driver Class field you specify your driver class, for example if you use PostgreSQL the class is `org.postgresql.Driver`.
+
+Then there is a field to specify the username and password.
+
+
+// tag::website-links[]
+// end::website-links[]
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/pages/database/databases/as400.adoc b/docs/hop-user-manual/modules/ROOT/pages/database/databases/as400.adoc
new file mode 100644
index 0000000..7d6c3ca
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/pages/database/databases/as400.adoc
@@ -0,0 +1,32 @@
+////
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+  http://www.apache.org/licenses/LICENSE-2.0
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT 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-plugins-as400]]
+:documentationPath: /database/databases/
+:language: en_US
+:page-alternativeEditUrl: https://github.com/apache/incubator-hop/edit/master/plugins/databases/as400/src/main/doc/as400.adoc
+= AS400
+
+[width="90%", cols="2*", options="header"]
+|===
+| Option | Info
+|Type | Relational
+|Driver | Included
+|Version Included | 10.2
+|Hop Dependencies | None
+|Documentation | https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rzahh/javadoc/com/ibm/as400/access/doc-files/JDBCProperties.html[Documentation Link]
+|JDBC Url | jdbc:as400://hostname/default-schema
+|===
diff --git a/docs/hop-user-manual/modules/ROOT/pages/database/databases/cache.adoc b/docs/hop-user-manual/modules/ROOT/pages/database/databases/cache.adoc
new file mode 100644
index 0000000..e0134aa
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/pages/database/databases/cache.adoc
@@ -0,0 +1,32 @@
+////
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+  http://www.apache.org/licenses/LICENSE-2.0
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT 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-plugins-cache]]
+:documentationPath: /database/databases/
+:language: en_US
+:page-alternativeEditUrl: https://github.com/apache/incubator-hop/edit/master/plugins/databases/cache/src/main/doc/cache.adoc
+= Cache
+
+[width="90%", cols="2*", options="header"]
+|===
+| Option | Info
+|Type | Relational
+|Driver | Included
+|Version Included | 3.0.0
+|Hop Dependencies | None
+|Documentation | https://cedocs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=BGJD[Documentation Link]
+|JDBC Url  | jdbc:Cache://hostname:1972/database
+|===
diff --git a/docs/hop-user-manual/modules/ROOT/pages/database/databases/clickhouse.adoc b/docs/hop-user-manual/modules/ROOT/pages/database/databases/clickhouse.adoc
new file mode 100644
index 0000000..511df38
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/pages/database/databases/clickhouse.adoc
@@ -0,0 +1,32 @@
+////
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+  http://www.apache.org/licenses/LICENSE-2.0
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT 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-plugins-clickhouse]]
+:documentationPath: /database/databases/
+:language: en_US
+:page-alternativeEditUrl: https://github.com/apache/incubator-hop/edit/master/plugins/databases/clickhouse/src/main/doc/clickhouse.adoc
+= ClickHouse
+
+[width="90%", cols="2*", options="header"]
+|===
+| Option | Info
+|Type | Columnar
+|Driver | Included
+|Version Included | 1.4.4
+|Hop Dependencies | None
+|Documentation | https://github.com/blynkkk/clickhouse4j[Documentation Link]
+|JDBC Url | jdbc:clickhouse://<host>:<port>[/<database>]
+|===
diff --git a/docs/hop-user-manual/modules/ROOT/pages/database/databases/db2.adoc b/docs/hop-user-manual/modules/ROOT/pages/database/databases/db2.adoc
new file mode 100644
index 0000000..d2270a0
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/pages/database/databases/db2.adoc
@@ -0,0 +1,32 @@
+////
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+  http://www.apache.org/licenses/LICENSE-2.0
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT 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-plugins-db2]]
+:documentationPath: /database/databases/
+:language: en_US
+:page-alternativeEditUrl: https://github.com/apache/incubator-hop/edit/master/plugins/databases/db2/src/main/doc/db2.adoc
+= DB2
+
+[width="90%", cols="2*", options="header"]
+|===
+| Option | Info
+|Type | Relational
+|Driver | https://www.ibm.com/support/pages/db2-jdbc-driver-versions-and-downloads[Driver Link]
+|Version Included | None
+|Hop Dependencies | None
+|Documentation | https://www.ibm.com/support/knowledgecenter/SSCQGF_7.2.0.1/com.ibm.IBMDI.doc_7.2.0.1/rg_conn_jdbc.html[Documentation Link]
+|JDBC Url  | jdbc:db2://hostname:port/dbname
+|===
diff --git a/docs/hop-user-manual/modules/ROOT/pages/database/databases/derby.adoc b/docs/hop-user-manual/modules/ROOT/pages/database/databases/derby.adoc
new file mode 100644
index 0000000..5d5d423
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/pages/database/databases/derby.adoc
@@ -0,0 +1,32 @@
+////
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+  http://www.apache.org/licenses/LICENSE-2.0
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+////
... 24453 lines suppressed ...