This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/hop-website.git
The following commit(s) were added to refs/heads/asf-site by this push:
new e1f6f11673 Website updated to 2ff35d7
e1f6f11673 is described below
commit e1f6f116731c8f734079b3f420dc9b1009f38b71
Author: jenkins <[email protected]>
AuthorDate: Fri Oct 30 09:48:44 2026 +0000
Website updated to 2ff35d7
---
manual/next/workflow/actions/abort.html | 34 +++++++
.../next/workflow/actions/checkdbconnection.html | 50 +++++++++-
manual/next/workflow/actions/checkfilelocked.html | 50 ++++++++++
manual/next/workflow/actions/columnsexist.html | 42 ++++++++
manual/next/workflow/actions/comparefolders.html | 76 +++++++++++++--
manual/next/workflow/actions/dostounix.html | 72 ++++++++++++--
manual/next/workflow/actions/dummy.html | 38 ++++++++
manual/next/workflow/actions/eval.html | 52 +++++++++-
.../workflow/actions/evaluatetablecontent.html | 58 ++++++++++-
manual/next/workflow/actions/filecompare.html | 38 ++++++++
manual/next/workflow/actions/filesexist.html | 38 ++++++++
manual/next/workflow/actions/folderisempty.html | 66 +++++++++++--
manual/next/workflow/actions/join.html | 38 ++++++++
manual/next/workflow/actions/mssqlbulkload.html | 95 +++++++++++++++++-
manual/next/workflow/actions/mysqlbulkfile.html | 106 +++++++++++++++++++--
manual/next/workflow/actions/mysqlbulkload.html | 62 ++++++++++--
manual/next/workflow/actions/ping.html | 44 ++++++++-
manual/next/workflow/actions/repeat-end.html | 34 +++++++
manual/next/workflow/actions/repeat.html | 78 +++++++++++++--
manual/next/workflow/actions/setvariables.html | 46 ++++++++-
manual/next/workflow/actions/sql.html | 58 ++++++++++-
manual/next/workflow/actions/start.html | 38 ++++++++
manual/next/workflow/actions/success.html | 36 ++++++-
manual/next/workflow/actions/tableexists.html | 50 ++++++++++
manual/next/workflow/actions/telnet.html | 40 +++++++-
manual/next/workflow/actions/truncatetables.html | 58 ++++++++++-
manual/next/workflow/actions/waitfor.html | 44 ++++++++-
manual/next/workflow/actions/waitforsql.html | 64 ++++++++++++-
.../next/workflow/actions/webserviceavailable.html | 38 ++++++++
manual/next/workflow/actions/writetolog.html | 38 ++++++++
manual/next/workflow/actions/xsdvalidator.html | 40 +++++++-
manual/next/workflow/actions/xslt.html | 78 +++++++++++++--
32 files changed, 1620 insertions(+), 79 deletions(-)
diff --git a/manual/next/workflow/actions/abort.html
b/manual/next/workflow/actions/abort.html
index 1fdb759ba6..559b8ca987 100644
--- a/manual/next/workflow/actions/abort.html
+++ b/manual/next/workflow/actions/abort.html
@@ -2998,6 +2998,40 @@ This only changes the logging: the workflow is marked as
failed either way.</p><
</tbody>
</table>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Always,
with 1 error. The workflow stops: no hop from the action is followed, not even
an unconditional one, and the workflow ends as failed (hop-run ends with exit
code 1).</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">No action
in this workflow receives them, as the workflow stops. A parent workflow that
runs this workflow with a Workflow action receives the result files of the
actions before the Abort.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">As for the
result files: a parent workflow receives the result rows of the actions before
the Abort.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/checkdbconnection.html
b/manual/next/workflow/actions/checkdbconnection.html
index fe81bb4d94..8913d6d6ce 100644
--- a/manual/next/workflow/actions/checkdbconnection.html
+++ b/manual/next/workflow/actions/checkdbconnection.html
@@ -2977,8 +2977,16 @@
<td class="tableblock halign-left valign-top"><p class="tableblock">The name
of the workflow action.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p
class="tableblock">Connection</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">List of
connections.</p></td>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">Connections</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The
connections to check, one per line. Each line has a
<strong>Connection</strong>, a <strong>Wait</strong> and <strong>Units of
time</strong>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">Wait</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">How long
to keep the connection open after it was opened. Empty or 0: no wait.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Units of
time</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The unit
of <strong>Wait</strong>: Milliseconds, Seconds, Minutes or Hours.</p></td>
</tr>
</tbody>
</table>
@@ -2989,6 +2997,44 @@
<p>The <code>Delete</code> button deletes the selected database connection
line from the <code>Connections</code> table.</p>
</div>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Every
connection in the list could be opened, with 0 errors. An empty list is also
true.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A
connection can’t be opened, or doesn’t exist in the project. The
other connections are still checked: the number of errors is the number of
connections that failed.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/checkfilelocked.html
b/manual/next/workflow/actions/checkfilelocked.html
index d701c4df78..29a139c57c 100644
--- a/manual/next/workflow/actions/checkfilelocked.html
+++ b/manual/next/workflow/actions/checkfilelocked.html
@@ -3002,6 +3002,56 @@ For instance .*\.txt would check any file with a .txt
extension.</p></td>
</tbody>
</table>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">No file is
locked. A file or folder that does not exist is not checked and does not make
the action false. With nothing to check, the action is true too.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A file is
locked: it cannot be renamed to its own name. The action stops at the first
locked file, and the number of errors is 1.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged. With <strong>Copy previous results to args?</strong>, the file or
folder comes from the first field and the wildcard from the second field of
each result row, and the list in the dialog is not used, also when there are no
result rows.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+On Linux and macOS a file is reported as locked when its folder is read-only,
because it cannot be renamed. Checking stops at a result row with only one
field: that row and the rows after it are not checked, the error is logged, and
the action is still true. An invalid regular expression in
<strong>Wildcard</strong> is logged as an error for each file, no file in that
folder is checked, and the action is still true.
+</td>
+</tr>
+</table>
+</div>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/columnsexist.html
b/manual/next/workflow/actions/columnsexist.html
index fe05426930..e1a41aca8e 100644
--- a/manual/next/workflow/actions/columnsexist.html
+++ b/manual/next/workflow/actions/columnsexist.html
@@ -3001,6 +3001,48 @@
<p>Use the <code>Get columns</code> button to retrieve the columns from the
selected table.</p>
</div>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Every
column in the list exists in the table, with 0 errors.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A column
doesn’t exist, the table doesn’t exist, the list of columns is
empty, or the connection is empty, unknown or can’t be opened. The number
of errors is 1.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lines
written</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The number
of columns that exist in the table. When the connection is empty or unknown,
<strong>Table name</strong> is empty or the list of columns is empty, the
action stops before it checks anything and the value of the previous action is
passed on unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/comparefolders.html
b/manual/next/workflow/actions/comparefolders.html
index 418f8aa11b..619b31af0b 100644
--- a/manual/next/workflow/actions/comparefolders.html
+++ b/manual/next/workflow/actions/comparefolders.html
@@ -2973,25 +2973,25 @@
</thead>
<tbody>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Workflow
action name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Action
name</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The name
of the workflow action.
This name has to be unique in a single workflow.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Include
Subfolders</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Also
compare the content of sub-folders.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Include
subfolders</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Also
compare the content of subfolders.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">Compare</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Specify
what to compare: All, Only files, Only folders, or Let me
specify…​</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Specify
what to compare: All, Only Files, Only Folders, or Let me
specify…​</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p
class="tableblock">Wildcard</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">If you
chose Let me specify in the previous option, you can specify the regular
expression of files to compare.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Wildcard
(RegExp)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">If you
chose Let me specify…​ in the previous option, you can specify the
regular expression of files to compare. Variables are not resolved in
it.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Compare
file size</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Check this
to compare file size, in opposed to just comparing folder names.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Check this
to also compare the size of files with the same name, not only their
names.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Compare
file content</p></td>
@@ -3009,6 +3009,68 @@ Note: this may cause slower processing speeds.</p></td>
</tbody>
</table>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">For two
files: their contents are identical. For two folders: both hold the same number
of entries of the kind set in <strong>Compare</strong>, every name found in the
first folder is also in the second, with the same type, and with
<strong>Compare file size</strong> or <strong>Compare file content</strong> the
files have the same size or content. Without these two options, files with the
same name count as equal.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The
folders differ, or one path is a file and the other a folder: the number of
errors is 0. A file or folder does not exist: the number of errors is
1.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Entries are matched by their name only, not by their subfolder. With
<strong>Include subfolders</strong>, a folder with <code>s1/x.txt</code> and
<code>s2/x.txt</code> and a folder with <code>s1/x.txt</code> and
<code>s2/y.txt</code> are reported as identical.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+<strong>Wildcard (RegExp)</strong> is used as typed: variables in it are not
resolved. An invalid regular expression, which includes one with
<code>${...}</code> in it, leaves out every entry, and the folders are reported
as identical. This also happens with <strong>Compare</strong> set to
<strong>All</strong> when an invalid wildcard is still stored from an earlier
choice.
+</td>
+</tr>
+</table>
+</div>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/dostounix.html
b/manual/next/workflow/actions/dostounix.html
index d28aa82ab3..66e21b0d00 100644
--- a/manual/next/workflow/actions/dostounix.html
+++ b/manual/next/workflow/actions/dostounix.html
@@ -2986,10 +2986,10 @@
<td class="tableblock halign-left valign-top"><div class="content"><div
class="ulist">
<ul>
<li>
-<p>Include Subfolders: also process sub-folders</p>
+<p>Include subfolders: also process subfolders</p>
</li>
<li>
-<p>Copy previous results to args : use the list of result files from the
previous workflow action (actions) in stead of the static file list below.</p>
+<p>Copy previous results to args: take the file or folder, the wildcard and
the conversion from the result rows of the previous action instead of from the
list below. See <a href="#_result">Result</a>.</p>
</li>
</ul>
</div></div></td>
@@ -2998,7 +2998,7 @@
<td class="tableblock halign-left valign-top"><p class="tableblock">Files /
Folders</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div
class="paragraph">
<p>You can specify the list of files or folders with wildcards in this grid.
-You can add a different source/destination on each line.</p>
+Each line has its own conversion: Windows to Unix, Unix to Windows, or Guess,
which converts a file to the other format. For a folder, the wildcard is a
regular expression matched against the whole path of each file (see <a
href="#_result">Result</a>).</p>
</div></div></td>
</tr>
</tbody>
@@ -3022,7 +3022,7 @@ You can add a different source/destination on each
line.</p>
</thead>
<tbody>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Success
Condition</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Success
condition</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div
class="paragraph">
<p>This action will follow the success path if the selected condition is true.
Current options are:</p>
@@ -3042,13 +3042,13 @@ Current options are:</p>
</div></div></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Nr
Files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Nr
files</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">specifies
the number of files that have to meet the selected condition from above</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Add
Filenames</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Add
filenames</p></td>
<td class="tableblock halign-left valign-top"><div class="content"><div
class="paragraph">
-<p>Adds the filenames that meet the selected condition to the workflow output
stream.
+<p>Adds the files to the result files of the action.
Conditions are:</p>
</div>
<div class="ulist">
@@ -3072,6 +3072,64 @@ Conditions are:</p>
</table>
</div>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The
<strong>Success condition</strong> is met: every file converted with
<strong>Success if all files are processed</strong>, at least <strong>Nr
files</strong> files converted with <strong>Success if at least x files are
processed</strong>, or fewer files that could not be converted than <strong>Nr
files</strong> with <strong>Success when number of error files lesser
than</strong>. The number of errors is then 0, also w [...]
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The
success condition is not met. A file that cannot be rewritten, for example in a
read-only folder, counts as an error file. A path that does not exist, or that
is not set, counts as an error, which only makes the action false with
<strong>Success if all files are processed</strong>. With <strong>Success if
all files are processed</strong>, a path error stops the action, and the
remaining entries are not processed; an [...]
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p
class="tableblock"><strong>Add all filenames</strong> (the default) adds the
converted files and the ones that could not be converted, <strong>Add only
processed filenames</strong> only the converted ones, <strong>Add only error
filenames</strong> only the failed ones, and <strong>Do not add
filenames</strong> none. The result files of the previous action are
kept.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged. With <strong>Copy previous results to args</strong>, the file or
folder, the wildcard and the conversion (<code>guess</code>,
<code>dostounix</code> or <code>unixtodos</code>) come from the first three
fields of each result row, and the list in the dialog is not used, also when
there are no result rows.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lines
written</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The number
of files converted.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lines
rejected</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The number
of files that could not be converted.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+A result row with fewer than three fields stops the workflow with an error,
and no hop is followed. The wildcard is matched against the whole path of each
file (for example <code><a href="file:///data/in/sales.txt"
class="bare">file:///data/in/sales.txt</a></code>), not its name:
<code>.*\.txt</code> or <code>.*/sales\.txt</code> match,
<code>sales\.txt</code> matches nothing, and the action is still true.
+</td>
+</tr>
+</table>
+</div>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/dummy.html
b/manual/next/workflow/actions/dummy.html
index 26bb7b4a21..b8bfbb970a 100644
--- a/manual/next/workflow/actions/dummy.html
+++ b/manual/next/workflow/actions/dummy.html
@@ -2956,6 +2956,44 @@
<p>The <code>Dummy</code> action does not add any functionality, but can be
useful as a placeholder action or as a workflow layout helper.</p>
</div>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Always,
with 0 errors.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">Hops</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Dummy does
not evaluate a result: only its unconditional hops are followed. A success or
failure hop from a Dummy is never followed.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/eval.html
b/manual/next/workflow/actions/eval.html
index 457a8741ea..d343f0a36c 100644
--- a/manual/next/workflow/actions/eval.html
+++ b/manual/next/workflow/actions/eval.html
@@ -3297,11 +3297,61 @@ firstRow.<span class="hljs-title
function_">getString</span>(<span class="hljs-s
</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>
+<pre>This script will follow the green workflow hop if the expression
evaluates to true. This happens if field "name" contains String "Foo".</pre>
</div>
</div>
</div>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The script
ends with a true value, with 0 errors. A value that is not a boolean is
converted the JavaScript way: <code>0</code> is false, a text that is not empty
is true.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The script
ends with a false value: the number of errors is 0. When the script can’t
be run (a syntax error, or an error while it runs), the number of errors is
1.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+The <code>errors</code> variable in the script still holds the number of
errors of the previous action: this action doesn’t reset it before the
script runs.
+</td>
+</tr>
+</table>
+</div>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/evaluatetablecontent.html
b/manual/next/workflow/actions/evaluatetablecontent.html
index 3d7d63c3cd..18bff548e6 100644
--- a/manual/next/workflow/actions/evaluatetablecontent.html
+++ b/manual/next/workflow/actions/evaluatetablecontent.html
@@ -3039,7 +3039,7 @@
<p>Greater than (default)</p>
</li>
<li>
-<p>Greater than or equal to</p>
+<p>Greater or equal to</p>
</li>
</ul>
</div></div></td>
@@ -3060,7 +3060,7 @@
<td class="tableblock halign-left valign-top"><p class="tableblock">Variables
in the SQL statements will be substituted.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Clear list
of result rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Clear list
of result rows before execution</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Clears the
internal list of result rows before executing.</p></td>
</tr>
<tr>
@@ -3075,6 +3075,60 @@ This list of result rows can then be used in subsequent
workflow actions to loop
</tbody>
</table>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The number
of rows meets the <strong>Success when rows count</strong> condition, with 0
errors.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The
condition is not met: the number of errors is 0. When the table doesn’t
exist, <strong>Target table name</strong> is empty (without <strong>Custom
SQL</strong>), <strong>SQL Script</strong> is empty (with <strong>Custom
SQL</strong>), the query fails, or the connection is empty, unknown or
can’t be opened, the number of errors is 1.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Without
<strong>Custom SQL</strong>: passed on unchanged. With <strong>Custom
SQL</strong>: <strong>Clear list of result rows before execution</strong>
removes the previous result rows, also when <strong>Add rows to result</strong>
is unchecked. <strong>Add rows to result</strong> adds the rows the query
returns, also when the condition is not met.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lines
read</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The number
of rows counted.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+With <strong>Custom SQL</strong>, the action counts the rows the query
returns, not a value in them. <code>SELECT count(*) FROM my_table</code>
returns 1 row, so the number of rows is 1 whatever the table holds. Write a
query that returns one row per item to count, such as <code>SELECT * FROM
my_table WHERE …​</code>.
+</td>
+</tr>
+</table>
+</div>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/filecompare.html
b/manual/next/workflow/actions/filecompare.html
index 2c20b1f903..b5b2731df6 100644
--- a/manual/next/workflow/actions/filecompare.html
+++ b/manual/next/workflow/actions/filecompare.html
@@ -2994,6 +2994,44 @@
</tbody>
</table>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Both files
exist and their contents are identical.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The
contents differ, or a file name is not set: the number of errors is 0. A file
does not exist, or a path is a folder: the number of errors is 1.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">With
<strong>Add filename to result</strong>, both files are added when both exist
and are files, also when their contents differ. The result files of the
previous action are kept.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/filesexist.html
b/manual/next/workflow/actions/filesexist.html
index 75415423b8..b3010e9da6 100644
--- a/manual/next/workflow/actions/filesexist.html
+++ b/manual/next/workflow/actions/filesexist.html
@@ -2990,6 +2990,44 @@
</tbody>
</table>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Every
entry in the list exists: a file or folder that can be read, or a folder with
at least one file whose whole name matches its wildcards (in its subfolders
only with <strong>Include subfolders</strong>). An empty list is true
too.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">An entry
does not exist, a file or folder cannot be read, or a folder has no matching
file: the number of errors is 0. A wildcard that is not a valid regular
expression counts as one error.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/folderisempty.html
b/manual/next/workflow/actions/folderisempty.html
index fd3bbd50b1..eb52e3e243 100644
--- a/manual/next/workflow/actions/folderisempty.html
+++ b/manual/next/workflow/actions/folderisempty.html
@@ -2953,7 +2953,7 @@
<h2 id="_description"><a class="link" href="#_description">Description</a></h2>
<div class="sectionbody">
<div class="paragraph">
-<p>The <code>Check if a folder is empty</code> action verifies if a folder is
empty and that there are no regular files or sub-folders in the folder.</p>
+<p>The <code>Check if a folder is empty</code> action verifies that a folder
holds no files. Subfolders do not count, only the files in them with
<strong>Include subfolders</strong>.</p>
</div>
</div>
</div>
@@ -2982,19 +2982,73 @@
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Include
subfolders</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Check if
there are subfolders in the folder to check.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Also look
for files in the subfolders of the folder.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Limit
search to</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Limits the
search for files to those with a certain wildcard (regular expression)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Limit
search to (RegExp)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Only count
the files whose name matches <strong>Wildcard (RegExp)</strong>.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p
class="tableblock">Wildcard</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">The
wildcard (regular expression) to limit the files to look for with, for example:
.*\.txt$</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Wildcard
(RegExp)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The
regular expression for the file names, for example <code>.*\.txt</code>. Only
used with <strong>Limit search to (RegExp)</strong>.</p></td>
</tr>
</tbody>
</table>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The folder
holds no files. Subfolders do not count; with <strong>Include
subfolders</strong>, the files in them do. With <strong>Limit search to
(RegExp)</strong>, only files whose whole name matches <strong>Wildcard
(RegExp)</strong> count.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The folder
holds a file: the number of errors is 0. The folder does not exist, the path is
a file, or no folder name is set: the number of errors is 1.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lines
input</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">When the
action is true, the number of subfolders found. Otherwise the value of the
previous action is passed on.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+An invalid regular expression in <strong>Wildcard (RegExp)</strong> stops the
workflow with an error, and no hop is followed, also when <strong>Limit search
to (RegExp)</strong> is not selected.
+</td>
+</tr>
+</table>
+</div>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/join.html
b/manual/next/workflow/actions/join.html
index 9a684c5b10..d764ef8a13 100644
--- a/manual/next/workflow/actions/join.html
+++ b/manual/next/workflow/actions/join.html
@@ -3031,6 +3031,44 @@
</div>
</div>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Every
branch that leads to the Join has finished, and none of them failed on the way.
Only a branch whose hop into the Join is a success hop counts as failed when
its last action is false: with a failure hop or an unconditional hop, a false
action does not make the Join false.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A branch
ended false while its hop into the Join is a success hop, or can’t run
any more because of an earlier failure. The number of errors is the number of
such branches.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The result
files of one branch are passed on. The result files of the other branches are
not added: when several branches add result files, only those of one branch
reach the next action.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The result
rows of one branch are passed on, as for the result files.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/mssqlbulkload.html
b/manual/next/workflow/actions/mssqlbulkload.html
index 036f541faf..f501404dec 100644
--- a/manual/next/workflow/actions/mssqlbulkload.html
+++ b/manual/next/workflow/actions/mssqlbulkload.html
@@ -3001,7 +3001,7 @@
<td class="tableblock halign-left valign-top"><p class="tableblock">Whether or
not to truncate the table before starting the bulk load.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top" colspan="2"><p
class="tableblock">Data file</p></td>
+<td class="tableblock halign-left valign-top" colspan="2"><p
class="tableblock">Data File</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Source
File name</p></td>
@@ -3016,7 +3016,7 @@
<td class="tableblock halign-left valign-top"><p class="tableblock">The field
separation character.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Rows
terminated by</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Row
terminated by</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The row
termination character.</p></td>
</tr>
</tbody>
@@ -3038,11 +3038,11 @@
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">Codepage</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">OEM, ACP,
RAW, specific</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ACP, OEM
(default), RAW or Specific. See the NOTE under <a
href="#_result">Result</a>.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Specific
codepage</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Code page
to use when specific is selected.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Code page
to use when Specific is selected.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Format
file</p></td>
@@ -3116,6 +3116,93 @@
</table>
</div>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The file
was loaded, with 0 errors.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The file
doesn’t exist, the table doesn’t exist, <strong>Source File
name</strong> is empty, the connection is unknown or can’t be opened, or
SQL Server refuses the load (for example a value that doesn’t fit its
column). The number of errors is 1.</p>
+<p class="tableblock">The action is also false, but with 0 errors, when the
connection is not a Microsoft SQL Server connection, when <strong>Fields
terminated by</strong> is empty while <strong>Data file type</strong> is char
or widechar, and when <strong>Error file</strong> exists while <strong>Add date
time</strong> is unchecked. The reason is logged as an error.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The source
file is added when <strong>Add file to result filenames</strong> is checked and
the load succeeded. Otherwise passed on unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+SQL Server reads the file, so <strong>Source File name</strong> must be a path
that the database server can read. The action also checks that the file exists
on the machine where Hop runs, before it loads.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+When the load fails on a row, the rows before it can stay in the table: with
the default options, a value that doesn’t fit its column on row 2 left
row 1 loaded.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+SQL Server on Linux only accepts the RAW <strong>Codepage</strong>: the
default, OEM, makes the load fail there. In this version,
<strong>Specific</strong> sends the word <code>Specific</code> to SQL Server
instead of the value of <strong>Specific codepage</strong>, so the load fails.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+When both <strong>Start at line</strong> and <strong>End at line</strong> are
set, only <strong>End at line</strong> is used: the load starts at the first
line.
+</td>
+</tr>
+</table>
+</div>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/mysqlbulkfile.html
b/manual/next/workflow/actions/mysqlbulkfile.html
index 4a86a7fe40..41df12aac5 100644
--- a/manual/next/workflow/actions/mysqlbulkfile.html
+++ b/manual/next/workflow/actions/mysqlbulkfile.html
@@ -2981,20 +2981,24 @@
<td class="tableblock halign-left valign-top"><p class="tableblock">The
database connection.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Target
schema</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">The target
schema.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Source
schema</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The schema
of the table to export.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Source
table</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The table
to export.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Target
File name</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">The target
file.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The file
to write, on the database server.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">High
Priority</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">The
priority to load the file with.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Adds
<code>HIGH_PRIORITY</code> to the query. Checked by default: see the NOTE under
<a href="#_result">Result</a>.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">Type</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">OUTFILE,
DUMPFILE</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">OUTFILE
(default) writes the rows with the separators below. DUMPFILE writes a single
row without any formatting: more than one row makes the action fail.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Field
separator</p></td>
@@ -3028,13 +3032,13 @@
<div class="ulist">
<ul>
<li>
-<p>Create new with unique name</p>
+<p>Create new with unique name: the file gets the date and time added to its
name</p>
</li>
<li>
-<p>Do Nothing</p>
+<p>Do Nothing: nothing is exported, and the action is true</p>
</li>
<li>
-<p>Fail (default)</p>
+<p>Fail (default): the action is false, with 1 error</p>
</li>
</ul>
</div></div></td>
@@ -3046,6 +3050,92 @@
</tbody>
</table>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The file
was written, with 0 errors. Also true when the file already exists and
<strong>If file exists</strong> is <strong>Do Nothing</strong>: then nothing is
exported, and the action doesn’t connect to the database.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The file
exists and <strong>If file exists</strong> is <strong>Fail</strong>, the table
doesn’t exist, <strong>Target File name</strong> is empty, the connection
can’t be opened, or MySQL refuses the query (for example a path outside
the folder allowed by the server’s <code>secure_file_priv</code> setting,
or <strong>DUMPFILE</strong> on more than one row). The number of errors is
1.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The target
file is added when <strong>Add file to result filenames</strong> is checked and
the file was written. Otherwise passed on unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+<strong>High Priority</strong> is checked by default, and on MySQL 8.4 it
makes the action fail with "Table …​ appears in multiple locking
clauses": the action always adds <code>LOCK IN SHARE MODE</code> to the query,
and MySQL doesn’t accept both. Uncheck <strong>High Priority</strong> to
export.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+A <strong>Connection</strong> that doesn’t exist in the project is not a
false result: the workflow stops with an error and no hop from the action is
followed.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+When the table doesn’t exist, the reason is only logged at the Detailed
log level: at the Basic level, the log shows a false action without an error
message.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+The MySQL server writes the file (<code>SELECT …​ INTO
OUTFILE</code>), so <strong>Target File name</strong> is a path on the database
server. <strong>If file exists</strong> is checked on the machine where Hop
runs.
+</td>
+</tr>
+</table>
+</div>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/mysqlbulkload.html
b/manual/next/workflow/actions/mysqlbulkload.html
index ec9a2691ce..7bcd940e3c 100644
--- a/manual/next/workflow/actions/mysqlbulkload.html
+++ b/manual/next/workflow/actions/mysqlbulkload.html
@@ -2997,7 +2997,7 @@
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">Local</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Check this
if the file is local.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Checked
(default): Hop reads the file and sends it to MySQL (<code>LOAD DATA
LOCAL</code>). The connection needs the option
<code>allowLoadLocalInfile=true</code>, and the server needs
<code>local_infile</code> enabled: without them the load fails. Unchecked: the
MySQL server reads the file, so the path must exist on the database
server.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">Priority</p></td>
@@ -3044,19 +3044,69 @@
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Replace
data</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Check this
option if you want to replace the data in the target data.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Checked
(default): a row whose key already exists in the table replaces the existing
row. Unchecked: the existing row is kept, and the row from the file is
skipped.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Ignore the
first …​ lines</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Ignores
the first …​ lines in the text file.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Ignore
the…​first lines</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Ignores
this number of lines at the start of the file, for example a header
line.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Add files
to result</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Check this
option if you want to re-use the filename of the text file in a next workflow
action.</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Add file
to result filenames</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Adds the
source file to the result files, for use in a next workflow action.</p></td>
</tr>
</tbody>
</table>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The file
was loaded, with 0 errors.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The file
doesn’t exist, the table doesn’t exist, <strong>Source File
name</strong> is empty, the connection is unknown or can’t be opened, or
MySQL refuses the load. The number of errors is 1.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The source
file is added when <strong>Add file to result filenames</strong> is checked and
the load succeeded. Otherwise passed on unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+When the table doesn’t exist, the reason is only logged at the Detailed
log level: at the Basic level, the log shows a false action without an error
message.
+</td>
+</tr>
+</table>
+</div>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/ping.html
b/manual/next/workflow/actions/ping.html
index 6a815a08ff..b0dc11d216 100644
--- a/manual/next/workflow/actions/ping.html
+++ b/manual/next/workflow/actions/ping.html
@@ -2976,7 +2976,7 @@
</thead>
<tbody>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Workflow
action name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Action
name</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The name
of the workflow action.</p></td>
</tr>
<tr>
@@ -2992,7 +2992,7 @@
<ul>
<li>
<p>Classic ping: This calls the ping as a command line of the operating system.
-The result is true when no packets (defined in the "Nr. packets to send"
option) are lost.</p>
+The result is true when the ping command ends without error (exit code 0). On
Linux and macOS, that is the case when at least one of the packets (defined in
the <strong>Nr packets to send</strong> option) gets a reply.</p>
</li>
<li>
<p>System ping: This option uses the Java implemented methods.
@@ -3009,12 +3009,50 @@ The result is true when the host name can be resolved
and the host is reachable
<td class="tableblock halign-left valign-top"><p class="tableblock">The
timeout in ms when the system ping option is used.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Nr.
packets to send</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Nr packets
to send</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The number
of packets to send (by default 2, only used by the Classic ping
option).</p></td>
</tr>
</tbody>
</table>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The host
answered, with 0 errors.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The host
can’t be pinged (for example, its name can’t be resolved), or
<strong>Host name/IP</strong> is empty. The number of errors is 1.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/repeat-end.html
b/manual/next/workflow/actions/repeat-end.html
index 636c778a7d..d67ee4eca0 100644
--- a/manual/next/workflow/actions/repeat-end.html
+++ b/manual/next/workflow/actions/repeat-end.html
@@ -2974,6 +2974,40 @@ The End repeat action only works against its parent
workflow when it’s bei
<p>This action has no options. It works as a <a href="success.html"
class="xref page">Success</a> action and clears possible previous errors.</p>
</div>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Always,
with 0 errors, also when the workflow is not run by a Repeat action.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/repeat.html
b/manual/next/workflow/actions/repeat.html
index 71220d626c..d0726f0796 100644
--- a/manual/next/workflow/actions/repeat.html
+++ b/manual/next/workflow/actions/repeat.html
@@ -3020,11 +3020,11 @@ This variable is detected by the Repeat action, and the
loop stops. Because the
</thead>
<tbody>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Workflow
action name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Action
name</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The name
of the workflow action.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">File to
repeat</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">File to
repeat (.hpl or .hwf)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The
filename of the pipeline or workflow to execute repeatedly.</p></td>
</tr>
<tr>
@@ -3058,14 +3058,14 @@ if you set a variable on a remote server the value is
currently not reported bac
<td class="tableblock halign-left valign-top"><p class="tableblock">Add a
delay of x seconds between repeated executions of the selected workflow or
pipeline.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Keep
variable values after execution</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Keep
variable values after executions</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">This
option keeps the variable values after a (repeating) pipeline or workflow
execution to inject into the next iteration.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top" colspan="2"><p
class="tableblock">Logging file</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log the
execution to a file?</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Log the
execution to a file</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Check if
you want to log the repeated executions of the selected workflow or pipeline to
a log file</p></td>
</tr>
<tr>
@@ -3077,11 +3077,11 @@ if you set a variable on a remote server the value is
currently not reported bac
<td class="tableblock halign-left valign-top"><p class="tableblock">The
extension to use for the log file</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Add date
to filename?</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Add date
to filename</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Add the
current date to the log filename</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Add time
to filename?</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Add time
to filename</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Add the
current time to the log filename</p></td>
</tr>
<tr>
@@ -3093,14 +3093,14 @@ if you set a variable on a remote server the value is
currently not reported bac
<td class="tableblock halign-left valign-top"><p class="tableblock">Append
instead of creating a new file when the current log file already exist.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Log file
update interval?</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Log file
update interval</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The update
interval (in milliseconds) to update the log file</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p
class="tableblock">Parameters/Variables to set</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">You can
specify the values of any parameters or variables in this dialog.
The values can contain variables themselves which will be resolved before
every iteration.
-If the option <code><code>Keep variable values after execution</code></code>
is set we evaluate the expression only once before the first execution of the
file.</p>
+If the option <strong>Keep variable values after executions</strong> is set we
evaluate the expression only once before the first execution of the file.</p>
<p class="tableblock">To send Parameters to a Repeat Action, set the
parameters/variables name and Value columns. Value can be hard-coded or
reference a parameter/variable name. Parameters do not automatically flow
through a Repeat Action.</p></td>
</tr>
</tbody>
@@ -3109,6 +3109,68 @@ If the option <code><code>Keep variable values after
execution</code></code> is
<p>For the exact rules that decide which value a parameter ends up with, see
<a href="../../variables/parameter-passing.html" class="xref page">Passing
parameters to a child pipeline or workflow</a>.</p>
</div>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The loop
ended because an <a href="repeat-end.html" class="xref page">End repeat</a>
action ran in the repeated workflow, or because the variable in <strong>Stop
repeating when this variable is set</strong> got its value, and the previous
action was true. The value is compared without case: <code>y</code> matches
<code>Y</code>.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A run of
the file failed. The loop ends there.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The result
files of the previous action, plus those of the last run. The runs before the
last one add nothing.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The result
rows of the previous action, plus those of the last run, as for the result
files. The metrics of the last run (such as lines written) are added in the
same way.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Repeat doesn’t set a true result of its own: when the loop ends normally
(End repeat, or the variable got its value), the result of the previous action
is passed on. After a false previous action, reached through an unconditional
or a failure hop, the result stays false, with 0 errors, even when every run of
the file succeeded. When the variable already has its value before the first
run, the file is not run at all and the result of the previous action is passed
on in the same way.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+An empty <strong>File to repeat</strong>, or a <strong>Delay in
seconds</strong> that is not a number, is not a false result: the workflow
stops with an error and no hop from the action is followed.
+</td>
+</tr>
+</table>
+</div>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/setvariables.html
b/manual/next/workflow/actions/setvariables.html
index 492e2b6b4e..463bc8092b 100644
--- a/manual/next/workflow/actions/setvariables.html
+++ b/manual/next/workflow/actions/setvariables.html
@@ -2962,8 +2962,8 @@
<div class="sectionbody">
<table class="tableblock frame-all grid-all" style="width: 90%;">
<colgroup>
-<col style="width: 50%;">
-<col style="width: 50%;">
+<col style="width: 25%;">
+<col style="width: 75%;">
</colgroup>
<thead>
<tr>
@@ -2976,7 +2976,7 @@
<td class="tableblock halign-left valign-top" colspan="2"><p
class="tableblock">Properties file</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Workflow
action name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Action
name</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The name
of the workflow action.</p></td>
</tr>
<tr>
@@ -2988,7 +2988,7 @@
<td class="tableblock halign-left valign-top"><div class="content"><div
class="ulist">
<ul>
<li>
-<p>Valid in the Java Virtual machine</p>
+<p>Valid in the Java Virtual Machine</p>
</li>
<li>
<p>Valid in the current workflow</p>
@@ -3049,6 +3049,44 @@
<p>The "Variable substitution" option allows you to dynamically create and set
variables based on existing variable values. When enabled, any variable
references in the variable name or value fields will be resolved before the
variables are set. This enables the creation of new variables whose names and
values depend on other variable contents, providing a flexible and dynamic
approach to variable management within workflows. The syntax
<code>${MyVariable}</code> is used to retrieve vari [...]
</div>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The
variables were set, with 0 errors, also after an action that ended with
errors.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The
properties file can’t be read, or <strong>Valid in the parent</strong> is
used in a workflow that has no parent workflow (a workflow run on its own, not
by a Workflow action). The number of errors is 1.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/sql.html
b/manual/next/workflow/actions/sql.html
index 54cef09bf7..de2ddb097d 100644
--- a/manual/next/workflow/actions/sql.html
+++ b/manual/next/workflow/actions/sql.html
@@ -2986,7 +2986,7 @@
<td class="tableblock halign-left valign-top"><p class="tableblock">The name
of the workflow action.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Database
Connection</p></td>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">Connection</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The
database connection to use.</p></td>
</tr>
<tr>
@@ -3002,22 +3002,72 @@
<td class="tableblock halign-left valign-top"><p class="tableblock">Character
encoding of the SQL file (e.g. UTF-8, windows-1252). Leave empty to use the
system default. Useful when the file is UTF-8 but the system uses another
encoding (e.g. Windows-1252).</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Send SQL
as single statement?</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Send SQL
as single statement</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Enable
this option to not separate the statement by semicolons.
This is often useful when a script is given or multiple statements should be
processed and committed as one single statement.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Use
variable substitution?</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Use
variable substitution</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Enables
variables to be used in the SQL Script.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">SQL
script</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">SQL
Script</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The SQL
script to execute.
Multiple statements can be separated by semicolons.</p></td>
</tr>
</tbody>
</table>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Every
statement ran, with 0 errors. An empty SQL script is also true.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A
statement fails, the SQL file doesn’t exist, or the connection is unknown
or can’t be opened. The number of errors is 1.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Without <strong>Send SQL as single statement</strong>, the statements run one
after the other. When one fails, the changes of the statements before it are
kept, and the statements after it are not run. With <strong>Send SQL as single
statement</strong>, the script goes to the database in one piece, and what is
kept after an error depends on the database: on PostgreSQL, none of the changes
are kept.
+</td>
+</tr>
+</table>
+</div>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/start.html
b/manual/next/workflow/actions/start.html
index 1d0bd18490..a5ec5e3f38 100644
--- a/manual/next/workflow/actions/start.html
+++ b/manual/next/workflow/actions/start.html
@@ -2991,6 +2991,44 @@ The start action has additional options to repeat a
workflow. This works in both
<p>While this does not replace a scheduler it can be used for basic
scheduling. Please note that using this will keep the workflow in a running
state meaning the Java process will continue to exist and use resources on the
system.</p>
</div>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Always.
With <strong>Repeat</strong>, after waiting for the next run.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">Hops</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Start does
not evaluate a result: only its unconditional hops are followed. A success or
failure hop from Start is never followed.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/success.html
b/manual/next/workflow/actions/success.html
index 2dac35ed25..b8ce84c063 100644
--- a/manual/next/workflow/actions/success.html
+++ b/manual/next/workflow/actions/success.html
@@ -2985,12 +2985,46 @@ The success action is mainly intended to turn an error
or failed state into a su
</thead>
<tbody>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Workflow
action name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Action
name</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The name
of the workflow action.</p></td>
</tr>
</tbody>
</table>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Always,
with 0 errors, also after an action that ended with errors.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/tableexists.html
b/manual/next/workflow/actions/tableexists.html
index 83e79a847d..949e526edd 100644
--- a/manual/next/workflow/actions/tableexists.html
+++ b/manual/next/workflow/actions/tableexists.html
@@ -3006,6 +3006,56 @@
</tbody>
</table>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The table
exists, with 0 errors.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The table
doesn’t exist: the number of errors is 0. When the connection is empty or
can’t be opened, the number of errors is 1.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+A <strong>Connection</strong> that doesn’t exist in the project also
gives false with 0 errors, and nothing is logged: the same result as a table
that doesn’t exist.
+</td>
+</tr>
+</table>
+</div>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/telnet.html
b/manual/next/workflow/actions/telnet.html
index 980bdaba07..a3061e3f5b 100644
--- a/manual/next/workflow/actions/telnet.html
+++ b/manual/next/workflow/actions/telnet.html
@@ -2985,12 +2985,50 @@
<td class="tableblock halign-left valign-top"><p class="tableblock">The port
(default: 23)</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">TimeOut
(ms)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Timeout
(ms)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The
timeout period in milliseconds (default 3000).</p></td>
</tr>
</tbody>
</table>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A
connection to the port could be opened, with 0 errors.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The
connection can’t be opened (for example, nothing listens on the port), or
<strong>Host name/IP</strong> is empty. The number of errors is 1.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/truncatetables.html
b/manual/next/workflow/actions/truncatetables.html
index 74fdea95df..de5b3ee30a 100644
--- a/manual/next/workflow/actions/truncatetables.html
+++ b/manual/next/workflow/actions/truncatetables.html
@@ -2981,7 +2981,7 @@
<td class="tableblock halign-left valign-top"><p class="tableblock">Name of
the database connection on which the tables reside.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Previous
results to args?</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Previous
results to args</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Check this
option if you want to get in a dynamic way tables to truncate from results of
previous workflow action.</p></td>
</tr>
<tr>
@@ -2993,11 +2993,65 @@ Tables name will be automatically added to "Selected
tables" grid.</p></td>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Selected
tables grid</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Specify
here the tables to truncate (insert it manually or use the previous button).
-If the table is in a different schema that the default one, please specify the
schema name.</p></td>
+If the table is in a different schema than the default one, please specify the
schema name.</p></td>
</tr>
</tbody>
</table>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Every
table was truncated, with 0 errors. Also true when there is nothing to
truncate: an empty list, or <strong>Previous results to args</strong> checked
while there are no previous result rows (the tables in the grid are not
truncated then).</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A table
doesn’t exist, or the connection is unknown or can’t be opened. The
number of errors is 1: the action stops at the first table that fails, and the
tables after it are not truncated.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lines
deleted</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The number
of tables truncated, not the number of rows.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+With <strong>Previous results to args</strong>, the first field of each result
row is the table name and the second field the schema name. A row with an empty
table name is skipped: it is logged as an error, but doesn’t count as one.
+</td>
+</tr>
+</table>
+</div>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/waitfor.html
b/manual/next/workflow/actions/waitfor.html
index 936d245994..c487e9cc6b 100644
--- a/manual/next/workflow/actions/waitfor.html
+++ b/manual/next/workflow/actions/waitfor.html
@@ -2973,16 +2973,50 @@
</thead>
<tbody>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">action
name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Action
name</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The name
of the workflow action.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Wait
for</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">The delay
to wait</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Maximum
timeout</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The time
to wait, in the unit selected in the list below it: Seconds, Minutes or
Hours.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The time
is up. A <strong>Maximum timeout</strong> that is not a number counts as 0: the
action doesn’t wait. The number of errors of the previous action is kept:
this action doesn’t reset it. As the last action after an action with
errors (for example a failed action on a failure hop), the workflow still ends
as failed, although this action is true: add a <a href="success.html"
class="xref page">Success</a> [...]
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Only when
the workflow is stopped while the action waits, for example by an Abort in a
parallel branch. No hop from the action is followed then.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Unit
time</p></td>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Specify
the unit time (second, minute and hour)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
</tr>
</tbody>
</table>
diff --git a/manual/next/workflow/actions/waitforsql.html
b/manual/next/workflow/actions/waitforsql.html
index df10f7a4e4..8b53a7262e 100644
--- a/manual/next/workflow/actions/waitforsql.html
+++ b/manual/next/workflow/actions/waitforsql.html
@@ -2985,7 +2985,7 @@
<td class="tableblock halign-left valign-top"><p class="tableblock">Name of
the table schema to evaluate.</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Target
table name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Target
table</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Name of
the table to evaluate.</p></td>
</tr>
<tr>
@@ -3062,6 +3062,68 @@ When left unchecked, reaching the maximum timeout limit
causes the workflow acti
</tbody>
</table>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The
condition is met before <strong>Maximum timeout</strong>, or the timeout is
reached while <strong>Success on timeout</strong> is checked. The number of
errors is 0.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The
timeout is reached while <strong>Success on timeout</strong> is unchecked, the
connection is empty, unknown or can’t be opened, <strong>Target
table</strong> is empty (without <strong>Custom SQL</strong>), or <strong>SQL
Script</strong> is empty (with <strong>Custom SQL</strong>). The number of
errors is 1.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Without
<strong>Custom SQL</strong>: passed on unchanged. With <strong>Custom
SQL</strong>: <strong>Clear list of result rows before execution</strong>
removes the previous result rows when the action starts, also when the
condition is never met. <strong>Add rows to result</strong> adds the rows the
query returns only when the condition is met.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+A query that fails, for example on a table that doesn’t exist, counts as
a condition that is not met: the action logs the error and keeps checking until
<strong>Maximum timeout</strong>. With the default <strong>Maximum
timeout</strong> of 0, it keeps checking forever.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+With <strong>Custom SQL</strong>, the action counts the rows the query
returns, not a value in them: <code>SELECT count(*) FROM my_table</code>
returns 1 row, also when the table is empty.
+</td>
+</tr>
+</table>
+</div>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/webserviceavailable.html
b/manual/next/workflow/actions/webserviceavailable.html
index 69a06d77e5..7cefb31a63 100644
--- a/manual/next/workflow/actions/webserviceavailable.html
+++ b/manual/next/workflow/actions/webserviceavailable.html
@@ -3000,6 +3000,44 @@ The value is depending on the quality of service of this
URL and experiences.</p
</tbody>
</table>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The URL
could be opened and its content read, with 0 errors.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The URL
can’t be opened or read: nothing listens on the port, the server answers
with an HTTP error status (such as 404 Not Found), or <strong>URL</strong> is
empty. The number of errors is 1.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/writetolog.html
b/manual/next/workflow/actions/writetolog.html
index 1cd982abec..df55f82112 100644
--- a/manual/next/workflow/actions/writetolog.html
+++ b/manual/next/workflow/actions/writetolog.html
@@ -3030,6 +3030,44 @@ If an error stops anything from being written to the
log, then disable the Hops
</tbody>
</table>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The
message was written, or there was nothing to write: an empty message, or a
<strong>Log level</strong> that the workflow’s log level doesn’t
show. The number of errors of the previous action is kept: this action
doesn’t reset it. As the last action after an action with errors (for
example a failed action on a failure hop), the workflow still ends as failed,
although this action is true: add a <a href [...]
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Only when
writing the message fails, with 1 error.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/xsdvalidator.html
b/manual/next/workflow/actions/xsdvalidator.html
index 555140aa29..827d286d32 100644
--- a/manual/next/workflow/actions/xsdvalidator.html
+++ b/manual/next/workflow/actions/xsdvalidator.html
@@ -3003,7 +3003,7 @@
<div class="ulist">
<ul>
<li>
-<p>A <code>DOCTYPE</code> declaration or an external entity in the XML being
validated is refused and the action fails.</p>
+<p>A <code>DOCTYPE</code> declaration that points to an external DTD, or an
external entity, in the XML being validated is refused and the action fails. A
<code>DOCTYPE</code> with only internal declarations is accepted.</p>
</li>
<li>
<p>XSD sources <strong>none (default)</strong> and <strong>is defined inside
XML</strong> do not work: the <code>xsi:schemaLocation</code> /
<code>xsi:noNamespaceSchemaLocation</code> reference is not resolved, not even
when it points at a local file. Both options need the checkbox.</p>
@@ -3047,6 +3047,44 @@
</tbody>
</table>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The XML
file is valid against the schema, with 0 errors.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The XML
file is not valid, the XML file or the XSD file doesn’t exist, or the
action refuses the file because <strong>Enable external entity for XSD
validation</strong> is unchecked (see the option above). The number of errors
is 1.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">
diff --git a/manual/next/workflow/actions/xslt.html
b/manual/next/workflow/actions/xslt.html
index c59872790f..1b3b2d588b 100644
--- a/manual/next/workflow/actions/xslt.html
+++ b/manual/next/workflow/actions/xslt.html
@@ -3002,14 +3002,14 @@ At this time XML File name is the first field in the
result set, XSL File name t
<td class="tableblock halign-left valign-top"><p class="tableblock">The full
name of the XSL file</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Output
File name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Output
Filename</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The full
name of the created document (result of XSL transformation)</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top" colspan="2"><p
class="tableblock">Settings</p></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p
class="tableblock">Transformer Factory</p></td>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">Transformer factory</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">You can
select JAXP or SAXON as the transformer factory.</p></td>
</tr>
<tr>
@@ -3020,19 +3020,19 @@ At this time XML File name is the first field in the
result set, XSL File name t
<div class="ulist">
<ul>
<li>
-<p>Create new with unique name : a new output file will be created</p>
+<p>Create new with unique name: meant to write a new output file, with the
date and time added to its name. See the NOTE under <a
href="#_result">Result</a>.</p>
</li>
<li>
-<p>Do nothing : nothing will be done</p>
+<p>Do Nothing: the existing file is left as it is, and the action is true</p>
</li>
<li>
-<p>Fail : the workflow will fail</p>
+<p>Fail: the action is false, with 1 error</p>
</li>
</ul>
</div></div></td>
</tr>
<tr>
-<td class="tableblock halign-left valign-top"><p class="tableblock">Add files
to result files name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Add output
filename to result</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Add the
target file names to the list of result files of this workflow action for use
in the next workflow actions.</p></td>
</tr>
</tbody>
@@ -3097,6 +3097,72 @@ At this time XML File name is the first field in the
result set, XSL File name t
</table>
</div>
</div>
+</div>
+<div class="sect1">
+<h2 id="_result"><a class="link" href="#_result">Result</a></h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>What this action passes on to the next action. See <a
href="../action-results.html" class="xref page">Action results</a> for how
results travel through a workflow.</p>
+</div>
+<table class="tableblock frame-all grid-all" style="width: 90%;">
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 75%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Result</th>
+<th class="tableblock halign-left valign-top">Value</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">True</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Every file
was transformed, with 0 errors. An output file that exists while <strong>If
file exists</strong> is <strong>Do Nothing</strong> also counts as done: the
file is left as it is.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p
class="tableblock">False</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The XML
file or the XSL file doesn’t exist, the XSL file can’t be used, or
the output file exists while <strong>If file exists</strong> is
<strong>Fail</strong>. The number of errors is 1.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
files</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Result
rows</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Passed on
unchanged.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lines
written</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">The number
of files that were transformed (or left as they are with <strong>Do
Nothing</strong>).</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+In this version, only <strong>XML File name</strong>, <strong>XSL File
name</strong>, <strong>Output Filename</strong> and <strong>If file
exists</strong> are stored in the workflow file. <strong>Get filenames from
previous result</strong>, <strong>Transformer factory</strong>, <strong>Add
output filename to result</strong> and the <strong>Advanced</strong> tab are
not saved: once the workflow is saved and opened again, or run with hop-run,
they have no effect. No output file is added to [...]
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+In this version, <strong>Create new with unique name</strong> overwrites the
existing output file instead of writing a new one.
+</td>
+</tr>
+</table>
+</div>
+</div>
</div>
</article>
<nav class="pagination" data-pagefind-ignore aria-label="Page">