diff --git a/topics/dev/images/ToolFactory_big_picture.png b/topics/dev/images/ToolFactory_big_picture.png index 4ff5f08dd4ff15..2d9db76c55eab4 100644 Binary files a/topics/dev/images/ToolFactory_big_picture.png and b/topics/dev/images/ToolFactory_big_picture.png differ diff --git a/topics/dev/tutorials/tool-generators/tutorial.md b/topics/dev/tutorials/tool-generators/tutorial.md index 0d899b5e906400..4d7d7679f7dfdb 100644 --- a/topics/dev/tutorials/tool-generators/tutorial.md +++ b/topics/dev/tutorials/tool-generators/tutorial.md @@ -218,21 +218,39 @@ In this case, a single text string is needed from the user. Tool definition involves configuring the major sections of the ToolFactory form for the new tool. -The following information about a script is needed: +Five categories needed to generate a script: - Conda dependency requirements - History data inputs -- History outputs - data and collections +- History outputs - User controlled parameters +- Developer supplied code/scripts to embed For the `hello` tool case: +Conda dependency requirements: + - There are no dependencies usually because bash is available and version is not important. - For completeness, it could be included as a Conda package. It's your tool. + +History data inputs: + - This tool requires no history input files. + +History outputs - data and collections: - It produces one text output file. + +User controlled parameters: - The tool form should show a single input text field for the user to supply. -- Executing the tool is expected to write the combined string to a new history item. + +Developer supplied code/scripts to embed: +- These are optional - many Conda packages will not need them. +- Most simple use-cases will involve developer supplied, known working code. +- Executing the tool is expected to write the decorated string to a new history item. +- This must be known to work with suitable inputs on the command line. + - Broken code == broken tool. +- Such as `echo "Hello $1!"` as a Bash script +- There are other advanced features, such as command over-rides where code can be embedded At this point, the plan for this new tool is: