A Workflow in ILWIS contains sequence of operations, with possible conditional and repeat constructs, used for information processing of geo-data. It automates modeling procedures, data preprocessing, processing and post processing in a way that is more accessible than the traditional scripting interface.
The workflow builder runs in the environment of the Modeler. A Model in Ilwis can contain zero or more workflows. If you open a stand alone workflow the rest of the functionality of the Modeler is not available.
A workflow in ILWIS is considered as an operation and can be viewed only in the operation list. A new workflow has to be created via Create buttons available in ILWIS main window. To directly create a workflow via ILWIS main window:
- Click the Create tab on toolbar tabs
This will open object creation form (Figure 1) where you can select a desired ILWIS object to be created.
- Select Workflow from the list
Once the workflow is selected from the list, the workflow creation form will be opened beneath the list where users can set the required input parameters(Figure 1). As it shown in the example below, the only required parameter is the name of the workflow while, description and keywords fields are optional.
To create and open the workflow:
- Type a name for the workflow in the corresponding filed
- You may add keywords or description; optional
- Click on Create & Open button
By clicking the Create & Open button, an empty workflow panel (Figure 2) will be opened where the available tools can be used to construct the workflow. Note that, the workflow creation form will be displayed after selecting the workflow from the list above.
Figure 1, Object creation form with Object creation list at the top and workflow creation form at the bottom.
As it can be seen from Fig 2, the workflow panel has a name (defined by user) and an ID number given by program. The panel contains of four sections including Tool bars, Workflow editor (area where workflow can be build), Action panel and Action button bar. The functionality of each buttons on the button bars from left to the right are:
- These two buttons () are used to save and save as the workflow, respectively.
- The next button with trash symbol() can be used to remove unwanted operations and links from the workflow.
- The next three buttons () are used to run the workflow in once, to run it in step mode(step by step) and to stop it, respectively.
- This button () is used to insert a condition in the workflow and the last button ()is used to minimize/maximize the content of the workflow. Note that, each box in the workflow can also be minimized by clicking on its header.
The workflow editor allows user to construct their workflow by adding operations from the operation list or operation catalog using drag and drop. The relation between operations (the data flow) is defined by arrows connecting the operations. Note that the workflow is a data flow and not a control flow like a regular script. This introduces some subtle differences between the two. For example : a data flow always must have a defined end point (the data goes somewhere), while a control flow may suddenly stop at any point. The space on the workflow editor is unlimited allowing you to construct workflow as large as, it is required.
The action panel can be used to define the properties of the input data.
- The first option “Available Workflows” list the names of workflows currently in the builder.
- The 'Run form' provides a form where users can add the required input data and define a name and a format for the output data.
- The 'Select operation', allows to define fixed inputs for each selected operation. For example, if you always using the same input file or a certain operator for a certain operation, then you have the option to select the file or the operator and specify it as a fixed input for that operation.
- The 'Metadata form', allows to give names with meaning to elements of the selected operation; this can be useful when the workflow is large and complex.
- The 'Step form' is used to walk through the workflow type step by step. Intermediate results can be checked by double clicking on the appropriate line in the sequence of results.
- The 'Script form' is used to generate Python syntax used to execute that step of the workflow. The advantage of having syntax, in principal, is that they can be used to obtain the same results using ILWIS-Python console.