This is an automated email from the ASF dual-hosted git repository.
bamaer pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hop.git
The following commit(s) were added to refs/heads/main by this push:
new f5aea46df0 Add Beam Hive Catalog Input to the navigation and replace
the hand-maintained list on the transforms page. #8977 (#8978)
f5aea46df0 is described below
commit f5aea46df0ccfd55aaac29b60c8b73e26e996794
Author: Adalennis <[email protected]>
AuthorDate: Sat Oct 17 09:52:52 2026 +0200
Add Beam Hive Catalog Input to the navigation and replace the
hand-maintained list on the transforms page. #8977 (#8978)
* Add Beam Hive Catalog Input to the navigation and replace the
hand-maintained list on the transforms page. #8977
* Stop promising a list of transforms on the pages that link to the
transforms overview. #8977
---
docs/hop-user-manual/modules/ROOT/nav.adoc | 1 +
.../ROOT/pages/getting-started/hop-next-steps.adoc | 2 +-
.../ROOT/pages/pipeline/create-pipeline.adoc | 2 +-
.../modules/ROOT/pages/pipeline/pipelines.adoc | 2 +-
.../modules/ROOT/pages/pipeline/transforms.adoc | 255 +--------------------
.../pages/snippets/hop-concepts/transform.adoc | 2 +-
6 files changed, 10 insertions(+), 254 deletions(-)
diff --git a/docs/hop-user-manual/modules/ROOT/nav.adoc
b/docs/hop-user-manual/modules/ROOT/nav.adoc
index a2fa992ca5..5bba109eb7 100644
--- a/docs/hop-user-manual/modules/ROOT/nav.adoc
+++ b/docs/hop-user-manual/modules/ROOT/nav.adoc
@@ -124,6 +124,7 @@ under the License.
*** xref:pipeline/transforms/beamfileoutput.adoc[Beam file output]
*** xref:pipeline/transforms/beamgcppublisher.adoc[Beam GCP Pub/Sub: publish]
*** xref:pipeline/transforms/beamgcpsubscriber.adoc[Beam GCP Pub/Sub:
subscribe]
+*** xref:pipeline/transforms/beamhivecataloginput.adoc[Beam Hive catalog input]
*** xref:pipeline/transforms/beamkafkaconsume.adoc[Beam Kafka consume]
*** xref:pipeline/transforms/beamkafkaproduce.adoc[Beam Kafka produce]
*** xref:pipeline/transforms/binaryfileoutput.adoc[Binary File Output]
diff --git
a/docs/hop-user-manual/modules/ROOT/pages/getting-started/hop-next-steps.adoc
b/docs/hop-user-manual/modules/ROOT/pages/getting-started/hop-next-steps.adoc
index 751689af31..53c7a5e11e 100644
---
a/docs/hop-user-manual/modules/ROOT/pages/getting-started/hop-next-steps.adoc
+++
b/docs/hop-user-manual/modules/ROOT/pages/getting-started/hop-next-steps.adoc
@@ -29,7 +29,7 @@ Where you go next depends on what you're trying to do.
== Build more pipelines
-* xref:pipeline/pipelines.adoc[Pipelines] - the full picture, including the
complete xref:pipeline/transforms.adoc[list of transforms]
+* xref:pipeline/pipelines.adoc[Pipelines] - the full picture, including the
xref:pipeline/transforms.adoc[transforms], each with a page under Pipelines ›
Transforms in the navigation
* xref:pipeline/run-preview-debug-pipeline.adoc[Run, Preview and Debug a
Pipeline] - preview a subset, pause on a condition, step through rows
* xref:pipeline/errorhandling.adoc[Error Handling] - send failing rows down a
separate hop instead of stopping
* xref:fields-parameters-variables.adoc[Fields, parameters and variables] -
three things that look alike in the UI and behave differently
diff --git
a/docs/hop-user-manual/modules/ROOT/pages/pipeline/create-pipeline.adoc
b/docs/hop-user-manual/modules/ROOT/pages/pipeline/create-pipeline.adoc
index 18e5417a70..06ad1bc6e8 100644
--- a/docs/hop-user-manual/modules/ROOT/pages/pipeline/create-pipeline.adoc
+++ b/docs/hop-user-manual/modules/ROOT/pages/pipeline/create-pipeline.adoc
@@ -79,7 +79,7 @@ An alternative to clicking is arrow key navigation + enter.
Repeat this step now or whenever you want to add more transforms to your
pipeline.
Once you've added a transform to your pipeline, you can drag to reposition it.
-Check the xref:pipeline/transforms.adoc[list] of transforms to add to your
pipeline for more details.
+Every xref:pipeline/transforms.adoc[transform] has a page of its own under
Pipelines › Transforms in the navigation, with the details of what it does and
its options.
image::getting-started/getting-started-add-transform.png[Hop - Add
Transform,75%,align="left"]
diff --git a/docs/hop-user-manual/modules/ROOT/pages/pipeline/pipelines.adoc
b/docs/hop-user-manual/modules/ROOT/pages/pipeline/pipelines.adoc
index c5fdc7d765..489b2e2098 100644
--- a/docs/hop-user-manual/modules/ROOT/pages/pipeline/pipelines.adoc
+++ b/docs/hop-user-manual/modules/ROOT/pages/pipeline/pipelines.adoc
@@ -173,7 +173,7 @@ To dive deeper into building and managing pipelines,
explore:
* xref:pipeline/hop-pipeline-editor.adoc[Pipeline Editor] — Learn your way
around the pipeline visual designer.
* xref:pipeline/create-pipeline.adoc[Create a Pipeline] — Step-by-step
instructions for creating and saving pipelines.
* xref:pipeline/pipeline-sources.adoc[Pipeline Sources] — The transforms that
can start a pipeline.
-* xref:pipeline/transforms.adoc[Transforms Catalog] — Browse the complete
library of over 100 transforms.
+* xref:pipeline/transforms.adoc[Transforms] — Hundreds of transforms, each
with a page of its own under Pipelines › Transforms in the navigation.
* xref:pipeline/run-preview-debug-pipeline.adoc[Run, Preview and Debug a
Pipeline] — Techniques for inspecting live rows in-flight.
* xref:pipeline/pipeline-metrics.adoc[Pipeline Metrics] — Understand row
counters, speeds, and buffer metrics.
* xref:pipeline/metadata-injection.adoc[Metadata Injection] — Generate
dynamic, metadata-driven pipelines at runtime.
diff --git a/docs/hop-user-manual/modules/ROOT/pages/pipeline/transforms.adoc
b/docs/hop-user-manual/modules/ROOT/pages/pipeline/transforms.adoc
index 9ad1ebc392..3f908fda72 100644
--- a/docs/hop-user-manual/modules/ROOT/pages/pipeline/transforms.adoc
+++ b/docs/hop-user-manual/modules/ROOT/pages/pipeline/transforms.adoc
@@ -19,8 +19,8 @@ under the License.
[[transform-plugins]]
= Transform Plugins
-Transforms are the cornerstone of HOP, they are used to process and transform
your data, they are the building blocks that are used to create a pipeline.
-The pages nested under this topic contain information on how to use the
transforms and what you have to pay attention too when using them.
+Transforms are the cornerstone of Hop, they are used to process and transform
your data, they are the building blocks that are used to create a pipeline.
+The pages nested under this topic contain information on how to use the
transforms and what you have to pay attention to when using them.
Not every transform can sit at the start of a pipeline.
xref:pipeline/pipeline-sources.adoc[Pipeline sources] produce rows without
incoming hops (Generate Rows, file readers, Get Variables, \ldots).
@@ -29,251 +29,6 @@ In Hop Gui, search for `pipeline source` in the
add-transform dialog; Verify com
Field tables often share Format, Length, Precision, Decimal, Group and
Currency columns.
Those are explained once in xref:pipeline/formatting-values.adoc[Formatting
numbers and dates].
-* xref:pipeline/transforms/abort.adoc[Abort]
-* xref:pipeline/transforms/addchecksum.adoc[Add a checksum]
-* xref:pipeline/transforms/addconstant.adoc[Add Constants]
-* xref:pipeline/transforms/addsequence.adoc[Add Sequence]
-* xref:pipeline/transforms/addfieldschangesequence.adoc[Add value fields
changing sequence]
-* xref:pipeline/transforms/addxml.adoc[Add XML]
-* xref:pipeline/transforms/analyticquery.adoc[Analytic Query]
-* xref:pipeline/transforms/apache-tika.adoc[Apache Tika]
-* xref:pipeline/transforms/append.adoc[Append Streams]
-* xref:pipeline/transforms/avro-decode.adoc[Avro decode]
-* xref:pipeline/transforms/avro-encode.adoc[Avro encode]
-* xref:pipeline/transforms/avro-file-input.adoc[Avro file input]
-* xref:pipeline/transforms/avro-file-output.adoc[Avro file output]
-* xref:pipeline/transforms/aws-sns-notify.adoc[AWS SNS notify]
-* xref:pipeline/transforms/aws-sqs-reader.adoc[AWS SQS reader]
-* xref:pipeline/transforms/azure-event-hubs-listener.adoc[Azure Event Hubs
listener]
-* xref:pipeline/transforms/azure-event-hubs-writer.adoc[Azure Event Hubs
writer]
-* xref:pipeline/transforms/beambigtableinput.adoc[Beam Bigtable input]
-* xref:pipeline/transforms/beambigtableoutput.adoc[Beam Bigtable output]
-* xref:pipeline/transforms/beambigqueryinput.adoc[Beam BigQuery Input]
-* xref:pipeline/transforms/beambigqueryoutput.adoc[Beam BigQuery Output]
-* xref:pipeline/transforms/beamgcppublisher.adoc[Beam GCP Pub/Sub: publish]
-* xref:pipeline/transforms/beamgcpsubscriber.adoc[Beam GCP Pub/Sub: subscribe]
-* xref:pipeline/transforms/beamfileinput.adoc[Beam file input]
-* xref:pipeline/transforms/beamfileoutput.adoc[Beam file output]
-* xref:pipeline/transforms/beamkafkaconsume.adoc[Beam Kafka consume]
-* xref:pipeline/transforms/beamkafkaproduce.adoc[Beam Kafka produce]
-* xref:pipeline/transforms/binaryfileoutput.adoc[Binary File Output]
-* xref:pipeline/transforms/beamkinesisconsume.adoc[Beam Kinesis consume]
-* xref:pipeline/transforms/beamkinesisproduce.adoc[Beam Kinesis produce]
-* xref:pipeline/transforms/beamtimestamp.adoc[Beam timestamp]
-* xref:pipeline/transforms/beamwindow.adoc[Beam window]
-* xref:pipeline/transforms/blockingtransform.adoc[Blocking transform]
-* xref:pipeline/transforms/blockuntiltransformsfinish.adoc[Blocking until
transforms finish]
-* xref:pipeline/transforms/calculator.adoc[Calculator]
-* xref:pipeline/transforms/cassandra-input.adoc[Cassandra Input]
-* xref:pipeline/transforms/cassandra-output.adoc[Cassandra Output]
-* xref:pipeline/transforms/sstable-output.adoc[Cassandra SSTable Output]
-* xref:pipeline/transforms/calldbproc.adoc[Call DB procedure]
-* xref:pipeline/transforms/changefileencoding.adoc[Change file encoding]
-* xref:pipeline/transforms/checkfilelocked.adoc[Check if file is locked]
-* xref:pipeline/transforms/checkwebserviceavailable.adoc[Check if webservice
is available]
-* xref:pipeline/transforms/clonerow.adoc[Clone row]
-* xref:pipeline/transforms/closure.adoc[Closure]
-* xref:pipeline/transforms/coalesce.adoc[Coalesce]
-* xref:pipeline/transforms/columnexists.adoc[Column exists]
-* xref:pipeline/transforms/combinationlookup.adoc[Combination lookup/update]
-* xref:pipeline/transforms/concatfields.adoc[Concat fields]
-* xref:pipeline/transforms/copyrowstoresult.adoc[Copy rows to result]
-* xref:pipeline/transforms/creditcardvalidator.adoc[Credit card validator]
-* xref:pipeline/transforms/csvinput.adoc[CSV file input]
-* xref:pipeline/transforms/cypher-output.adoc[Cypher output]
-* xref:pipeline/transforms/databasejoin.adoc[Database Join]
-* xref:pipeline/transforms/databaselookup.adoc[Database Lookup]
-* xref:pipeline/transforms/databasevaluevalidation.adoc[Database value
validation]
-* xref:pipeline/transforms/datagrid.adoc[Data Grid]
-* xref:pipeline/transforms/datasetinput.adoc[Data set input]
-* xref:pipeline/transforms/datasetoutput.adoc[Data set output]
-* xref:pipeline/transforms/data-stream-input.adoc[Data stream input]
-* xref:pipeline/transforms/data-stream-output.adoc[Data stream output]
-* xref:pipeline/transforms/dbimpactinput.adoc[Database impact input]
-* xref:pipeline/transforms/delay.adoc[Delay row]
-* xref:pipeline/transforms/delete.adoc[Delete]
-* xref:pipeline/transforms/serialize-de-from-file.adoc[De-Serialize From File]
-* xref:pipeline/transforms/detectemptystream.adoc[Detect Empty Stream]
-* xref:pipeline/transforms/detectlanguage.adoc[Detect language]
-* xref:pipeline/transforms/dimensionlookup.adoc[Dimension lookup/update]
-* xref:pipeline/transforms/dorisbulkloader.adoc[Doris Bulk Loader]
-* xref:pipeline/transforms/rulesaccumulator.adoc[Drools Rule Accumulator]
-* xref:pipeline/transforms/rulesexecutor.adoc[Drools Rule Executor]
-* xref:pipeline/transforms/dummy.adoc[Dummy (do nothing)]
-* xref:pipeline/transforms/dynamicsqlrow.adoc[Dynamic SQL row]
-* xref:pipeline/transforms/edi2xml.adoc[Edi to XML]
-* xref:pipeline/transforms/emailinput.adoc[Email Messages Input]
-* xref:pipeline/transforms/enhancedjsonoutput.adoc[Enhanced JSON output]
-* xref:pipeline/transforms/excelinput.adoc[Excel input]
-* xref:pipeline/transforms/excelwriter.adoc[Excel writer]
-* xref:pipeline/transforms/execprocess.adoc[Execute a process]
-* xref:pipeline/transforms/execsqlrow.adoc[Execute row SQL script]
-* xref:pipeline/transforms/execsql.adoc[Execute SQL script]
-* xref:pipeline/transforms/exectests.adoc[Execute unit tests]
-* xref:pipeline/transforms/execinfo.adoc[Execution information]
-* xref:pipeline/transforms/fake.adoc[Fake data]
-* xref:pipeline/transforms/fileexists.adoc[File exists]
-* xref:pipeline/transforms/filemetadata.adoc[File metadata]
-* xref:pipeline/transforms/filesfromresult.adoc[Files from result]
-* xref:pipeline/transforms/filestoresult.adoc[Files to result]
-* xref:pipeline/transforms/filterrows.adoc[Filter Rows]
-* xref:pipeline/transforms/formula.adoc[Formula]
-* xref:pipeline/transforms/openformula.adoc[OpenFormula]
-* xref:pipeline/transforms/fuzzymatch.adoc[Fuzzy match]
-* xref:pipeline/transforms/generate-graph-csvs.adoc[Generate graph CSVs]
-* xref:pipeline/transforms/generaterandomvalue.adoc[Generate Random Value]
-* xref:pipeline/transforms/getdatafromxml.adoc[Get Data From XML]
-* xref:pipeline/transforms/getfilenames.adoc[Get filenames]
-* xref:pipeline/transforms/getfilesrowcount.adoc[Get files rowcount]
-* xref:pipeline/transforms/get-graph-logging-info.adoc[Get graph logging info]
-* xref:pipeline/transforms/get-graph-schema.adoc[Get graph schema]
-* xref:pipeline/transforms/getrecordsfromstream.adoc[Get records from stream]
-* xref:pipeline/transforms/getrowsfromresult.adoc[Get Rows from Result]
-* xref:pipeline/transforms/getsubfolders.adoc[Get SubFolder names]
-* xref:pipeline/transforms/getsystemdata.adoc[Get System Info]
-* xref:pipeline/transforms/gettablenames.adoc[Get table names]
-* xref:pipeline/transforms/getvariable.adoc[Get variables]
-* xref:pipeline/transforms/gitinput.adoc[Git Input]
-* xref:pipeline/transforms/google-analytics.adoc[Google Analytics Input]
-* xref:pipeline/transforms/google-sheets-input.adoc[Google Sheets input]
-* xref:pipeline/transforms/google-sheets-output.adoc[Google Sheets output]
-* xref:pipeline/transforms/graph-output.adoc[Graph output]
-* xref:pipeline/transforms/graph-query.adoc[Graph query]
-* xref:pipeline/transforms/graph-vector-search.adoc[Graph vector search]
-* xref:pipeline/transforms/groupby.adoc[Group By]
-* xref:pipeline/transforms/html2text.adoc[HTML 2 Text]
-* xref:pipeline/transforms/http.adoc[HTTP client]
-* xref:pipeline/transforms/httppost.adoc[HTTP Post]
-* xref:pipeline/transforms/identifylastrow.adoc[Identify last row in a stream]
-* xref:pipeline/transforms/ifnull.adoc[If null]
-* xref:pipeline/transforms/injector.adoc[Injector]
-* xref:pipeline/transforms/insertupdate.adoc[Insert / Update]
-* xref:pipeline/transforms/javafilter.adoc[Java Filter]
-* xref:pipeline/transforms/javascript.adoc[JavaScript]
-* xref:pipeline/transforms/jdbcmetadata.adoc[JDBC Metadata]
-* xref:pipeline/transforms/joinrows.adoc[Join Rows]
-* xref:pipeline/transforms/jms-consumer.adoc[JMS consumer]
-* xref:pipeline/transforms/jms-producer.adoc[JMS producer]
-* xref:pipeline/transforms/jsoninput.adoc[JSON Input]
-* xref:pipeline/transforms/jsonoutput.adoc[JSON Output]
-* xref:pipeline/transforms/kafkaconsumer.adoc[Kafka consumer]
-* xref:pipeline/transforms/kafkaproducer.adoc[Kafka producer]
-* xref:pipeline/transforms/spark-lake-table-input.adoc[Lake table input]
-* xref:pipeline/transforms/spark-lake-table-output.adoc[Lake table output]
-* xref:pipeline/transforms/languagemodelchat.adoc[Language model chat]
-* xref:pipeline/transforms/ldapinput.adoc[LDAP Input]
-* xref:pipeline/transforms/ldapoutput.adoc[LDAP Output]
-* xref:pipeline/transforms/loadfileinput.adoc[Load file content in memory]
-* xref:pipeline/transforms/mail.adoc[Mail]
-* xref:pipeline/transforms/mapping-input.adoc[Mapping input]
-* xref:pipeline/transforms/mapping-output.adoc[Mapping output]
-* xref:pipeline/transforms/maskfields.adoc[Mask fields]
-* xref:pipeline/transforms/memgroupby.adoc[Memory Group By]
-* xref:pipeline/transforms/mergejoin.adoc[Merge Join]
-* xref:pipeline/transforms/mergerows.adoc[Merge rows (diff)]
-* xref:pipeline/transforms/metainject.adoc[Metadata Injection]
-* xref:pipeline/transforms/metadata-input.adoc[Metadata input]
-* xref:pipeline/transforms/metastructure.adoc[Metadata structure of stream]
-* xref:pipeline/transforms/accessoutput.adoc[Microsoft Access Output]
-* xref:pipeline/transforms/monetdbbulkloader.adoc[MonetDB Bulk Loader]
-* xref:pipeline/transforms/mongodbdelete.adoc[MongoDB delete]
-* xref:pipeline/transforms/mongodbinput.adoc[MongoDB Input]
-* xref:pipeline/transforms/mongodboutput.adoc[MongoDB Output]
-* xref:pipeline/transforms/mssqlbulkloader.adoc[MS SQL Server Bulk Loader]
-* xref:pipeline/transforms/multi-mapping.adoc[Multi Mapping]
-* xref:pipeline/transforms/multimerge.adoc[Multiway Merge Join]
-* xref:pipeline/transforms/mysqlbulkloader.adoc[MySQL bulk loader]
-* xref:pipeline/transforms/neo4j-import.adoc[Neo4j import]
-* xref:pipeline/transforms/nullif.adoc[Null If]
-* xref:pipeline/transforms/numberrange.adoc[Number range]
-* xref:pipeline/transforms/odata-input.adoc[OData input]
-* xref:pipeline/transforms/orabulkloader.adoc[Oracle Bulk Loader]
-* xref:pipeline/transforms/outputtransformmetrics.adoc[Output transform
metrics]
-* xref:pipeline/transforms/parquet-file-input.adoc[Parquet file input]
-* xref:pipeline/transforms/parquet-file-output.adoc[Parquet file output]
-* xref:pipeline/transforms/pipeline-data-probe.adoc[Pipeline Data Probe]
-* xref:pipeline/transforms/pipeline-logging.adoc[Pipeline logging]
-* xref:pipeline/transforms/pgpdecryptstream.adoc[PGP decrypt stream]
-* xref:pipeline/transforms/pgpencryptstream.adoc[PGP encrypt stream]
-* xref:pipeline/transforms/pipeline-executor.adoc[Pipeline Executor]
-* xref:pipeline/transforms/postgresbulkloader.adoc[PostgreSQL bulk loader]
-* xref:pipeline/transforms/processfiles.adoc[Process files]
-* xref:pipeline/transforms/propertyinput.adoc[Properties file Input]
-* xref:pipeline/transforms/propertyoutput.adoc[Properties file Output]
-* xref:pipeline/transforms/redshift-bulkloader.adoc[Redshift Bulk Loader]
-* xref:pipeline/transforms/redis-input.adoc[Redis Input]
-* xref:pipeline/transforms/redis-output.adoc[Redis Output]
-* xref:pipeline/transforms/regexeval.adoc[Regex Evaluation]
-* xref:pipeline/transforms/replacestring.adoc[Replace in String]
-* xref:pipeline/transforms/reservoirsampling.adoc[Reservoir Sampling]
-* xref:pipeline/transforms/rest.adoc[REST Client]
-* xref:pipeline/transforms/rowdenormaliser.adoc[Row Denormaliser]
-* xref:pipeline/transforms/rowflattener.adoc[Row Flattener]
-* xref:pipeline/transforms/rowgenerator.adoc[Row Generator]
-* xref:pipeline/transforms/rownormaliser.adoc[Row Normaliser]
-* xref:pipeline/transforms/runssh.adoc[Run SSH commands]
-* xref:pipeline/transforms/salesforcedelete.adoc[Salesforce Delete]
-* xref:pipeline/transforms/salesforceinput.adoc[Salesforce Input]
-* xref:pipeline/transforms/salesforceinsert.adoc[Salesforce Insert]
-* xref:pipeline/transforms/salesforceupdate.adoc[Salesforce Update]
-* xref:pipeline/transforms/salesforceupsert.adoc[Salesforce Upsert]
-* xref:pipeline/transforms/samplerows.adoc[Sample Rows]
-* xref:pipeline/transforms/sasinput.adoc[SAS input]
-* xref:pipeline/transforms/script.adoc[Script]
-* xref:pipeline/transforms/selectvalues.adoc[Select Values]
-* xref:pipeline/transforms/serialize-to-file.adoc[Serialize To File]
-* xref:pipeline/transforms/serverstatus.adoc[Server Status]
-* xref:pipeline/transforms/setvalueconstant.adoc[Set field value to a constant]
-* xref:pipeline/transforms/setvaluefield.adoc[Set field Value to a field]
-* xref:pipeline/transforms/setvariable.adoc[Set Variables]
-* xref:pipeline/transforms/sftpput.adoc[SFTP Put]
-* xref:pipeline/transforms/simple-mapping.adoc[Simple Mapping]
-* xref:pipeline/transforms/snowflakebulkloader.adoc[Snowflake bulk loader]
-* xref:pipeline/transforms/sort.adoc[Sort Rows]
-* xref:pipeline/transforms/sortedmerge.adoc[Sorted Merge]
-* xref:pipeline/transforms/sortedschemamerge.adoc[Sorted schema merge]
-* xref:pipeline/transforms/spark-lake-table-maintenance.adoc[Spark lake table
maintenance]
-* xref:pipeline/transforms/spark-lake-table-merge.adoc[Spark lake table merge]
-* xref:pipeline/transforms/spark-sql.adoc[Spark SQL]
-* xref:pipeline/transforms/splitfields.adoc[Split Fields]
-* xref:pipeline/transforms/splitfieldtorows.adoc[Split fields to rows]
-* xref:pipeline/transforms/split-graph.adoc[Split graph]
-* xref:pipeline/transforms/splunkinput.adoc[Splunk input]
-* xref:pipeline/transforms/sqlfileoutput.adoc[SQL File Output]
-* xref:pipeline/transforms/standardizephonenumber.adoc[Standardize Phone
Number]
-* xref:pipeline/transforms/stanfordnlp.adoc[Stanford NLP]
-* xref:pipeline/transforms/schemamapping.adoc[Static Schema Mapping]
-* xref:pipeline/transforms/streamlookup.adoc[Stream Lookup]
-* xref:pipeline/transforms/streamschemamerge.adoc[Stream schema merge]
-* xref:pipeline/transforms/stringcut.adoc[String cut]
-* xref:pipeline/transforms/stringoperations.adoc[String operations]
-* xref:pipeline/transforms/switchcase.adoc[Switch / Case]
-* xref:pipeline/transforms/synchronizeaftermerge.adoc[Synchronize after merge]
-* xref:pipeline/transforms/tablecompare.adoc[Table Compare]
-* xref:pipeline/transforms/tableexists.adoc[Table Exists]
-* xref:pipeline/transforms/tableinput.adoc[Table Input]
-* xref:pipeline/transforms/tableoutput.adoc[Table Output]
-* xref:pipeline/transforms/terafast.adoc[Teradata Bulk Loader]
-* xref:pipeline/transforms/textfileinput.adoc[Text File Input]
-* xref:pipeline/transforms/textfileoutput.adoc[Text File Output]
-* xref:pipeline/transforms/tokenreplacement.adoc[Token replacement]
-* xref:pipeline/transforms/uniquerows.adoc[Unique Rows]
-* xref:pipeline/transforms/uniquerowsbyhashset.adoc[Unique Rows (HashSet)]
-* xref:pipeline/transforms/update.adoc[Update]
-* xref:pipeline/transforms/userdefinedjavaclass.adoc[User Defined Java Class]
-* xref:pipeline/transforms/userdefinedjavaexpression.adoc[User Defined Java
Expression]
-* xref:pipeline/transforms/validator.adoc[Data Validator]
-* xref:pipeline/transforms/valuemapper.adoc[Value Mapper]
-* xref:pipeline/transforms/verticabulkloader.adoc[Vertica Bulk Loader]
-* xref:pipeline/transforms/webservices.adoc[Web services lookup]
-* xref:pipeline/transforms/workflow-executor.adoc[Workflow Executor]
-* xref:pipeline/transforms/workflow-logging.adoc[Workflow logging]
-* xref:pipeline/transforms/writetolog.adoc[Write to log]
-* xref:pipeline/transforms/xmlinputstream.adoc[XML Input Stream (StAX)]
-* xref:pipeline/transforms/xmljoin.adoc[XML Join]
-* xref:pipeline/transforms/xmloutput.adoc[XML Output]
-* xref:pipeline/transforms/xmloutputadvanced.adoc[XML output (Advanced)]
-* xref:pipeline/transforms/xsdvalidator.adoc[XSD Validator]
-* xref:pipeline/transforms/xslt.adoc[XSL transformation]
-* xref:pipeline/transforms/yamlinput.adoc[Yaml Input]
-* xref:pipeline/transforms/zipfile.adoc[Zip file]
\ No newline at end of file
+Every transform has a page of its own.
+They are listed under Pipelines › Transforms in the navigation, and the search
box at the top of the page finds them by name.
+In Hop Gui, the Help button in the dialog of a transform opens its page.
diff --git
a/docs/hop-user-manual/modules/ROOT/pages/snippets/hop-concepts/transform.adoc
b/docs/hop-user-manual/modules/ROOT/pages/snippets/hop-concepts/transform.adoc
index 1318066a25..35cc5708a7 100644
---
a/docs/hop-user-manual/modules/ROOT/pages/snippets/hop-concepts/transform.adoc
+++
b/docs/hop-user-manual/modules/ROOT/pages/snippets/hop-concepts/transform.adoc
@@ -18,4 +18,4 @@ A Transform is a single unit of data processing inside a
Pipeline.
Typical transform operations include reading from databases or files,
filtering rows, calculating values, performing lookups, joining datasets, and
loading to destinations.
All transforms in a pipeline run simultaneously in parallel.
xref:pipeline/pipeline-sources.adoc[Pipeline sources] generate rows without
needing an incoming hop, while intermediate transforms continuously process
streaming rows and pass them along hops to downstream transforms through
in-memory row buffers.
-See the xref:pipeline/transforms.adoc[Transforms catalog] for all available
transforms.
\ No newline at end of file
+See xref:pipeline/transforms.adoc[Transforms] for where to find the page of
each transform.
\ No newline at end of file