XMLWordPrintable

Details

    Description

      Current Situation

      • Users can specify Default Arguments (with the "Node Properties" sub-tab of the property editor in the Configuration view for workflows) for job nodes in a workflow. The arguments are used for the occurrence of a job in the workflow and consider that the same job can occur multiple times in a workflow.
      • Users cannot add instances of the same variables to an order that are used in different occurrences of a job in a workflow.

      Desired Behavior

      • The workflow editor offers to specify variables of type Map in addition to the types String, Boolean, Number and List ("order preparation").
        • Such variables hold a list ("map") of items ("key/value pairs").
        • Each item is assigned one of the scalar data types String, Boolean or Number, optionally holding a default value.
        • This allows to create individual Map Variables with a name and a map of items .
      • In a workflow's job node the Default Argument can be assigned a Map Variable.
      • When creating a schedule in the Configuration view or manually adding an order in the Workflows view then values have to be specified for Map Variable items that hold no default value. Such values can be specified for Map variable items that hold default values.

      Step-by-Step Instruction how to parameterize a number of job nodes from Map Variables

      • define_map.png shows how to create two Map Variables csvFile and xmlFile holding the same items {{path{}}}, size and binary.
      • Use with job arguments
        • A shell job can map an item of the Map Variable to an environment variable that can be used in the job's script. The syntax includes to specify for example $<variable>.<item>, for example: SCRIPT_PATH = $csvFile.path
      • Use with node default arguments
        • assign-map-node-job1a.png shows the job's first node properties that are assigned the variable inputFile with the value $csvFile that references the first Map Variable.
        • assign-map-node-job1b.png shows the job's second node properties that are assigned the variable inputFile with the value $xmlFile that references the second Map Variable.
      • job_environment_variables.png shows the job's mapping of the FILE_PATH, FILE_SIZE and FILE_BINARY environment variables that are created from references to the $inputFile.path, $inputFile.size and $inputFile.binary values. Any items of Map Variables are addressed using the dot syntax <variable>.<item>.
      • job_script.png shows the job's script using the FILE_PATH, FILE_SIZE and FILE_BINARY environment variables.

      Delimitation

      • The JS1 knows the feature of node parameters that are specified from orders using the syntax <state>/<variable> and the assignment of Monitor Scripts that maps the syntax to <variable> for the given node.
      • The feature is intended to map the JS1 functionality to JS7, however not the design:
        • The JS1 node parameters follow an imperative design that includes the disadvantage that the user has to know the state names and that it is undecided if a job will pick up a parameter with the given name: users wouldn't know their errors when specifying a non-existent state or variable name.
        • The JS7 Map variables follow a declarative design that includes that things are declared by the workflow and that the workflow decides about parameterization. This separates the areas of workflow creation (design time) and creation of orders and schedules (run-time).

      Attachments

        1. define_map.png
          define_map.png
          228 kB
        2. job_environment_variables.png
          job_environment_variables.png
          287 kB
        3. job_script.png
          job_script.png
          283 kB
        4. assign-map-node-job1b.png
          assign-map-node-job1b.png
          245 kB
        5. assign-map-node-job1a.png
          assign-map-node-job1a.png
          247 kB

        Activity

          People

            ZtRahul193 Rahul Patidar
            ap Andreas Püschel
            Uwe Risse Uwe Risse
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: