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

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


The following commit(s) were added to refs/heads/master by this push:
     new f5ab9e3f09 updated examples, tabs for windows and linux/mac #2072
     new 65a0610796 Merge pull request #2073 from bamaer/2072
f5ab9e3f09 is described below

commit f5ab9e3f098fd2532d06cb14e43ab4f46bdaebd1
Author: Bart Maertens <[email protected]>
AuthorDate: Fri Dec 16 14:58:09 2022 +0100

    updated examples, tabs for windows and linux/mac #2072
---
 docs/hop-user-manual/modules/ROOT/nav.adoc         |   2 +-
 .../ROOT/pages/getting-started/hop-tools.adoc      | 402 +++++++++++++++++++--
 .../modules/ROOT/pages/hop-run/index.adoc          |   2 +-
 .../modules/ROOT/pages/hop-server/index.adoc       | 128 ++++++-
 .../hop-tools/hop-conf/hop-conf-projects.adoc      | 159 +++++++-
 .../hop-tools/hop-conf/hop-conf-run-hpl-hwf.adoc   | 127 +++++--
 .../ROOT/pages/hop-tools/hop-conf/hop-conf.adoc    |   2 +-
 .../modules/ROOT/pages/hop-tools/hop-encrypt.adoc  | 104 +++++-
 .../modules/ROOT/pages/hop-tools/hop-import.adoc   |  29 +-
 .../modules/ROOT/pages/hop-tools/hop-search.adoc   |  82 ++++-
 .../ROOT/pages/hop-tools/hop-translator.adoc       |  54 +++
 .../pages/pipeline/beam/beam-samples-flink.adoc    |   4 +-
 .../ROOT/pages/plugins/projects/projects.adoc      |   4 +-
 .../ROOT/pages/snippets/hop-tools/hop-import.adoc  |  19 +
 14 files changed, 1002 insertions(+), 116 deletions(-)

diff --git a/docs/hop-user-manual/modules/ROOT/nav.adoc 
b/docs/hop-user-manual/modules/ROOT/nav.adoc
index 6e2f8b110d..920a4e8ca6 100644
--- a/docs/hop-user-manual/modules/ROOT/nav.adoc
+++ b/docs/hop-user-manual/modules/ROOT/nav.adoc
@@ -442,7 +442,7 @@ under the License.
 ** xref:hop-tools/hop-search.adoc[hop-search]
 ** xref:hop-tools/hop-import.adoc[hop-import]
 ** xref:hop-server/index.adoc[hop-server]
-** xref:snippets/hop-tools/hop-translator.adoc[hop-translator]
+** xref:hop-tools/hop-translator.adoc[hop-translator]
 * xref:best-practices/index.adoc[Best Practices]
 * xref:protips/index.adoc[Pro Tips]
 * xref:hop-usps.adoc[Unique Selling Propositions]
diff --git 
a/docs/hop-user-manual/modules/ROOT/pages/getting-started/hop-tools.adoc 
b/docs/hop-user-manual/modules/ROOT/pages/getting-started/hop-tools.adoc
index 3cd82a9ce8..9159ee0f6c 100644
--- a/docs/hop-user-manual/modules/ROOT/pages/getting-started/hop-tools.adoc
+++ b/docs/hop-user-manual/modules/ROOT/pages/getting-started/hop-tools.adoc
@@ -27,60 +27,228 @@ Hop contains a number of tools that are optimized for the 
various tasks Hop deve
 
 include::../snippets/hop-tools/hop-gui.adoc[]
 
-TIP: Hop Gui is designed to be platform independent.
-Hop Web is a version of Hop Gui that works on browsers and mobile devices, and 
will be available in the very near future.
+TIP: Hop Gui is designed to be platform independent. +
+xref:../hop-gui/hop-web.adoc[Hop Web] is a version of Hop Gui that works on 
browsers and mobile devices.
 
-Windows
+The command below starts Hop GUI for your operating system.
 
+&nbsp; +
+
+[tabs]
+====
+Windows::
++
+--
 [source,bash]
+----
 hop-gui.bat
+----
+--
 
-MacOS, Linux
-
+Linux, macOS::
++
+--
 [source,bash]
- ./hop-gui.sh
+----
+./hop-gui.sh
+----
+--
+====
+
+Expected output: Hop Gui starts.
 
 == Hop Conf
 
 include::../snippets/hop-tools/hop-conf.adoc[]
 
-Windows
+The example `hop-conf` command below lists your available projects.
+
+&nbsp; +
+
+[tabs]
+====
 
+Windows::
++
+--
 [source,bash]
-hop-conf.bat
+----
+hop-conf.bat -pl
+----
+
+Expected output:
+[source,shell]
+----
+C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java" -classpath 
lib\core\*;lib\beam\*;lib\swt\win64\* -Djava.library.path=lib\core;lib\beam 
-Xmx2048m -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows 
-DHOP_PLATFORM_RUNTIME=Conf -DHOP_AUTO_CREATE_CONFIG=Y 
org.apache.hop.config.HopConfig  -pl
+===[Starting 
HopConfig]=========================================================
+Projects:
+  default : config/projects/default
+    Configuration file: 
file:\C:\<YOUR_PATH>\hop\config\projects\default\project-config.json
+  samples : config/projects/samples
+    Parent project: default
+    Configuration file: 
file:\C:\<YOUR_PATH>\hop\config\projects\samples\project-config.json
+----
+
+--
+
+Linux, macOS::
++
+--
+[source,bash]
+----
+./hop-conf.sh -pl
+----
 
-MacOS, Linux
+Expected output:
 
 [source,bash]
- ./hop-conf.sh
+----
+Projects:
+  default : config/projects/default
+    Configuration file: 
file:<YOUR_PATH>/hop/config/projects/default/project-config.json
+  samples : config/projects/samples
+    Parent project: default
+    Configuration file: 
file:<YOUR_PATH>/hop/config/projects/samples/project-config.json
+
+----
+--
+
+
+====
 
 == Hop Encrypt
 
 include::../snippets/hop-tools/hop-encrypt.adoc[]
 
-Windows
+&nbsp; +
 
-[source,bash]
-hop-encrypt.bat
+The example below prints the encrypted Hop password `mypassword`.
 
-MacOS, Linux
+&nbsp; +
 
+[tabs]
+====
+
+Windows::
++
+--
+[source,bash]
+----
+hop-encrypt.bat -hop mypassword
+----
+
+Expected output:
+
+[source,shell]
+----
+===[Environment Settings - hop-encrypt.bat]====================================
+Java identified as "C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java"
+HOP_OPTIONS=-Xmx64m -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows 
-DHOP_PLATFORM_RUNTIME=GUI
+Command to start Hop will be:
+"C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java" -classpath 
lib\core\*;lib\beam\*;lib\swt\win64\* -Djava.library.path=lib\core;lib\beam 
-Xmx64m -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows 
-DHOP_PLATFORM_RUNTIME=GUI org.apache.hop.core.encryption.Encr  -hop mypassword
+===[Starting 
HopEncrypt]=========================================================
+Encrypted 2be98afc86aa79f9dbb18bd63c99dbdde
+----
+--
+
+Linux, macOS::
++
+--
 [source,bash]
- ./hop-encrypt.sh
+----
+./hop-encrypt.sh -hop mypassword
+----
 
-== Hop Run
+Expected output:
+[source, shell]
+----
+Encrypted 2be98afc86aa79f9dbb18bd63c99dbdde
+----
 
-include::../snippets/hop-tools/hop-run.adoc[]
+--
 
-Windows
+====
 
-[source,bash]
-hop-run.bat
+== Hop Run
 
-MacOS, Linux
+include::../snippets/hop-tools/hop-run.adoc[]
 
-[source,bash]
- ./hop-run.sh
+The example below runs the `switch-case-basic.hpl` pipeline in the samples 
project (`-j`) with the 
xref:pipeline/pipeline-run-configurations/native-local-pipeline-engine.adoc[local
 native pipeline run configuration] (`-r`).
+
+&nbsp; +
+
+[tabs]
+====
+
+Windows::
++
+--
+[source,shell]
+----
+hop-run.bat -r local -j samples -f 
${PROJECT_HOME}/transforms/switch-case-basic.hpl
+----
+
+Expected output:
+
+[source,shell]
+----
+C:\<YOUR_PATH>\hop>echo off
+===[Environment Settings - hop-run.bat]===================================
+Java identified as "C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java"
+HOP_OPTIONS="-Xmx2048m" -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows 
-DHOP_PLATFORM_RUNTIME=Run -DHOP_AUTO_CREATE_CONFIG=Y
+Consolidated parameters to pass to HopRun are
+-r local -j samples -f ${PROJECT_HOME}/transforms/switch-case-basic.hpl
+Command to start HopRun will be:
+"C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java" -classpath 
lib\core\*;lib\beam\*;lib\swt\win64\*
+-Djava.library.path=lib\core;lib\beam "-Xmx2048m" -DHOP_AUDIT_FOLDER=.\audit
+-DHOP_PLATFORM_OS=Windows -DHOP_PLATFORM_RUNTIME=Run 
-DHOP_AUTO_CREATE_CONFIG=Y org.apache.hop.run.HopRun
+-r local -j samples -f ${PROJECT_HOME}/transforms/switch-case-basic.hpl
+===[Starting HopRun]=========================================================
+2022/12/16 07:07:47 - HopRun - Enabling project 'samples'
+2022/12/16 07:07:47 - HopRun - Starting pipeline: 
config/projects/samples/transforms/switch-case-basic.hpl
+2022/12/16 07:07:47 - switch-case-basic - Executing this pipeline using the 
Local Pipeline Engine with run configuration 'local'
+2022/12/16 07:07:47 - switch-case-basic - Execution started for pipeline 
[switch-case-basic]
+2022/12/16 07:07:47 - Test Data.0 - Finished processing (I=0, O=0, R=0, W=5, 
U=0, E=0)
+2022/12/16 07:07:47 - Switch id.0 - Finished processing (I=0, O=0, R=5, W=5, 
U=0, E=0)
+2022/12/16 07:07:47 - Output 2.0 - Finished processing (I=0, O=0, R=1, W=1, 
U=0, E=0)
+2022/12/16 07:07:47 - Output 1.0 - Finished processing (I=0, O=0, R=1, W=1, 
U=0, E=0)
+2022/12/16 07:07:47 - Output 4.0 - Finished processing (I=0, O=0, R=1, W=1, 
U=0, E=0)
+2022/12/16 07:07:47 - Output default.0 - Finished processing (I=0, O=0, R=1, 
W=1, U=0, E=0)
+2022/12/16 07:07:47 - Output 3.0 - Finished processing (I=0, O=0, R=1, W=1, 
U=0, E=0)
+2022/12/16 07:07:47 - switch-case-basic - Pipeline duration : 0.435 seconds [  
0.435" ]
+----
+
+--
+
+Linux, macOS::
++
+--
+[source,shell]
+----
+./hop-run.sh -r local -j samples -f 
${PROJECT_HOME}/transforms/switch-case-basic.hpl
+----
+
+Expected output:
+
+[source,shell]
+----
+2022/12/16 06:59:03 - HopRun - Enabling project 'samples'
+2022/12/16 06:59:03 - HopRun - Relative path filename specified: 
config/projects/samples//transforms/switch-case-basic.hpl
+2022/12/16 06:59:03 - HopRun - Starting pipeline: 
config/projects/samples//transforms/switch-case-basic.hpl
+2022/12/16 06:59:03 - switch-case-basic - Executing this pipeline using the 
Local Pipeline Engine with run configuration 'local'
+2022/12/16 06:59:03 - switch-case-basic - Execution started for pipeline 
[switch-case-basic]
+2022/12/16 06:59:04 - Test Data.0 - Finished processing (I=0, O=0, R=0, W=5, 
U=0, E=0)
+2022/12/16 06:59:04 - Switch id.0 - Finished processing (I=0, O=0, R=5, W=5, 
U=0, E=0)
+2022/12/16 06:59:04 - Output default.0 - Finished processing (I=0, O=0, R=1, 
W=1, U=0, E=0)
+2022/12/16 06:59:04 - Output 1.0 - Finished processing (I=0, O=0, R=1, W=1, 
U=0, E=0)
+2022/12/16 06:59:04 - Output 4.0 - Finished processing (I=0, O=0, R=1, W=1, 
U=0, E=0)
+2022/12/16 06:59:04 - Output 3.0 - Finished processing (I=0, O=0, R=1, W=1, 
U=0, E=0)
+2022/12/16 06:59:04 - Output 2.0 - Finished processing (I=0, O=0, R=1, W=1, 
U=0, E=0)
+2022/12/16 06:59:04 - switch-case-basic - Pipeline duration : 0.668 seconds [  
0.668" ]
+----
+--
+
+====
 
 xref::../hop-run/index.adoc[Read more]
 
@@ -88,36 +256,206 @@ xref::../hop-run/index.adoc[Read more]
 
 include::../snippets/hop-tools/hop-search.adoc[]
 
+The example below searches in the samples project `-j` for `switch-case`.
+
+&nbsp; +
+
+[tabs]
+====
+
+Windows::
++
+--
+[source, shell]
+----
+hop-search.bat -j samples -x switch-case
+----
+
+Expected output:
+[source,shell]
+----
+C:\<YOUR_PATH>\hop>echo off
+===[Environment Settings - hop-search.bat]===================================
+Java identified as "C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java"
+HOP_OPTIONS=-Xmx2048m -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows 
-DHOP_PLATFORM_RUNTIME=Search
+-DHOP_AUTO_CREATE_CONFIG=Y
+Command to start Hop will be:
+"C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java" -classpath 
lib\core\*;lib\beam\*;lib\swt\win64\*
+-Djava.library.path=lib\core;lib\beam -Xmx2048m -DHOP_AUDIT_FOLDER=.\audit 
-DHOP_PLATFORM_OS=Windows
+-DHOP_PLATFORM_RUNTIME=Search -DHOP_AUTO_CREATE_CONFIG=Y 
org.apache.hop.config.HopConfig  -j samples -x switch-case
+===[Starting 
HopConfig]=========================================================
+Enabling project 'samples'
+Searching in project : samples
+Searching for [switch-case]  Case sensitive? true  Regular expression? true
+Searching in location : Project samples
+-----------------------------------------------------------------------------------
+file:///C:/<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/switch-case.hpl
 : null(switch-case) : matching property value: switch-case    
file:///C:/<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/switch-case.hpl
 : switch-case(switch-case) : matching property value: switch-case
+file:///C:/<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/switch-case.hpl
 : switch-case(switch-case) : pipeline transform property : filePrefix
+----
+--
+
+Linux, macOS::
++
+--
+[source,shell]
+----
+./hop-search.sh -j samples -x switch-case
+----
+
+Expected output:
+[source,shell]
+----
+Enabling project 'samples'
+Searching in project : samples
+Searching for [switch-case]  Case sensitive? true  Regular expression? true
+Searching in location : Project samples
+-----------------------------------------------------------------------------------
+file://<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/switch-case.hpl 
: null(switch-case) : matching property value: switch-case
+file://<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/switch-case.hpl 
: switch-case(switch-case) : matching property value: switch-case
+file://<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/switch-case.hpl 
: switch-case(switch-case) : pipeline transform property : filePrefix
+----
+--
+
+====
+
 == Hop Server
 
 include::../snippets/hop-tools/hop-server.adoc[]
 
-Windows
+The example command below starts the most basic server on your machine 
`localhost` on port `8081`.
+
+&nbsp; +
 
+[tabs]
+====
+Windows::
++
+--
 [source,bash]
-hop-server.bat
+----
+hop-server.bat localhost 8081
+----
+
+Expected output:
+[source, shell]
+----
+C:\<YOUR_PATH\hop>echo off
+===[Environment Settings - hop-server.bat]====================================
+Java identified as "C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java"
+HOP_OPTIONS=-Xmx2048m -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows 
-DHOP_PLATFORM_RUNTIME=GUI -DHOP_AUTO_CREATE_CONFIG=Y
+Command to start Hop will be:
+"C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java" -classpath 
lib\core\*;lib\beam\*;lib\swt\win64\*
+-Djava.library.path=lib\core;lib\beam -Xmx2048m -DHOP_AUDIT_FOLDER=.\audit 
-DHOP_PLATFORM_OS=Windows
+-DHOP_PLATFORM_RUNTIME=GUI -DHOP_AUTO_CREATE_CONFIG=Y 
org.apache.hop.www.HopServer  localhost 8081
+===[Starting 
HopServer]=========================================================
+2022/12/16 07:33:44 - HopServer - Enabling project 'default'
+2022/12/16 07:33:44 - HopServer - Installing timer to purge stale objects 
after 1440 minutes.
+2022/12/16 07:33:44 - HopServer - Created listener for webserver @ address : 
localhost:8081
+----
+
+Your Hop Server is available at \http://localhost:8081, log on with the 
default username `cluster`, password `cluster`.
+
+Hit `CTRL-C` to stop the server.
+
+--
+
+Linux, macOS::
++
+--
+[source,bash]
+----
+./hop-server.sh localhost 8081
+----
 
-MacOS, Linux
+Expected output:
 
-[source,bash]
- ./hop-server.sh
+[source,shell]
+----
+2022/12/16 07:20:19 - HopServer - Enabling project 'default'
+2022/12/16 07:20:19 - HopServer - Installing timer to purge stale objects 
after 1440 minutes.
+2022/12/16 07:20:19 - HopServer - Created listener for webserver @ address : 
localhost:8081
+----
+
+Your Hop Server is available at \http://localhost:8081, log on with the 
default username `cluster`, password `cluster`.
+
+Hit `CTRL-C` to stop the server.
+
+--
+
+====
 
 xref::../hop-server/index.adoc[Read more]
 
+== Hop Import
+
+include::../snippets/hop-tools/hop-import.adoc[]
+
+&nbsp; +
+
+The example command below prints the `hop-import` help. Check the 
xref:tech-manual::hop-vs-kettle/import-kettle-projects.adoc[] docs for more 
information.
+
+&nbsp; +
+
+[tabs]
+====
+
+Windows::
++
+--
+[code, shell]
+----
+hop-import.bat
+----
+--
+
+Linux, macOS::
++
+--
+[code,shell]
+----
+./hop-import.sh
+----
+--
+
+====
+
+xref:tech-manual::hop-vs-kettle/import-kettle-projects.adoc[Read more]
+
 == Hop Translator
 
 include::../snippets/hop-tools/hop-translator.adoc[]
 
 TIP: check the 
https://hop.apache.org/community/contribution-guides/translation-contribution-guide/[Translation
 Contribution Guide] if you want to find out more about translating Hop.
 
-Windows
+&nbsp; +
+
+The example below starts the Hop Translator tool with the provided 
`translator.xml` file. The second parameter is the path to your local version 
of the https://www.github.com/apache/hop[Apache Hop source code].
+
+[tabs]
+====
 
+Windows::
++
+--
 [source,bash]
-hop-translator.bat
+----
+hop-translator.bat translator.xml <YOUR_PATH_TO_THE_HOP_CODE>
+----
 
-MacOS, Linux
+Expected output: the Hop Translator tool starts.
+--
 
+Linux, macOS::
++
+--
 [source,bash]
- ./hop-translator.sh
+----
+./hop-translator.sh translator.xml <YOUR_PATH_TO_THE_HOP_CODE>
+----
+
+Expected output: the Hop Translator tool starts.
+
+--
+====
 
 
https://hop.apache.org/community/contribution-guides/translation-contribution-guide/[Read
 more]
\ No newline at end of file
diff --git a/docs/hop-user-manual/modules/ROOT/pages/hop-run/index.adoc 
b/docs/hop-user-manual/modules/ROOT/pages/hop-run/index.adoc
index bfd5483132..fddd2d3906 100644
--- a/docs/hop-user-manual/modules/ROOT/pages/hop-run/index.adoc
+++ b/docs/hop-user-manual/modules/ROOT/pages/hop-run/index.adoc
@@ -30,7 +30,7 @@ Except for the laucher script, all options are platform 
agnostic; there is no di
 
 You can display Hop Run's options by running the command without any options.
 
-If you're on Windows (tough luck), run `hop-run.bat`, on Mac and Linux, run 
`hop-run.sh`.
+On Windows, run `hop-run.bat`. The command on Mac and Linux is `hop-run.sh`.
 
 You'll see the option listed in a similar output to the one below:
 
diff --git a/docs/hop-user-manual/modules/ROOT/pages/hop-server/index.adoc 
b/docs/hop-user-manual/modules/ROOT/pages/hop-server/index.adoc
index 873e2e8623..8749d1c8e1 100644
--- a/docs/hop-user-manual/modules/ROOT/pages/hop-server/index.adoc
+++ b/docs/hop-user-manual/modules/ROOT/pages/hop-server/index.adoc
@@ -67,11 +67,6 @@ Usage: <main class> [-k] [-gs] [-e=<environmentOption>] 
[-id=<id>]
                         List the status of the workflow with this name (also 
specify
                           the -id option)
 
-Example: hop-server.sh 0.0.0.0 8080
-Example: hop-server.sh 192.168.1.221 8081
-
-Example: hop-server.sh -e aura-gcp gs://apachehop/hop-server-config.xml
-Example: hop-server.sh 127.0.0.1 8080 --kill --userName cluster --password 
cluster
 ----
 
 The available Hop Server options are:
@@ -136,11 +131,37 @@ This is provided for by the 'projects' plugin.
 
 Hop Server can be started with hostname or ip address and port number as 
unnamed arguments:
 
+Example: `hop-server.sh 0.0.0.0 8080`
+
+Example: `hop-server.bat 192.168.1.221 8081`
+
+Example: `hop-server.sh -e aura-gcp gs://apachehop/hop-server-config.xml`
+
+Example: `hop-server.bat 127.0.0.1 8080 --kill --userName cluster --password 
cluster`
+
 [source,shell]
 hop-server <Interface address> <Port> [-h] [-p <arg>] [-s] [-u <arg>]
 
 Example startup commands are:
 
+&nbsp; +
+
+[tabs]
+====
+Windows::
++
+--
+[source,shell]
+hop-server.bat 127.0.0.1 8080
+
+[source,shell]
+hop-server.bat 192.168.1.221 8081
+
+--
+
+Linux, macOS::
++
+--
 [source,shell]
 hop-server.sh 127.0.0.1 8080
 
@@ -150,7 +171,9 @@ hop-server.sh 192.168.1.221 8081
 Listen to all interfaces on the server:
 
 [source,shell]
-hop-server.sh 0.0.0.0 8080
+hop-server.sh 0.0.0.0 8080--
+====
+
 
 === Start Hop Server with a configuration file
 
@@ -201,19 +224,51 @@ The syntax of this configuration file is fairly simple:
 
 Example startup commands with a configuration file are:
 
+&nbsp; +
+
+[tabs]
+====
+Windows::
++
+--
 [source,shell]
+hop-server.bat C:\<YOUR_PATH>\hop-server-config.xml
+
+Or with a remote configuration file:
+
+[source,shell]
+hop-server.bat http://www.example.com/hop-server-config.xml
+
+You can also enable a project lifecyfle environment for the Hop server:
+
+[source,shell]
+hop-server.bat -e graph-aws hop-server.xml
+
+--
+
+Linux, macOS::
++
+--
+[source,shell]
+----
 hop-server.sh /foo/bar/hop-server-config.xml
+----
 
 Or with a remote configuration file:
 
 [source,shell]
+----
 hop-server.sh http://www.example.com/hop-server-config.xml
+----
 
 You can also enable a project lifecyfle environment for the Hop server:
 
 [source,shell]
 hop-server.sh -e graph-aws hop-server.xml
 
+--
+====
+
 In the sample above the environment contains configuration files with 
variables which are loaded.
 With the environment the server also knows the project home folder.
 The server configuration file is found in the home folder automatically with 
the implicit relative path.
@@ -336,8 +391,22 @@ In a testing setup where Hop Server was started from a 
terminal, the process can
 
 In headless environments, the same hop-server command used to start the server 
can be used to stop it:
 
+[tabs]
+====
+Windows::
++
+--
+[source,shell]
+hop-server.bat 127.0.0.1 8080 -s -u cluster -p cluster
+--
+
+Linux, macOS::
++
+--
 [source,shell]
 hop-server.sh 127.0.0.1 8080 -s -u cluster -p cluster
