You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hop.apache.org by gi...@apache.org on 2021/03/10 09:42:18 UTC

[incubator-hop-website] branch asf-site updated: Website updated to 5c1ba093

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

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


The following commit(s) were added to refs/heads/asf-site by this push:
     new 14fdb0f  Website updated to 5c1ba093
14fdb0f is described below

commit 14fdb0f710c8585081445fb6509b9f35d3b69dbc
Author: jenkins <bu...@apache.org>
AuthorDate: Wed Mar 10 09:42:11 2021 +0000

    Website updated to 5c1ba093
---
 404.html                                           |    2 +-
 .../latest/apache-release/checking-a-release.html  |    2 +-
 .../latest/apache-release/creating-a-release.html  |    2 +-
 dev-manual/latest/apache-release/index.html        |    2 +-
 dev-manual/latest/getting-started.html             |    2 +-
 dev-manual/latest/index.html                       |    2 +-
 dev-manual/latest/integration-testing.html         |    2 +-
 dev-manual/latest/internationalisation.html        |    2 +-
 dev-manual/latest/metadata-plugins.html            |    2 +-
 dev-manual/latest/plugin-development.html          |    2 +-
 dev-manual/latest/plugin-samples.html              |    2 +-
 dev-manual/latest/porting-kettle-plugins.html      |    2 +-
 dev-manual/latest/sdk/hop-sdk.html                 |    2 +-
 dev-manual/latest/sdk/index.html                   |    2 +-
 dev-manual/latest/setup-dev-environment.html       |    2 +-
 dev-manual/latest/start-your-own-plugin.html       |    2 +-
 dev-manual/latest/svg-files.html                   |    2 +-
 dev-manual/latest/webhop/developer-guide.html      |    2 +-
 dev-manual/latest/webhop/index.html                |    2 +-
 dev-manual/latest/webhop/webhop-antipatterns.html  |    2 +-
 .../New Layout/_images/concepts/environments.png   |  Bin 0 -> 64392 bytes
 manual/New Layout/_images/concepts/pipeline.png    |  Bin 0 -> 34989 bytes
 manual/New Layout/_images/concepts/workflow.png    |  Bin 0 -> 27620 bytes
 manual/New Layout/_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 +
 .../_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 +
 .../_images/getting-started/icons/back.svg         |   22 +
 .../_images/getting-started/icons/cleanup.svg      |   24 +
 .../_images/getting-started/icons/close.svg        |   10 +
 .../_images/getting-started/icons/debug.svg        |   26 +
 .../icons/distribute-horizontally.svg              |   73 +
 .../icons/distribute-vertically.svg                |   76 +
 .../_images/getting-started/icons/job.svg          |   12 +
 .../_images/getting-started/icons/pause.svg        |   13 +
 .../_images/getting-started/icons/print.png        |  Bin 0 -> 441 bytes
 .../_images/getting-started/icons/run.svg          |   10 +
 .../_images/getting-started/icons/run_option.svg   |   17 +
 .../_images/getting-started/icons/show-all.svg     |   78 +
 .../getting-started/icons/show-selected.svg        |   83 +
 .../_images/getting-started/icons/snap-to-grid.svg |  164 ++
 .../_images/getting-started/icons/stop.svg         |   33 +
 .../_images/getting-started/icons/trans.svg        |   12 +
 .../_images/getting-started/icons/view-as-xml.svg  |   12 +
 .../_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
 .../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
 .../_images/hop-gui/environment/hop-conf-help.png  |  Bin 0 -> 233024 bytes
 .../_images/hop-gui/environment/hop-conf.png       |  Bin 0 -> 93785 bytes
 .../hop-gui/environment/new-environment-dialog.png |  Bin 0 -> 21553 bytes
 .../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
 .../New Layout/_images/hop-gui/new-work-item.png   |  Bin 0 -> 32021 bytes
 manual/New Layout/_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
 .../_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/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
 .../_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
 .../_images/hop-import/import-dialog.png           |  Bin 0 -> 46470 bytes
 .../_images/hop-import/import-report.png           |  Bin 0 -> 44020 bytes
 .../New Layout/_images/hop-import/menu-import.png  |  Bin 0 -> 36421 bytes
 .../New Layout/_images/hop-run/hop-run-options.png |  Bin 0 -> 54697 bytes
 .../_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
 .../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
 .../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
 .../_images/run-configuration/beam-flink.png       |  Bin 0 -> 72845 bytes
 .../_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
 .../New Layout/_images/system-properties-menu.png  |  Bin 0 -> 30760 bytes
 manual/New Layout/_images/test_image.jpg           |  Bin 0 -> 460554 bytes
 manual/New Layout/_images/variable-indicator.png   |  Bin 0 -> 10854 bytes
 manual/New Layout/concepts.html                    |   19 +
 manual/New Layout/faq/faq.html                     |   19 +
 manual/New Layout/getting-started.html             |   65 +
 .../hop-gui/environments/environments.html         |   42 +
 manual/New Layout/hop-gui/index.html               |   19 +
 .../hop-gui/pipelines/create-pipeline.html         |   19 +
 .../hop-gui/pipelines/hop-pipeline-editor.html     |   19 +
 .../hop-gui/pipelines/metadata-injection.html      |   19 +
 .../beam-dataflow-pipeline-engine.html             |   19 +
 .../beam-direct-pipeline-engine.html               |   19 +
 .../beam-flink-pipeline-engine.html                |   19 +
 .../beam-spark-pipeline-engine.html                |   26 +
 .../local-pipeline-engine.html                     |   19 +
 .../pipeline-run-configurations.html               |   19 +
 .../remote-pipeline-engine.html                    |   19 +
 manual/New Layout/hop-gui/pipelines/pipelines.html |   19 +
 .../pipelines/run-preview-debug-pipeline.html      |   19 +
 manual/New Layout/hop-gui/shortcuts.html           |   19 +
 manual/New Layout/hop-gui/variables/variables.html |   23 +
 .../hop-gui/workflows/create-workflow.html         |   19 +
 .../hop-gui/workflows/run-debug-workflow.html      |   19 +
 .../workflow-run-configurations.html               |   19 +
 manual/New Layout/hop-gui/workflows/workflows.html |   19 +
 manual/New Layout/hop-gui/workitems.html           |   19 +
 manual/New Layout/hop-run/index.html               |   19 +
 manual/New Layout/hop-server/index.html            |   20 +
 manual/New Layout/hop-server/web-service.html      |   27 +
 manual/New Layout/hop-vs-kettle/hop-vs-kettle.html |   19 +
 .../hop-vs-kettle/if-you-know-kettle.html          |   19 +
 .../hop-vs-kettle/import-kettle-projects.html      |   19 +
 manual/New Layout/hop-vs-kettle/index.html         |   19 +
 manual/New Layout/image-testpage.html              |   19 +
 manual/New Layout/index.html                       |   19 +
 manual/New Layout/logging/logging-basics.html      |   19 +
 manual/New Layout/logging/logging-reflection.html  |   19 +
 manual/New Layout/plugins/actions.html             |   19 +
 manual/New Layout/plugins/actions/abort.html       |   19 +
 .../plugins/actions/addresultfilenames.html        |   19 +
 .../New Layout/plugins/actions/as400command.html   |   19 +
 .../plugins/actions/checkdbconnection.html         |   19 +
 .../plugins/actions/checkfilelocked.html           |   19 +
 .../New Layout/plugins/actions/columnsexist.html   |   19 +
 manual/New Layout/plugins/actions/copyfiles.html   |   19 +
 .../plugins/actions/copymoveresultfilenames.html   |   19 +
 manual/New Layout/plugins/actions/createfile.html  |   19 +
 .../New Layout/plugins/actions/createfolder.html   |   19 +
 manual/New Layout/plugins/actions/delay.html       |   19 +
 manual/New Layout/plugins/actions/deletefile.html  |   19 +
 manual/New Layout/plugins/actions/deletefiles.html |   19 +
 .../New Layout/plugins/actions/deletefolders.html  |   19 +
 .../plugins/actions/deleteresultfilenames.html     |   19 +
 manual/New Layout/plugins/actions/dostounix.html   |   19 +
 .../New Layout/plugins/actions/dtdvalidator.html   |   19 +
 manual/New Layout/plugins/actions/dummy.html       |   19 +
 manual/New Layout/plugins/actions/eval.html        |   29 +
 .../plugins/actions/evalfilesmetrics.html          |   19 +
 .../plugins/actions/evaluatetablecontent.html      |   19 +
 manual/New Layout/plugins/actions/filecompare.html |   19 +
 manual/New Layout/plugins/actions/fileexists.html  |   19 +
 manual/New Layout/plugins/actions/filesexist.html  |   19 +
 .../New Layout/plugins/actions/folderisempty.html  |   19 +
 .../New Layout/plugins/actions/folderscompare.html |   19 +
 manual/New Layout/plugins/actions/ftp.html         |   19 +
 manual/New Layout/plugins/actions/ftpdelete.html   |   19 +
 manual/New Layout/plugins/actions/ftpput.html      |   19 +
 manual/New Layout/plugins/actions/ftpsget.html     |   19 +
 manual/New Layout/plugins/actions/ftpsput.html     |   19 +
 manual/New Layout/plugins/actions/getpop.html      |   19 +
 manual/New Layout/plugins/actions/http.html        |   19 +
 manual/New Layout/plugins/actions/mail.html        |   19 +
 .../New Layout/plugins/actions/mailvalidator.html  |   19 +
 manual/New Layout/plugins/actions/movefiles.html   |   19 +
 manual/New Layout/plugins/actions/msgboxinfo.html  |   20 +
 .../New Layout/plugins/actions/mssqlbulkload.html  |   19 +
 .../New Layout/plugins/actions/mysqlbulkfile.html  |   19 +
 .../New Layout/plugins/actions/mysqlbulkload.html  |   19 +
 .../plugins/actions/pgpdecryptfiles.html           |   19 +
 .../plugins/actions/pgpencryptfiles.html           |   19 +
 manual/New Layout/plugins/actions/pgpfiles.html    |   19 +
 manual/New Layout/plugins/actions/pgpverify.html   |   19 +
 manual/New Layout/plugins/actions/ping.html        |   19 +
 manual/New Layout/plugins/actions/pipeline.html    |   19 +
 manual/New Layout/plugins/actions/repeat-end.html  |   19 +
 manual/New Layout/plugins/actions/repeat.html      |   19 +
 .../plugins/actions/runpipelinetests.html          |   19 +
 .../plugins/actions/sendnagiospassivecheck.html    |   19 +
 .../New Layout/plugins/actions/setvariables.html   |   19 +
 manual/New Layout/plugins/actions/sftp.html        |   21 +
 manual/New Layout/plugins/actions/sftpput.html     |   20 +
 manual/New Layout/plugins/actions/shell.html       |   19 +
 manual/New Layout/plugins/actions/simpleeval.html  |   19 +
 manual/New Layout/plugins/actions/snmptrap.html    |   19 +
 manual/New Layout/plugins/actions/sql.html         |   19 +
 manual/New Layout/plugins/actions/start.html       |   19 +
 manual/New Layout/plugins/actions/success.html     |   19 +
 manual/New Layout/plugins/actions/syslog.html      |   19 +
 manual/New Layout/plugins/actions/tableexists.html |   19 +
 manual/New Layout/plugins/actions/telnet.html      |   19 +
 .../New Layout/plugins/actions/truncatetables.html |   19 +
 manual/New Layout/plugins/actions/unzip.html       |   19 +
 manual/New Layout/plugins/actions/waitforfile.html |   19 +
 manual/New Layout/plugins/actions/waitforsql.html  |   19 +
 .../plugins/actions/webserviceavailable.html       |   19 +
 manual/New Layout/plugins/actions/workflow.html    |   19 +
 manual/New Layout/plugins/actions/writetofile.html |   19 +
 manual/New Layout/plugins/actions/writetolog.html  |   19 +
 .../New Layout/plugins/actions/xmlwellformed.html  |   19 +
 .../New Layout/plugins/actions/xsdvalidator.html   |   19 +
 manual/New Layout/plugins/actions/xslt.html        |   19 +
 manual/New Layout/plugins/actions/zipfile.html     |   19 +
 manual/New Layout/plugins/databases.html           |   19 +
 manual/New Layout/plugins/databases/as400.html     |   19 +
 manual/New Layout/plugins/databases/cache.html     |   19 +
 .../New Layout/plugins/databases/clickhouse.html   |   19 +
 manual/New Layout/plugins/databases/db2.html       |   19 +
 manual/New Layout/plugins/databases/derby.html     |   19 +
 manual/New Layout/plugins/databases/exasol.html    |   19 +
 manual/New Layout/plugins/databases/firebird.html  |   19 +
 .../plugins/databases/googlebigquery.html          |   19 +
 manual/New Layout/plugins/databases/greenplum.html |   19 +
 manual/New Layout/plugins/databases/h2.html        |   19 +
 .../New Layout/plugins/databases/hypersonic.html   |   19 +
 manual/New Layout/plugins/databases/infinidb.html  |   19 +
 .../New Layout/plugins/databases/infobright.html   |   19 +
 manual/New Layout/plugins/databases/informix.html  |   19 +
 manual/New Layout/plugins/databases/ingres.html    |   19 +
 manual/New Layout/plugins/databases/interbase.html |   19 +
 .../New Layout/plugins/databases/kingbasees.html   |   19 +
 manual/New Layout/plugins/databases/mariadb.html   |   19 +
 manual/New Layout/plugins/databases/monetdb.html   |   19 +
 manual/New Layout/plugins/databases/mssql.html     |   19 +
 .../New Layout/plugins/databases/mssqlnative.html  |   19 +
 manual/New Layout/plugins/databases/mysql.html     |   19 +
 manual/New Layout/plugins/databases/netezza.html   |   19 +
 manual/New Layout/plugins/databases/oracle.html    |   19 +
 manual/New Layout/plugins/databases/oraclerdb.html |   19 +
 .../New Layout/plugins/databases/postgresql.html   |   19 +
 manual/New Layout/plugins/databases/redshift.html  |   19 +
 manual/New Layout/plugins/databases/sapdb.html     |   19 +
 manual/New Layout/plugins/databases/snowflake.html |   19 +
 manual/New Layout/plugins/databases/sqlbase.html   |   19 +
 manual/New Layout/plugins/databases/sqlite.html    |   19 +
 manual/New Layout/plugins/databases/sybase.html    |   19 +
 manual/New Layout/plugins/databases/sybaseiq.html  |   19 +
 manual/New Layout/plugins/databases/teradata.html  |   19 +
 manual/New Layout/plugins/databases/universe.html  |   19 +
 .../New Layout/plugins/databases/vectorwise.html   |   19 +
 manual/New Layout/plugins/databases/vertica.html   |   19 +
 manual/New Layout/plugins/passwords.html           |   19 +
 .../New Layout/plugins/passwords/aespasswords.html |   26 +
 manual/New Layout/plugins/plugins.html             |   19 +
 manual/New Layout/plugins/projects.html            |   19 +
 .../plugins/projects/projects.html}                |  112 +-
 manual/New Layout/plugins/transforms.html          |   19 +
 manual/New Layout/plugins/transforms/abort.html    |   19 +
 .../New Layout/plugins/transforms/addsequence.html |   19 +
 manual/New Layout/plugins/transforms/addxml.html   |   19 +
 .../plugins/transforms/analyticquery.html          |   42 +
 manual/New Layout/plugins/transforms/append.html   |   19 +
 .../plugins/transforms/beambigqueryinput.html      |   19 +
 .../plugins/transforms/beambigqueryoutput.html     |   19 +
 .../New Layout/plugins/transforms/beamconsume.html |   19 +
 .../New Layout/plugins/transforms/beaminput.html   |   19 +
 .../New Layout/plugins/transforms/beamoutput.html  |   19 +
 .../New Layout/plugins/transforms/beamproduce.html |   19 +
 .../plugins/transforms/beampublisher.html          |   19 +
 .../plugins/transforms/beamsubscriber.html         |   19 +
 .../plugins/transforms/beamtimestamp.html          |   19 +
 .../New Layout/plugins/transforms/beamwindow.html  |   19 +
 .../plugins/transforms/blockingtransform.html      |   19 +
 .../transforms/blockuntiltransformsfinish.html     |   19 +
 .../New Layout/plugins/transforms/calculator.html  |   19 +
 .../plugins/transforms/changefileencoding.html     |   19 +
 manual/New Layout/plugins/transforms/checksum.html |   19 +
 manual/New Layout/plugins/transforms/clonerow.html |   19 +
 manual/New Layout/plugins/transforms/closure.html  |   19 +
 manual/New Layout/plugins/transforms/coalesce.html |   19 +
 .../plugins/transforms/columnexists.html           |   19 +
 .../plugins/transforms/combinationlookup.html      |   19 +
 .../plugins/transforms/concatfields.html           |   19 +
 manual/New Layout/plugins/transforms/constant.html |   19 +
 .../plugins/transforms/creditcardvalidator.html    |   19 +
 manual/New Layout/plugins/transforms/csvinput.html |   19 +
 .../New Layout/plugins/transforms/cubeinput.html   |   19 +
 .../New Layout/plugins/transforms/cubeoutput.html  |   19 +
 .../plugins/transforms/databasejoin.html           |   23 +
 .../plugins/transforms/databaselookup.html         |   19 +
 manual/New Layout/plugins/transforms/datagrid.html |   19 +
 manual/New Layout/plugins/transforms/dbproc.html   |   19 +
 manual/New Layout/plugins/transforms/delay.html    |   19 +
 manual/New Layout/plugins/transforms/delete.html   |   19 +
 .../plugins/transforms/denormaliser.html           |   19 +
 .../plugins/transforms/detectemptystream.html      |   19 +
 .../plugins/transforms/detectlastrow.html          |   19 +
 .../plugins/transforms/dimensionlookup.html        |   19 +
 manual/New Layout/plugins/transforms/dummy.html    |   19 +
 .../plugins/transforms/dynamicsqlrow.html          |   19 +
 manual/New Layout/plugins/transforms/edi2xml.html  |   28 +
 .../plugins/transforms/enhancedjsonoutput.html     |   63 +
 .../New Layout/plugins/transforms/excelinput.html  |   19 +
 .../New Layout/plugins/transforms/exceloutput.html |   19 +
 .../New Layout/plugins/transforms/excelwriter.html |   19 +
 .../New Layout/plugins/transforms/execprocess.html |   19 +
 .../New Layout/plugins/transforms/execsqlrow.html  |   19 +
 manual/New Layout/plugins/transforms/fake.html     |   19 +
 .../plugins/transforms/fieldschangesequence.html   |   19 +
 .../plugins/transforms/fieldsplitter.html          |   19 +
 .../New Layout/plugins/transforms/fileexists.html  |   19 +
 .../New Layout/plugins/transforms/filelocked.html  |   19 +
 .../plugins/transforms/filesfromresult.html        |   19 +
 .../plugins/transforms/filestoresult.html          |   19 +
 .../New Layout/plugins/transforms/filterrows.html  |   23 +
 .../New Layout/plugins/transforms/flattener.html   |   19 +
 .../New Layout/plugins/transforms/fuzzymatch.html  |   19 +
 .../plugins/transforms/getfilenames.html           |   19 +
 .../plugins/transforms/getfilesrowcount.html       |   19 +
 .../plugins/transforms/getslavesequence.html       |   60 +
 .../plugins/transforms/getsubfolders.html          |   19 +
 .../plugins/transforms/gettablenames.html          |   19 +
 .../New Layout/plugins/transforms/getvariable.html |   19 +
 .../New Layout/plugins/transforms/getxmldata.html  |   19 +
 manual/New Layout/plugins/transforms/groupby.html  |   19 +
 manual/New Layout/plugins/transforms/http.html     |   19 +
 manual/New Layout/plugins/transforms/httppost.html |   19 +
 manual/New Layout/plugins/transforms/ifnull.html   |   19 +
 manual/New Layout/plugins/transforms/injector.html |   19 +
 .../plugins/transforms/insertupdate.html           |   19 +
 manual/New Layout/plugins/transforms/janino.html   |   20 +
 .../New Layout/plugins/transforms/javafilter.html  |   22 +
 .../New Layout/plugins/transforms/javascript.html  |   19 +
 manual/New Layout/plugins/transforms/joinrows.html |   19 +
 .../New Layout/plugins/transforms/jsoninput.html   |   19 +
 .../New Layout/plugins/transforms/jsonoutput.html  |   82 +
 .../New Layout/plugins/transforms/ldapinput.html   |   19 +
 .../New Layout/plugins/transforms/ldapoutput.html  |   19 +
 .../New Layout/plugins/transforms/ldifinput.html   |   19 +
 .../plugins/transforms/loadfileinput.html          |   19 +
 manual/New Layout/plugins/transforms/mail.html     |   19 +
 .../New Layout/plugins/transforms/mailinput.html   |   19 +
 .../plugins/transforms/mailvalidator.html          |   19 +
 .../New Layout/plugins/transforms/memgroupby.html  |   19 +
 .../New Layout/plugins/transforms/mergejoin.html   |   19 +
 .../New Layout/plugins/transforms/mergerows.html   |   19 +
 .../New Layout/plugins/transforms/metainject.html  |   19 +
 .../plugins/transforms/metastructure.html          |   19 +
 .../plugins/transforms/monetdbbulkloader.html      |   19 +
 .../plugins/transforms/mongodbinput.html           |   19 +
 .../plugins/transforms/mongodboutput.html          |   29 +
 .../plugins/transforms/mqttpublisher.html          |   19 +
 .../plugins/transforms/mqttsubscriber.html         |   19 +
 .../New Layout/plugins/transforms/multimerge.html  |   19 +
 .../New Layout/plugins/transforms/normaliser.html  |   19 +
 manual/New Layout/plugins/transforms/nullif.html   |   19 +
 .../New Layout/plugins/transforms/numberrange.html |   19 +
 .../plugins/transforms/pgbulkloader.html           |   23 +
 .../plugins/transforms/pgpdecryptstream.html       |   19 +
 .../plugins/transforms/pgpencryptstream.html       |   19 +
 .../plugins/transforms/pipelineexcecutor.html      |   19 +
 .../plugins/transforms/processfiles.html           |   19 +
 .../plugins/transforms/propertyinput.html          |   19 +
 .../plugins/transforms/propertyoutput.html         |   19 +
 .../New Layout/plugins/transforms/randomvalue.html |   19 +
 .../plugins/transforms/recordsfromstream.html      |   19 +
 .../New Layout/plugins/transforms/regexeval.html   |   19 +
 .../plugins/transforms/replacestring.html          |   19 +
 .../plugins/transforms/reservoirsampling.html      |   19 +
 manual/New Layout/plugins/transforms/rest.html     |   19 +
 .../plugins/transforms/rowgenerator.html           |   19 +
 .../plugins/transforms/rowsfromresult.html         |   19 +
 .../plugins/transforms/rowstoresult.html           |   19 +
 manual/New Layout/plugins/transforms/sasinput.html |   19 +
 .../plugins/transforms/selectvalues.html           |   19 +
 .../plugins/transforms/setvalueconstant.html       |   19 +
 .../plugins/transforms/setvaluefield.html          |   19 +
 .../New Layout/plugins/transforms/setvariable.html |   19 +
 manual/New Layout/plugins/transforms/sort.html     |   19 +
 .../New Layout/plugins/transforms/sortedmerge.html |   19 +
 .../plugins/transforms/splitfieldtorows.html       |   19 +
 manual/New Layout/plugins/transforms/sql.html      |   19 +
 .../plugins/transforms/sqlfileoutput.html          |   19 +
 manual/New Layout/plugins/transforms/ssh.html      |   19 +
 .../plugins/transforms/streamlookup.html           |   19 +
 .../plugins/transforms/streamschemamerge.html      |   19 +
 .../New Layout/plugins/transforms/stringcut.html   |   19 +
 .../plugins/transforms/stringoperations.html       |   19 +
 .../New Layout/plugins/transforms/switchcase.html  |   19 +
 .../plugins/transforms/synchronizeaftermerge.html  |   19 +
 manual/New Layout/plugins/transforms/syslog.html   |   19 +
 .../New Layout/plugins/transforms/systemdata.html  |   19 +
 .../plugins/transforms/tablecompare.html           |   19 +
 .../New Layout/plugins/transforms/tableexists.html |   19 +
 .../New Layout/plugins/transforms/tableinput.html  |   19 +
 .../New Layout/plugins/transforms/tableoutput.html |   27 +
 manual/New Layout/plugins/transforms/terafast.html |   19 +
 .../plugins/transforms/textfileinput.html          |   19 +
 .../plugins/transforms/textfileoutput.html         |   19 +
 .../plugins/transforms/tokenreplacement.html       |   19 +
 .../New Layout/plugins/transforms/uniquerows.html  |   19 +
 .../plugins/transforms/uniquerowsbyhashset.html    |   19 +
 manual/New Layout/plugins/transforms/update.html   |   19 +
 .../plugins/transforms/userdefinedjavaclass.html   |   96 +
 .../New Layout/plugins/transforms/validator.html   |   19 +
 .../New Layout/plugins/transforms/valuemapper.html |   21 +
 .../plugins/transforms/webserviceavailable.html    |   19 +
 .../New Layout/plugins/transforms/webservices.html |   19 +
 .../plugins/transforms/workflowexecutor.html       |   19 +
 .../New Layout/plugins/transforms/writetolog.html  |   34 +
 .../plugins/transforms/xmlinputstream.html         |   19 +
 manual/New Layout/plugins/transforms/xmljoin.html  |   19 +
 .../New Layout/plugins/transforms/xmloutput.html   |   19 +
 .../plugins/transforms/xsdvalidator.html           |   19 +
 manual/New Layout/plugins/transforms/xslt.html     |   19 +
 .../New Layout/plugins/transforms/yamlinput.html   |   19 +
 manual/New Layout/plugins/transforms/zipfile.html  |   19 +
 manual/New Layout/projects.html                    |   19 +
 manual/New Layout/samples/dummy-sample.html        |   19 +
 manual/New Layout/samples/samples.html             |   19 +
 manual/latest/concepts.html                        |    2 +-
 manual/latest/faq/faq.html                         |    2 +-
 manual/latest/getting-started.html                 |    2 +-
 .../latest/hop-gui/environments/environments.html  |    2 +-
 manual/latest/hop-gui/index.html                   |    2 +-
 .../latest/hop-gui/pipelines/create-pipeline.html  |    2 +-
 .../hop-gui/pipelines/hop-pipeline-editor.html     |    2 +-
 .../hop-gui/pipelines/metadata-injection.html      |    2 +-
 .../beam-dataflow-pipeline-engine.html             |    2 +-
 .../beam-direct-pipeline-engine.html               |    2 +-
 .../beam-flink-pipeline-engine.html                |    2 +-
 .../beam-spark-pipeline-engine.html                |    2 +-
 .../local-pipeline-engine.html                     |    2 +-
 .../pipeline-run-configurations.html               |    2 +-
 .../remote-pipeline-engine.html                    |    2 +-
 manual/latest/hop-gui/pipelines/pipelines.html     |    2 +-
 .../pipelines/run-preview-debug-pipeline.html      |    2 +-
 manual/latest/hop-gui/shortcuts.html               |    2 +-
 manual/latest/hop-gui/variables/variables.html     |    2 +-
 .../latest/hop-gui/workflows/create-workflow.html  |    2 +-
 .../hop-gui/workflows/run-debug-workflow.html      |    2 +-
 .../workflow-run-configurations.html               |    2 +-
 manual/latest/hop-gui/workflows/workflows.html     |    2 +-
 manual/latest/hop-gui/workitems.html               |    2 +-
 manual/latest/hop-run/index.html                   |    2 +-
 manual/latest/hop-server/index.html                |    2 +-
 manual/latest/hop-server/web-service.html          |    2 +-
 manual/latest/hop-vs-kettle/hop-vs-kettle.html     |    2 +-
 .../latest/hop-vs-kettle/if-you-know-kettle.html   |    2 +-
 .../hop-vs-kettle/import-kettle-projects.html      |    2 +-
 manual/latest/hop-vs-kettle/index.html             |    2 +-
 manual/latest/image-testpage.html                  |    2 +-
 manual/latest/index.html                           |    2 +-
 manual/latest/logging/logging-basics.html          |    2 +-
 manual/latest/logging/logging-reflection.html      |    2 +-
 manual/latest/plugins/actions.html                 |    2 +-
 manual/latest/plugins/actions/abort.html           |    2 +-
 .../latest/plugins/actions/addresultfilenames.html |    2 +-
 manual/latest/plugins/actions/as400command.html    |    2 +-
 .../latest/plugins/actions/checkdbconnection.html  |    2 +-
 manual/latest/plugins/actions/checkfilelocked.html |    2 +-
 manual/latest/plugins/actions/columnsexist.html    |    2 +-
 manual/latest/plugins/actions/copyfiles.html       |    2 +-
 .../plugins/actions/copymoveresultfilenames.html   |    2 +-
 manual/latest/plugins/actions/createfile.html      |    2 +-
 manual/latest/plugins/actions/createfolder.html    |    2 +-
 manual/latest/plugins/actions/delay.html           |    2 +-
 manual/latest/plugins/actions/deletefile.html      |    2 +-
 manual/latest/plugins/actions/deletefiles.html     |    2 +-
 manual/latest/plugins/actions/deletefolders.html   |    2 +-
 .../plugins/actions/deleteresultfilenames.html     |    2 +-
 manual/latest/plugins/actions/dostounix.html       |    2 +-
 manual/latest/plugins/actions/dtdvalidator.html    |    2 +-
 manual/latest/plugins/actions/dummy.html           |    2 +-
 manual/latest/plugins/actions/eval.html            |    2 +-
 .../latest/plugins/actions/evalfilesmetrics.html   |    2 +-
 .../plugins/actions/evaluatetablecontent.html      |    2 +-
 manual/latest/plugins/actions/filecompare.html     |    2 +-
 manual/latest/plugins/actions/fileexists.html      |    2 +-
 manual/latest/plugins/actions/filesexist.html      |    2 +-
 manual/latest/plugins/actions/folderisempty.html   |    2 +-
 manual/latest/plugins/actions/folderscompare.html  |    2 +-
 manual/latest/plugins/actions/ftp.html             |    2 +-
 manual/latest/plugins/actions/ftpdelete.html       |    2 +-
 manual/latest/plugins/actions/ftpput.html          |    2 +-
 manual/latest/plugins/actions/ftpsget.html         |    2 +-
 manual/latest/plugins/actions/ftpsput.html         |    2 +-
 manual/latest/plugins/actions/getpop.html          |    2 +-
 manual/latest/plugins/actions/http.html            |    2 +-
 manual/latest/plugins/actions/mail.html            |    2 +-
 manual/latest/plugins/actions/mailvalidator.html   |    2 +-
 manual/latest/plugins/actions/movefiles.html       |    2 +-
 manual/latest/plugins/actions/msgboxinfo.html      |    2 +-
 manual/latest/plugins/actions/mssqlbulkload.html   |    2 +-
 manual/latest/plugins/actions/mysqlbulkfile.html   |    2 +-
 manual/latest/plugins/actions/mysqlbulkload.html   |    2 +-
 manual/latest/plugins/actions/pgpdecryptfiles.html |    2 +-
 manual/latest/plugins/actions/pgpencryptfiles.html |    2 +-
 manual/latest/plugins/actions/pgpfiles.html        |    2 +-
 manual/latest/plugins/actions/pgpverify.html       |    2 +-
 manual/latest/plugins/actions/ping.html            |    2 +-
 manual/latest/plugins/actions/pipeline.html        |    2 +-
 manual/latest/plugins/actions/repeat-end.html      |    2 +-
 manual/latest/plugins/actions/repeat.html          |    2 +-
 .../latest/plugins/actions/runpipelinetests.html   |    2 +-
 .../plugins/actions/sendnagiospassivecheck.html    |    2 +-
 manual/latest/plugins/actions/setvariables.html    |    2 +-
 manual/latest/plugins/actions/sftp.html            |    2 +-
 manual/latest/plugins/actions/sftpput.html         |    2 +-
 manual/latest/plugins/actions/shell.html           |    2 +-
 manual/latest/plugins/actions/simpleeval.html      |    2 +-
 manual/latest/plugins/actions/snmptrap.html        |    2 +-
 manual/latest/plugins/actions/sql.html             |    2 +-
 manual/latest/plugins/actions/start.html           |    2 +-
 manual/latest/plugins/actions/success.html         |    2 +-
 manual/latest/plugins/actions/syslog.html          |    2 +-
 manual/latest/plugins/actions/tableexists.html     |    2 +-
 manual/latest/plugins/actions/telnet.html          |    2 +-
 manual/latest/plugins/actions/truncatetables.html  |    2 +-
 manual/latest/plugins/actions/unzip.html           |    2 +-
 manual/latest/plugins/actions/waitforfile.html     |    2 +-
 manual/latest/plugins/actions/waitforsql.html      |    2 +-
 .../plugins/actions/webserviceavailable.html       |    2 +-
 manual/latest/plugins/actions/workflow.html        |    2 +-
 manual/latest/plugins/actions/writetofile.html     |    2 +-
 manual/latest/plugins/actions/writetolog.html      |    2 +-
 manual/latest/plugins/actions/xmlwellformed.html   |    2 +-
 manual/latest/plugins/actions/xsdvalidator.html    |    2 +-
 manual/latest/plugins/actions/xslt.html            |    2 +-
 manual/latest/plugins/actions/zipfile.html         |    2 +-
 manual/latest/plugins/databases.html               |    2 +-
 manual/latest/plugins/databases/as400.html         |    2 +-
 manual/latest/plugins/databases/cache.html         |    2 +-
 manual/latest/plugins/databases/clickhouse.html    |    2 +-
 manual/latest/plugins/databases/db2.html           |    2 +-
 manual/latest/plugins/databases/derby.html         |    2 +-
 manual/latest/plugins/databases/exasol.html        |    2 +-
 manual/latest/plugins/databases/firebird.html      |    2 +-
 .../latest/plugins/databases/googlebigquery.html   |    2 +-
 manual/latest/plugins/databases/greenplum.html     |    2 +-
 manual/latest/plugins/databases/h2.html            |    2 +-
 manual/latest/plugins/databases/hypersonic.html    |    2 +-
 manual/latest/plugins/databases/infinidb.html      |    2 +-
 manual/latest/plugins/databases/infobright.html    |    2 +-
 manual/latest/plugins/databases/informix.html      |    2 +-
 manual/latest/plugins/databases/ingres.html        |    2 +-
 manual/latest/plugins/databases/interbase.html     |    2 +-
 manual/latest/plugins/databases/kingbasees.html    |    2 +-
 manual/latest/plugins/databases/mariadb.html       |    2 +-
 manual/latest/plugins/databases/monetdb.html       |    2 +-
 manual/latest/plugins/databases/mssql.html         |    2 +-
 manual/latest/plugins/databases/mssqlnative.html   |    2 +-
 manual/latest/plugins/databases/mysql.html         |    2 +-
 manual/latest/plugins/databases/netezza.html       |    2 +-
 manual/latest/plugins/databases/oracle.html        |    2 +-
 manual/latest/plugins/databases/oraclerdb.html     |    2 +-
 manual/latest/plugins/databases/postgresql.html    |    2 +-
 manual/latest/plugins/databases/redshift.html      |    2 +-
 manual/latest/plugins/databases/sapdb.html         |    2 +-
 manual/latest/plugins/databases/snowflake.html     |    2 +-
 manual/latest/plugins/databases/sqlbase.html       |    2 +-
 manual/latest/plugins/databases/sqlite.html        |    2 +-
 manual/latest/plugins/databases/sybase.html        |    2 +-
 manual/latest/plugins/databases/sybaseiq.html      |    2 +-
 manual/latest/plugins/databases/teradata.html      |    2 +-
 manual/latest/plugins/databases/universe.html      |    2 +-
 manual/latest/plugins/databases/vectorwise.html    |    2 +-
 manual/latest/plugins/databases/vertica.html       |    2 +-
 manual/latest/plugins/passwords.html               |    2 +-
 manual/latest/plugins/passwords/aespasswords.html  |    2 +-
 manual/latest/plugins/plugins.html                 |    2 +-
 manual/latest/plugins/projects.html                |    2 +-
 manual/latest/plugins/projects/projects.html       |    2 +-
 manual/latest/plugins/transforms.html              |    2 +-
 manual/latest/plugins/transforms/abort.html        |    2 +-
 manual/latest/plugins/transforms/addsequence.html  |    2 +-
 manual/latest/plugins/transforms/addxml.html       |    2 +-
 .../latest/plugins/transforms/analyticquery.html   |    2 +-
 manual/latest/plugins/transforms/append.html       |    2 +-
 .../plugins/transforms/beambigqueryinput.html      |    2 +-
 .../plugins/transforms/beambigqueryoutput.html     |    2 +-
 manual/latest/plugins/transforms/beamconsume.html  |    2 +-
 manual/latest/plugins/transforms/beaminput.html    |    2 +-
 manual/latest/plugins/transforms/beamoutput.html   |    2 +-
 manual/latest/plugins/transforms/beamproduce.html  |    2 +-
 .../latest/plugins/transforms/beampublisher.html   |    2 +-
 .../latest/plugins/transforms/beamsubscriber.html  |    2 +-
 .../latest/plugins/transforms/beamtimestamp.html   |    2 +-
 manual/latest/plugins/transforms/beamwindow.html   |    2 +-
 .../plugins/transforms/blockingtransform.html      |    2 +-
 .../transforms/blockuntiltransformsfinish.html     |    2 +-
 manual/latest/plugins/transforms/calculator.html   |    2 +-
 .../plugins/transforms/changefileencoding.html     |    2 +-
 manual/latest/plugins/transforms/checksum.html     |    2 +-
 manual/latest/plugins/transforms/clonerow.html     |    2 +-
 manual/latest/plugins/transforms/closure.html      |    2 +-
 manual/latest/plugins/transforms/coalesce.html     |    2 +-
 manual/latest/plugins/transforms/columnexists.html |    2 +-
 .../plugins/transforms/combinationlookup.html      |    2 +-
 manual/latest/plugins/transforms/concatfields.html |    2 +-
 manual/latest/plugins/transforms/constant.html     |    2 +-
 .../plugins/transforms/creditcardvalidator.html    |    2 +-
 manual/latest/plugins/transforms/csvinput.html     |    2 +-
 manual/latest/plugins/transforms/cubeinput.html    |    2 +-
 manual/latest/plugins/transforms/cubeoutput.html   |    2 +-
 manual/latest/plugins/transforms/databasejoin.html |    2 +-
 .../latest/plugins/transforms/databaselookup.html  |    2 +-
 manual/latest/plugins/transforms/datagrid.html     |    2 +-
 manual/latest/plugins/transforms/dbproc.html       |    2 +-
 manual/latest/plugins/transforms/delay.html        |    2 +-
 manual/latest/plugins/transforms/delete.html       |    2 +-
 manual/latest/plugins/transforms/denormaliser.html |    2 +-
 .../plugins/transforms/detectemptystream.html      |    2 +-
 .../latest/plugins/transforms/detectlastrow.html   |    2 +-
 .../latest/plugins/transforms/dimensionlookup.html |    2 +-
 manual/latest/plugins/transforms/dummy.html        |    2 +-
 .../latest/plugins/transforms/dynamicsqlrow.html   |    2 +-
 manual/latest/plugins/transforms/edi2xml.html      |    2 +-
 .../plugins/transforms/enhancedjsonoutput.html     |    2 +-
 manual/latest/plugins/transforms/excelinput.html   |    2 +-
 manual/latest/plugins/transforms/exceloutput.html  |    2 +-
 manual/latest/plugins/transforms/excelwriter.html  |    2 +-
 manual/latest/plugins/transforms/execprocess.html  |    2 +-
 manual/latest/plugins/transforms/execsqlrow.html   |    2 +-
 manual/latest/plugins/transforms/fake.html         |    2 +-
 .../plugins/transforms/fieldschangesequence.html   |    2 +-
 .../latest/plugins/transforms/fieldsplitter.html   |    2 +-
 manual/latest/plugins/transforms/fileexists.html   |    2 +-
 manual/latest/plugins/transforms/filelocked.html   |    2 +-
 .../latest/plugins/transforms/filesfromresult.html |    2 +-
 .../latest/plugins/transforms/filestoresult.html   |    2 +-
 manual/latest/plugins/transforms/filterrows.html   |    2 +-
 manual/latest/plugins/transforms/flattener.html    |    2 +-
 manual/latest/plugins/transforms/fuzzymatch.html   |    2 +-
 manual/latest/plugins/transforms/getfilenames.html |    2 +-
 .../plugins/transforms/getfilesrowcount.html       |    2 +-
 .../plugins/transforms/getslavesequence.html       |    2 +-
 .../latest/plugins/transforms/getsubfolders.html   |    2 +-
 .../latest/plugins/transforms/gettablenames.html   |    2 +-
 manual/latest/plugins/transforms/getvariable.html  |    2 +-
 manual/latest/plugins/transforms/getxmldata.html   |    2 +-
 manual/latest/plugins/transforms/groupby.html      |    2 +-
 manual/latest/plugins/transforms/http.html         |    2 +-
 manual/latest/plugins/transforms/httppost.html     |    2 +-
 manual/latest/plugins/transforms/ifnull.html       |    2 +-
 manual/latest/plugins/transforms/injector.html     |    2 +-
 manual/latest/plugins/transforms/insertupdate.html |    2 +-
 manual/latest/plugins/transforms/janino.html       |    2 +-
 manual/latest/plugins/transforms/javafilter.html   |    2 +-
 manual/latest/plugins/transforms/javascript.html   |    2 +-
 manual/latest/plugins/transforms/joinrows.html     |    2 +-
 manual/latest/plugins/transforms/jsoninput.html    |    2 +-
 manual/latest/plugins/transforms/jsonoutput.html   |    2 +-
 manual/latest/plugins/transforms/ldapinput.html    |    2 +-
 manual/latest/plugins/transforms/ldapoutput.html   |    2 +-
 manual/latest/plugins/transforms/ldifinput.html    |    2 +-
 .../latest/plugins/transforms/loadfileinput.html   |    2 +-
 manual/latest/plugins/transforms/mail.html         |    2 +-
 manual/latest/plugins/transforms/mailinput.html    |    2 +-
 .../latest/plugins/transforms/mailvalidator.html   |    2 +-
 manual/latest/plugins/transforms/memgroupby.html   |    2 +-
 manual/latest/plugins/transforms/mergejoin.html    |    2 +-
 manual/latest/plugins/transforms/mergerows.html    |    2 +-
 manual/latest/plugins/transforms/metainject.html   |    2 +-
 .../latest/plugins/transforms/metastructure.html   |    2 +-
 .../plugins/transforms/monetdbbulkloader.html      |    2 +-
 manual/latest/plugins/transforms/mongodbinput.html |    2 +-
 .../latest/plugins/transforms/mongodboutput.html   |    2 +-
 .../latest/plugins/transforms/mqttpublisher.html   |    2 +-
 .../latest/plugins/transforms/mqttsubscriber.html  |    2 +-
 manual/latest/plugins/transforms/multimerge.html   |    2 +-
 manual/latest/plugins/transforms/normaliser.html   |    2 +-
 manual/latest/plugins/transforms/nullif.html       |    2 +-
 manual/latest/plugins/transforms/numberrange.html  |    2 +-
 manual/latest/plugins/transforms/pgbulkloader.html |    2 +-
 .../plugins/transforms/pgpdecryptstream.html       |    2 +-
 .../plugins/transforms/pgpencryptstream.html       |    2 +-
 .../plugins/transforms/pipelineexcecutor.html      |    2 +-
 manual/latest/plugins/transforms/processfiles.html |    2 +-
 .../latest/plugins/transforms/propertyinput.html   |    2 +-
 .../latest/plugins/transforms/propertyoutput.html  |    2 +-
 manual/latest/plugins/transforms/randomvalue.html  |    2 +-
 .../plugins/transforms/recordsfromstream.html      |    2 +-
 manual/latest/plugins/transforms/regexeval.html    |    2 +-
 .../latest/plugins/transforms/replacestring.html   |    2 +-
 .../plugins/transforms/reservoirsampling.html      |    2 +-
 manual/latest/plugins/transforms/rest.html         |    2 +-
 manual/latest/plugins/transforms/rowgenerator.html |    2 +-
 .../latest/plugins/transforms/rowsfromresult.html  |    2 +-
 manual/latest/plugins/transforms/rowstoresult.html |    2 +-
 manual/latest/plugins/transforms/sasinput.html     |    2 +-
 manual/latest/plugins/transforms/selectvalues.html |    2 +-
 .../plugins/transforms/setvalueconstant.html       |    2 +-
 .../latest/plugins/transforms/setvaluefield.html   |    2 +-
 manual/latest/plugins/transforms/setvariable.html  |    2 +-
 manual/latest/plugins/transforms/sort.html         |    2 +-
 manual/latest/plugins/transforms/sortedmerge.html  |    2 +-
 .../plugins/transforms/splitfieldtorows.html       |    2 +-
 manual/latest/plugins/transforms/sql.html          |    2 +-
 .../latest/plugins/transforms/sqlfileoutput.html   |    2 +-
 manual/latest/plugins/transforms/ssh.html          |    2 +-
 manual/latest/plugins/transforms/streamlookup.html |    2 +-
 .../plugins/transforms/streamschemamerge.html      |    2 +-
 manual/latest/plugins/transforms/stringcut.html    |    2 +-
 .../plugins/transforms/stringoperations.html       |    2 +-
 manual/latest/plugins/transforms/switchcase.html   |    2 +-
 .../plugins/transforms/synchronizeaftermerge.html  |    2 +-
 manual/latest/plugins/transforms/syslog.html       |    2 +-
 manual/latest/plugins/transforms/systemdata.html   |    2 +-
 manual/latest/plugins/transforms/tablecompare.html |    2 +-
 manual/latest/plugins/transforms/tableexists.html  |    2 +-
 manual/latest/plugins/transforms/tableinput.html   |    2 +-
 manual/latest/plugins/transforms/tableoutput.html  |    2 +-
 manual/latest/plugins/transforms/terafast.html     |    2 +-
 .../latest/plugins/transforms/textfileinput.html   |    2 +-
 .../latest/plugins/transforms/textfileoutput.html  |    2 +-
 .../plugins/transforms/tokenreplacement.html       |    2 +-
 manual/latest/plugins/transforms/uniquerows.html   |    2 +-
 .../plugins/transforms/uniquerowsbyhashset.html    |    2 +-
 manual/latest/plugins/transforms/update.html       |    2 +-
 .../plugins/transforms/userdefinedjavaclass.html   |    2 +-
 manual/latest/plugins/transforms/validator.html    |    2 +-
 manual/latest/plugins/transforms/valuemapper.html  |    2 +-
 .../plugins/transforms/webserviceavailable.html    |    2 +-
 manual/latest/plugins/transforms/webservices.html  |    2 +-
 .../plugins/transforms/workflowexecutor.html       |    2 +-
 manual/latest/plugins/transforms/writetolog.html   |    2 +-
 .../latest/plugins/transforms/xmlinputstream.html  |    2 +-
 manual/latest/plugins/transforms/xmljoin.html      |    2 +-
 manual/latest/plugins/transforms/xmloutput.html    |    2 +-
 manual/latest/plugins/transforms/xsdvalidator.html |    2 +-
 manual/latest/plugins/transforms/xslt.html         |    2 +-
 manual/latest/plugins/transforms/yamlinput.html    |    2 +-
 manual/latest/plugins/transforms/zipfile.html      |    2 +-
 manual/latest/projects.html                        |    2 +-
 manual/latest/samples/dummy-sample.html            |    2 +-
 manual/latest/samples/samples.html                 |    2 +-
 sitemap-dev-manual.xml                             |   38 +-
 sitemap-manual.xml                                 | 1902 ++++++++++++++++----
 sitemap-tech-manual.xml                            |   10 +-
 tech-manual/latest/docker-container.html           |    2 +-
 tech-manual/latest/getting-started.html            |    2 +-
 tech-manual/latest/hop-logo-and-icons.html         |    2 +-
 tech-manual/latest/hop-uit.html                    |    2 +-
 tech-manual/latest/index.html                      |    2 +-
 798 files changed, 9770 insertions(+), 691 deletions(-)

