Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Warning

onCore designer is a Visual Programming Environment which makes Workflow, Microservice and Application development possible to almost everybody. As in any programming environment, it is also possible to create Workflows which are error prone, contain infinite loops or other problematic situations. If a Workflow should hang or crash, double check your implementation. If problems still persist don't hesitate to → contact us.

General Workflow Building

  1. When building your Workflow, make sure you put more space between Units than what seems necessary at first. It is almost always the case that you will have to revisit sections and add systems later.
  2. If you know that you will need a Variable in more than one place, it is advisable to create a Variable for it.
    1. If the Variable is only used within one workflow, use Workflow Variables (not Project Variables)
  3. Use Workflow Variables to cover large distances between units, to avoid unnecessary cable overlapping.
  4. If you find yourself duplicating a system for multiple parts of your Project, encapsulate its functionality in a Subworkflow (using the Workflow Unit).
    1. When designing a Workflow Unit it is important that you expose both in- and out-triggers, since Workflow units will only pass Variables to the Subworkflow on a trigger tick.
    2. When you are done with your main Workflow, expose the Triggers, and any Variables that you deem necessary. This will allow someone else to reuse your workflow.
    3. Provide necessary information about published Input Ports via an Annotations.

Main Bus Design

It is best practice to layer indistinct systems Vertically, conversely, if two systems are distict from one another they are layered horizontally

In more detail:
Indistinct -> Y
distinct -> X
branch -> Z (this is normally done using a workflow unit)Having a well structured Workflow is crucial for larger Projects, as it severely decreases the overhead which is required to fix problems, implement changes and introduce other developers to the Workflow design. There are three "bus design" practices:

Image Added

Indistinct Units

Layer Units of the same type vertically. This decreases the width of the Workflow and still allows for good structure.

Image Added

Distinct Units

Layer Units (or Unit groups) horizontally. Adding Annotations is a good way to keep it structured.

Image Added

Branching

Branching can be done by using the Workflow Unit, i.e. a group of Units is put together as a Subworkflow. Exposed Inputs and Outputs are used to send and get data to and from the Subworkflow.