+--
+====
 
 == Verify startup
 
@@ -353,13 +422,58 @@ The console output will look similar to what is listed 
below:
 
 You can query the new server with another hop-server command:
 
+&nbsp; +
+
+[tabs]
+====
+Windows::
++
+--
 [source,shell]
 ----
-sh hop-server.sh -gs -u cluster -p cluster 127.0.0.1 8080
+hop-server.bat -gs -u cluster -p cluster 127.0.0.1 8080
+----
+
+Expected output:
+
+[source,shell]
+----
+C:\<YOUR_PATH>\hop>echo off                                                    
      ===[Environment Settings - 
hop-server.bat]====================================
+Java identified as "C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java"
+HOP_OPTIONS=-Xmx2048m -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows 
-DHOP_PLATFORM_RUNTIME=GUI
+-DHOP_AUTO_CREATE_CONFIG=Y
+Command to start Hop will be:
+"C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java" -classpath 
lib\core\*;lib\beam\*;lib\swt\win64\*
+-Djava.library.path=lib\core;lib\beam -Xmx2048m -DHOP_AUDIT_FOLDER=.\audit 
-DHOP_PLATFORM_OS=Windows
+-DHOP_PLATFORM_RUNTIME=GUI -DHOP_AUTO_CREATE_CONFIG=Y 
org.apache.hop.www.HopServer  -gs -u cluster -p cluster localhost 8181
+===[Starting 
HopServer]=========================================================
+2022/12/16 14:02:13 - HopServer - Enabling project 'default'
 Pipelines: 0 found.
 
 Workflows: 0 found.
 ----
+--
+
+Linux, macOS::
++
+--
+[source,shell]
+----
+./hop-server.sh -gs -u cluster -p cluster 127.0.0.1 8080
+----
+
+Expected output:
+
+[source,shell]
+----
+Pipelines: 0 found.
+
+Workflows: 0 found.
+----
+--
+====
+
+
 
 == Query a pipeline from the command line
 
diff --git 
a/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-conf/hop-conf-projects.adoc
 
b/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-conf/hop-conf-projects.adoc
index 04efc2f8dd..9f20c301b6 100644
--- 
a/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-conf/hop-conf-projects.adoc
+++ 
b/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-conf/hop-conf-projects.adoc
@@ -25,6 +25,49 @@ The ```hop-conf``` script offers many options to edit 
environment definitions.
 
 ==== Creating an environment
 
+[tabs]
+====
+Windows::
++
+--
+[source,bash]
+----
+hop-conf.bat --environment-create \
+             --environment hop2 \
+             --environment-project hop2
+             --environment-purpose=Development \
+             
--environment-config-files="C:\<YOUR_ENV_FILE_PATH>\env-variables.json"
+----
+
+Expected output:
+
+[source,shell]
+----
+C:\<YOUR_PATH>\hop>echo off
+===[Environment Settings - hop-conf.bat]===================================
+Java identified as "C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java"
+HOP_OPTIONS=-Xmx2048m -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows 
-DHOP_PLATFORM_RUNTIME=Conf
+-DHOP_AUTO_CREATE_CONFIG=Y
+Command to start Hop will be:
+"C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java" -classpath 
lib\core\*;lib\beam\*;lib\swt\win64\*
+-Djava.library.path=lib\core;lib\beam -Xmx2048m -DHOP_AUDIT_FOLDER=.\audit 
-DHOP_PLATFORM_OS=Windows
+-DHOP_PLATFORM_RUNTIME=Conf -DHOP_AUTO_CREATE_CONFIG=Y 
org.apache.hop.config.HopConfig  --environment-create
+--environment hop2 --environment-project hop2 --environment-purpose Development
+--environment-config-files "C:\<YOUR_ENV_FILE_PATH\env-variables.json"
+===[Starting 
HopConfig]=========================================================
+Creating environment 'hop2'
+Environment 'hop2' was created in Hop configuration file 
C:\<YOUR_PATH>\hop\config\hop-config.json
+Warning: referenced project 'hop2' doesn\'t exist
+Found existing environment configuration file: 
C:\<YOUR_ENV_FILE_PATH>\variables.json
+Purpose: Development
+Project name: hop2
+Config file: C:\<YOUR_ENV_FILE_PATH>\env-variables.json
+----
+--
+
+Linux, macOS::
++
+--
 [source,bash]
 ----
 $ sh hop-conf.sh \
@@ -32,18 +75,24 @@ $ sh hop-conf.sh \
      --environment hop2 \
      --environment-project hop2 \
      --environment-purpose=Development \
-     --environment-config-files=/home/user/projects/hop2-conf.json
+     --environment-config-files=<YOUR_ENV_FILE_PATH>/env-variables.json
+----
+
+Expected output:
+
+[source,shell]
+----
 Creating environment 'hop2'
-Environment 'hop2' was created in Hop configuration file 
<path-to-hop>/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
+Environment 'hop2' was created in Hop configuration file 
<YOUR_PATH>/hop/config/hop-config.json
+Warning: referenced project 'hop2' doesn't exist
+Found existing environment configuration file: 
<YOUR_ENV_FILE_PATH>/env-variables.json
   hop2
     Purpose: Development
-    Configuration files:
     Project name: hop2
-      Config file: /home/user/projects/hop2-conf.json
-
+      Config file: <YOUR_ENV_FILE_PATH>/env-variables.json
 ----
+--
+====
 
 As you can see from the log, an empty file was created to set variables in:
 
@@ -56,13 +105,54 @@ As you can see from the log, an empty file was created to 
set variables in:
 
 This command adds a variable to the environment configuration file:
 
+[tabs]
+====
+Windows::
++
+--
+[source, shell]
+----
+hop-conf.bat --config-file "C:\<YOUR_ENV_FILE_PATH>\env-variables.json" 
--config-file-set-variables "DB_HOSTNAME=localhost,DB_PASSWORD=abcd"
+----
+
+Expected output:
+
+[source,shell]
+----
+C:\<YOUR_PATH\hop>echo off
+===[Environment Settings - hop-conf.bat]===================================
+Java identified as "C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java"
+HOP_OPTIONS=-Xmx2048m -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows 
-DHOP_PLATFORM_RUNTIME=Conf -DHOP_AUTO_CREATE_CONFIG=Y
+Command to start Hop will be:
+"C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java" -classpath 
lib\core\*;lib\beam\*;lib\swt\win64\*
+-Djava.library.path=lib\core;lib\beam -Xmx2048m -DHOP_AUDIT_FOLDER=.\audit 
-DHOP_PLATFORM_OS=Windows
+-DHOP_PLATFORM_RUNTIME=Conf -DHOP_AUTO_CREATE_CONFIG=Y 
org.apache.hop.config.HopConfig
+--config-file "C:\<YOUR_ENV_FILE_PATH>\env-variables.json"
+--config-file-set-variables "DB_HOSTNAME=localhost,DB_PASSWORD=abcd"
+===[Starting 
HopConfig]=========================================================
+Configuration file 'C:\<YOUR_ENV_FILE_PATH>/env-variables.json' was modified.
+----
+--
+
+Linux, macOS::
++
+--
 [source,bash]
 ----
-$ sh hop-conf.sh --config-file /home/user/projects/hop2-conf.json 
--config-file-set-variables DB_HOSTNAME=localhost,DB_PASSWORD=abcd
-Configuration file '/home/user/projects/hop2-conf.json' was modified.
+./hop-conf.sh --config-file <YOUR_ENV_FILE_PATH>/env-variables.json 
--config-file-set-variables DB_HOSTNAME=localhost,DB_PASSWORD=abcd
 ----
 
-If we look at the file ```hop2-conf.json``` we'll see that the variables were 
added:
+Expected output:
+
+[source,shell]
+----
+Configuration file '<YOUR_ENV_FILE_PATH>/env-variables.json' was modified.
+----
+--
+====
+
+
+If you look at the file `env-variables.json`, you'll see that the variables 
were added:
 
 [source,json]
 ----
@@ -79,19 +169,58 @@ If we look at the file ```hop2-conf.json``` we'll see that 
the variables were ad
 }
 ----
 
-Please note that you can add descriptions for the variables as well with the 
```--describe-variable``` option.
+Please note that you can add descriptions for the variables as well with the 
`--describe-variable` option.
 Please run hop-conf without options to see all the possibilities.
 
 ==== Deleting an environment
 
-The following deletes an environment from the Hop configuration file:
+The following example deletes an environment from the Hop configuration file:
 
-[source,bash]
+[tabs]
+====
+Windows::
++
+--
+[source,shell]
+----
+hop-conf.bat -ed --environment hop2
+----
+
+Expected output:
+
+[source,shell]
 ----
-$ sh hop-conf.sh --environment-delete --environment hop2
-Lifecycle environment 'hop2' was deleted from Hop configuration file 
<path-to-hop>/config/hop-config.json
+C:\<YOUR_PATH>\hop>echo off
+===[Environment Settings - hop-conf.bat]===================================
+Java identified as "C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java"
+HOP_OPTIONS=-Xmx2048m -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows 
-DHOP_PLATFORM_RUNTIME=Conf -DHOP_AUTO_CREATE_CONFIG=Y
+Command to start Hop will be:
+"C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java" -classpath 
lib\core\*;lib\beam\*;lib\swt\win64\* -Djava.library.path=lib\core;lib\beam 
-Xmx2048m -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows 
-DHOP_PLATFORM_RUNTIME=Conf -DHOP_AUTO_CREATE_CONFIG=Y 
org.apache.hop.config.HopConfig  -ed --environment hop2
+===[Starting 
HopConfig]=========================================================
+Lifecycle environment 'hop2' was deleted from Hop configuration file 
C:\<YOUR_PATH>\hop\config\hop-config.json
 ----
 
+--
+
+Linux, macOS::
++
+--
+[source,shell]
+----
+./hop-conf.sh -ed --environment hop2
+----
+
+Expected output:
+
+[source,shell]
+----
+Lifecycle environment 'hop2' was deleted from Hop configuration file 
<YOUR_PATH>/hop/config/hop-config.json
+----
+
+--
+====
+
+
 === Projects Plugin configuration
 
 There are various options to configure the behavior of the ```Projects``` 
plugin itself.
diff --git 
a/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-conf/hop-conf-run-hpl-hwf.adoc
 
b/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-conf/hop-conf-run-hpl-hwf.adoc
index 6e8932471c..5ec044e951 100644
--- 
a/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-conf/hop-conf-run-hpl-hwf.adoc
+++ 
b/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-conf/hop-conf-run-hpl-hwf.adoc
@@ -22,37 +22,108 @@ By doing so you are automatically configuring metadata, 
variables without too mu
 
 The easiest example is shown by executing the "complex" pipeline from the 
Apache Beam examples:
 
+&nbsp; +
+
+[tabs]
+====
+Windows::
++
+--
+
+[source,shell]
+----
+hop-run.bat --project samples --file 'beam/pipelines/complex.hpl' --runconfig 
Direct
+----
+
+Expected output:
+
+[source,shell]
+----
+C:\<YOUR_PATH>\hop>echo off
+===[Environment Settings - hop-run.bat]===================================
+Java identified as "C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java"
+HOP_OPTIONS="-Xmx2048m" -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows
+-DHOP_PLATFORM_RUNTIME=Run -DHOP_AUTO_CREATE_CONFIG=Y
+Consolidated parameters to pass to HopRun are
+--project samples --file beam/pipelines/complex.hpl --runconfig Direct
+Command to start HopRun will be:
+"C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java" -classpath 
lib\core\*;lib\beam\*;lib\swt\win64\*
+-Djava.library.path=lib\core;lib\beam "-Xmx2048m" -DHOP_AUDIT_FOLDER=.\audit 
-DHOP_PLATFORM_OS=Windows
+-DHOP_PLATFORM_RUNTIME=Run -DHOP_AUTO_CREATE_CONFIG=Y 
org.apache.hop.run.HopRun  --project samples
+--file beam/pipelines/complex.hpl --runconfig Direct
+===[Starting HopRun]=========================================================
+2022/12/16 14:23:10 - HopRun - Enabling project 'samples'
+2022/12/16 14:23:10 - HopRun - Relative path filename specified: 
config/projects/samples/beam/pipelines/complex.hpl
+2022/12/16 14:23:10 - HopRun - Starting pipeline: 
config/projects/samples/beam/pipelines/complex.hpl
+2022/12/16 14:23:21 - General - Created Apache Beam pipeline with name 
'complex'
+2022/12/16 14:23:21 - General - Handled transform (INPUT) : Customer data
+2022/12/16 14:23:21 - General - Handled transform (INPUT) : State data
+2022/12/16 14:23:21 - General - Handled Group By (TRANSFORM) : countPerState, 
gets data from 1 previous transform(s)
+2022/12/16 14:23:21 - General - Handled generic transform (TRANSFORM) : 
uppercase state, gets data from 1 previous transform(s), targets=0, infos=0
+2022/12/16 14:23:21 - General - Handled Merge Join (TRANSFORM) : Merge join
+2022/12/16 14:23:21 - General - Handled generic transform (TRANSFORM) : Lookup 
count per state, gets data from 1 previous transform(s), targets=0, infos=1
+2022/12/16 14:23:21 - General - Handled generic transform (TRANSFORM) : 
name<n, gets data from 1 previous transform(s), targets=2, infos=0
+2022/12/16 14:23:21 - General - Transform Label: N-Z reading from previous 
transform targeting this one using : name<n - TARGET - Label: N-Z
+2022/12/16 14:23:21 - General - Handled generic transform (TRANSFORM) : Label: 
N-Z, gets data from 1 previous transform(s), targets=0, infos=0
+2022/12/16 14:23:21 - General - Transform Label: A-M reading from previous 
transform targeting this one using : name<n - TARGET - Label: A-M
+2022/12/16 14:23:21 - General - Handled generic transform (TRANSFORM) : Label: 
A-M, gets data from 1 previous transform(s), targets=0, infos=0
+2022/12/16 14:23:21 - General - Handled generic transform (TRANSFORM) : Switch 
/ case, gets data from 2 previous transform(s), targets=4, infos=0
+2022/12/16 14:23:21 - General - Transform CA reading from previous transform 
targeting this one using : Switch / case - TARGET - CA
+2022/12/16 14:23:21 - General - Handled generic transform (TRANSFORM) : CA, 
gets data from 1 previous transform(s), targets=0, infos=0
+2022/12/16 14:23:21 - General - Transform NY reading from previous transform 
targeting this one using : Switch / case - TARGET - NY
+2022/12/16 14:23:21 - General - Handled generic transform (TRANSFORM) : NY, 
gets data from 1 previous transform(s), targets=0, infos=0
+2022/12/16 14:23:21 - General - Transform FL reading from previous transform 
targeting this one using : Switch / case - TARGET - FL
+2022/12/16 14:23:21 - General - Handled generic transform (TRANSFORM) : FL, 
gets data from 1 previous transform(s), targets=0, infos=0
+2022/12/16 14:23:21 - General - Transform Default reading from previous 
transform targeting this one using : Switch / case - TARGET - Default
+2022/12/16 14:23:21 - General - Handled generic transform (TRANSFORM) : 
Default, gets data from 1 previous transform(s), targets=0, infos=0
+2022/12/16 14:23:21 - General - Handled generic transform (TRANSFORM) : 
Collect, gets data from 4 previous transform(s), targets=0, infos=0
+2022/12/16 14:23:21 - General - Handled transform (OUTPUT) : complex, gets 
data from Collect
+2022/12/16 14:23:21 - General - Executing this pipeline using the Beam 
Pipeline Engine with run configuration 'Direct'  ----
+----
+--
+
+Linux, macOS::
++
+--
 [source,bash]
 ----
-$ sh hop-run.sh --project samples --file 'beam/pipelines/complex.hpl' 
--runconfig Direct
-2022/12/15 14:40:51 - HopRun - Enabling project 'hop-samples'
-2022/12/15 14:40:51 - HopRun - Relative path filename specified: 
/home/bart/git-hop/hop/assemblies/client/target/hop/config/projects/samples/beam/pipelines/complex.hpl
-2022/12/15 14:40:51 - HopRun - Starting pipeline: 
/home/bart/git-hop/hop/assemblies/client/target/hop/config/projects/samples/beam/pipelines/complex.hpl
-2022/12/15 14:40:54 - General - Created Apache Beam pipeline with name 
'complex'
-2022/12/15 14:40:54 - General - Handled transform (INPUT) : Customer data
-2022/12/15 14:40:54 - General - Handled transform (INPUT) : State data
-2022/12/15 14:40:54 - General - Handled Group By (TRANSFORM) : countPerState, 
gets data from 1 previous transform(s)
-2022/12/15 14:40:54 - General - Handled generic transform (TRANSFORM) : 
uppercase state, gets data from 1 previous transform(s), targets=0, infos=0
-2022/12/15 14:40:54 - General - Handled Merge Join (TRANSFORM) : Merge join
-2022/12/15 14:40:54 - General - Handled generic transform (TRANSFORM) : Lookup 
count per state, gets data from 1 previous transform(s), targets=0, infos=1
-2022/12/15 14:40:54 - General - Handled generic transform (TRANSFORM) : 
name<n, gets data from 1 previous transform(s), targets=2, infos=0
-2022/12/15 14:40:54 - General - Transform Label: N-Z reading from previous 
transform targeting this one using : name<n - TARGET - Label: N-Z
-2022/12/15 14:40:54 - General - Handled generic transform (TRANSFORM) : Label: 
N-Z, gets data from 1 previous transform(s), targets=0, infos=0
-2022/12/15 14:40:54 - General - Transform Label: A-M reading from previous 
transform targeting this one using : name<n - TARGET - Label: A-M
-2022/12/15 14:40:54 - General - Handled generic transform (TRANSFORM) : Label: 
A-M, gets data from 1 previous transform(s), targets=0, infos=0
-2022/12/15 14:40:54 - General - Handled generic transform (TRANSFORM) : Switch 
/ case, gets data from 2 previous transform(s), targets=4, infos=0
-2022/12/15 14:40:54 - General - Transform CA reading from previous transform 
targeting this one using : Switch / case - TARGET - CA
-2022/12/15 14:40:54 - General - Handled generic transform (TRANSFORM) : CA, 
gets data from 1 previous transform(s), targets=0, infos=0
-2022/12/15 14:40:54 - General - Transform NY reading from previous transform 
targeting this one using : Switch / case - TARGET - NY
-2022/12/15 14:40:54 - General - Handled generic transform (TRANSFORM) : NY, 
gets data from 1 previous transform(s), targets=0, infos=0
-2022/12/15 14:40:54 - General - Transform FL reading from previous transform 
targeting this one using : Switch / case - TARGET - FL
-2022/12/15 14:40:54 - General - Handled generic transform (TRANSFORM) : FL, 
gets data from 1 previous transform(s), targets=0, infos=0
-2022/12/15 14:40:54 - General - Transform Default reading from previous 
transform targeting this one using : Switch / case - TARGET - Default
-2022/12/15 14:40:55 - General - Handled generic transform (TRANSFORM) : 
Default, gets data from 1 previous transform(s), targets=0, infos=0
-2022/12/15 14:40:55 - General - Handled generic transform (TRANSFORM) : 
Collect, gets data from 4 previous transform(s), targets=0, infos=0
-2022/12/15 14:40:55 - General - Handled transform (OUTPUT) : complex, gets 
data from Collect
-2022/12/15 14:40:55 - General - Executing this pipeline using the Beam 
Pipeline Engine with run configuration 'Direct'
+./sh hop-run.sh --project samples --file 'beam/pipelines/complex.hpl' 
--runconfig Direct
+----
+
+Expected output:
+
+[source,shell]
+----
+2022/12/16 14:27:37 - HopRun - Enabling project 'samples'
+2022/12/16 14:27:37 - HopRun - Relative path filename specified: 
config/projects/samples/beam/pipelines/complex.hpl
+2022/12/16 14:27:37 - HopRun - Starting pipeline: 
config/projects/samples/beam/pipelines/complex.hpl
+2022/12/16 14:27:41 - General - Created Apache Beam pipeline with name 
'complex'
+2022/12/16 14:27:41 - General - Handled transform (INPUT) : Customer data
+2022/12/16 14:27:41 - General - Handled transform (INPUT) : State data
+2022/12/16 14:27:41 - General - Handled Group By (TRANSFORM) : countPerState, 
gets data from 1 previous transform(s)
+2022/12/16 14:27:41 - General - Handled generic transform (TRANSFORM) : 
uppercase state, gets data from 1 previous transform(s), targets=0, infos=0
+2022/12/16 14:27:41 - General - Handled Merge Join (TRANSFORM) : Merge join
+2022/12/16 14:27:41 - General - Handled generic transform (TRANSFORM) : Lookup 
count per state, gets data from 1 previous transform(s), targets=0, infos=1
+2022/12/16 14:27:41 - General - Handled generic transform (TRANSFORM) : 
name<n, gets data from 1 previous transform(s), targets=2, infos=0
+2022/12/16 14:27:41 - General - Transform Label: N-Z reading from previous 
transform targeting this one using : name<n - TARGET - Label: N-Z
+2022/12/16 14:27:41 - General - Handled generic transform (TRANSFORM) : Label: 
N-Z, gets data from 1 previous transform(s), targets=0, infos=0
+2022/12/16 14:27:41 - General - Transform Label: A-M reading from previous 
transform targeting this one using : name<n - TARGET - Label: A-M
+2022/12/16 14:27:41 - General - Handled generic transform (TRANSFORM) : Label: 
A-M, gets data from 1 previous transform(s), targets=0, infos=0
+2022/12/16 14:27:41 - General - Handled generic transform (TRANSFORM) : Switch 
/ case, gets data from 2 previous transform(s), targets=4, infos=0
+2022/12/16 14:27:41 - General - Transform CA reading from previous transform 
targeting this one using : Switch / case - TARGET - CA
+2022/12/16 14:27:42 - General - Handled generic transform (TRANSFORM) : CA, 
gets data from 1 previous transform(s), targets=0, infos=0
+2022/12/16 14:27:42 - General - Transform NY reading from previous transform 
targeting this one using : Switch / case - TARGET - NY
+2022/12/16 14:27:42 - General - Handled generic transform (TRANSFORM) : NY, 
gets data from 1 previous transform(s), targets=0, infos=0
+2022/12/16 14:27:42 - General - Transform FL reading from previous transform 
targeting this one using : Switch / case - TARGET - FL
+2022/12/16 14:27:42 - General - Handled generic transform (TRANSFORM) : FL, 
gets data from 1 previous transform(s), targets=0, infos=0
+2022/12/16 14:27:42 - General - Transform Default reading from previous 
transform targeting this one using : Switch / case - TARGET - Default
+2022/12/16 14:27:42 - General - Handled generic transform (TRANSFORM) : 
Default, gets data from 1 previous transform(s), targets=0, infos=0
+2022/12/16 14:27:42 - General - Handled generic transform (TRANSFORM) : 
Collect, gets data from 4 previous transform(s), targets=0, infos=0
+2022/12/16 14:27:42 - General - Handled transform (OUTPUT) : complex, gets 
data from Collect
+2022/12/16 14:27:42 - General - Executing this pipeline using the Beam 
Pipeline Engine with run configuration 'Direct'
 ----
+--
+====
 
 To execute an Apache Beam pipeline a lot of information and metadata is needed.
 Let's dive into a few fun information tidbits:
diff --git 
a/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-conf/hop-conf.adoc 
b/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-conf/hop-conf.adoc
index 2d9fadb6ad..0573cb1911 100644
--- a/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-conf/hop-conf.adoc
+++ b/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-conf/hop-conf.adoc
@@ -263,7 +263,7 @@ Result:
 
 include::hop-conf-projects.adoc[]
 
-== Running Projects and Pipelines
+== Running Workflows and Pipelines
 
 include::hop-conf-run-hpl-hwf.adoc[]
 
diff --git a/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-encrypt.adoc 
b/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-encrypt.adoc
index dcd91799a7..8a73577abe 100644
--- a/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-encrypt.adoc
+++ b/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-encrypt.adoc
@@ -49,16 +49,110 @@ Hop will then be able to make the distinction between 
regular plain text passwor
 
 === Hop Example
 