diff --git a/404.html b/404.html
index 6290305..56ecfdf 100644
--- a/404.html
+++ b/404.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Page Not Found :: Apache Hop (Incubating)</title> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="/_/css/site-47ac353344.css"> </head> <body class="status-404"> <header class="header"> <nav class="navbar"> <div class="navbar-brand"> <a class="nav-logo" href=""><span>Apache Hop (Incubating)</span></a> <div id="topbar-nav" cla [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Page Not Found :: Apache Hop (Incubating)</title> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="/_/css/site-47ac353344.css"> </head> <body class="status-404"> <header class="header"> <nav class="navbar"> <div class="navbar-brand"> <a class="nav-logo" href=""><span>Apache Hop (Incubating)</span></a> <div id="topbar-nav" cla [...]
             (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
             (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
             m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/dev-manual/latest/apache-release/checking-a-release.html b/dev-manual/latest/apache-release/checking-a-release.html
index 657196b..8747f3c 100644
--- a/dev-manual/latest/apache-release/checking-a-release.html
+++ b/dev-manual/latest/apache-release/checking-a-release.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Checking a Release :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/apache-release/checking-a-release.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-bann [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Checking a Release :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/apache-release/checking-a-release.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-bann [...]
 
 sha512sum -c apache-hop-X.XX-incubating-rcX.tar.gz.sha512
 
diff --git a/dev-manual/latest/apache-release/creating-a-release.html b/dev-manual/latest/apache-release/creating-a-release.html
index 2e70633..bc1c06b 100644
--- a/dev-manual/latest/apache-release/creating-a-release.html
+++ b/dev-manual/latest/apache-release/creating-a-release.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Creating a release :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/apache-release/creating-a-release.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-bann [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Creating a release :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/apache-release/creating-a-release.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-bann [...]
 git checkout releaseX.XX
 git push upstream releaseX.XX:releaseX.XX</code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_update_the_version_of_the_poms"><a class="anchor" href="#_update_the_version_of_the_poms"></a>update the version of the poms</h2> <div class="sectionbody"> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">mvn versions:set -DnewVersion=X.XX -DgenerateBackupPoms=false</code></pre> </div> </div> < [...]
 git commit -m 'Create release version x.xx'
diff --git a/dev-manual/latest/apache-release/index.html b/dev-manual/latest/apache-release/index.html
index 449f4b7..c4f0f27 100644
--- a/dev-manual/latest/apache-release/index.html
+++ b/dev-manual/latest/apache-release/index.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Release process :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/apache-release/index.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="displ [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Release process :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/apache-release/index.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="displ [...]
             (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
             (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
             m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/dev-manual/latest/getting-started.html b/dev-manual/latest/getting-started.html
index 8d34d88..e5e1240 100644
--- a/dev-manual/latest/getting-started.html
+++ b/dev-manual/latest/getting-started.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Getting Started :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/getting-started.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Getting Started :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/getting-started.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none [...]
             (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
             (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
             m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/dev-manual/latest/index.html b/dev-manual/latest/index.html
index 9d59ffb..28a1cf8 100644
--- a/dev-manual/latest/index.html
+++ b/dev-manual/latest/index.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Index Page :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/index.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none;"> <div id="co [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Index Page :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/index.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none;"> <div id="co [...]
             (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
             (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
             m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/dev-manual/latest/integration-testing.html b/dev-manual/latest/integration-testing.html
index eaee8a6..5eb67f7 100644
--- a/dev-manual/latest/integration-testing.html
+++ b/dev-manual/latest/integration-testing.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Integration Testing :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/integration-testing.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="displ [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Integration Testing :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/integration-testing.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="displ [...]
 mvn clean install</pre> </div> </div> </li> <li> <p>Run the Docker Compose script</p> <div class="listingblock"> <div class="content"> <pre>docker-compose -f docker/integration-tests/docker-compose-ci.yaml up -d</pre> </div> </div> </li> <li> <p>Check the running container</p> <div class="listingblock"> <div class="content"> <pre>docker logs integration-tests_integration_test_1</pre> </div> </div> </li> <li> <p>Cleanup after run</p> <div class="listingblock"> <div class="content"> <pre>d [...]
 
 
diff --git a/dev-manual/latest/internationalisation.html b/dev-manual/latest/internationalisation.html
index ed0e489..ff745bd 100644
--- a/dev-manual/latest/internationalisation.html
+++ b/dev-manual/latest/internationalisation.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Hop internationalisation :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/internationalisation.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style= [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Hop internationalisation :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/internationalisation.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style= [...]
       root = ID_MAIN_MENU,
       id = ID_MAIN_MENU_FILE,
       label = "i18n::HopGui.Menu.File",
diff --git a/dev-manual/latest/metadata-plugins.html b/dev-manual/latest/metadata-plugins.html
index dce9310..ab1c943 100644
--- a/dev-manual/latest/metadata-plugins.html
+++ b/dev-manual/latest/metadata-plugins.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Metadata plugins :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/metadata-plugins.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: no [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Metadata plugins :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/metadata-plugins.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: no [...]
             (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
             (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
             m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/dev-manual/latest/plugin-development.html b/dev-manual/latest/plugin-development.html
index bd249a1..82bb703 100644
--- a/dev-manual/latest/plugin-development.html
+++ b/dev-manual/latest/plugin-development.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Hop Plugin Development :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/plugin-development.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="dis [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Hop Plugin Development :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/plugin-development.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="dis [...]
             (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
             (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
             m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/dev-manual/latest/plugin-samples.html b/dev-manual/latest/plugin-samples.html
index ad2ca38..a16ae7c 100644
--- a/dev-manual/latest/plugin-samples.html
+++ b/dev-manual/latest/plugin-samples.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Plugin samples :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/plugin-samples.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none;" [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Plugin samples :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/plugin-samples.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none;" [...]
             (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
             (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
             m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/dev-manual/latest/porting-kettle-plugins.html b/dev-manual/latest/porting-kettle-plugins.html
index 1a3534b..3174a62 100644
--- a/dev-manual/latest/porting-kettle-plugins.html
+++ b/dev-manual/latest/porting-kettle-plugins.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Porting Kettle Plugins :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/porting-kettle-plugins.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style= [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Porting Kettle Plugins :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/porting-kettle-plugins.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style= [...]
 
  ...
 
diff --git a/dev-manual/latest/sdk/hop-sdk.html b/dev-manual/latest/sdk/hop-sdk.html
index 8fc01b8..1ed0d4f 100644
--- a/dev-manual/latest/sdk/hop-sdk.html
+++ b/dev-manual/latest/sdk/hop-sdk.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>The Hop SDK :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/sdk/hop-sdk.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none;"> < [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>The Hop SDK :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/sdk/hop-sdk.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none;"> < [...]
   "path-to-your-filename.hpl",   // The filename
   metadataProvider,             // See above
   true,                        // set internal variables
diff --git a/dev-manual/latest/sdk/index.html b/dev-manual/latest/sdk/index.html
index 5feeeba..63be6a3 100644
--- a/dev-manual/latest/sdk/index.html
+++ b/dev-manual/latest/sdk/index.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Index Page :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/sdk/index.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none;"> <div [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Index Page :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/sdk/index.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none;"> <div [...]
             (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
             (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
             m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/dev-manual/latest/setup-dev-environment.html b/dev-manual/latest/setup-dev-environment.html
index e7d9d2e..e4a737e 100644
--- a/dev-manual/latest/setup-dev-environment.html
+++ b/dev-manual/latest/setup-dev-environment.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Setting up your development environment :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/setup-dev-environment.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-e [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Setting up your development environment :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/setup-dev-environment.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-e [...]
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
diff --git a/dev-manual/latest/start-your-own-plugin.html b/dev-manual/latest/start-your-own-plugin.html
index 0eaafe3..3fd3028 100644
--- a/dev-manual/latest/start-your-own-plugin.html
+++ b/dev-manual/latest/start-your-own-plugin.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Creating a remote plugin :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/start-your-own-plugin.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Creating a remote plugin :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/start-your-own-plugin.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style [...]
             &lt;groupId&gt;org.apache.hop&lt;/groupId&gt;
             &lt;artifactId&gt;hop-core&lt;/artifactId&gt;
             &lt;version&gt;${hop.version}&lt;/version&gt;
diff --git a/dev-manual/latest/svg-files.html b/dev-manual/latest/svg-files.html
index e9150db..ae38a41 100644
--- a/dev-manual/latest/svg-files.html
+++ b/dev-manual/latest/svg-files.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>SVG Files :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/svg-files.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none;"> <div id= [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>SVG Files :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/svg-files.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none;"> <div id= [...]
             (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
             (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
             m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/dev-manual/latest/webhop/developer-guide.html b/dev-manual/latest/webhop/developer-guide.html
index 297d5c5..9babc21 100644
--- a/dev-manual/latest/webhop/developer-guide.html
+++ b/dev-manual/latest/webhop/developer-guide.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Developer Guide :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/webhop/developer-guide.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="dis [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Developer Guide :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/webhop/developer-guide.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="dis [...]
             (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
             (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
             m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/dev-manual/latest/webhop/index.html b/dev-manual/latest/webhop/index.html
index f600c7d..69f7791 100644
--- a/dev-manual/latest/webhop/index.html
+++ b/dev-manual/latest/webhop/index.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Index Page :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/webhop/index.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none;"> < [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Index Page :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/webhop/index.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none;"> < [...]
             (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
             (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
             m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/dev-manual/latest/webhop/webhop-antipatterns.html b/dev-manual/latest/webhop/webhop-antipatterns.html
index a8ad160..4b8e5de 100644
--- a/dev-manual/latest/webhop/webhop-antipatterns.html
+++ b/dev-manual/latest/webhop/webhop-antipatterns.html
@@ -1,4 +1,4 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Developer Antipatterns :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/webhop/webhop-antipatterns.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Developer Antipatterns :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/dev-manual/latest/webhop/webhop-antipatterns.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" [...]
   private static GUIResource guiResource;
 
   // Making the constructor private prevents instantiation from outside
diff --git a/manual/New Layout/_images/concepts/environments.png b/manual/New Layout/_images/concepts/environments.png
new file mode 100644
index 0000000..f70527a
Binary files /dev/null and b/manual/New Layout/_images/concepts/environments.png differ
diff --git a/manual/New Layout/_images/concepts/pipeline.png b/manual/New Layout/_images/concepts/pipeline.png
new file mode 100644
index 0000000..b9914b0
Binary files /dev/null and b/manual/New Layout/_images/concepts/pipeline.png differ
diff --git a/manual/New Layout/_images/concepts/workflow.png b/manual/New Layout/_images/concepts/workflow.png
new file mode 100644
index 0000000..230ba4a
Binary files /dev/null and b/manual/New Layout/_images/concepts/workflow.png differ
diff --git a/manual/New Layout/_images/generic_connection.png b/manual/New Layout/_images/generic_connection.png
new file mode 100644
index 0000000..5f398d7
Binary files /dev/null and b/manual/New Layout/_images/generic_connection.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-add-transform.png b/manual/New Layout/_images/getting-started/getting-started-add-transform.png
new file mode 100644
index 0000000..4c8ae98
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-add-transform.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-add-two-transforms.png b/manual/New Layout/_images/getting-started/getting-started-add-two-transforms.png
new file mode 100644
index 0000000..1a7c063
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-add-two-transforms.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-click-anywhere.png b/manual/New Layout/_images/getting-started/getting-started-click-anywhere.png
new file mode 100644
index 0000000..6c96ab3
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-click-anywhere.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-create-hop.png b/manual/New Layout/_images/getting-started/getting-started-create-hop.png
new file mode 100644
index 0000000..2a69a73
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-create-hop.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-debug-dialog.png b/manual/New Layout/_images/getting-started/getting-started-debug-dialog.png
new file mode 100644
index 0000000..8961d69
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-debug-dialog.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-debug-pipeline.png b/manual/New Layout/_images/getting-started/getting-started-debug-pipeline.png
new file mode 100644
index 0000000..4765dc2
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-debug-pipeline.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-debug-results.png b/manual/New Layout/_images/getting-started/getting-started-debug-results.png
new file mode 100644
index 0000000..192c842
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-debug-results.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-execution-results-metrics.png b/manual/New Layout/_images/getting-started/getting-started-execution-results-metrics.png
new file mode 100644
index 0000000..02ac9a2
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-execution-results-metrics.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-hop-gui.png b/manual/New Layout/_images/getting-started/getting-started-hop-gui.png
new file mode 100644
index 0000000..2131fa6
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-hop-gui.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-new-dialog.png b/manual/New Layout/_images/getting-started/getting-started-new-dialog.png
new file mode 100644
index 0000000..bafedbd
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-new-dialog.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-new-pipeline.png b/manual/New Layout/_images/getting-started/getting-started-new-pipeline.png
new file mode 100644
index 0000000..355bad1
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-new-pipeline.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-new-slave-config.png b/manual/New Layout/_images/getting-started/getting-started-new-slave-config.png
new file mode 100644
index 0000000..b4db566
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-new-slave-config.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-new-slave-run-config.png b/manual/New Layout/_images/getting-started/getting-started-new-slave-run-config.png
new file mode 100644
index 0000000..f6eda64
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-new-slave-run-config.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-new-slave.png b/manual/New Layout/_images/getting-started/getting-started-new-slave.png
new file mode 100644
index 0000000..6f1433a
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-new-slave.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-new-transform.png b/manual/New Layout/_images/getting-started/getting-started-new-transform.png
new file mode 100644
index 0000000..91db819
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-new-transform.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-new-workflow-abort.png b/manual/New Layout/_images/getting-started/getting-started-new-workflow-abort.png
new file mode 100644
index 0000000..36a3ab7
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-new-workflow-abort.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-new-workflow-actions.png b/manual/New Layout/_images/getting-started/getting-started-new-workflow-actions.png
new file mode 100644
index 0000000..d6eb48c
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-new-workflow-actions.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-new-workflow-pipeline-action.png b/manual/New Layout/_images/getting-started/getting-started-new-workflow-pipeline-action.png
new file mode 100644
index 0000000..7325975
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-new-workflow-pipeline-action.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-new-workflow.png b/manual/New Layout/_images/getting-started/getting-started-new-workflow.png
new file mode 100644
index 0000000..d289206
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-new-workflow.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-pipeline-toolbar.png b/manual/New Layout/_images/getting-started/getting-started-pipeline-toolbar.png
new file mode 100644
index 0000000..4d6da40
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-pipeline-toolbar.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-preview-dialog.png b/manual/New Layout/_images/getting-started/getting-started-preview-dialog.png
new file mode 100644
index 0000000..a603322
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-preview-dialog.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-preview-pipeline.png b/manual/New Layout/_images/getting-started/getting-started-preview-pipeline.png
new file mode 100644
index 0000000..33f7b86
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-preview-pipeline.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-preview-results.png b/manual/New Layout/_images/getting-started/getting-started-preview-results.png
new file mode 100644
index 0000000..a057dc9
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-preview-results.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-run-configuration-dialog.png b/manual/New Layout/_images/getting-started/getting-started-run-configuration-dialog.png
new file mode 100644
index 0000000..7a489d6
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-run-configuration-dialog.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-run-pipeline-dialog.png b/manual/New Layout/_images/getting-started/getting-started-run-pipeline-dialog.png
new file mode 100644
index 0000000..270c1f6
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-run-pipeline-dialog.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-run-workflow-config-dialog.png b/manual/New Layout/_images/getting-started/getting-started-run-workflow-config-dialog.png
new file mode 100644
index 0000000..b8c548d
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-run-workflow-config-dialog.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-run-workflow-dialog.png b/manual/New Layout/_images/getting-started/getting-started-run-workflow-dialog.png
new file mode 100644
index 0000000..69777d0
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-run-workflow-dialog.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-run-workflow-logging.png b/manual/New Layout/_images/getting-started/getting-started-run-workflow-logging.png
new file mode 100644
index 0000000..40a7fb3
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-run-workflow-logging.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-run-workflow-metrics.png b/manual/New Layout/_images/getting-started/getting-started-run-workflow-metrics.png
new file mode 100644
index 0000000..77fd704
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-run-workflow-metrics.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-run-workflow-with-config.png b/manual/New Layout/_images/getting-started/getting-started-run-workflow-with-config.png
new file mode 100644
index 0000000..fecf9cd
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-run-workflow-with-config.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-save-pipeline.png b/manual/New Layout/_images/getting-started/getting-started-save-pipeline.png
new file mode 100644
index 0000000..b1359b7
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-save-pipeline.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-server-index.png b/manual/New Layout/_images/getting-started/getting-started-server-index.png
new file mode 100644
index 0000000..59d0915
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-server-index.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-server-status-after-run-details.png b/manual/New Layout/_images/getting-started/getting-started-server-status-after-run-details.png
new file mode 100644
index 0000000..35b7d3c
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-server-status-after-run-details.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-server-status-after-run.png b/manual/New Layout/_images/getting-started/getting-started-server-status-after-run.png
new file mode 100644
index 0000000..c005f04
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-server-status-after-run.png differ
diff --git a/manual/New Layout/_images/getting-started/getting-started-server-status.png b/manual/New Layout/_images/getting-started/getting-started-server-status.png
new file mode 100644
index 0000000..6ffee87
Binary files /dev/null and b/manual/New Layout/_images/getting-started/getting-started-server-status.png differ
diff --git a/manual/New Layout/_images/getting-started/icons/Antu_edit-redo.svg b/manual/New Layout/_images/getting-started/icons/Antu_edit-redo.svg
new file mode 100644
index 0000000..7e7c703
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/Antu_edit-undo.svg b/manual/New Layout/_images/getting-started/icons/Antu_edit-undo.svg
new file mode 100644
index 0000000..0f854b8
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/HOP.svg b/manual/New Layout/_images/getting-started/icons/HOP.svg
new file mode 100644
index 0000000..0cf92c8
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/align-bottom.svg b/manual/New Layout/_images/getting-started/icons/align-bottom.svg
new file mode 100644
index 0000000..7869732
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/align-left.svg b/manual/New Layout/_images/getting-started/icons/align-left.svg
new file mode 100644
index 0000000..2e65f28
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/align-right.svg b/manual/New Layout/_images/getting-started/icons/align-right.svg
new file mode 100644
index 0000000..1331d83
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/align-top.svg b/manual/New Layout/_images/getting-started/icons/align-top.svg
new file mode 100644
index 0000000..f3ce2be
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/back.svg b/manual/New Layout/_images/getting-started/icons/back.svg
new file mode 100644
index 0000000..e823004
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/cleanup.svg b/manual/New Layout/_images/getting-started/icons/cleanup.svg
new file mode 100644
index 0000000..2d43d3d
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/close.svg b/manual/New Layout/_images/getting-started/icons/close.svg
new file mode 100644
index 0000000..2e7bf85
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/debug.svg b/manual/New Layout/_images/getting-started/icons/debug.svg
new file mode 100644
index 0000000..9ddf103
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/distribute-horizontally.svg b/manual/New Layout/_images/getting-started/icons/distribute-horizontally.svg
new file mode 100644
index 0000000..4d4baed
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/distribute-vertically.svg b/manual/New Layout/_images/getting-started/icons/distribute-vertically.svg
new file mode 100644
index 0000000..e7bea49
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/job.svg b/manual/New Layout/_images/getting-started/icons/job.svg
new file mode 100644
index 0000000..53299b9
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/pause.svg b/manual/New Layout/_images/getting-started/icons/pause.svg
new file mode 100644
index 0000000..b6ad0fb
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/print.png b/manual/New Layout/_images/getting-started/icons/print.png
new file mode 100644
index 0000000..a79aa32
Binary files /dev/null and b/manual/New Layout/_images/getting-started/icons/print.png differ
diff --git a/manual/New Layout/_images/getting-started/icons/run.svg b/manual/New Layout/_images/getting-started/icons/run.svg
new file mode 100644
index 0000000..f48567f
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/run_option.svg b/manual/New Layout/_images/getting-started/icons/run_option.svg
new file mode 100644
index 0000000..c63611b
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/show-all.svg b/manual/New Layout/_images/getting-started/icons/show-all.svg
new file mode 100644
index 0000000..904dd21
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/show-selected.svg b/manual/New Layout/_images/getting-started/icons/show-selected.svg
new file mode 100644
index 0000000..b50f86d
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/snap-to-grid.svg b/manual/New Layout/_images/getting-started/icons/snap-to-grid.svg
new file mode 100644
index 0000000..acbcb98
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/stop.svg b/manual/New Layout/_images/getting-started/icons/stop.svg
new file mode 100644
index 0000000..0bd2732
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/trans.svg b/manual/New Layout/_images/getting-started/icons/trans.svg
new file mode 100644
index 0000000..c71e9d7
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/view-as-xml.svg b/manual/New Layout/_images/getting-started/icons/view-as-xml.svg
new file mode 100644
index 0000000..39b8122
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/getting-started/icons/view.svg b/manual/New Layout/_images/getting-started/icons/view.svg
new file mode 100644
index 0000000..a2f5600
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/hop-gui/environment/create-environment-dialogue.png b/manual/New Layout/_images/hop-gui/environment/create-environment-dialogue.png
new file mode 100644
index 0000000..bca2a19
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/environment/create-environment-dialogue.png differ
diff --git a/manual/New Layout/_images/hop-gui/environment/create-project-dialogue.png b/manual/New Layout/_images/hop-gui/environment/create-project-dialogue.png
new file mode 100644
index 0000000..dc87754
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/environment/create-project-dialogue.png differ
diff --git a/manual/New Layout/_images/hop-gui/environment/edit-environment-menu.png b/manual/New Layout/_images/hop-gui/environment/edit-environment-menu.png
new file mode 100644
index 0000000..4198287
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/environment/edit-environment-menu.png differ
diff --git a/manual/New Layout/_images/hop-gui/environment/environment-add.svg b/manual/New Layout/_images/hop-gui/environment/environment-add.svg
new file mode 100644
index 0000000..b118711
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/hop-gui/environment/environment-delete.svg b/manual/New Layout/_images/hop-gui/environment/environment-delete.svg
new file mode 100644
index 0000000..c3aa7b1
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/hop-gui/environment/environment-edit.svg b/manual/New Layout/_images/hop-gui/environment/environment-edit.svg
new file mode 100644
index 0000000..48d5ea9
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/hop-gui/environment/environment-files.png b/manual/New Layout/_images/hop-gui/environment/environment-files.png
new file mode 100644
index 0000000..7f7ed1f
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/environment/environment-files.png differ
diff --git a/manual/New Layout/_images/hop-gui/environment/hop-conf-help.png b/manual/New Layout/_images/hop-gui/environment/hop-conf-help.png
new file mode 100644
index 0000000..433c1de
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/environment/hop-conf-help.png differ
diff --git a/manual/New Layout/_images/hop-gui/environment/hop-conf.png b/manual/New Layout/_images/hop-gui/environment/hop-conf.png
new file mode 100644
index 0000000..de640be
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/environment/hop-conf.png differ
diff --git a/manual/New Layout/_images/hop-gui/environment/new-environment-dialog.png b/manual/New Layout/_images/hop-gui/environment/new-environment-dialog.png
new file mode 100644
index 0000000..85a92af
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/environment/new-environment-dialog.png differ
diff --git a/manual/New Layout/_images/hop-gui/environment/new-environment.png b/manual/New Layout/_images/hop-gui/environment/new-environment.png
new file mode 100644
index 0000000..0cc1671
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/environment/new-environment.png differ
diff --git a/manual/New Layout/_images/hop-gui/environment/project-add.svg b/manual/New Layout/_images/hop-gui/environment/project-add.svg
new file mode 100644
index 0000000..ba1acc9
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/hop-gui/environment/project-delete.svg b/manual/New Layout/_images/hop-gui/environment/project-delete.svg
new file mode 100644
index 0000000..21620ab
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/hop-gui/environment/project-edit.svg b/manual/New Layout/_images/hop-gui/environment/project-edit.svg
new file mode 100644
index 0000000..38c26a6
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/hop-gui/environment/switch-environment-list.png b/manual/New Layout/_images/hop-gui/environment/switch-environment-list.png
new file mode 100644
index 0000000..964a755
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/environment/switch-environment-list.png differ
diff --git a/manual/New Layout/_images/hop-gui/environment/switch-environment.png b/manual/New Layout/_images/hop-gui/environment/switch-environment.png
new file mode 100644
index 0000000..9bd4b21
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/environment/switch-environment.png differ
diff --git a/manual/New Layout/_images/hop-gui/environment/switch-project-list.png b/manual/New Layout/_images/hop-gui/environment/switch-project-list.png
new file mode 100644
index 0000000..0a5399a
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/environment/switch-project-list.png differ
diff --git a/manual/New Layout/_images/hop-gui/new-work-item.png b/manual/New Layout/_images/hop-gui/new-work-item.png
new file mode 100644
index 0000000..225a6df
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/new-work-item.png differ
diff --git a/manual/New Layout/_images/hop-gui/new.svg b/manual/New Layout/_images/hop-gui/new.svg
new file mode 100644
index 0000000..5674ded
--- /dev/null
+++ b/manual/New Layout/_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/manual/New Layout/_images/hop-gui/pipeline/debug-pipeline.png b/manual/New Layout/_images/hop-gui/pipeline/debug-pipeline.png
new file mode 100644
index 0000000..4d69831
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/pipeline/debug-pipeline.png differ
diff --git a/manual/New Layout/_images/hop-gui/pipeline/executed-pipeline.png b/manual/New Layout/_images/hop-gui/pipeline/executed-pipeline.png
new file mode 100644
index 0000000..7ad6a9d
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/pipeline/executed-pipeline.png differ
diff --git a/manual/New Layout/_images/hop-gui/pipeline/failed-pipeline.png b/manual/New Layout/_images/hop-gui/pipeline/failed-pipeline.png
new file mode 100644
index 0000000..f2de0bb
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/pipeline/failed-pipeline.png differ
diff --git a/manual/New Layout/_images/hop-gui/pipeline/hop-type.png b/manual/New Layout/_images/hop-gui/pipeline/hop-type.png
new file mode 100644
index 0000000..df9b023
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/pipeline/hop-type.png differ
diff --git a/manual/New Layout/_images/hop-gui/pipeline/logging-pipeline.png b/manual/New Layout/_images/hop-gui/pipeline/logging-pipeline.png
new file mode 100644
index 0000000..5e41578
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/pipeline/logging-pipeline.png differ
diff --git a/manual/New Layout/_images/hop-gui/pipeline/monitoring-pipeline.png b/manual/New Layout/_images/hop-gui/pipeline/monitoring-pipeline.png
new file mode 100644
index 0000000..ae5abc1
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/pipeline/monitoring-pipeline.png differ
diff --git a/manual/New Layout/_images/hop-gui/pipeline/new-pipeline.png b/manual/New Layout/_images/hop-gui/pipeline/new-pipeline.png
new file mode 100644
index 0000000..1605c9c
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/pipeline/new-pipeline.png differ
diff --git a/manual/New Layout/_images/hop-gui/pipeline/parameters-pipeline.png b/manual/New Layout/_images/hop-gui/pipeline/parameters-pipeline.png
new file mode 100644
index 0000000..3db6af3
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/pipeline/parameters-pipeline.png differ
diff --git a/manual/New Layout/_images/hop-gui/pipeline/preview-menu-pipeline.PNG b/manual/New Layout/_images/hop-gui/pipeline/preview-menu-pipeline.PNG
new file mode 100644
index 0000000..cf30843
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/pipeline/preview-menu-pipeline.PNG differ
diff --git a/manual/New Layout/_images/hop-gui/pipeline/preview-pipeline.png b/manual/New Layout/_images/hop-gui/pipeline/preview-pipeline.png
new file mode 100644
index 0000000..e70b6c8
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/pipeline/preview-pipeline.png differ
diff --git a/manual/New Layout/_images/hop-gui/pipeline/properties-pipeline.png b/manual/New Layout/_images/hop-gui/pipeline/properties-pipeline.png
new file mode 100644
index 0000000..c27ef8e
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/pipeline/properties-pipeline.png differ
diff --git a/manual/New Layout/_images/hop-gui/pipeline/run-configuration-pipeline.png b/manual/New Layout/_images/hop-gui/pipeline/run-configuration-pipeline.png
new file mode 100644
index 0000000..88d6d89
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/pipeline/run-configuration-pipeline.png differ
diff --git a/manual/New Layout/_images/hop-gui/pipeline/save-pipeline.png b/manual/New Layout/_images/hop-gui/pipeline/save-pipeline.png
new file mode 100644
index 0000000..7cbcf6b
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/pipeline/save-pipeline.png differ
diff --git a/manual/New Layout/_images/hop-gui/pipeline/simple-pipeline.png b/manual/New Layout/_images/hop-gui/pipeline/simple-pipeline.png
new file mode 100644
index 0000000..90143cd
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/pipeline/simple-pipeline.png differ
diff --git a/manual/New Layout/_images/hop-gui/pipeline/transform-metrics-pipeline.png b/manual/New Layout/_images/hop-gui/pipeline/transform-metrics-pipeline.png
new file mode 100644
index 0000000..1c15d49
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/pipeline/transform-metrics-pipeline.png differ
diff --git a/manual/New Layout/_images/hop-gui/pipeline/transforms.png b/manual/New Layout/_images/hop-gui/pipeline/transforms.png
new file mode 100644
index 0000000..45dc41c
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/pipeline/transforms.png differ
diff --git a/manual/New Layout/_images/hop-gui/workflow/new-run-configuration.png b/manual/New Layout/_images/hop-gui/workflow/new-run-configuration.png
new file mode 100644
index 0000000..3421e87
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/workflow/new-run-configuration.png differ
diff --git a/manual/New Layout/_images/hop-gui/workflow/parameters-properties.png b/manual/New Layout/_images/hop-gui/workflow/parameters-properties.png
new file mode 100644
index 0000000..25dde0e
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/workflow/parameters-properties.png differ
diff --git a/manual/New Layout/_images/hop-gui/workflow/settings-properties.png b/manual/New Layout/_images/hop-gui/workflow/settings-properties.png
new file mode 100644
index 0000000..80bac90
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/workflow/settings-properties.png differ
diff --git a/manual/New Layout/_images/hop-gui/workflow/simple-workflow.png b/manual/New Layout/_images/hop-gui/workflow/simple-workflow.png
new file mode 100644
index 0000000..836c859
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/workflow/simple-workflow.png differ
diff --git a/manual/New Layout/_images/hop-gui/workflow/workflow-action.png b/manual/New Layout/_images/hop-gui/workflow/workflow-action.png
new file mode 100644
index 0000000..03c51dc
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/workflow/workflow-action.png differ
diff --git a/manual/New Layout/_images/hop-gui/workflow/workflow-properties.png b/manual/New Layout/_images/hop-gui/workflow/workflow-properties.png
new file mode 100644
index 0000000..5265910
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/workflow/workflow-properties.png differ
diff --git a/manual/New Layout/_images/hop-gui/workflow/workflow-run-configuration.png b/manual/New Layout/_images/hop-gui/workflow/workflow-run-configuration.png
new file mode 100644
index 0000000..33bd761
Binary files /dev/null and b/manual/New Layout/_images/hop-gui/workflow/workflow-run-configuration.png differ
diff --git a/manual/New Layout/_images/hop-import/import-dialog.png b/manual/New Layout/_images/hop-import/import-dialog.png
new file mode 100644
index 0000000..0719339
Binary files /dev/null and b/manual/New Layout/_images/hop-import/import-dialog.png differ
diff --git a/manual/New Layout/_images/hop-import/import-report.png b/manual/New Layout/_images/hop-import/import-report.png
new file mode 100644
index 0000000..87c13bb
Binary files /dev/null and b/manual/New Layout/_images/hop-import/import-report.png differ
diff --git a/manual/New Layout/_images/hop-import/menu-import.png b/manual/New Layout/_images/hop-import/menu-import.png
new file mode 100644
index 0000000..2acd6a7
Binary files /dev/null and b/manual/New Layout/_images/hop-import/menu-import.png differ
diff --git a/manual/New Layout/_images/hop-run/hop-run-options.png b/manual/New Layout/_images/hop-run/hop-run-options.png
new file mode 100644
index 0000000..48929f1
Binary files /dev/null and b/manual/New Layout/_images/hop-run/hop-run-options.png differ
diff --git a/manual/New Layout/_images/hop-server/hop-server-index.png b/manual/New Layout/_images/hop-server/hop-server-index.png
new file mode 100644
index 0000000..b5c9d3e
Binary files /dev/null and b/manual/New Layout/_images/hop-server/hop-server-index.png differ
diff --git a/manual/New Layout/_images/hop-server/hop-server-no-tasks.png b/manual/New Layout/_images/hop-server/hop-server-no-tasks.png
new file mode 100644
index 0000000..d8a2132
Binary files /dev/null and b/manual/New Layout/_images/hop-server/hop-server-no-tasks.png differ
diff --git a/manual/New Layout/_images/hop-server/hop-server-options.png b/manual/New Layout/_images/hop-server/hop-server-options.png
new file mode 100644
index 0000000..b2c4ee9
Binary files /dev/null and b/manual/New Layout/_images/hop-server/hop-server-options.png differ
diff --git a/manual/New Layout/_images/hop-server/web-service-example.png b/manual/New Layout/_images/hop-server/web-service-example.png
new file mode 100644
index 0000000..8c633e1
Binary files /dev/null and b/manual/New Layout/_images/hop-server/web-service-example.png differ
diff --git a/manual/New Layout/_images/hop-server/web-service-pipeline-example.png b/manual/New Layout/_images/hop-server/web-service-pipeline-example.png
new file mode 100644
index 0000000..66f0559
Binary files /dev/null and b/manual/New Layout/_images/hop-server/web-service-pipeline-example.png differ
diff --git a/manual/New Layout/_images/logging/custom-action-logging-level.png b/manual/New Layout/_images/logging/custom-action-logging-level.png
new file mode 100644
index 0000000..95f2574
Binary files /dev/null and b/manual/New Layout/_images/logging/custom-action-logging-level.png differ
diff --git a/manual/New Layout/_images/logging/custom-logging-actions.png b/manual/New Layout/_images/logging/custom-logging-actions.png
new file mode 100644
index 0000000..fea5799
Binary files /dev/null and b/manual/New Layout/_images/logging/custom-logging-actions.png differ
diff --git a/manual/New Layout/_images/logging/custom-transform-logging-level.png b/manual/New Layout/_images/logging/custom-transform-logging-level.png
new file mode 100644
index 0000000..694f225
Binary files /dev/null and b/manual/New Layout/_images/logging/custom-transform-logging-level.png differ
diff --git a/manual/New Layout/_images/mongodb-input-screenshot-connection-tab.png b/manual/New Layout/_images/mongodb-input-screenshot-connection-tab.png
new file mode 100644
index 0000000..df98e6b
Binary files /dev/null and b/manual/New Layout/_images/mongodb-input-screenshot-connection-tab.png differ
diff --git a/manual/New Layout/_images/mongodb-input-screenshot-fields-tab.png b/manual/New Layout/_images/mongodb-input-screenshot-fields-tab.png
new file mode 100644
index 0000000..5fe28fa
Binary files /dev/null and b/manual/New Layout/_images/mongodb-input-screenshot-fields-tab.png differ
diff --git a/manual/New Layout/_images/mongodb-input-screenshot-input-tab.png b/manual/New Layout/_images/mongodb-input-screenshot-input-tab.png
new file mode 100644
index 0000000..3d810c8
Binary files /dev/null and b/manual/New Layout/_images/mongodb-input-screenshot-input-tab.png differ
diff --git a/manual/New Layout/_images/mongodb-input-screenshot-query-tab.png b/manual/New Layout/_images/mongodb-input-screenshot-query-tab.png
new file mode 100644
index 0000000..f14878e
Binary files /dev/null and b/manual/New Layout/_images/mongodb-input-screenshot-query-tab.png differ
diff --git a/manual/New Layout/_images/mongodb-output-screenshot-connection-tab.png b/manual/New Layout/_images/mongodb-output-screenshot-connection-tab.png
new file mode 100644
index 0000000..b3fba4f
Binary files /dev/null and b/manual/New Layout/_images/mongodb-output-screenshot-connection-tab.png differ
diff --git a/manual/New Layout/_images/mongodb-output-screenshot-fields-tab.png b/manual/New Layout/_images/mongodb-output-screenshot-fields-tab.png
new file mode 100644
index 0000000..e7e95e6
Binary files /dev/null and b/manual/New Layout/_images/mongodb-output-screenshot-fields-tab.png differ
diff --git a/manual/New Layout/_images/mongodb-output-screenshot-indexes-tab.png b/manual/New Layout/_images/mongodb-output-screenshot-indexes-tab.png
new file mode 100644
index 0000000..0853714
Binary files /dev/null and b/manual/New Layout/_images/mongodb-output-screenshot-indexes-tab.png differ
diff --git a/manual/New Layout/_images/mongodb-output-screenshot-output-tab.png b/manual/New Layout/_images/mongodb-output-screenshot-output-tab.png
new file mode 100644
index 0000000..88e708c
Binary files /dev/null and b/manual/New Layout/_images/mongodb-output-screenshot-output-tab.png differ
diff --git a/manual/New Layout/_images/run-configuration/beam-dataflow.png b/manual/New Layout/_images/run-configuration/beam-dataflow.png
new file mode 100644
index 0000000..02ff2c8
Binary files /dev/null and b/manual/New Layout/_images/run-configuration/beam-dataflow.png differ
diff --git a/manual/New Layout/_images/run-configuration/beam-direct.png b/manual/New Layout/_images/run-configuration/beam-direct.png
new file mode 100644
index 0000000..e7f77fd
Binary files /dev/null and b/manual/New Layout/_images/run-configuration/beam-direct.png differ
diff --git a/manual/New Layout/_images/run-configuration/beam-flink.png b/manual/New Layout/_images/run-configuration/beam-flink.png
new file mode 100644
index 0000000..5f58506
Binary files /dev/null and b/manual/New Layout/_images/run-configuration/beam-flink.png differ
diff --git a/manual/New Layout/_images/run-configuration/beam-spark.png b/manual/New Layout/_images/run-configuration/beam-spark.png
new file mode 100644
index 0000000..81b4b5f
Binary files /dev/null and b/manual/New Layout/_images/run-configuration/beam-spark.png differ
diff --git a/manual/New Layout/_images/run-configuration/configuration-selection.png b/manual/New Layout/_images/run-configuration/configuration-selection.png
new file mode 100644
index 0000000..ee6824f
Binary files /dev/null and b/manual/New Layout/_images/run-configuration/configuration-selection.png differ
diff --git a/manual/New Layout/_images/run-configuration/local-engine.png b/manual/New Layout/_images/run-configuration/local-engine.png
new file mode 100644
index 0000000..a0361b8
Binary files /dev/null and b/manual/New Layout/_images/run-configuration/local-engine.png differ
diff --git a/manual/New Layout/_images/run-configuration/remote-engine.png b/manual/New Layout/_images/run-configuration/remote-engine.png
new file mode 100644
index 0000000..ab73bb9
Binary files /dev/null and b/manual/New Layout/_images/run-configuration/remote-engine.png differ
diff --git a/manual/New Layout/_images/system-properties-menu.png b/manual/New Layout/_images/system-properties-menu.png
new file mode 100644
index 0000000..746d807
Binary files /dev/null and b/manual/New Layout/_images/system-properties-menu.png differ
diff --git a/manual/New Layout/_images/test_image.jpg b/manual/New Layout/_images/test_image.jpg
new file mode 100644
index 0000000..92afb4a
Binary files /dev/null and b/manual/New Layout/_images/test_image.jpg differ
diff --git a/manual/New Layout/_images/variable-indicator.png b/manual/New Layout/_images/variable-indicator.png
new file mode 100644
index 0000000..9197ba0
Binary files /dev/null and b/manual/New Layout/_images/variable-indicator.png differ
diff --git a/manual/New Layout/concepts.html b/manual/New Layout/concepts.html
new file mode 100644
index 0000000..5b4f269
--- /dev/null
+++ b/manual/New Layout/concepts.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Concepts :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/concepts.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none;"> <div id= [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/faq/faq.html b/manual/New Layout/faq/faq.html
new file mode 100644
index 0000000..732c52b
--- /dev/null
+++ b/manual/New Layout/faq/faq.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Frequently Asked Questions :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/faq/faq.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="displ [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/getting-started.html b/manual/New Layout/getting-started.html
new file mode 100644
index 0000000..b3254d4
--- /dev/null
+++ b/manual/New Layout/getting-started.html	
@@ -0,0 +1,65 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Getting Started :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/getting-started.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: no [...]
+or
+Usage: hop-server &lt;Configuration File&gt;
+Starts or stops the hopServer server.
+     -h,--help               This help text
+     -p,--password &lt;arg&gt;     The administrator password.  Required only if
+                             stopping the Hop Server server.
+     -s,--stop               Stop the running hopServer server.  This is only
+                             allowed when using the hostname/port form of the
+                             command.
+     -u,--userName &lt;arg&gt;     The administrator user name.  Required only if
+                             stopping the Hop Server server.
+Example: hop-server.sh 127.0.0.1 8080
+Example: hop-server.sh 192.168.1.221 8081
+Example: hop-server.sh /foo/bar/hop-server-config.xml
+Example: hop-server.sh http://www.example.com/hop-server-config.xml
+Example: hop-server.sh 127.0.0.1 8080 -s -u cluster -p cluster</code></pre> </div> </div> <div class="paragraph"> <p>As an example, let&#8217;s run our server on our local machine on port 8085:</p> </div> <div class="paragraph"> <p>On Linux:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash"> ./hop-server.sh localhost 8085</code></pre> </div> </div> <div class="paragraph"> <p>On Windows:</p> </d [...]
+2020/04/30 16:22:55 - HopServer - Created listener for webserver @ address : localhost:8085</code></pre> </div> </div> <div class="paragraph"> <p>In your favorite browser, go to <a href="http://localhost:8085" class="bare">http://localhost:8085</a> and sign in with the default user 'cluster' and password 'cluster'.</p> </div> <div class="paragraph"> <p>Click the 'show status' link below to get to page shown in the second screenshot.</p> </div> <div class="imageblock text-left"> <div clas [...]
+...
+...
+...
+2020/04/30 17:01:34 - first_pipeline - Execution finished on a remote pipeline engine with run configuration 'Remote Pipeline'</code></pre> </div> </div> <div class="paragraph"> <p>The execution results for this pipeline will now be available in our server&#8217;s status page as well:</p> </div> <div class="imageblock text-left"> <div class="content"> <img src="_images/getting-started/getting-started-server-status-after-run.png" alt="Hop - Server Status" width="75%"> </div> </div> <div c [...]
+Usage: &lt;main class&gt; [-hotw] [-e=&lt;environment&gt;] [-f=&lt;filename&gt;] [-l=&lt;level&gt;]
+                    [-r=&lt;runConfigurationName&gt;] [-p=&lt;parameters&gt;[,
+                    &lt;parameters&gt;...]]... [-s=&lt;systemProperties&gt;[,
+                    &lt;systemProperties&gt;...]]...
+  -e, --environment=&lt;environment&gt;
+                          The name of the environment to use
+  -f, --file=&lt;filename&gt;   The filename of the workflow or pipeline to run
+  -h, --help              Displays this help message and quits.
+  -l, --level=&lt;level&gt;     The debug level, one of NONE, MINIMAL, BASIC, DETAILED,
+                            DEBUG, ROWLEVEL
+  -o, --printoptions      Print the used options
+  -p, --parameters=&lt;parameters&gt;[,&lt;parameters&gt;...]
+                          A comma separated list of PARAMETER=VALUE pairs
+  -r, --runconfig=&lt;runConfigurationName&gt;
+                          The name of the Run Configuration to use
+  -s, --system-properties=&lt;systemProperties&gt;[,&lt;systemProperties&gt;...]
+                          A comma separated list of KEY=VALUE pairs
+  -t, --pipeline          Force execution of a pipeline
+  -w, --workflow          Force execution of a workflow</code></pre> </div> </div> <div class="paragraph"> <p>Since we&#8217;ve been working with a very basic pipeline, running it from hop-run is as easy as specifying: * the pipeline filename to run * the run configuration to use</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash"> ./hop-run.sh -f /tmp/first_pipeline.hpl -r local</code></pre> </d [...]
+2020/04/30 17:16:48 - first_pipeline - Execution started for pipeline [first_pipeline]
+2020/04/30 17:16:48 - Generate rows.0 - Finished processing (I=0, O=0, R=0, W=10, U=0, E=0)
+2020/04/30 17:16:48 - Add sequence.0 - Finished processing (I=0, O=0, R=10, W=10, U=0, E=0)
+2020/04/30 17:16:48 - first_pipeline - Pipeline duration : 0.079 seconds [  0.079 ]
+2020/04/30 17:16:48 - first_pipeline - Execution finished on a local pipeline engine with run configuration 'local'
+./hop-run.sh -f /tmp/first_pipeline.hpl -r local  5.62s user 0.34s system 258% cpu 2.309 total</code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_where_to_go_from_here"><a class="anchor" href="#_where_to_go_from_here"></a>Where to go from here?</h2> <div class="sectionbody"> <div class="paragraph"> <p>We&#8217;ll be adding more documentation as we go, so keep an eye on the <a href="https://hop.apache.org/manual/latest/">Apache Hop (Incubating)</a> documentation section [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/environments/environments.html b/manual/New Layout/hop-gui/environments/environments.html
new file mode 100644
index 0000000..df259da
--- /dev/null
+++ b/manual/New Layout/hop-gui/environments/environments.html	
@@ -0,0 +1,42 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Environments :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/environments/environments.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banne [...]
+  "metadataBaseFolder" : "${PROJECT_HOME}/metadata",
+  "unitTestsBasePath" : "${PROJECT_HOME}",
+  "dataSetsCsvFolder" : "${PROJECT_HOME}/datasets",
+  "enforcingExecutionInHome" : true,
+  "config" : {
+    "variables" : [ {
+      "name" : "foo"
+    } ]
+  }
+}%</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_advanced_hop_environment_configuration"><a class="anchor" href="#_advanced_hop_environment_configuration"></a>Advanced Hop environment configuration</h4> <div class="paragraph"> <p>Hop enviroments and their home folders are stored in the hop configuration file 'hop-config.json'. That file lives by default in the <strong>config</strong> folder of the Hop installation. System property 'HOP_CONFIG_FOLDER' can also be used to  [...]
+ "environmentConfig" : {
+  "enabled" : true,
+  "openingLastEnvironmentAtStartup" : true,
+  "environmentConfigFilename" : "environment.json",
+  "environmentFolders" : {
+   "Project 1 - DEV" : "/projects/one/dev/",
+   "Project 1 - UAT" : "/projects/one/uat/",
+   "Project 1 - PRD" : "/projects/one/prd/",
+   "Project 2 - DEV" : "/projects/two/dev/",
+   "Project 2 - UAT" : "/projects/two/uat/",
+   "Project 2 - PRD" : "/projects/two/prd/",
+  }
+}</code></pre> </div> </div> </div> </div> </div> </div> <div class="sect1"> <h2 id="_the_hop_command_line_configuration_tool"><a class="anchor" href="#_the_hop_command_line_configuration_tool"></a>The Hop command line configuration tool</h2> <div class="sectionbody"> <div class="paragraph"> <p>Hop Conf is a command line tool to manage environments. The <strong>hop-conf.sh</strong> script can be run with the <strong>-h</strong> flag (<code>./hop-conf.sh -h</code>) to display available op [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/index.html b/manual/New Layout/hop-gui/index.html
new file mode 100644
index 0000000..6d6bb41
--- /dev/null
+++ b/manual/New Layout/hop-gui/index.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Hop Gui :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/index.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none;"> < [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/pipelines/create-pipeline.html b/manual/New Layout/hop-gui/pipelines/create-pipeline.html
new file mode 100644
index 0000000..41fa595
--- /dev/null
+++ b/manual/New Layout/hop-gui/pipelines/create-pipeline.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Create a Pipeline :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/pipelines/create-pipeline.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu- [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/pipelines/hop-pipeline-editor.html b/manual/New Layout/hop-gui/pipelines/hop-pipeline-editor.html
new file mode 100644
index 0000000..a86b075
--- /dev/null
+++ b/manual/New Layout/hop-gui/pipelines/hop-pipeline-editor.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Toolbar :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/pipelines/hop-pipeline-editor.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/pipelines/metadata-injection.html b/manual/New Layout/hop-gui/pipelines/metadata-injection.html
new file mode 100644
index 0000000..5c88359
--- /dev/null
+++ b/manual/New Layout/hop-gui/pipelines/metadata-injection.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Metadata Injection :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/pipelines/metadata-injection.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/beam-dataflow-pipeline-engine.html b/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/beam-dataflow-pipeline-engine.html
new file mode 100644
index 0000000..a0463fa
--- /dev/null
+++ b/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/beam-dataflow-pipeline-engine.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Apache Beam Google DataFlow Pipeline Engine :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/pipelines/pipeline-run-configurations/beam-dataflow-pipeline-engine.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../../_/css/site-47ac353344.css"> </ [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/beam-direct-pipeline-engine.html b/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/beam-direct-pipeline-engine.html
new file mode 100644
index 0000000..e60a71a
--- /dev/null
+++ b/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/beam-direct-pipeline-engine.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Apache Beam Direct Pipeline Engine :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/pipelines/pipeline-run-configurations/beam-direct-pipeline-engine.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../../_/css/site-47ac353344.css"> </head> <body [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/beam-flink-pipeline-engine.html b/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/beam-flink-pipeline-engine.html
new file mode 100644
index 0000000..f417e92
--- /dev/null
+++ b/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/beam-flink-pipeline-engine.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Apache Beam Flink Pipeline Engine :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/pipelines/pipeline-run-configurations/beam-flink-pipeline-engine.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../../_/css/site-47ac353344.css"> </head> <body c [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/beam-spark-pipeline-engine.html b/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/beam-spark-pipeline-engine.html
new file mode 100644
index 0000000..79f7018
--- /dev/null
+++ b/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/beam-spark-pipeline-engine.html	
@@ -0,0 +1,26 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Apache Beam Spark Pipeline Engine :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/pipelines/pipeline-run-configurations/beam-spark-pipeline-engine.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../../_/css/site-47ac353344.css"> </head> <body c [...]
+  --master spark://master-host:7077 \
+  --class org.apache.hop.beam.run.MainBeam \
+  --driver-java-options '-DPROJECT_HOME=/my/project/home' \
+  hop-0.70-fat.jar \
+  /my/project/home/pipeline.hpl \
+  metadata-export.json \
+  SparkRunConfig</code></pre> </div> </div> </div> </div> </article> </main> </div> <footer> <div class="footer"> <dl> <dt>Overview</dt> <dd><a href="../../../../../download/">Download</a></dd> <dd><a href="../../../../../manual/latest/">Getting started</a></dd> </dl> <dl> <dt>Community</dt> <dd><a target="_blank" href="https://issues.apache.org/jira/projects/HOP/issues">Jira</a></dd> <dd><a target="_blank" href="https://chat.project-hop.org">Chat</a></dd> <dd><a target="_blank" href=".. [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/local-pipeline-engine.html b/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/local-pipeline-engine.html
new file mode 100644
index 0000000..02e7638
--- /dev/null
+++ b/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/local-pipeline-engine.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Local Pipeline Engine :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/pipelines/pipeline-run-configurations/local-pipeline-engine.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../../_/css/site-47ac353344.css"> </head> <body class="article"> < [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/pipeline-run-configurations.html b/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/pipeline-run-configurations.html
new file mode 100644
index 0000000..a10b2af
--- /dev/null
+++ b/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/pipeline-run-configurations.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Pipeline Run Configurations :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/pipelines/pipeline-run-configurations/pipeline-run-configurations.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../../_/css/site-47ac353344.css"> </head> <body class= [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/remote-pipeline-engine.html b/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/remote-pipeline-engine.html
new file mode 100644
index 0000000..c822103
--- /dev/null
+++ b/manual/New Layout/hop-gui/pipelines/pipeline-run-configurations/remote-pipeline-engine.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Remote Pipeline Engine :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/pipelines/pipeline-run-configurations/remote-pipeline-engine.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../../_/css/site-47ac353344.css"> </head> <body class="article"> [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/pipelines/pipelines.html b/manual/New Layout/hop-gui/pipelines/pipelines.html
new file mode 100644
index 0000000..61af261
--- /dev/null
+++ b/manual/New Layout/hop-gui/pipelines/pipelines.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Pipelines :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/pipelines/pipelines.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style= [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/pipelines/run-preview-debug-pipeline.html b/manual/New Layout/hop-gui/pipelines/run-preview-debug-pipeline.html
new file mode 100644
index 0000000..ca659b1
--- /dev/null
+++ b/manual/New Layout/hop-gui/pipelines/run-preview-debug-pipeline.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Run, Preview and Debug a Pipeline :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/pipelines/run-preview-debug-pipeline.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="coo [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/shortcuts.html b/manual/New Layout/hop-gui/shortcuts.html
new file mode 100644
index 0000000..d8ac2d2
--- /dev/null
+++ b/manual/New Layout/hop-gui/shortcuts.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Hop Shortcuts :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/shortcuts.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/variables/variables.html b/manual/New Layout/hop-gui/variables/variables.html
new file mode 100644
index 0000000..d2056e1
--- /dev/null
+++ b/manual/New Layout/hop-gui/variables/variables.html	
@@ -0,0 +1,23 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Variables :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/variables/variables.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style= [...]
+  "systemProperties" : {
+    "MY_SYSTEM_PROPERTY" : "SomeValue"
+  }
+}</code></pre> </div> </div> <div class="paragraph"> <p>You can also use the hop-config command line tool to define system properties:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">sh hop-config.sh -s MY_SYSTEM_PROPERTY=SomeValue</code></pre> </div> </div> <div class="paragraph"> <p>System properties get set in Java Virtual Machine that Hop is running. This means that you should limit yours [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/workflows/create-workflow.html b/manual/New Layout/hop-gui/workflows/create-workflow.html
new file mode 100644
index 0000000..0ab882a
--- /dev/null
+++ b/manual/New Layout/hop-gui/workflows/create-workflow.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Create a Workflow :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/workflows/create-workflow.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu- [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/workflows/run-debug-workflow.html b/manual/New Layout/hop-gui/workflows/run-debug-workflow.html
new file mode 100644
index 0000000..3f1b1f3
--- /dev/null
+++ b/manual/New Layout/hop-gui/workflows/run-debug-workflow.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Run and Debug a Workflow :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/workflows/run-debug-workflow.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="c [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/workflows/workflow-run-configurations/workflow-run-configurations.html b/manual/New Layout/hop-gui/workflows/workflow-run-configurations/workflow-run-configurations.html
new file mode 100644
index 0000000..1af0b9b
--- /dev/null
+++ b/manual/New Layout/hop-gui/workflows/workflow-run-configurations/workflow-run-configurations.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Workflow Run Configurations :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/workflows/workflow-run-configurations/workflow-run-configurations.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../../_/css/site-47ac353344.css"> </head> <body class= [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/workflows/workflows.html b/manual/New Layout/hop-gui/workflows/workflows.html
new file mode 100644
index 0000000..c5dde65
--- /dev/null
+++ b/manual/New Layout/hop-gui/workflows/workflows.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Workflows :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/workflows/workflows.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style= [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-gui/workitems.html b/manual/New Layout/hop-gui/workitems.html
new file mode 100644
index 0000000..b60003d
--- /dev/null
+++ b/manual/New Layout/hop-gui/workitems.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Work Items :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-gui/workitems.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: no [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-run/index.html b/manual/New Layout/hop-run/index.html
new file mode 100644
index 0000000..bda79ff
--- /dev/null
+++ b/manual/New Layout/hop-run/index.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Hop Run :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-run/index.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none;"> < [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-server/index.html b/manual/New Layout/hop-server/index.html
new file mode 100644
index 0000000..d21f126
--- /dev/null
+++ b/manual/New Layout/hop-server/index.html	
@@ -0,0 +1,20 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Hop Server :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-server/index.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: non [...]
+2020/06/20 18:35:12 - HopServer - Created listener for webserver @ address : localhost:8081</code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_connect_to_the_hop_server_ui"><a class="anchor" href="#_connect_to_the_hop_server_ui"></a>Connect to the Hop Server UI</h2> <div class="sectionbody"> <div class="paragraph"> <p>To connect to the previously started server, point your browser to <a href="http://localhost:8081" class="bare">http://localhost:8081</a>.</p> </div> <di [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-server/web-service.html b/manual/New Layout/hop-server/web-service.html
new file mode 100644
index 0000000..b77241d
--- /dev/null
+++ b/manual/New Layout/hop-server/web-service.html	
@@ -0,0 +1,27 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Web Service :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-server/web-service.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="displ [...]
+  &lt;hop-server&gt;
+    &lt;name&gt;8181&lt;/name&gt;
+    &lt;hostname&gt;localhost&lt;/hostname&gt;
+    &lt;port&gt;8181&lt;/port&gt;
+  &lt;/hop-server&gt;
+  &lt;metadata_folder&gt;/home/hop/project/services/metadata&lt;/metadata_folder&gt;
+
+&lt;/hop-server-config&gt;</code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_using_the_service"><a class="anchor" href="#_using_the_service"></a>Using the service</h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_base_request"><a class="anchor" href="#_base_request"></a>Base request</h3> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-http request hljs" data-lang="http request">http://&lt;hop-server-u [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-vs-kettle/hop-vs-kettle.html b/manual/New Layout/hop-vs-kettle/hop-vs-kettle.html
new file mode 100644
index 0000000..733190b
--- /dev/null
+++ b/manual/New Layout/hop-vs-kettle/hop-vs-kettle.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Hop vs Kettle - A Quick Comparison :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-vs-kettle/hop-vs-kettle.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="coo [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-vs-kettle/if-you-know-kettle.html b/manual/New Layout/hop-vs-kettle/if-you-know-kettle.html
new file mode 100644
index 0000000..ff39e98
--- /dev/null
+++ b/manual/New Layout/hop-vs-kettle/if-you-know-kettle.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>If You Know Kettle (Pentaho Data Integration) :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-vs-kettle/if-you-know-kettle.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-vs-kettle/import-kettle-projects.html b/manual/New Layout/hop-vs-kettle/import-kettle-projects.html
new file mode 100644
index 0000000..97af61d
--- /dev/null
+++ b/manual/New Layout/hop-vs-kettle/import-kettle-projects.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Import Kettle (PDI) Projects in Apache Hop (Incubating) :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-vs-kettle/import-kettle-projects.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/hop-vs-kettle/index.html b/manual/New Layout/hop-vs-kettle/index.html
new file mode 100644
index 0000000..ee19b38
--- /dev/null
+++ b/manual/New Layout/hop-vs-kettle/index.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Hop vs Kettle :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/hop-vs-kettle/index.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="displa [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/image-testpage.html b/manual/New Layout/image-testpage.html
new file mode 100644
index 0000000..181f7c9
--- /dev/null
+++ b/manual/New Layout/image-testpage.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Image testpage :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/image-testpage.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/index.html b/manual/New Layout/index.html
new file mode 100644
index 0000000..c4f7433
--- /dev/null
+++ b/manual/New Layout/index.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Index Page :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/index.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none;"> <div id=" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/logging/logging-basics.html b/manual/New Layout/logging/logging-basics.html
new file mode 100644
index 0000000..7ebb80e
--- /dev/null
+++ b/manual/New Layout/logging/logging-basics.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Logging :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/logging/logging-basics.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display:  [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/logging/logging-reflection.html b/manual/New Layout/logging/logging-reflection.html
new file mode 100644
index 0000000..ae9abe6
--- /dev/null
+++ b/manual/New Layout/logging/logging-reflection.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Reflection :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/logging/logging-reflection.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="di [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions.html b/manual/New Layout/plugins/actions.html
new file mode 100644
index 0000000..ab23765
--- /dev/null
+++ b/manual/New Layout/plugins/actions.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Action Plugins :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display:  [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/abort.html b/manual/New Layout/plugins/actions/abort.html
new file mode 100644
index 0000000..01ed31b
--- /dev/null
+++ b/manual/New Layout/plugins/actions/abort.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Abort :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/abort.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display:  [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/addresultfilenames.html b/manual/New Layout/plugins/actions/addresultfilenames.html
new file mode 100644
index 0000000..e960b8e
--- /dev/null
+++ b/manual/New Layout/plugins/actions/addresultfilenames.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Add filenames to result :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/addresultfilenames.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cook [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/as400command.html b/manual/New Layout/plugins/actions/as400command.html
new file mode 100644
index 0000000..606eff5
--- /dev/null
+++ b/manual/New Layout/plugins/actions/as400command.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>AS/400 Command :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/as400command.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner"  [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/checkdbconnection.html b/manual/New Layout/plugins/actions/checkdbconnection.html
new file mode 100644
index 0000000..70ad7f1
--- /dev/null
+++ b/manual/New Layout/plugins/actions/checkdbconnection.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Check Db connections :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/checkdbconnection.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies- [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/checkfilelocked.html b/manual/New Layout/plugins/actions/checkfilelocked.html
new file mode 100644
index 0000000..fa7a31b
--- /dev/null
+++ b/manual/New Layout/plugins/actions/checkfilelocked.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Check Files Locked :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/checkfilelocked.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-b [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/columnsexist.html b/manual/New Layout/plugins/actions/columnsexist.html
new file mode 100644
index 0000000..8c7b750
--- /dev/null
+++ b/manual/New Layout/plugins/actions/columnsexist.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Columns exist in a table :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/columnsexist.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-e [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/copyfiles.html b/manual/New Layout/plugins/actions/copyfiles.html
new file mode 100644
index 0000000..291c9d9
--- /dev/null
+++ b/manual/New Layout/plugins/actions/copyfiles.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Copy Files :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/copyfiles.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style=" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/copymoveresultfilenames.html b/manual/New Layout/plugins/actions/copymoveresultfilenames.html
new file mode 100644
index 0000000..3388b1a
--- /dev/null
+++ b/manual/New Layout/plugins/actions/copymoveresultfilenames.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Copy Or Move Files from result :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/copymoveresultfilenames.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-bann [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/createfile.html b/manual/New Layout/plugins/actions/createfile.html
new file mode 100644
index 0000000..8a2e025
--- /dev/null
+++ b/manual/New Layout/plugins/actions/createfile.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Create File :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/createfile.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/createfolder.html b/manual/New Layout/plugins/actions/createfolder.html
new file mode 100644
index 0000000..9a0b010
--- /dev/null
+++ b/manual/New Layout/plugins/actions/createfolder.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Create Folder :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/createfolder.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" s [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/delay.html b/manual/New Layout/plugins/actions/delay.html
new file mode 100644
index 0000000..b3c7e4b
--- /dev/null
+++ b/manual/New Layout/plugins/actions/delay.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Delay :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/delay.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display:  [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/deletefile.html b/manual/New Layout/plugins/actions/deletefile.html
new file mode 100644
index 0000000..e677dc0
--- /dev/null
+++ b/manual/New Layout/plugins/actions/deletefile.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Delete File :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/deletefile.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/deletefiles.html b/manual/New Layout/plugins/actions/deletefiles.html
new file mode 100644
index 0000000..39456e6
--- /dev/null
+++ b/manual/New Layout/plugins/actions/deletefiles.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Delete Files :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/deletefiles.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" sty [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/deletefolders.html b/manual/New Layout/plugins/actions/deletefolders.html
new file mode 100644
index 0000000..4d8bbac
--- /dev/null
+++ b/manual/New Layout/plugins/actions/deletefolders.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Delete Folders :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/deletefolders.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/deleteresultfilenames.html b/manual/New Layout/plugins/actions/deleteresultfilenames.html
new file mode 100644
index 0000000..1db1d5c
--- /dev/null
+++ b/manual/New Layout/plugins/actions/deleteresultfilenames.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Delete filenames from result :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/deleteresultfilenames.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner"  [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/dostounix.html b/manual/New Layout/plugins/actions/dostounix.html
new file mode 100644
index 0000000..197781b
--- /dev/null
+++ b/manual/New Layout/plugins/actions/dostounix.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Dos To Unix :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/dostounix.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style= [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/dtdvalidator.html b/manual/New Layout/plugins/actions/dtdvalidator.html
new file mode 100644
index 0000000..de96e5f
--- /dev/null
+++ b/manual/New Layout/plugins/actions/dtdvalidator.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>DTD Validator :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/dtdvalidator.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" s [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/dummy.html b/manual/New Layout/plugins/actions/dummy.html
new file mode 100644
index 0000000..38e915f
--- /dev/null
+++ b/manual/New Layout/plugins/actions/dummy.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Dummy :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/dummy.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display:  [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/eval.html b/manual/New Layout/plugins/actions/eval.html
new file mode 100644
index 0000000..09c8ffb
--- /dev/null
+++ b/manual/New Layout/plugins/actions/eval.html	
@@ -0,0 +1,29 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>JavaScript :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/eval.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="displ [...]
+if (useDate == 0) {
+  date = new java.util.Date();
+  date.setDate(date.getDate()-1); //Go back 1 full day
+  dateFormat = new java.text.SimpleDateFormat("yyyyMMdd");
+  newDateStr = dateFormat.format(date);
+  parent_workflow.setVariable("start_date", newDateStr);
+}
+true;</code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_previous_result"><a class="anchor" href="#_previous_result"></a>Previous result</h2> <div class="sectionbody"> <div class="paragraph"> <p>When a workflow action finishes, the result of the execution will be a Result object exposed as "previous_result" to the JavaScript engine:</p> </div> <div class="table-wrapper"><table class="tableblock frame-all grid-all"> <colgroup> <col> <col> <col> <col> </colgroup> <thead> [...]
+
+firstRow.getString("name", "").equals("Foo")</code></pre> </div> </div> <div class="literalblock"> <div class="content"> <pre>This script will follow the green workflow hop is the expression evaluates to true.  This happens if field "name" contains String "Foo".</pre> </div> </div> </div> </div> </div> </article> </main> </div> <footer> <div class="footer"> <dl> <dt>Overview</dt> <dd><a href="../../../../download/">Download</a></dd> <dd><a href="../../../../manual/latest/">Getting starte [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/evalfilesmetrics.html b/manual/New Layout/plugins/actions/evalfilesmetrics.html
new file mode 100644
index 0000000..09795ab
--- /dev/null
+++ b/manual/New Layout/plugins/actions/evalfilesmetrics.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Evaluate File Metrics :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/evalfilesmetrics.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies- [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/evaluatetablecontent.html b/manual/New Layout/plugins/actions/evaluatetablecontent.html
new file mode 100644
index 0000000..1dbcc12
--- /dev/null
+++ b/manual/New Layout/plugins/actions/evaluatetablecontent.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Evaluate rows number in a table :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/evaluatetablecontent.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/filecompare.html b/manual/New Layout/plugins/actions/filecompare.html
new file mode 100644
index 0000000..3711b80
--- /dev/null
+++ b/manual/New Layout/plugins/actions/filecompare.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>File compare :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/filecompare.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" sty [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/fileexists.html b/manual/New Layout/plugins/actions/fileexists.html
new file mode 100644
index 0000000..7d08557
--- /dev/null
+++ b/manual/New Layout/plugins/actions/fileexists.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>File Exists :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/fileexists.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/filesexist.html b/manual/New Layout/plugins/actions/filesexist.html
new file mode 100644
index 0000000..86fb2fb
--- /dev/null
+++ b/manual/New Layout/plugins/actions/filesexist.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Checks if files exists :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/filesexist.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-ba [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/folderisempty.html b/manual/New Layout/plugins/actions/folderisempty.html
new file mode 100644
index 0000000..b180869
--- /dev/null
+++ b/manual/New Layout/plugins/actions/folderisempty.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Folder is Empty :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/folderisempty.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/folderscompare.html b/manual/New Layout/plugins/actions/folderscompare.html
new file mode 100644
index 0000000..9b1c1ac
--- /dev/null
+++ b/manual/New Layout/plugins/actions/folderscompare.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Folders Compare :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/folderscompare.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banne [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/ftp.html b/manual/New Layout/plugins/actions/ftp.html
new file mode 100644
index 0000000..982c8e7
--- /dev/null
+++ b/manual/New Layout/plugins/actions/ftp.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Get a file with FTP :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/ftp.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" styl [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/ftpdelete.html b/manual/New Layout/plugins/actions/ftpdelete.html
new file mode 100644
index 0000000..0d07e33
--- /dev/null
+++ b/manual/New Layout/plugins/actions/ftpdelete.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>FTP delete :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/ftpdelete.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style=" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/ftpput.html b/manual/New Layout/plugins/actions/ftpput.html
new file mode 100644
index 0000000..6ec8567
--- /dev/null
+++ b/manual/New Layout/plugins/actions/ftpput.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Put a file with FTP :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/ftpput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" s [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/ftpsget.html b/manual/New Layout/plugins/actions/ftpsget.html
new file mode 100644
index 0000000..8691ce8
--- /dev/null
+++ b/manual/New Layout/plugins/actions/ftpsget.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Get a file with FTPS :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/ftpsget.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/ftpsput.html b/manual/New Layout/plugins/actions/ftpsput.html
new file mode 100644
index 0000000..3fe9bef
--- /dev/null
+++ b/manual/New Layout/plugins/actions/ftpsput.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Upload files to FTPS :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/ftpsput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/getpop.html b/manual/New Layout/plugins/actions/getpop.html
new file mode 100644
index 0000000..a2c752b
--- /dev/null
+++ b/manual/New Layout/plugins/actions/getpop.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Get Mail from POP :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/getpop.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" sty [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/http.html b/manual/New Layout/plugins/actions/http.html
new file mode 100644
index 0000000..03d4d1d
--- /dev/null
+++ b/manual/New Layout/plugins/actions/http.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Http Get :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/http.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/mail.html b/manual/New Layout/plugins/actions/mail.html
new file mode 100644
index 0000000..45f7feb
--- /dev/null
+++ b/manual/New Layout/plugins/actions/mail.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Mail :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/mail.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: no [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/mailvalidator.html b/manual/New Layout/plugins/actions/mailvalidator.html
new file mode 100644
index 0000000..3a88d30
--- /dev/null
+++ b/manual/New Layout/plugins/actions/mailvalidator.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Mail Validator :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/mailvalidator.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/movefiles.html b/manual/New Layout/plugins/actions/movefiles.html
new file mode 100644
index 0000000..773a1a6
--- /dev/null
+++ b/manual/New Layout/plugins/actions/movefiles.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Move Files :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/movefiles.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style=" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/msgboxinfo.html b/manual/New Layout/plugins/actions/msgboxinfo.html
new file mode 100644
index 0000000..5125f7f
--- /dev/null
+++ b/manual/New Layout/plugins/actions/msgboxinfo.html	
@@ -0,0 +1,20 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Display Msgbox info :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/msgboxinfo.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banne [...]
+Clicking on "Cancel" exits on the red hop</pre> </div> </div> <div class="paragraph"> <p>When the question cannot be asked (no Graphical User Interface), the action always exits on the green hop.</p> </div> </div> </div> <div class="sect1"> <h2 id="_options"><a class="anchor" href="#_options"></a>Options</h2> <div class="sectionbody"> <div class="table-wrapper"><table class="tableblock frame-all grid-all"> <colgroup> <col> <col> </colgroup> <thead> <tr> <th class="tableblock halign-left  [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/mssqlbulkload.html b/manual/New Layout/plugins/actions/mssqlbulkload.html
new file mode 100644
index 0000000..2484d0f
--- /dev/null
+++ b/manual/New Layout/plugins/actions/mssqlbulkload.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>MS SQL Server Bulk Loader :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/mssqlbulkload.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/mysqlbulkfile.html b/manual/New Layout/plugins/actions/mysqlbulkfile.html
new file mode 100644
index 0000000..aeb11b4
--- /dev/null
+++ b/manual/New Layout/plugins/actions/mysqlbulkfile.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>MySQL Bulk File :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/mysqlbulkfile.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/mysqlbulkload.html b/manual/New Layout/plugins/actions/mysqlbulkload.html
new file mode 100644
index 0000000..217dc7b
--- /dev/null
+++ b/manual/New Layout/plugins/actions/mysqlbulkload.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>MySQL Bulk Loader :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/mysqlbulkload.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-bann [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/pgpdecryptfiles.html b/manual/New Layout/plugins/actions/pgpdecryptfiles.html
new file mode 100644
index 0000000..f487c2c
--- /dev/null
+++ b/manual/New Layout/plugins/actions/pgpdecryptfiles.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Decrypt files with PGP :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/pgpdecryptfiles.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies- [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/pgpencryptfiles.html b/manual/New Layout/plugins/actions/pgpencryptfiles.html
new file mode 100644
index 0000000..18d1a63
--- /dev/null
+++ b/manual/New Layout/plugins/actions/pgpencryptfiles.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Encrypt files with PGP :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/pgpencryptfiles.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies- [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/pgpfiles.html b/manual/New Layout/plugins/actions/pgpfiles.html
new file mode 100644
index 0000000..3d86c2a
--- /dev/null
+++ b/manual/New Layout/plugins/actions/pgpfiles.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>PGP Files :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/pgpfiles.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="di [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/pgpverify.html b/manual/New Layout/plugins/actions/pgpverify.html
new file mode 100644
index 0000000..ab87035
--- /dev/null
+++ b/manual/New Layout/plugins/actions/pgpverify.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Verify file signature with PGP :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/pgpverify.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookie [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/ping.html b/manual/New Layout/plugins/actions/ping.html
new file mode 100644
index 0000000..025013e
--- /dev/null
+++ b/manual/New Layout/plugins/actions/ping.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Ping :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/ping.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: no [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/pipeline.html b/manual/New Layout/plugins/actions/pipeline.html
new file mode 100644
index 0000000..71b1fcd
--- /dev/null
+++ b/manual/New Layout/plugins/actions/pipeline.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Pipeline :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/pipeline.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="dis [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/repeat-end.html b/manual/New Layout/plugins/actions/repeat-end.html
new file mode 100644
index 0000000..29608a9
--- /dev/null
+++ b/manual/New Layout/plugins/actions/repeat-end.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>End Repeat :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/repeat-end.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style= [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/repeat.html b/manual/New Layout/plugins/actions/repeat.html
new file mode 100644
index 0000000..8283e79
--- /dev/null
+++ b/manual/New Layout/plugins/actions/repeat.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Repeat :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/repeat.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/runpipelinetests.html b/manual/New Layout/plugins/actions/runpipelinetests.html
new file mode 100644
index 0000000..caddfc0
--- /dev/null
+++ b/manual/New Layout/plugins/actions/runpipelinetests.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Run Pipeline Tests :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/runpipelinetests.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu- [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/sendnagiospassivecheck.html b/manual/New Layout/plugins/actions/sendnagiospassivecheck.html
new file mode 100644
index 0000000..1655e1c
--- /dev/null
+++ b/manual/New Layout/plugins/actions/sendnagiospassivecheck.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Send Nagios check :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/sendnagiospassivecheck.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookie [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/setvariables.html b/manual/New Layout/plugins/actions/setvariables.html
new file mode 100644
index 0000000..5aab396
--- /dev/null
+++ b/manual/New Layout/plugins/actions/setvariables.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Set Variables :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/setvariables.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" s [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/sftp.html b/manual/New Layout/plugins/actions/sftp.html
new file mode 100644
index 0000000..26d9a66
--- /dev/null
+++ b/manual/New Layout/plugins/actions/sftp.html	
@@ -0,0 +1,21 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Get a file with SFTP :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/sftp.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" st [...]
+A.*[ENG:0-9].txt  : files tarting with A ending with a number and .txt</code></pre> </div> </div></div></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">Remove files after retrieval?</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Remove the files after they have been successfully transferred.</p></td> </tr> </tbody> </table></div> </div> <div class="sect2"> <h3 id="_files_tab"><a class="anchor" href="#_files_tab"></a>Files  [...]
+A.*[ENG:0-9].txt  : files tarting with A, ending with a number and .txt</code></pre> </div> </div></div></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">Remove files after retrieval</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Delete the remote file after the file is transferred.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">Target Directory</p></td> <td class="tableblock halign- [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/sftpput.html b/manual/New Layout/plugins/actions/sftpput.html
new file mode 100644
index 0000000..fddd931
--- /dev/null
+++ b/manual/New Layout/plugins/actions/sftpput.html	
@@ -0,0 +1,20 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Put a file with SFTP :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/sftpput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" [...]
+A.*[ENG:0-9].txt  : files tarting with A, ending with a number and .txt</code></pre> </div> </div></div></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">Success when no file</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">Check this option if the workflow action has to success when there is no files to process otherwise the workflow will fail.</p></td> </tr> <tr> <td class="tableblock halign-left valign-top"><p class="table [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/shell.html b/manual/New Layout/plugins/actions/shell.html
new file mode 100644
index 0000000..96614ab
--- /dev/null
+++ b/manual/New Layout/plugins/actions/shell.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Shell Action :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/shell.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="di [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/simpleeval.html b/manual/New Layout/plugins/actions/simpleeval.html
new file mode 100644
index 0000000..0c6973b
--- /dev/null
+++ b/manual/New Layout/plugins/actions/simpleeval.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Simple Evaluation :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/simpleeval.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/snmptrap.html b/manual/New Layout/plugins/actions/snmptrap.html
new file mode 100644
index 0000000..3e7beed
--- /dev/null
+++ b/manual/New Layout/plugins/actions/snmptrap.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Snmp Trap :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/snmptrap.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="di [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/sql.html b/manual/New Layout/plugins/actions/sql.html
new file mode 100644
index 0000000..c9be41f
--- /dev/null
+++ b/manual/New Layout/plugins/actions/sql.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>SQL Script Executor :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/sql.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" styl [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/start.html b/manual/New Layout/plugins/actions/start.html
new file mode 100644
index 0000000..266f978
--- /dev/null
+++ b/manual/New Layout/plugins/actions/start.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Start :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/start.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display:  [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/success.html b/manual/New Layout/plugins/actions/success.html
new file mode 100644
index 0000000..da4dd5f
--- /dev/null
+++ b/manual/New Layout/plugins/actions/success.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Success Action :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/success.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/syslog.html b/manual/New Layout/plugins/actions/syslog.html
new file mode 100644
index 0000000..2d6172d
--- /dev/null
+++ b/manual/New Layout/plugins/actions/syslog.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Send information using Syslog :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/syslog.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/tableexists.html b/manual/New Layout/plugins/actions/tableexists.html
new file mode 100644
index 0000000..562cb86
--- /dev/null
+++ b/manual/New Layout/plugins/actions/tableexists.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Table Exists :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/tableexists.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" sty [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/telnet.html b/manual/New Layout/plugins/actions/telnet.html
new file mode 100644
index 0000000..ec908fe
--- /dev/null
+++ b/manual/New Layout/plugins/actions/telnet.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Telnet a host :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/telnet.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style=" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/truncatetables.html b/manual/New Layout/plugins/actions/truncatetables.html
new file mode 100644
index 0000000..92da509
--- /dev/null
+++ b/manual/New Layout/plugins/actions/truncatetables.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Truncate Tables :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/truncatetables.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banne [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/unzip.html b/manual/New Layout/plugins/actions/unzip.html
new file mode 100644
index 0000000..f2ef312
--- /dev/null
+++ b/manual/New Layout/plugins/actions/unzip.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Unzip :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/unzip.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display:  [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/waitforfile.html b/manual/New Layout/plugins/actions/waitforfile.html
new file mode 100644
index 0000000..57ac8fa
--- /dev/null
+++ b/manual/New Layout/plugins/actions/waitforfile.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Wait for file :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/waitforfile.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" st [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/waitforsql.html b/manual/New Layout/plugins/actions/waitforsql.html
new file mode 100644
index 0000000..1cdca8b
--- /dev/null
+++ b/manual/New Layout/plugins/actions/waitforsql.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Wait for SQL :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/waitforsql.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" styl [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/webserviceavailable.html b/manual/New Layout/plugins/actions/webserviceavailable.html
new file mode 100644
index 0000000..6778401
--- /dev/null
+++ b/manual/New Layout/plugins/actions/webserviceavailable.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Check if Webservice is available :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/webserviceavailable.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/workflow.html b/manual/New Layout/plugins/actions/workflow.html
new file mode 100644
index 0000000..3b1cf74
--- /dev/null
+++ b/manual/New Layout/plugins/actions/workflow.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Workflow :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/workflow.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="dis [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/writetofile.html b/manual/New Layout/plugins/actions/writetofile.html
new file mode 100644
index 0000000..f313571
--- /dev/null
+++ b/manual/New Layout/plugins/actions/writetofile.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Write to File :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/writetofile.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" st [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/writetolog.html b/manual/New Layout/plugins/actions/writetolog.html
new file mode 100644
index 0000000..db03da7
--- /dev/null
+++ b/manual/New Layout/plugins/actions/writetolog.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Write to Log :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/writetolog.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" styl [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/xmlwellformed.html b/manual/New Layout/plugins/actions/xmlwellformed.html
new file mode 100644
index 0000000..32776a2
--- /dev/null
+++ b/manual/New Layout/plugins/actions/xmlwellformed.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Check if XML file is well formed :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/xmlwellformed.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id=" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/xsdvalidator.html b/manual/New Layout/plugins/actions/xsdvalidator.html
new file mode 100644
index 0000000..a02b15a
--- /dev/null
+++ b/manual/New Layout/plugins/actions/xsdvalidator.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>XSD Validator :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/xsdvalidator.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" s [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/xslt.html b/manual/New Layout/plugins/actions/xslt.html
new file mode 100644
index 0000000..851a89f
--- /dev/null
+++ b/manual/New Layout/plugins/actions/xslt.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>XSL Transformation :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/xslt.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" styl [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/actions/zipfile.html b/manual/New Layout/plugins/actions/zipfile.html
new file mode 100644
index 0000000..23dd44d
--- /dev/null
+++ b/manual/New Layout/plugins/actions/zipfile.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Zip File :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/actions/zipfile.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="disp [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases.html b/manual/New Layout/plugins/databases.html
new file mode 100644
index 0000000..277dade
--- /dev/null
+++ b/manual/New Layout/plugins/databases.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Database Plugins :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="displ [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/as400.html b/manual/New Layout/plugins/databases/as400.html
new file mode 100644
index 0000000..d747fb9
--- /dev/null
+++ b/manual/New Layout/plugins/databases/as400.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>AS400 :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/as400.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/cache.html b/manual/New Layout/plugins/databases/cache.html
new file mode 100644
index 0000000..44a1430
--- /dev/null
+++ b/manual/New Layout/plugins/databases/cache.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Cache :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/cache.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/clickhouse.html b/manual/New Layout/plugins/databases/clickhouse.html
new file mode 100644
index 0000000..0a49526
--- /dev/null
+++ b/manual/New Layout/plugins/databases/clickhouse.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>ClickHouse :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/clickhouse.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" styl [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/db2.html b/manual/New Layout/plugins/databases/db2.html
new file mode 100644
index 0000000..34fba2a
--- /dev/null
+++ b/manual/New Layout/plugins/databases/db2.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>DB2 :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/db2.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: no [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/derby.html b/manual/New Layout/plugins/databases/derby.html
new file mode 100644
index 0000000..509b903
--- /dev/null
+++ b/manual/New Layout/plugins/databases/derby.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Apache Derby :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/derby.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style=" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/exasol.html b/manual/New Layout/plugins/databases/exasol.html
new file mode 100644
index 0000000..40e3ef5
--- /dev/null
+++ b/manual/New Layout/plugins/databases/exasol.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Exasol :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/exasol.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="displ [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/firebird.html b/manual/New Layout/plugins/databases/firebird.html
new file mode 100644
index 0000000..d9243a0
--- /dev/null
+++ b/manual/New Layout/plugins/databases/firebird.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>firebird :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/firebird.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="d [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/googlebigquery.html b/manual/New Layout/plugins/databases/googlebigquery.html
new file mode 100644
index 0000000..e58a0db
--- /dev/null
+++ b/manual/New Layout/plugins/databases/googlebigquery.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Google BigQuery :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/googlebigquery.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-ban [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/greenplum.html b/manual/New Layout/plugins/databases/greenplum.html
new file mode 100644
index 0000000..96f7efb
--- /dev/null
+++ b/manual/New Layout/plugins/databases/greenplum.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Greenplum :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/greenplum.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style= [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/h2.html b/manual/New Layout/plugins/databases/h2.html
new file mode 100644
index 0000000..bc7b4de
--- /dev/null
+++ b/manual/New Layout/plugins/databases/h2.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>H2 :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/h2.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/hypersonic.html b/manual/New Layout/plugins/databases/hypersonic.html
new file mode 100644
index 0000000..c18d20b
--- /dev/null
+++ b/manual/New Layout/plugins/databases/hypersonic.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Hypersonic :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/hypersonic.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" styl [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/infinidb.html b/manual/New Layout/plugins/databases/infinidb.html
new file mode 100644
index 0000000..f712503
--- /dev/null
+++ b/manual/New Layout/plugins/databases/infinidb.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>InfiniDB :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/infinidb.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="d [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/infobright.html b/manual/New Layout/plugins/databases/infobright.html
new file mode 100644
index 0000000..d0d1dfa
--- /dev/null
+++ b/manual/New Layout/plugins/databases/infobright.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Infobright DB :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/infobright.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" s [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/informix.html b/manual/New Layout/plugins/databases/informix.html
new file mode 100644
index 0000000..07b6748
--- /dev/null
+++ b/manual/New Layout/plugins/databases/informix.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>informix :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/informix.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="d [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/ingres.html b/manual/New Layout/plugins/databases/ingres.html
new file mode 100644
index 0000000..1b50045
--- /dev/null
+++ b/manual/New Layout/plugins/databases/ingres.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>ingres :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/ingres.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="displ [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/interbase.html b/manual/New Layout/plugins/databases/interbase.html
new file mode 100644
index 0000000..8be0eb9
--- /dev/null
+++ b/manual/New Layout/plugins/databases/interbase.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>interbase :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/interbase.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style= [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/kingbasees.html b/manual/New Layout/plugins/databases/kingbasees.html
new file mode 100644
index 0000000..6f2301d
--- /dev/null
+++ b/manual/New Layout/plugins/databases/kingbasees.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>kingbase es :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/kingbasees.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" sty [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/mariadb.html b/manual/New Layout/plugins/databases/mariadb.html
new file mode 100644
index 0000000..faece6a
--- /dev/null
+++ b/manual/New Layout/plugins/databases/mariadb.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Mariadb :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/mariadb.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="dis [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/monetdb.html b/manual/New Layout/plugins/databases/monetdb.html
new file mode 100644
index 0000000..749abc3
--- /dev/null
+++ b/manual/New Layout/plugins/databases/monetdb.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>monetdb :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/monetdb.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="dis [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/mssql.html b/manual/New Layout/plugins/databases/mssql.html
new file mode 100644
index 0000000..0d9fa7e
--- /dev/null
+++ b/manual/New Layout/plugins/databases/mssql.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>MS SqlServer :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/mssql.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style=" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/mssqlnative.html b/manual/New Layout/plugins/databases/mssqlnative.html
new file mode 100644
index 0000000..89b0214
--- /dev/null
+++ b/manual/New Layout/plugins/databases/mssqlnative.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>MS SqlServer (Native) :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/mssqlnative.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu- [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/mysql.html b/manual/New Layout/plugins/databases/mysql.html
new file mode 100644
index 0000000..e441f3c
--- /dev/null
+++ b/manual/New Layout/plugins/databases/mysql.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>MySql :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/mysql.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/netezza.html b/manual/New Layout/plugins/databases/netezza.html
new file mode 100644
index 0000000..12b5dbe
--- /dev/null
+++ b/manual/New Layout/plugins/databases/netezza.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Netezza :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/netezza.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="dis [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/oracle.html b/manual/New Layout/plugins/databases/oracle.html
new file mode 100644
index 0000000..4d5d938
--- /dev/null
+++ b/manual/New Layout/plugins/databases/oracle.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Oracle :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/oracle.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="displ [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/oraclerdb.html b/manual/New Layout/plugins/databases/oraclerdb.html
new file mode 100644
index 0000000..bb70264
--- /dev/null
+++ b/manual/New Layout/plugins/databases/oraclerdb.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Oracle RDB :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/oraclerdb.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/postgresql.html b/manual/New Layout/plugins/databases/postgresql.html
new file mode 100644
index 0000000..fb8f8c8
--- /dev/null
+++ b/manual/New Layout/plugins/databases/postgresql.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>PostgreSQL :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/postgresql.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" styl [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/redshift.html b/manual/New Layout/plugins/databases/redshift.html
new file mode 100644
index 0000000..bb42e48
--- /dev/null
+++ b/manual/New Layout/plugins/databases/redshift.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Redshift :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/redshift.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="d [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/sapdb.html b/manual/New Layout/plugins/databases/sapdb.html
new file mode 100644
index 0000000..31610c3
--- /dev/null
+++ b/manual/New Layout/plugins/databases/sapdb.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>MaxDB (SAP DB) :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/sapdb.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/snowflake.html b/manual/New Layout/plugins/databases/snowflake.html
new file mode 100644
index 0000000..a4e1929
--- /dev/null
+++ b/manual/New Layout/plugins/databases/snowflake.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Snowflake :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/snowflake.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style= [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/sqlbase.html b/manual/New Layout/plugins/databases/sqlbase.html
new file mode 100644
index 0000000..95f8f69
--- /dev/null
+++ b/manual/New Layout/plugins/databases/sqlbase.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Gupta SQLBase :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/sqlbase.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" styl [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/sqlite.html b/manual/New Layout/plugins/databases/sqlite.html
new file mode 100644
index 0000000..022c16e
--- /dev/null
+++ b/manual/New Layout/plugins/databases/sqlite.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>SqLite :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/sqlite.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="displ [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/sybase.html b/manual/New Layout/plugins/databases/sybase.html
new file mode 100644
index 0000000..a8fe47a
--- /dev/null
+++ b/manual/New Layout/plugins/databases/sybase.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Sybase :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/sybase.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="displ [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/sybaseiq.html b/manual/New Layout/plugins/databases/sybaseiq.html
new file mode 100644
index 0000000..bc986ef
--- /dev/null
+++ b/manual/New Layout/plugins/databases/sybaseiq.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Sybase IQ :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/sybaseiq.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style=" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/teradata.html b/manual/New Layout/plugins/databases/teradata.html
new file mode 100644
index 0000000..0eff609
--- /dev/null
+++ b/manual/New Layout/plugins/databases/teradata.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Teradata :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/teradata.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="d [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/universe.html b/manual/New Layout/plugins/databases/universe.html
new file mode 100644
index 0000000..3e2a2f2
--- /dev/null
+++ b/manual/New Layout/plugins/databases/universe.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>IBM Universe :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/universe.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" styl [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/vectorwise.html b/manual/New Layout/plugins/databases/vectorwise.html
new file mode 100644
index 0000000..cf81b7b
--- /dev/null
+++ b/manual/New Layout/plugins/databases/vectorwise.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Vectorwise :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/vectorwise.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" styl [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/databases/vertica.html b/manual/New Layout/plugins/databases/vertica.html
new file mode 100644
index 0000000..9b8ebc2
--- /dev/null
+++ b/manual/New Layout/plugins/databases/vertica.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Vertica :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/databases/vertica.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="dis [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/passwords.html b/manual/New Layout/plugins/passwords.html
new file mode 100644
index 0000000..508af2b
--- /dev/null
+++ b/manual/New Layout/plugins/passwords.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Password Plugins :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/passwords.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="displ [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/passwords/aespasswords.html b/manual/New Layout/plugins/passwords/aespasswords.html
new file mode 100644
index 0000000..8b95762
--- /dev/null
+++ b/manual/New Layout/plugins/passwords/aespasswords.html	
@@ -0,0 +1,26 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>AES Two way password encoder :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/passwords/aespasswords.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="coo [...]
+$:~/hop$ export HOP_AES_ENCODER_KEY=ddsfsdfsfsdf
+$:~/hop$ sh hop-encrypt.sh -hop MyPassword222
+AES kb/8yIPqClL/0+/e+gsVcw==
+
+$:~/hop$ export HOP_AES_ENCODER_KEY=abcd
+$:~/hop$ sh hop-encrypt.sh -hop MyPassword222
+AES s7JDgDBqQWMh1E/RWgGaUA==</code></pre> </div> </div> </div> </div> </article> </main> </div> <footer> <div class="footer"> <dl> <dt>Overview</dt> <dd><a href="../../../../download/">Download</a></dd> <dd><a href="../../../../manual/latest/">Getting started</a></dd> </dl> <dl> <dt>Community</dt> <dd><a target="_blank" href="https://issues.apache.org/jira/projects/HOP/issues">Jira</a></dd> <dd><a target="_blank" href="https://chat.project-hop.org">Chat</a></dd> <dd><a target="_blank" hr [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/plugins.html b/manual/New Layout/plugins/plugins.html
new file mode 100644
index 0000000..4215244
--- /dev/null
+++ b/manual/New Layout/plugins/plugins.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Plugins :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/plugins.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: none;"> [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/projects.html b/manual/New Layout/plugins/projects.html
new file mode 100644
index 0000000..af51262
--- /dev/null
+++ b/manual/New Layout/plugins/projects.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Project Plugin :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/projects.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/latest/plugins/passwords/aespasswords.html b/manual/New Layout/plugins/projects/projects.html
similarity index 52%
copy from manual/latest/plugins/passwords/aespasswords.html
copy to manual/New Layout/plugins/projects/projects.html
index 1e5a528..e3e2ae5 100644
--- a/manual/latest/plugins/passwords/aespasswords.html
+++ b/manual/New Layout/plugins/projects/projects.html	
@@ -1,11 +1,107 @@
-<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>AES Two way password encoder :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/latest/plugins/passwords/aespasswords.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-e [...]
-$:~/hop$ export HOP_AES_ENCODER_KEY=ddsfsdfsfsdf
-$:~/hop$ sh hop-encrypt.sh -hop MyPassword222
-AES kb/8yIPqClL/0+/e+gsVcw==
-
-$:~/hop$ export HOP_AES_ENCODER_KEY=abcd
-$:~/hop$ sh hop-encrypt.sh -hop MyPassword222
-AES s7JDgDBqQWMh1E/RWgGaUA==</code></pre> </div> </div> </div> </div> </article> </main> </div> <footer> <div class="footer"> <dl> <dt>Overview</dt> <dd><a href="../../../../download/">Download</a></dd> <dd><a href="../../../../manual/latest/">Getting started</a></dd> </dl> <dl> <dt>Community</dt> <dd><a target="_blank" href="https://issues.apache.org/jira/projects/HOP/issues">Jira</a></dd> <dd><a target="_blank" href="https://chat.project-hop.org">Chat</a></dd> <dd><a target="_blank" hr [...]
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Projects &amp; Environments :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/projects/projects.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-e [...]
+  "projectsConfig" : {
+    "enabled" : true,
+    "projectMandatory" : true,
+    "environmentMandatory" : false,
+    "defaultProject" : "default",
+    "defaultEnvironment" : null,
+    "standardParentProject" : "default",
+    "standardProjectsFolder" : null,
+    "projectConfigurations" : [ {
+      "projectName" : "default",
+      "projectHome" : "config/projects/default",
+      "configFilename" : "project-config.json"
+    }, {
+      "projectName" : "samples",
+      "projectHome" : "config/projects/samples",
+      "configFilename" : "project-config.json"
+    } ],
+    "lifecycleEnvironments" : [ ],
+    "projectLifecycles" : [ ]
+  }
+}</code></pre> </div> </div> <div class="paragraph"> <p>As you can see the standard Hop client distribution defines 2 projects: default and samples.</p> </div> <div class="paragraph"> <p>Every project has extra metadata and settings stored in a project configuration file called <code><code>project-config.json</code></code>. For the samples project this would be <code><code>config/projects/samples/project-config.json</code></code>. Let&#8217;s take a look at it:</p> </div> <div class="lis [...]
+  "metadataBaseFolder" : "${PROJECT_HOME}/metadata",
+  "unitTestsBasePath" : "${PROJECT_HOME}",
+  "dataSetsCsvFolder" : "${PROJECT_HOME}/datasets",
+  "enforcingExecutionInHome" : true,
+  "parentProjectName" : "default",
+  "config" : {
+    "variables" : [ ]
+  }
+}</code></pre> </div> </div> <div class="sect2"> <h3 id="_variables"><a class="anchor" href="#_variables"></a>Variables</h3> <div class="paragraph"> <p>You can define variables on a project level as well. This makes it handy to reference things like input and output folders which are not sensitive to being checked into version control.</p> </div> </div> <div class="sect2"> <h3 id="_parent_projects"><a class="anchor" href="#_parent_projects"></a>Parent projects</h3> <div class="paragraph" [...]
+Creating project 'hop2'
+Project 'hop2' was created for home folder : /home/user/projects/hop2
+Configuration file for project 'hop2' was saved to : /home/user/projects/hop2/project-config.json</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_modifying_a_project"><a class="anchor" href="#_modifying_a_project"></a>Modifying a project</h4> <div class="paragraph"> <p>This command adds a variable to the project configuration:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">$ s [...]
+Project configuration for 'hop2' was modified in &lt;path-to-hop&gt;/config/hop-config.json
+Project settings for 'hop2' were modified in file /home/user/projects/hop2/project-config.json</code></pre> </div> </div> <div class="paragraph"> <p>If we look at the project-config.json file we&#8217;ll see that the variable/value pair was added:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-json hljs" data-lang="json">{
+  "config" : {
+    "variables" : [ {
+      "name" : "INPUT_FOLDER",
+      "value" : "input/"
+    } ]
+  }
+}</code></pre> </div> </div> <div class="sect4"> <h5 id="_deleting_a_project"><a class="anchor" href="#_deleting_a_project"></a>Deleting a project</h5> <div class="paragraph"> <p>The following deletes a project from the Hop configuration file:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">$ sh hop-conf.sh -pd -p hop2
+Project 'hop2 was removed from the configuration</code></pre> </div> </div> </div> </div> </div> </div> </div> <div class="sect1"> <h2 id="_environments"><a class="anchor" href="#_environments"></a>Environments</h2> <div class="sectionbody"> <div class="paragraph"> <p>Environment is short for Project Lifecycle Environment. It describes the phase of a project in its lifecycle moving from Development to Test to Acceptance to Production. It can also describe a project in a continuous integr [...]
+     --environment-create \
+     --environment hop2 \
+     --environment-project hop2 \
+     --environment-purpose=Development \
+     --environment-config-files=/home/user/projects/hop2-conf.json
+Creating environment 'hop2'
+Environment 'hop2' was created in Hop configuration file &lt;path-to-hop&gt;/config/hop-config.json
+2021/02/01 16:37:02 - General - ERROR: Configuration file '/home/user/projects/hop2-conf.json' does not exist to read variables from.
+Created empty environment configuration file : /home/user/projects/hop2-conf.json
+  hop2
+    Purpose: Development
+    Configuration files:
+    Project name: hop2
+      Config file: /home/user/projects/hop2-conf.json</code></pre> </div> </div> <div class="paragraph"> <p>As you can see from the log, an empty file was created to set variables in:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-json hljs" data-lang="json">{ }</code></pre> </div> </div> </div> <div class="sect3"> <h4 id="_setting_variables_in_an_environment"><a class="anchor" href="#_setting_variables_in_an_environme [...]
+Configuration file '/home/user/projects/hop2-conf.json' was modified.</code></pre> </div> </div> <div class="paragraph"> <p>If we look at the file <code><code>hop2-conf.json</code></code> we&#8217;ll see that the variables were added:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-json hljs" data-lang="json">{
+  "variables" : [ {
+    "name" : "DB_HOSTNAME",
+    "value" : "localhost",
+    "description" : ""
+  }, {
+    "name" : "DB_PASSWORD",
+    "value" : "abcd",
+    "description" : ""
+  } ]
+}</code></pre> </div> </div> <div class="paragraph"> <p>Please note that you can add descriptions for the variables as well with the <code><code>--describe-variable</code></code> option. Please run hop-conf without options to see all the possibilities.</p> </div> <div class="sect4"> <h5 id="_deleting_an_environment"><a class="anchor" href="#_deleting_an_environment"></a>Deleting an environment</h5> <div class="paragraph"> <p>The following deletes an environment from the Hop configuration [...]
+Lifecycle environment 'hop2' was deleted from Hop configuration file &lt;path-to-hop&gt;/config/hop-config.json</code></pre> </div> </div> </div> </div> </div> </div> </div> <div class="sect1"> <h2 id="_running_pipelines_and_workflows"><a class="anchor" href="#_running_pipelines_and_workflows"></a>Running pipelines and workflows</h2> <div class="sectionbody"> <div class="paragraph"> <p>You can specify an environment or a project when executing a pipeline or a workflow. By doing so you ar [...]
+2021/02/01 16:52:15 - HopRun - Enabling project 'samples'
+2021/02/01 16:52:25 - HopRun - Relative path filename specified: config/projects/samples/beam/pipelines/complex.hpl
+2021/02/01 16:52:26 - General - Created Apache Beam pipeline with name 'complex'
+2021/02/01 16:52:27 - General - Handled transform (INPUT) : Customer data
+2021/02/01 16:52:27 - General - Handled transform (INPUT) : State data
+2021/02/01 16:52:27 - General - Handled Group By (STEP) : countPerState, gets data from 1 previous transform(s)
+2021/02/01 16:52:27 - General - Handled transform (STEP) : uppercase state, gets data from 1 previous transform(s), targets=0, infos=0
+2021/02/01 16:52:27 - General - Handled Merge Join (STEP) : Merge join
+2021/02/01 16:52:27 - General - Handled transform (STEP) : Lookup count per state, gets data from 1 previous transform(s), targets=0, infos=1
+2021/02/01 16:52:27 - General - Handled transform (STEP) : name&lt;n, gets data from 1 previous transform(s), targets=2, infos=0
+2021/02/01 16:52:27 - General - Transform Label: N-Z reading from previous transform targeting this one using : name&lt;n - TARGET - Label: N-Z
+2021/02/01 16:52:27 - General - Handled transform (STEP) : Label: N-Z, gets data from 1 previous transform(s), targets=0, infos=0
+2021/02/01 16:52:27 - General - Transform Label: A-M reading from previous transform targeting this one using : name&lt;n - TARGET - Label: A-M
+2021/02/01 16:52:27 - General - Handled transform (STEP) : Label: A-M, gets data from 1 previous transform(s), targets=0, infos=0
+2021/02/01 16:52:27 - General - Handled transform (STEP) : Switch / case, gets data from 2 previous transform(s), targets=4, infos=0
+2021/02/01 16:52:27 - General - Transform CA reading from previous transform targeting this one using : Switch / case - TARGET - CA
+2021/02/01 16:52:27 - General - Handled transform (STEP) : CA, gets data from 1 previous transform(s), targets=0, infos=0
+2021/02/01 16:52:27 - General - Transform NY reading from previous transform targeting this one using : Switch / case - TARGET - NY
+2021/02/01 16:52:27 - General - Handled transform (STEP) : NY, gets data from 1 previous transform(s), targets=0, infos=0
+2021/02/01 16:52:27 - General - Transform FL reading from previous transform targeting this one using : Switch / case - TARGET - FL
+2021/02/01 16:52:27 - General - Handled transform (STEP) : FL, gets data from 1 previous transform(s), targets=0, infos=0
+2021/02/01 16:52:27 - General - Transform Default reading from previous transform targeting this one using : Switch / case - TARGET - Default
+2021/02/01 16:52:27 - General - Handled transform (STEP) : Default, gets data from 1 previous transform(s), targets=0, infos=0
+2021/02/01 16:52:27 - General - Handled transform (STEP) : Collect, gets data from 4 previous transform(s), targets=0, infos=0
+2021/02/01 16:52:27 - General - Handled transform (OUTPUT) : complex, gets data from Collect
+2021/02/01 16:52:27 - General - Executing this pipeline using the Beam Pipeline Engine with run configuration 'Direct'
+2021/02/01 16:52:34 - General - Beam pipeline execution has finished.</code></pre> </div> </div> <div class="paragraph"> <p>To execute an Apache Beam pipeline a lot of information and metadata is needed. Let&#8217;s dive into a few fun information tidbits:</p> </div> <div class="ulist"> <ul> <li> <p>By referencing the <code><code>samples</code></code> project Hop knows where the project is located (<code><code>config/projects/samples</code></code>)</p> </li> <li> <p>Since we know the loc [...]
+    "projectMandatory" : true,
+    "environmentMandatory" : false,
+    "defaultProject" : "default",
+    "defaultEnvironment" : null,
+    "standardParentProject" : "default",
+    "standardProjectsFolder" : "/home/matt/test-stuff/"
+}</code></pre> </div> </div> <div class="table-wrapper"><table class="tableblock frame-all grid-all stretch"> <colgroup> <col> <col> <col> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Option</th> <th class="tableblock halign-left valign-top">Description</th> <th class="tableblock halign-left valign-top">hop-conf option</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left valign-top"><p class="tableblock">projectMandatory</p></td> <td class="tablebl [...]
             (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
             (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
             m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
diff --git a/manual/New Layout/plugins/transforms.html b/manual/New Layout/plugins/transforms.html
new file mode 100644
index 0000000..9d5f5d3
--- /dev/null
+++ b/manual/New Layout/plugins/transforms.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Transform Plugins :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="dis [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/abort.html b/manual/New Layout/plugins/transforms/abort.html
new file mode 100644
index 0000000..13afe99
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/abort.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Abort :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/abort.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="displa [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/addsequence.html b/manual/New Layout/plugins/transforms/addsequence.html
new file mode 100644
index 0000000..f996c04
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/addsequence.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Add Sequence :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/addsequence.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner"  [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/addxml.html b/manual/New Layout/plugins/transforms/addxml.html
new file mode 100644
index 0000000..d6c378d
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/addxml.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Add XML :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/addxml.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="dis [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/analyticquery.html b/manual/New Layout/plugins/transforms/analyticquery.html
new file mode 100644
index 0000000..c4458a3
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/analyticquery.html	
@@ -0,0 +1,42 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Analytic Query :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/analyticquery.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-bann [...]
+--------
+aaa , 1
+aaa , 2
+aaa , 3
+bbb , 4
+bbb , 5
+bbb , 6</code></pre> </div> </div> </div> </div> <div class="paragraph"> <p>And you want to create a field named Z, with the Y value in the previous row.</p> </div> <div class="paragraph"> <p>If you only care about the Y field, you don&#8217;t need to group. And you will have the following result:</p> </div> <div class="exampleblock"> <div class="content"> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash" [...]
+------------
+aaa , 1 , &lt;null&gt;
+aaa , 2 , 1
+aaa , 3 , 2
+bbb , 4 , 3
+bbb , 5 , 4
+bbb , 6 , 5</code></pre> </div> </div> </div> </div> <div class="paragraph"> <p>But if you don&#8217;t want to mix the values for aaa and bbb, you can group by the X field, and you will have this:</p> </div> <div class="exampleblock"> <div class="content"> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">X   , Y , Z
+------------
+X   , Y , Z
+------------
+aaa , 1 , &lt;null&gt;
+aaa , 2 , 1
+aaa , 3 , 2
+bbb , 4 , &lt;null&gt;
+bbb , 5 , 4
+bbb , 6 , 5</code></pre> </div> </div> </div> </div> <div class="paragraph"> <p>Thus, by grouping (provided the input is sorted according to your grouping), you can be assured that lead or lag operations will not return row values outside of the defined group.</p> </div> </div> </div> </article> </main> </div> <footer> <div class="footer"> <dl> <dt>Overview</dt> <dd><a href="../../../../download/">Download</a></dd> <dd><a href="../../../../manual/latest/">Getting started</a></dd> </dl> < [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/append.html b/manual/New Layout/plugins/transforms/append.html
new file mode 100644
index 0000000..25de1d4
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/append.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Append Streams :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/append.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" sty [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/beambigqueryinput.html b/manual/New Layout/plugins/transforms/beambigqueryinput.html
new file mode 100644
index 0000000..8720011
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/beambigqueryinput.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Beam BigQuery Input :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/beambigqueryinput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookie [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/beambigqueryoutput.html b/manual/New Layout/plugins/transforms/beambigqueryoutput.html
new file mode 100644
index 0000000..6be1b6e
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/beambigqueryoutput.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Beam BigQuery Output :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/beambigqueryoutput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cook [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/beamconsume.html b/manual/New Layout/plugins/transforms/beamconsume.html
new file mode 100644
index 0000000..34764bf
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/beamconsume.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Beam Kafka Consume :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/beamconsume.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-ba [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/beaminput.html b/manual/New Layout/plugins/transforms/beaminput.html
new file mode 100644
index 0000000..2e8b379
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/beaminput.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Beam Input :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/beaminput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" styl [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/beamoutput.html b/manual/New Layout/plugins/transforms/beamoutput.html
new file mode 100644
index 0000000..88ee8ae
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/beamoutput.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Beam Output :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/beamoutput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" st [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/beamproduce.html b/manual/New Layout/plugins/transforms/beamproduce.html
new file mode 100644
index 0000000..55b1d12
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/beamproduce.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Beam Kafka Produce :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/beamproduce.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-ba [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/beampublisher.html b/manual/New Layout/plugins/transforms/beampublisher.html
new file mode 100644
index 0000000..2511615
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/beampublisher.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Beam GCP Pub/Sub : Publish :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/beampublisher.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="coo [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/beamsubscriber.html b/manual/New Layout/plugins/transforms/beamsubscriber.html
new file mode 100644
index 0000000..0461255
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/beamsubscriber.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Beam GCP Pub/Sub : Subscribe :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/beamsubscriber.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id=" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/beamtimestamp.html b/manual/New Layout/plugins/transforms/beamtimestamp.html
new file mode 100644
index 0000000..4e947a1
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/beamtimestamp.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Beam Timestamp :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/beamtimestamp.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-bann [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/beamwindow.html b/manual/New Layout/plugins/transforms/beamwindow.html
new file mode 100644
index 0000000..24092c9
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/beamwindow.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Beam Window :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/beamwindow.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" st [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/blockingtransform.html b/manual/New Layout/plugins/transforms/blockingtransform.html
new file mode 100644
index 0000000..888304a
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/blockingtransform.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Blocking transform :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/blockingtransform.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/blockuntiltransformsfinish.html b/manual/New Layout/plugins/transforms/blockuntiltransformsfinish.html
new file mode 100644
index 0000000..52542a4
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/blockuntiltransformsfinish.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Blocking until transforms finish :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/blockuntiltransformsfinish.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="coo [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/calculator.html b/manual/New Layout/plugins/transforms/calculator.html
new file mode 100644
index 0000000..bf3462d
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/calculator.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Calculator :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/calculator.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" sty [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/changefileencoding.html b/manual/New Layout/plugins/transforms/changefileencoding.html
new file mode 100644
index 0000000..3ca39cd
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/changefileencoding.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Change file encoding :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/changefileencoding.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cook [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/checksum.html b/manual/New Layout/plugins/transforms/checksum.html
new file mode 100644
index 0000000..52c8910
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/checksum.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Add a checksum :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/checksum.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" s [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/clonerow.html b/manual/New Layout/plugins/transforms/clonerow.html
new file mode 100644
index 0000000..5dd8d87
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/clonerow.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Clone row :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/clonerow.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style= [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/closure.html b/manual/New Layout/plugins/transforms/closure.html
new file mode 100644
index 0000000..13a5526
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/closure.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Closure :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/closure.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="di [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/coalesce.html b/manual/New Layout/plugins/transforms/coalesce.html
new file mode 100644
index 0000000..5223d5a
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/coalesce.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Coalesce :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/coalesce.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style=" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/columnexists.html b/manual/New Layout/plugins/transforms/columnexists.html
new file mode 100644
index 0000000..3fd7b2d
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/columnexists.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Column exists :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/columnexists.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/combinationlookup.html b/manual/New Layout/plugins/transforms/combinationlookup.html
new file mode 100644
index 0000000..6f7fc71
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/combinationlookup.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Combination lookup/update :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/combinationlookup.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id=" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/concatfields.html b/manual/New Layout/plugins/transforms/concatfields.html
new file mode 100644
index 0000000..58111a8
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/concatfields.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Concat Fields :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/concatfields.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/constant.html b/manual/New Layout/plugins/transforms/constant.html
new file mode 100644
index 0000000..375b129
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/constant.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Add Constants :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/constant.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" st [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/creditcardvalidator.html b/manual/New Layout/plugins/transforms/creditcardvalidator.html
new file mode 100644
index 0000000..297fb70
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/creditcardvalidator.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Credit card validator :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/creditcardvalidator.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="co [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/csvinput.html b/manual/New Layout/plugins/transforms/csvinput.html
new file mode 100644
index 0000000..c18afbc
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/csvinput.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>CSV File Input :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/csvinput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" s [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/cubeinput.html b/manual/New Layout/plugins/transforms/cubeinput.html
new file mode 100644
index 0000000..8834ea6
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/cubeinput.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Cube input :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/cubeinput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" styl [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/cubeoutput.html b/manual/New Layout/plugins/transforms/cubeoutput.html
new file mode 100644
index 0000000..e1b6fee
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/cubeoutput.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Cube output :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/cubeoutput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" st [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/databasejoin.html b/manual/New Layout/plugins/transforms/databasejoin.html
new file mode 100644
index 0000000..610629b
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/databasejoin.html	
@@ -0,0 +1,23 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Database Join :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/databasejoin.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner [...]
+FROM        product_orders, customer
+WHERE       orders.customernr = customer.customernr
+AND         orders.productnr = ?
+ORDER BY    customer.date_of_birth</code></pre> </div> </div> <div class="paragraph"> <p>The grid is then defined as follows:</p> </div> <div class="imageblock"> <div class="content"> <img src="../../_images/databasejoin-grid.png" alt="databasejoin grid"> </div> </div> <div class="paragraph"> <p>When the transform runs, the (?) placeholder defined in the SQL query will be replaced with the incoming productnr field value from the source hop. To define and use multiple parameters, list the [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/databaselookup.html b/manual/New Layout/plugins/transforms/databaselookup.html
new file mode 100644
index 0000000..4de706b
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/databaselookup.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Database Lookup :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/databaselookup.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-ba [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/datagrid.html b/manual/New Layout/plugins/transforms/datagrid.html
new file mode 100644
index 0000000..1cbd6fb
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/datagrid.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Data Grid :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/datagrid.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style= [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/dbproc.html b/manual/New Layout/plugins/transforms/dbproc.html
new file mode 100644
index 0000000..0b7c9bb
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/dbproc.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Call DB procedure :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/dbproc.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner"  [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/delay.html b/manual/New Layout/plugins/transforms/delay.html
new file mode 100644
index 0000000..2de73c0
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/delay.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Delay row :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/delay.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="di [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/delete.html b/manual/New Layout/plugins/transforms/delete.html
new file mode 100644
index 0000000..25dd668
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/delete.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Delete :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/delete.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="disp [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/denormaliser.html b/manual/New Layout/plugins/transforms/denormaliser.html
new file mode 100644
index 0000000..fd50652
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/denormaliser.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Row Denormaliser :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/denormaliser.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-ban [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/detectemptystream.html b/manual/New Layout/plugins/transforms/detectemptystream.html
new file mode 100644
index 0000000..17b6305
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/detectemptystream.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Detect Empty Stream :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/detectemptystream.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookie [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/detectlastrow.html b/manual/New Layout/plugins/transforms/detectlastrow.html
new file mode 100644
index 0000000..cc9db27
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/detectlastrow.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Identify last row in a stream :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/detectlastrow.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id=" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/dimensionlookup.html b/manual/New Layout/plugins/transforms/dimensionlookup.html
new file mode 100644
index 0000000..996bb75
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/dimensionlookup.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Dimension lookup/update :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/dimensionlookup.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cook [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/dummy.html b/manual/New Layout/plugins/transforms/dummy.html
new file mode 100644
index 0000000..77d6184
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/dummy.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Dummy (do nothing) :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/dummy.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner"  [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/dynamicsqlrow.html b/manual/New Layout/plugins/transforms/dynamicsqlrow.html
new file mode 100644
index 0000000..c6381c0
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/dynamicsqlrow.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Dynamic SQL row :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/dynamicsqlrow.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-ban [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/edi2xml.html b/manual/New Layout/plugins/transforms/edi2xml.html
new file mode 100644
index 0000000..e547c57
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/edi2xml.html	
@@ -0,0 +1,28 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Edi to XML :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/edi2xml.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style= [...]
+	&lt;SEGMENT&gt;
+		&lt;element&gt;
+			&lt;value&gt;&lt;/value&gt;
+			...
+		&lt;/element&gt;
+		...
+	&lt;/SEGMENT&gt;
+	...
+&lt;/edifact&gt;</code></pre> </div> </div> <div class="paragraph"> <p>The conversion rules are:</p> </div> <div class="ulist"> <ul> <li> <p>the root of the document is the "edifact" tag</p> </li> <li> <p>each segment in the edifact message is converted to a tag, using the segment name as the tag name.</p> </li> <li> <p>each field within a segment is represented by an "element" tag</p> </li> <li> <p>each value within a field is represented by an "value" tag</p> </li> </ul> </div> </div>  [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/enhancedjsonoutput.html b/manual/New Layout/plugins/transforms/enhancedjsonoutput.html
new file mode 100644
index 0000000..0b7e18c
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/enhancedjsonoutput.html	
@@ -0,0 +1,63 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Enhanced JSON Output :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/enhancedjsonoutput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cook [...]
+  "result" : [ {
+    "key2" : "C",
+    "lvl1Details" : {
+      "result" : [ {
+        "campo2" : "F",
+        "campo3" : "5"
+      }, {
+        "campo2" : "F",
+        "campo3" : "6"
+      }, {
+        "campo2" : "V",
+        "campo3" : "6"
+      }, {
+        "campo2" : "B",
+        "campo3" : "7"
+      } ]
+    }
+  }, {
+    "key2" : "B",
+    "lvl1Details" : {
+      "result" : [ {
+        "campo2" : "C",
+        "campo3" : "1"
+      }, {
+        "campo2" : "C",
+        "campo3" : "2"
+      }, {
+        "campo2" : "D",
+        "campo3" : "4"
+      } ]
+    }
+  }, {
+    "key2" : "A",
+    "lvl1Details" : {
+      "result" : [ {
+        "campo2" : "B",
+        "campo3" : "1"
+      }, {
+        "campo2" : "B",
+        "campo3" : "2"
+      } ]
+    }
+  } ]
+}</code></pre> </div> </div> </div> </div> </div> </article> </main> </div> <footer> <div class="footer"> <dl> <dt>Overview</dt> <dd><a href="../../../../download/">Download</a></dd> <dd><a href="../../../../manual/latest/">Getting started</a></dd> </dl> <dl> <dt>Community</dt> <dd><a target="_blank" href="https://issues.apache.org/jira/projects/HOP/issues">Jira</a></dd> <dd><a target="_blank" href="https://chat.project-hop.org">Chat</a></dd> <dd><a target="_blank" href="../../../../comm [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/excelinput.html b/manual/New Layout/plugins/transforms/excelinput.html
new file mode 100644
index 0000000..280f367
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/excelinput.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Microsoft Excel input :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/excelinput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu- [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/exceloutput.html b/manual/New Layout/plugins/transforms/exceloutput.html
new file mode 100644
index 0000000..6cd5292
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/exceloutput.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Microsoft Excel output :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/exceloutput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-e [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/excelwriter.html b/manual/New Layout/plugins/transforms/excelwriter.html
new file mode 100644
index 0000000..66a4180
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/excelwriter.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Excel writer :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/excelwriter.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner"  [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/execprocess.html b/manual/New Layout/plugins/transforms/execprocess.html
new file mode 100644
index 0000000..23054f8
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/execprocess.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Execute a process :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/execprocess.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-ban [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/execsqlrow.html b/manual/New Layout/plugins/transforms/execsqlrow.html
new file mode 100644
index 0000000..34dec13
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/execsqlrow.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Execute row SQL script :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/execsqlrow.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/fake.html b/manual/New Layout/plugins/transforms/fake.html
new file mode 100644
index 0000000..a4e37eb
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/fake.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Fake data :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/fake.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="dis [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/fieldschangesequence.html b/manual/New Layout/plugins/transforms/fieldschangesequence.html
new file mode 100644
index 0000000..f63a1b8
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/fieldschangesequence.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Add value fields changing sequence :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/fieldschangesequence.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie- [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/fieldsplitter.html b/manual/New Layout/plugins/transforms/fieldsplitter.html
new file mode 100644
index 0000000..3e8be5c
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/fieldsplitter.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Split Fields :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/fieldsplitter.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/fileexists.html b/manual/New Layout/plugins/transforms/fileexists.html
new file mode 100644
index 0000000..139362d
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/fileexists.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>File exists :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/fileexists.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" st [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/filelocked.html b/manual/New Layout/plugins/transforms/filelocked.html
new file mode 100644
index 0000000..3cf4135
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/filelocked.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Check if file is locked :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/filelocked.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-e [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/filesfromresult.html b/manual/New Layout/plugins/transforms/filesfromresult.html
new file mode 100644
index 0000000..ade5f78
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/filesfromresult.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Files from result :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/filesfromresult.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/filestoresult.html b/manual/New Layout/plugins/transforms/filestoresult.html
new file mode 100644
index 0000000..f0083a2
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/filestoresult.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Files to result :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/filestoresult.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-ban [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/filterrows.html b/manual/New Layout/plugins/transforms/filterrows.html
new file mode 100644
index 0000000..b94dac8
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/filterrows.html	
@@ -0,0 +1,23 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Filter Rows :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/filterrows.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" st [...]
+field2,
+${myvar} AS field3
+FROM table
+WHERE field1=xxxx</code></pre> </div> </div> <div class="paragraph"> <p>Then in the filter row condition, you can have</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-bash hljs" data-lang="bash">field1 = field3</code></pre> </div> </div> <div class="paragraph"> <p><strong>FYI</strong> - instead of the Table Input trick above you can use the simple "Get Variables" transform to set parameters in fields.</p> </div> </div>  [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/flattener.html b/manual/New Layout/plugins/transforms/flattener.html
new file mode 100644
index 0000000..39aa8e1
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/flattener.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Row Flattener :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/flattener.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" s [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/fuzzymatch.html b/manual/New Layout/plugins/transforms/fuzzymatch.html
new file mode 100644
index 0000000..dfd16c6
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/fuzzymatch.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Fuzzy match :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/fuzzymatch.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" st [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/getfilenames.html b/manual/New Layout/plugins/transforms/getfilenames.html
new file mode 100644
index 0000000..9ee7d18
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/getfilenames.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Get filenames :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/getfilenames.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/getfilesrowcount.html b/manual/New Layout/plugins/transforms/getfilesrowcount.html
new file mode 100644
index 0000000..a498eed
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/getfilesrowcount.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Get files rowcount :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/getfilesrowcount.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies- [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/getslavesequence.html b/manual/New Layout/plugins/transforms/getslavesequence.html
new file mode 100644
index 0000000..c217945
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/getslavesequence.html	
@@ -0,0 +1,60 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Get ID from slave server :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/getslavesequence.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="co [...]
+
+  &lt;hop-server&gt;
+    &lt;name&gt;master1&lt;/name&gt;
+    &lt;hostname&gt;localhost&lt;/hostname&gt;
+    &lt;port&gt;8282&lt;/port&gt;
+    &lt;master&gt;Y&lt;/master&gt;
+  &lt;/hop-server&gt;
+
+  &lt;connection&gt;
+    &lt;name&gt;MySQL&lt;/name&gt;
+    &lt;server&gt;localhost&lt;/server&gt;
+    &lt;type&gt;MYSQL&lt;/type&gt;
+    &lt;access&gt;Native&lt;/access&gt;
+    &lt;database&gt;test&lt;/database&gt;
+    &lt;port&gt;3306&lt;/port&gt;
+    &lt;username&gt;matt&lt;/username&gt;
+    &lt;password&gt;Encrypted 2be98afc86aa7f2e4cb79ce10df90acde&lt;/password&gt;
+  &lt;/connection&gt;
+
+  &lt;sequences&gt;
+
+   &lt;sequence&gt;
+    &lt;name&gt;test&lt;/name&gt;
+    &lt;start&gt;0&lt;/start&gt;
+    &lt;connection&gt;MySQL&lt;/connection&gt;
+    &lt;schema/&gt;
+    &lt;table&gt;SEQ_TABLE&lt;/table&gt;
+    &lt;sequence_field&gt;SEQ_NAME&lt;/sequence_field&gt;
+    &lt;value_field&gt;SEQ_VALUE&lt;/value_field&gt;
+   &lt;/sequence&gt;
+
+  &lt;/sequences&gt;</code></pre> </div> </div> <div class="paragraph"> <p>The start tag is optional and will default to 0 if you leave it out of the definition. You can define as many sequences as you like.</p> </div> </div> </div> <div class="sect1"> <h2 id="_servlet_information"><a class="anchor" href="#_servlet_information"></a>Servlet information</h2> <div class="sectionbody"> <div class="paragraph"> <p>Once the configuration files are changed as shown above, slave servers receive a [...]
+    &lt;connection&gt;MySQL&lt;/connection&gt;
+    &lt;schema/&gt;
+    &lt;start&gt;1234&lt;/start&gt;
+    &lt;table&gt;SEQ_TABLE&lt;/table&gt;
+    &lt;sequence_field&gt;SEQ_NAME&lt;/sequence_field&gt;
+    &lt;value_field&gt;SEQ_VALUE&lt;/value_field&gt;
+
+    &lt;autocreate&gt;N&lt;/autocreate&gt;
+&lt;/autosequence&gt;</code></pre> </div> </div> <div class="paragraph"> <p>The &lt;autocreate&gt; tag allows any sequence name to be specified in the transform without error. In that case, the sequence with the name specified will be created automatically with the start value from the &lt;autosequence&gt; specification.</p> </div> </div> </div> </article> </main> </div> <footer> <div class="footer"> <dl> <dt>Overview</dt> <dd><a href="../../../../download/">Download</a></dd> <dd><a href [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/getsubfolders.html b/manual/New Layout/plugins/transforms/getsubfolders.html
new file mode 100644
index 0000000..bb8120e
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/getsubfolders.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Get SubFolder names :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/getsubfolders.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/gettablenames.html b/manual/New Layout/plugins/transforms/gettablenames.html
new file mode 100644
index 0000000..7645a92
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/gettablenames.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Get table names :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/gettablenames.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-ban [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/getvariable.html b/manual/New Layout/plugins/transforms/getvariable.html
new file mode 100644
index 0000000..9707991
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/getvariable.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Get variables :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/getvariable.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/getxmldata.html b/manual/New Layout/plugins/transforms/getxmldata.html
new file mode 100644
index 0000000..33b0898
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/getxmldata.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Get Data From XML :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/getxmldata.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-bann [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/groupby.html b/manual/New Layout/plugins/transforms/groupby.html
new file mode 100644
index 0000000..b179f85
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/groupby.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Group By :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/groupby.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="d [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/http.html b/manual/New Layout/plugins/transforms/http.html
new file mode 100644
index 0000000..8e54bd8
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/http.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>HTTP client :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/http.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="d [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/httppost.html b/manual/New Layout/plugins/transforms/httppost.html
new file mode 100644
index 0000000..12b5148
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/httppost.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>HTTP Post :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/httppost.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style= [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/ifnull.html b/manual/New Layout/plugins/transforms/ifnull.html
new file mode 100644
index 0000000..3a3238e
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/ifnull.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>If Null :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/ifnull.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="dis [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/injector.html b/manual/New Layout/plugins/transforms/injector.html
new file mode 100644
index 0000000..e871f3c
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/injector.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Injector :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/injector.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style=" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/insertupdate.html b/manual/New Layout/plugins/transforms/insertupdate.html
new file mode 100644
index 0000000..3bf2628
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/insertupdate.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Insert / Update :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/insertupdate.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-bann [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/janino.html b/manual/New Layout/plugins/transforms/janino.html
new file mode 100644
index 0000000..1f03025
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/janino.html	
@@ -0,0 +1,20 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>User Defined Java Expression :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/janino.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies- [...]
+New York NY</pre> </div> </div> <div class="paragraph"> <p>and you want to separate the state and city, you could use the following expressions:</p> </div> <div class="paragraph"> <p>For state (get the last 2 characters):</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-java hljs" data-lang="java">location != null &amp;&amp; location.length()&gt;2 ? location.substring(location.length()-2, location.length()) : null</code> [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/javafilter.html b/manual/New Layout/plugins/transforms/javafilter.html
new file mode 100644
index 0000000..658b541
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/javafilter.html	
@@ -0,0 +1,22 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Java Filter :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/javafilter.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" st [...]
+  {matching-transform}
+else
+  {non-matching transform}</code></pre> </div> </div> </div> </div> <div class="sect1"> <h2 id="_options"><a class="anchor" href="#_options"></a>Options</h2> <div class="sectionbody"> <div class="table-wrapper"><table class="tableblock frame-all grid-all"> <colgroup> <col> <col> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Option</th> <th class="tableblock halign-left valign-top">Description</th> </tr> </thead> <tbody> <tr> <td class="tableblock halign-left vali [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/javascript.html b/manual/New Layout/plugins/transforms/javascript.html
new file mode 100644
index 0000000..2172709
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/javascript.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>JavaScript :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/javascript.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" sty [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/joinrows.html b/manual/New Layout/plugins/transforms/joinrows.html
new file mode 100644
index 0000000..3b7a299
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/joinrows.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Join Rows :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/joinrows.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style= [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/jsoninput.html b/manual/New Layout/plugins/transforms/jsoninput.html
new file mode 100644
index 0000000..5263bea
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/jsoninput.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>JSON Input :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/jsoninput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" styl [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/jsonoutput.html b/manual/New Layout/plugins/transforms/jsonoutput.html
new file mode 100644
index 0000000..dd500ee
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/jsonoutput.html	
@@ -0,0 +1,82 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>JSON Output :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/jsonoutput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" st [...]
+  "data" : [ {
+    "name" : "item",
+    "value" : 25
+  }, {
+    "name" : "item",
+    "value" : 25
+  }, {
+    "name" : "item",
+    "value" : 25
+  } ]
+}{
+  "data" : [ {
+    "name" : "item",
+    "value" : 25
+  } ]
+}</code></pre> </div> </div> <div class="paragraph"> <p>If compatibility mode is enabled and the transform has the following settings:</p> </div> <div class="ulist"> <ul> <li> <p>Json block name = "data"</p> </li> <li> <p>Nr rows in block = 3</p> </li> <li> <p>'Compatibility mode' is checked</p> </li> </ul> </div> <div class="paragraph"> <p>This will output:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-json hljs" dat [...]
+{"data":[{"name":"item"},{"value":25}]}</code></pre> </div> </div> <div class="paragraph"> <p>Pretty formatting does not affect compatibility mode. We have 2 output json objects. First object harvest first 3 input rows and second object harvests only one row. This happens because of number of rows in a block is 3. Anyway it can be considered as incorrect result, as the real object count for array is 6 for the first output object. By default compatibility mode is disabled.</p> </div> <div [...]
+  "name" : "item",
+  "value" : 25
+}, {
+  "name" : "item",
+  "value" : 25
+}, {
+  "name" : "item",
+  "value" : 25
+} ][ {
+  "name" : "item",
+  "value" : 25
+} ]</code></pre> </div> </div> <div class="paragraph"> <p>We will have just 4 simple json objects that will be outputted as a 4 transform output rows.</p> </div> <div class="paragraph"> <p>In case of json block name is defined - output structure will looks like:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-json hljs" data-lang="json">{
+  "data" : {
+    "name" : "item",
+    "value" : 25
+  }
+}{
+  "data" : {
+    "name" : "item",
+    "value" : 25
+  }
+}{
+  "data" : {
+    "name" : "item",
+    "value" : 25
+  }
+}{
+  "data" : {
+    "name" : "item",
+    "value" : 25
+  }
+}</code></pre> </div> </div> <div class="paragraph"> <p>So this is will be same 4 output objects with json block name defined.</p> </div> <div class="paragraph"> <p>If 'Nr. rows in a block' will be less that 1 output will be as a one object:</p> </div> <div class="listingblock"> <div class="content"> <pre class="highlightjs highlight"><code class="language-json hljs" data-lang="json">{
+  "data" : [ {
+    "name" : "item",
+    "value" : 25
+  }, {
+    "name" : "item",
+    "value" : 25
+  }, {
+    "name" : "item",
+    "value" : 25
+  }, {
+    "name" : "item",
+    "value" : 25
+  } ]
+}</code></pre> </div> </div> <div class="paragraph"> <p>This will be one object (one output row) with data block containing json array with 4 objects (as we had 4 input data rows). Please note - when using 0 'Nr. rows in a block' transform will build output object until input data is available. When input is done - one big output object will be passed to output row. For big input data it can impact memory usage.</p> </div> </div> <div class="sect2"> <h3 id="_output_file"><a class="anchor [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/ldapinput.html b/manual/New Layout/plugins/transforms/ldapinput.html
new file mode 100644
index 0000000..8f349cc
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/ldapinput.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>LDAP Input :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/ldapinput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" styl [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/ldapoutput.html b/manual/New Layout/plugins/transforms/ldapoutput.html
new file mode 100644
index 0000000..d3f82bd
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/ldapoutput.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>LDAP Output :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/ldapoutput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" st [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/ldifinput.html b/manual/New Layout/plugins/transforms/ldifinput.html
new file mode 100644
index 0000000..9b90e17
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/ldifinput.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>LDIF Input :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/ldifinput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" styl [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/loadfileinput.html b/manual/New Layout/plugins/transforms/loadfileinput.html
new file mode 100644
index 0000000..17cabdd
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/loadfileinput.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Load file content in memory :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/loadfileinput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="co [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/mail.html b/manual/New Layout/plugins/transforms/mail.html
new file mode 100644
index 0000000..17988a8
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/mail.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Mail :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/mail.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="display: [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/mailinput.html b/manual/New Layout/plugins/transforms/mailinput.html
new file mode 100644
index 0000000..abac86e
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/mailinput.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Email Messages Input :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/mailinput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-ba [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/mailvalidator.html b/manual/New Layout/plugins/transforms/mailvalidator.html
new file mode 100644
index 0000000..b1ad20a
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/mailvalidator.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Mail Validator :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/mailvalidator.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-bann [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/memgroupby.html b/manual/New Layout/plugins/transforms/memgroupby.html
new file mode 100644
index 0000000..202bd6a
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/memgroupby.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Memory Group By :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/memgroupby.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/mergejoin.html b/manual/New Layout/plugins/transforms/mergejoin.html
new file mode 100644
index 0000000..86efec3
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/mergejoin.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Merge Join :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/mergejoin.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" styl [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/mergerows.html b/manual/New Layout/plugins/transforms/mergerows.html
new file mode 100644
index 0000000..9d5b380
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/mergerows.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Merge rows (diff) :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/mergerows.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banne [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/metainject.html b/manual/New Layout/plugins/transforms/metainject.html
new file mode 100644
index 0000000..774c44f
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/metainject.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Metadata Injection :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/metainject.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-ban [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/metastructure.html b/manual/New Layout/plugins/transforms/metastructure.html
new file mode 100644
index 0000000..d107b94
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/metastructure.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Metadata structure of stream :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/metastructure.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="c [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/monetdbbulkloader.html b/manual/New Layout/plugins/transforms/monetdbbulkloader.html
new file mode 100644
index 0000000..6a8462c
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/monetdbbulkloader.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>MonetDB Bulk Loader :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/monetdbbulkloader.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookie [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/mongodbinput.html b/manual/New Layout/plugins/transforms/mongodbinput.html
new file mode 100644
index 0000000..e0d66c3
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/mongodbinput.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>MongoDB Input :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/mongodbinput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/mongodboutput.html b/manual/New Layout/plugins/transforms/mongodboutput.html
new file mode 100644
index 0000000..af103c9
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/mongodboutput.html	
@@ -0,0 +1,29 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>MongoDB Output :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/mongodboutput.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-bann [...]
+Bob, Jones ,"13 Bob Street", 34
+Fred, Flintstone, "10 Rock Street",50
+Zaphod, Beeblebrox, "Beetlejuice 1", 356
+Noddy,Puppet,"Noddy Land",5</code></pre> </div> </div> </div> <div class="sect4"> <h5 id="_document_field_definitions"><a class="anchor" href="#_document_field_definitions"></a>Document field definitions</h5> <div class="table-wrapper"><table class="tableblock frame-all grid-all stretch"> <colgroup> <col> <col> <col> <col> <col> <col> <col> <col> </colgroup> <thead> <tr> <th class="tableblock halign-left valign-top">Name</th> <th class="tableblock halign-left valign-top">Mongo document p [...]
+  "top1" : {
+    "first" : "&lt;string val&gt;"
+   },
+  "array" : [ { "last" : "&lt;string val&gt;" , "address" : "&lt;string val&gt;"}],
+  "age" : "&lt;integer val&gt;"
+}</code></pre> </div> </div> </div> </div> </div> </div> <div class="sect2"> <h3 id="_createdrop_indexes_tab"><a class="anchor" href="#_createdrop_indexes_tab"></a>Create/drop indexes tab</h3> <div class="imageblock"> <div class="content"> <img src="../../_images/mongodb-output-screenshot-indexes-tab.png" alt="mongodb output screenshot indexes tab"> </div> </div> <div class="paragraph"> <p>Use the Create/drop indexes tab to create and drop indexes on one or more fields. Unless unique ind [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/mqttpublisher.html b/manual/New Layout/plugins/transforms/mqttpublisher.html
new file mode 100644
index 0000000..8d8b328
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/mqttpublisher.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>MQTT Publisher :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/mqttpublisher.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-bann [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/mqttsubscriber.html b/manual/New Layout/plugins/transforms/mqttsubscriber.html
new file mode 100644
index 0000000..872a7d6
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/mqttsubscriber.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>MQTT Subscriber :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/mqttsubscriber.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-ba [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/multimerge.html b/manual/New Layout/plugins/transforms/multimerge.html
new file mode 100644
index 0000000..0389499
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/multimerge.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Multiway Merge Join :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/multimerge.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-ba [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/normaliser.html b/manual/New Layout/plugins/transforms/normaliser.html
new file mode 100644
index 0000000..1db3dc3
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/normaliser.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Row Normaliser :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/normaliser.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/nullif.html b/manual/New Layout/plugins/transforms/nullif.html
new file mode 100644
index 0000000..3b60781
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/nullif.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Null If :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/nullif.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner" style="dis [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/numberrange.html b/manual/New Layout/plugins/transforms/numberrange.html
new file mode 100644
index 0000000..f1d7edb
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/numberrange.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>Number range :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/numberrange.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies-eu-banner"  [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/pgbulkloader.html b/manual/New Layout/plugins/transforms/pgbulkloader.html
new file mode 100644
index 0000000..574a92f
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/pgbulkloader.html	
@@ -0,0 +1,23 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>PostgreSQL Bulk Loader :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/pgbulkloader.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies- [...]
+  -h HOSTNAME     database server host or socket directory (default: "/var/run/postgresql")
+  -p PORT         database server port (default: "5432")
+  -U NAME         database user name
+  -W              prompt for password (should happen automatically)</code></pre> </div> </div> <div class="paragraph"> <p>As you can see there is no way to specify a password for the database. It will always prompt for a password on the console no matter what.</p> </div> <div class="paragraph"> <p>To overcome this you need to set up trusted authentication on the PostgreSQL server.</p> </div> <div class="paragraph"> <p>To make this happen, change the pg_hba.conf file (on my box this is /e [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/pgpdecryptstream.html b/manual/New Layout/plugins/transforms/pgpdecryptstream.html
new file mode 100644
index 0000000..ea44d0b
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/pgpdecryptstream.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>PGP decrypt stream :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/pgpdecryptstream.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies- [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
+            ga('create', 'UA-151580460-1', 'auto' ,{'anonymize_ip':true});
+            ga('send', 'pageview');
+        }, true, false); </script> <script src="../../../../_/js/vendor/docsearch-4983f0f1ec.min.js"></script> <!-- fetched from https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js --> <script> var search = docsearch({
+  appId: 'IEDZCR8JT4',
+  apiKey: '587e7bafb978fa5e4640ab18bfbd9b99',
+  indexName: 'hop-doc',
+  inputSelector: '#search-input',
+  autocompleteOptions: { hint: false, keyboardShortcuts: ['s'] },
+  algoliaOptions: { hitsPerPage: 10 }
+}).autocomplete
+search.on('autocomplete:closed', function () { search.autocomplete.setVal() })
+function focusSearchInput () { document.querySelector('#search-input').focus() }
+if (document.querySelector('.home-link.is-current')) window.addEventListener('load', focusSearchInput) </script> </body> </html> 
\ No newline at end of file
diff --git a/manual/New Layout/plugins/transforms/pgpencryptstream.html b/manual/New Layout/plugins/transforms/pgpencryptstream.html
new file mode 100644
index 0000000..7e3f556
--- /dev/null
+++ b/manual/New Layout/plugins/transforms/pgpencryptstream.html	
@@ -0,0 +1,19 @@
+<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <title>PGP encrypt stream :: Apache Hop (Incubating)</title> <link rel="canonical" href="https://hop.apache.org/manual/New%20Layout/plugins/transforms/pgpencryptstream.html"> <meta name="generator" content="Antora 2.3.4"> <link rel="stylesheet" href="../../../../_/css/site-47ac353344.css"> </head> <body class="article"> <div class="cookie-banner" id="cookies- [...]
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+ 
... 7891 lines suppressed ...