When working with GXflow in a Knowledge Base using Modules the following restrictions must be considered.
In most cases, it is useful to start a process from outside the GXflow inbox.
When the Business Process Diagram Object belongs to a Module the Qualified Name property must be used instead of the Name property in order to instantiate the WorkflowProcessDefinition Data Type. Therefore the "GetProcessDefinitionByName" method must be used as follows:
&WFSession.GetProcessDefinitionByName(<{Qualified Name property}>, &process, &error)
Where the variables must be defined as follows:
&WFSession = WorkflowServer
&error = Workflow Error
&process = WorkflowProcessDefinition
For instance for the Business Process Diagram Object with Qualified Name property = "BPM.BPDiagram1" in the following image:
The following code must be used to instantiate the WorkflowProcessDefinition Data Type "&process":
&WFSession.GetProcessDefinitionByName("BPM.BPDiagram1", &process, &error)
Processes are identified using its Description property, therefore when two Business Process Diagrams are created using the same name — in different Module objects — the "New" button form the GXflow Inbox will display both definitions with the same name.
For example, if we create two Business Process Diagram Object called "BPD": one in the Root module and the other in the "BPM" Module when the "New" button from the GXflow Inbox is pressed the following items will be displayed:
Each item will create the right Process Instance, but there is no way to distinguish them.
In order to avoid this problem you can perform one of the following changes:
HowTo: Start a GXflow process from outside the inbox
Modules and backward compatibility
Generators supporting modules
Modules - Known Limitations