-Encrypt (obfuscate) the password 'abcd' for use in Hop workflows, pipelines 
and other metadata files.
+Encrypt (obfuscate) the password `abcd` for use in Hop workflows, pipelines 
and other metadata files.
+
+&nbsp; +
+
+[tabs]
+====
+Windows::
++
+--
+[source,shell]
+----
+hop-encrypt.bat -hop abcd
+----
+
+
+Expected output:
+
+[source,shell]
+----
+C:\<YOUR_PATH>\hop>echo off
+===[Environment Settings - hop-encrypt.bat]====================================
+Java identified as "C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java"
+HOP_OPTIONS=-Xmx64m -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows 
-DHOP_PLATFORM_RUNTIME=GUI
+Command to start Hop will be:
+"C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java" -classpath 
lib\core\*;lib\beam\*;lib\swt\win64\*
+-Djava.library.path=lib\core;lib\beam -Xmx64m -DHOP_AUDIT_FOLDER=.\audit 
-DHOP_PLATFORM_OS=Windows
+-DHOP_PLATFORM_RUNTIME=GUI org.apache.hop.core.encryption.Encr -hop abcd
+===[Starting 
HopEncrypt]=========================================================
+Encrypted 2be98afc86aa7f2e4cb79ce10df90acde
+----
+
+--
+
+Linux, macOS::
++
+--
+[source,shell]
+----
+./hop-encrypt.sh -hop abcd
+----
+
+Expected output:
+
+[source,shell]
+----
+Encrypted 2be98afc86aa7f2e4cb79ce10df90acde
+----
+
+--
+
+====
+
 
-`./hop-encrypt.sh -hop abcd`
 
-Output: `Encrypted 2be98afc86aa7f2e4cb79ce10df90acde`
 
 === Hop Server Example
 
 Encrypt (obfuscate) the password 'abcd' for use in Hop server.
 
-``./hop-encrypt.sh -server abcd`
+&nbsp; +
+
+[tabs]
+====
+Windows::
++
+--
+[source,shell]
+----
+hop-encrypt.bat -server abcd
+----
+
+Expected output:
+
+[source,shell]
+----
+C:\<YOUR_PATH>\hop>echo off
+===[Environment Settings - hop-encrypt.bat]====================================
+Java identified as "C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java"
+HOP_OPTIONS=-Xmx64m -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows 
-DHOP_PLATFORM_RUNTIME=GUI
+Command to start Hop will be:
+"C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java" -classpath 
lib\core\*;lib\beam\*;lib\swt\win64\*
+-Djava.library.path=lib\core;lib\beam -Xmx64m -DHOP_AUDIT_FOLDER=.\audit 
-DHOP_PLATFORM_OS=Windows
+-DHOP_PLATFORM_RUNTIME=GUI org.apache.hop.core.encryption.Encr -server abcd
+===[Starting 
HopEncrypt]=========================================================
+OBF:1s3g1s3i1s3k1s3m
+----
+
+--
+
+Linux, macOS::
++
+--
+[source,shell]
+----
+./hop-encrypt.sh -server abcd
+----
+
+Expected output:
+
+[source,shell]
+----
+OBF:1s3g1s3i1s3k1s3m
+----
+
+--
+====
 
-Output: `OBF:1s3g1s3i1s3k1s3m`
diff --git a/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-import.adoc 
b/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-import.adoc
index 2236a27d5a..b19a123f69 100644
--- a/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-import.adoc
+++ b/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-import.adoc
@@ -58,7 +58,29 @@ Usage: <main class> [-efhlp] [-c=<targetConfigFilename>] 
[-i=<inputFolderName>]
 
 Import a set of Kettle files and folders into a project stored on Amazon AWS 
S3:
 
-[source]
+&nbsp; +
+
+[tabs]
+====
+Windows::
++
+--
+[source,shell]
+----
+hop-import.bat \
+  --type kettle \
+  --input /projects/kettle/inventory \
+  --output s3:///apache-hop/s3project \
+  --target-config-file imported-env-conf.json \
+  --kettle-properties /home/etl/.kettle/kettle.properties \
+  --shared-xml /home/matt/.kettle/shared.xml
+----
+--
+
+Linux, macOS::
++
+--
+[source,shell]
 ----
 sh hop-import.sh \
   --type kettle \
@@ -68,10 +90,13 @@ sh hop-import.sh \
   --kettle-properties /home/etl/.kettle/kettle.properties \
   --shared-xml /home/matt/.kettle/shared.xml
 ----
+--
+====
+
 
 The logging will show what is going on and will print a report at the end:
 
-[source]
+[source, shell]
 ----
 2021/06/22 16:39:29 - HopImport - Import is skipping existing target files
 2021/06/22 16:39:29 - HopImport - Import is skipping hidden files and folders
diff --git a/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-search.adoc 
b/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-search.adoc
index f0cd0c4f85..0df92ec625 100644
--- a/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-search.adoc
+++ b/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-search.adoc
@@ -56,26 +56,68 @@ Usage: <main class> [-hilx] [-e=<environmentOption>] 
[-j=<projectOption>]
 
 Example command: search for the string 'json' (case insensitive) in the 
'hop-samples' project.
 
-Command: `./hop-search.sh -j hop-samples -i json `
+[tabs]
+====
+Windows::
++
+--
+[source,shell]
+----
+hop-search.bat -j samples -i switch-case
+----
 
-Output:
+Expected output:
 
-[source,bash]
+[source,shell]
+----
+C:\<YOUR_PATH>\hop>echo off
+===[Environment Settings - hop-search.bat]===================================
+Java identified as "C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java"
+HOP_OPTIONS=-Xmx2048m -DHOP_AUDIT_FOLDER=.\audit -DHOP_PLATFORM_OS=Windows 
-DHOP_PLATFORM_RUNTIME=Search
+-DHOP_AUTO_CREATE_CONFIG=Y
+Command to start Hop will be:
+"C:\Program Files\Microsoft\jdk-11.0.17.8-hotspot\\bin\java" -classpath 
lib\core\*;lib\beam\*;lib\swt\win64\*
+-Djava.library.path=lib\core;lib\beam -Xmx2048m -DHOP_AUDIT_FOLDER=.\audit 
-DHOP_PLATFORM_OS=Windows
+-DHOP_PLATFORM_RUNTIME=Search -DHOP_AUTO_CREATE_CONFIG=Y 
org.apache.hop.config.HopConfig -j samples -i switch-case
+===[Starting 
HopConfig]=========================================================
+Enabling project 'samples'
+Searching in project : samples
+Searching for [switch-case]
+Case sensitive? false
+Regular expression? false
+Searching in location : Project samples
+-----------------------------------------------------------------------------------
+file:///C:/<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/switch-case.hpl
 : null(switch-case) : matching property value: switch-case
+file:///C:/<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/switch-case.hpl
 : switch-case(switch-case) : matching property value: switch-case
+file:///C:/<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/switch-case.hpl
 : switch-case(switch-case) : pipeline transform property : filePrefix
+file:///C:/<YOUR_PATH>/hop/config/projects/samples/transforms/switch-case-basic.hpl
 : null(switch-case-basic) : matching property value: switch-case-basic
+----
+
+--
+
+Linux, macOS::
++
+--
+[source, shell]
+----
+./hop-search.sh -j samples -i switch-case
+----
+
+Expected output:
+
+[source,shell]
+----
+Enabling project 'samples'
+Searching in project : samples
+Searching for [switch-case]
+Case sensitive? false
+Regular expression? false
+Searching in location : Project samples
+-----------------------------------------------------------------------------------
+file://<YOUR_PATH>/hop/config/projects/samples/transforms/switch-case-basic.hpl
 : null(switch-case-basic) : matching property value: switch-case-basic
+file://<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/switch-case.hpl 
: null(switch-case) : matching property value: switch-case
+file://<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/switch-case.hpl 
: switch-case(switch-case) : matching property value: switch-case
+file://<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/switch-case.hpl 
: switch-case(switch-case) : pipeline transform property : filePrefix
 ----
-<PROJECT_PATH>/samples/transforms/Enhanced JSON - Generate complex nested 
structure from table.hpl : null : matching property value: Enhanced JSON - 
Generate complex nested structure from table
-<PROJECT_PATH>/samples/transforms/Enhanced JSON - Generate complex nested 
structure from table.hpl : Final Complex Data structure : matching property 
value: EnhancedJsonOutput
-<PROJECT_PATH>/samples/transforms/Enhanced JSON - Generate complex nested 
structure from table.hpl : Final Complex Data structure : matching property 
value: Enhanced JSON Output
-<PROJECT_PATH>/samples/transforms/Enhanced JSON - Generate complex nested 
structure from table.hpl : Final Complex Data structure : pipeline transform 
property : jsonBloc
-<PROJECT_PATH>/samples/transforms/Enhanced JSON - Generate complex nested 
structure from table.hpl : Final Complex Data structure : pipeline transform 
property : jsonPrittified (Boolean)
-<PROJECT_PATH>/samples/transforms/Enhanced JSON - Generate complex nested 
structure from table.hpl : Final Complex Data structure : pipeline transform 
property : isJSONFragment (Boolean)
-<PROJECT_PATH>/samples/transforms/Enhanced JSON - Generate complex nested 
structure from table.hpl : Final Complex Data structure : pipeline transform 
property : isJSONFragment (Boolean)
-<PROJECT_PATH>/samples/transforms/Enhanced JSON - Generate complex nested 
structure from table.hpl : Final Complex Data structure : pipeline transform 
property : isJSONFragment (Boolean)
-<PROJECT_PATH>/samples/transforms/Enhanced JSON - Generate complex nested 
structure from table.hpl : Intermediate Structures : matching property value: 
EnhancedJsonOutput
-<PROJECT_PATH>/samples/transforms/Enhanced JSON - Generate complex nested 
structure from table.hpl : Intermediate Structures : matching property value: 
Enhanced JSON Output
-<PROJECT_PATH>/samples/transforms/Enhanced JSON - Generate complex nested 
structure from table.hpl : Intermediate Structures : pipeline transform 
property : jsonPrittified (Boolean)
-<PROJECT_PATH>/samples/transforms/Enhanced JSON - Generate complex nested 
structure from table.hpl : Intermediate Structures : pipeline transform 
property : isJSONFragment (Boolean)
-<PROJECT_PATH>/samples/transforms/Enhanced JSON - Generate complex nested 
structure from table.hpl : null : matching property value: This sample gets a 
table of values and generate a complex nested structure as output
-by looping over a predefined key. Second Enhanced JSON Transform als gets a 
JSON fragment produced
-by furst Enhanced JSON Transform and use it as value of an attribute of the 
resulting final 
-JSON stream.
-----
\ No newline at end of file
+--
+====
diff --git 
a/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-translator.adoc 
b/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-translator.adoc
new file mode 100644
index 0000000000..d094aad978
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/pages/hop-tools/hop-translator.adoc
@@ -0,0 +1,54 @@
+////
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+  http://www.apache.org/licenses/LICENSE-2.0
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+////
+
+= Hop Translator - Translate the Apache Hop GUI and CLI tools
+
+include::../snippets/hop-tools/hop-translator.adoc[]
+
+TIP: check the 
https://hop.apache.org/community/contribution-guides/translation-contribution-guide/[Translation
 Contribution Guide] if you want to find out more about translating Hop.
+
+&nbsp; +
+
+The example below starts the Hop Translator tool with the provided 
`translator.xml` file as the first parameter.
+
+The second parameter is the path to your local version of the 
https://www.github.com/apache/hop[Apache Hop source code].
+
+&nbsp; +
+
+[tabs]
+====
+
+Windows::
++
+--
+[source,bash]
+----
+hop-translator.bat translator.xml <YOUR_PATH_TO_THE_HOP_CODE>
+----
+
+Expected output: the Hop Translator tool starts.
+--
+
+Linux, macOS::
++
+--
+[source,bash]
+----
+./hop-translator.sh translator.xml <YOUR_PATH_TO_THE_HOP_CODE>
+----
+
+Expected output: the Hop Translator tool starts.
diff --git 
a/docs/hop-user-manual/modules/ROOT/pages/pipeline/beam/beam-samples-flink.adoc 
b/docs/hop-user-manual/modules/ROOT/pages/pipeline/beam/beam-samples-flink.adoc
index ac2513e898..aeb23efab7 100644
--- 
a/docs/hop-user-manual/modules/ROOT/pages/pipeline/beam/beam-samples-flink.adoc
+++ 
b/docs/hop-user-manual/modules/ROOT/pages/pipeline/beam/beam-samples-flink.adoc
@@ -101,11 +101,11 @@ With your Hop and Flink set up correctly, your output 
will look similar to what'
 
 [source, shell]
 ----
-Argument 1 : Pipeline filename (.hpl)   : 
/home/bart/git-hop/hop/assemblies/client/target/hop/config/projects/samples/beam/pipelines/generate-synthetic-data.hpl
+Argument 1 : Pipeline filename (.hpl)   : 
<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/generate-synthetic-data.hpl
 Argument 2 : Metadata filename (.json)  : /opt/flink/hop-metadata.json
 Argument 3 : Pipeline run configuration : Flink
 >>>>>> Initializing Hop...
-Hop configuration file not found, not serializing: 
/home/bart/Projects/flink/flink-1.13.5/config/hop-config.json
+Hop configuration file not found, not serializing: 
<YOUR_FLINK_PATH>/flink/flink-1.13.5/config/hop-config.json
 
 >>>>>> Loading pipeline metadata
 >>>>>> Building Apache Beam Pipeline...
diff --git 
a/docs/hop-user-manual/modules/ROOT/pages/plugins/projects/projects.adoc 
b/docs/hop-user-manual/modules/ROOT/pages/plugins/projects/projects.adoc
index aae577a743..d80b44425f 100644
--- a/docs/hop-user-manual/modules/ROOT/pages/plugins/projects/projects.adoc
+++ b/docs/hop-user-manual/modules/ROOT/pages/plugins/projects/projects.adoc
@@ -257,8 +257,8 @@ The easiest example is shown by executing the "complex" 
pipeline from the Apache
 ----
 $ sh hop-run.sh --project samples --file 'beam/pipelines/complex.hpl' 
--runconfig Direct
 2022/12/15 14:40:51 - HopRun - Enabling project 'hop-samples'
-2022/12/15 14:40:51 - HopRun - Relative path filename specified: 
/home/bart/git-hop/hop/assemblies/client/target/hop/config/projects/samples/beam/pipelines/complex.hpl
-2022/12/15 14:40:51 - HopRun - Starting pipeline: 
/home/bart/git-hop/hop/assemblies/client/target/hop/config/projects/samples/beam/pipelines/complex.hpl
+2022/12/15 14:40:51 - HopRun - Relative path filename specified: 
<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/complex.hpl
+2022/12/15 14:40:51 - HopRun - Starting pipeline: 
<YOUR_PATH>/hop/config/projects/samples/beam/pipelines/complex.hpl
 2022/12/15 14:40:54 - General - Created Apache Beam pipeline with name 
'complex'
 2022/12/15 14:40:54 - General - Handled transform (INPUT) : Customer data
 2022/12/15 14:40:54 - General - Handled transform (INPUT) : State data
diff --git 
a/docs/hop-user-manual/modules/ROOT/pages/snippets/hop-tools/hop-import.adoc 
b/docs/hop-user-manual/modules/ROOT/pages/snippets/hop-tools/hop-import.adoc
new file mode 100644
index 0000000000..c4e7a34df0
--- /dev/null
+++ b/docs/hop-user-manual/modules/ROOT/pages/snippets/hop-tools/hop-import.adoc
@@ -0,0 +1,19 @@
+////
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+  http://www.apache.org/licenses/LICENSE-2.0
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+////
+Hop Import is a command line tool to import PDI/Kettle jobs and 
transformations into Apache Hop. +
+
+Hop Import does a lot more than just a code conversion from jobs to workflows 
and transformations to pipelines: database connections are converted to Apache 
Hop rdbms connections, variables are parsed and imported, and everything is 
bundled into a full Apache Hop project.
\ No newline at end of file

Reply via email to