The Document Space is reserved for Workflow Studio designers and editors. Most of the work you do in Workflow Studio is accomplished through one or more designers and editors, which are commonly referred to as development tools. In Workflow Studio, designers provide for rapid visual application development, enabling you to organize and present application content at design time. Editors provide intellisense-enabled C# and XML language support for editing code and appear in the Document Space as a tab when that feature is relevant to the object you open in the Document Space. For example, the C# Editor appears for workflows, activities, lookup controls, and forms are open in the Document Space, but does not appear for reports, menus, and pages. In those cases, the editor that appears is the XML Markup Editor. As a workflow developer, the designers most relevant to you include the following: Workflow Designer — The Workflow Designer opens whenever a new workflow application is created or an existing workflow application is being edited. The Workflow Designer allows you to visually design workflow applications and gives you access to all the commands and editors necessary to build a complete workflow application.
When you open a workflow, Workflow Studio gives you access to the following workflow-related tabs: Workflow Designer Tab — This is where you draw the workflow, adding shapes and connecting them to one another with lines and Business Rules (line rules) to dictate the process flow that should occur in that workflow. Properties Tab — This provides a tree view of the workflow's properties. Clicking a property allows you to view the details of that property. You can add new properties to a workflow by right-clicking the base node in the tree and selecting Add New Property from the context menu. Bindings Tab — This tab displays duplicate tree views of the workflow's properties, as well as the properties of each shape added to the workflow. From this tab you can bind workflow and shape or activity properties to one another using simple-drag-and-drop operations by which you drag an object's property from one tree onto the property of an object in the other tree. Binding properties in this way allows you to visually maintain the consistency of data throughout the execution of the workflow process. External Rules Tab — This tab is similar to the Bindings tab in that it displays two tree views for use in binding properties used in your workflow application. In this case, however, the trees are not duplicates of one another — one tree displays the properties of the workflow and any shapes or activities belonging to that workflow while the other tree displays the Smart Object properties of any External Business Rule Application that has been added the workflow. This allows you to bind workflow properties to the Smart Object properties of the External Business Rule Application. Source Code — This tab allows you to view source code of the workflow application. Activity Designer — In Workflow Studio, an activity represents the logic for a step within the workflow. The Activity Designer opens whenever a new activity is created or an existing activity is being edited. The Activity Designer allows you to visually design workflow activities and gives you access to all the commands and editors necessary to build a complete workflow activity that can then be associated with a workflow. Opening an activity gives you access to virtually the same tabs available to you when designing a workflow in the Workflow Designer. Form Designer — The Form Designer opens whenever a new form is created or an existing form is being edited. The Form Designer allows you to visually design forms and gives you access to all the commands and editors needed to build a complete form that can be associated with workflows. The Form Designer provides a drag-and-drop canvas that allows you to easily and quickly create a form by dropping user interface components and controls onto the designer. No coding is necessary, meaning that you can create forms quickly to capture any type of data—from primitive types, such as a string—to more complex types based on registered RBAC components. In addition, you can create your own components and controls and register them for use in the Form Designer. Forms must be published to the Enterprise Workflow Server before they can be used in a workflow.
When you publish a form in Workflow Studio, a special activity, known as a "Form activity" is generated and published to the EmpowerID Identity Warehouse. In this activity, each field added to the form is generated as a dependency property. Then, when using the form within a workflow, you can use the drag-and-drop property binding capabilities of Workflow Studio to send data to and from the form to any other part of the workflow.
Lookup Designer — The Lookup Designer opens whenever a new Lookup control is created or an existing Lookup control is being edited. Lookup controls are used in workflows to provide workflow users with searchable grids for looking up and selecting objects contained in the EmpowerID Identity Warehouse for use at various points in a given workflow process. Examples include selecting a group to join or assigning a manager for a new hire. The type of objects returned by the Lookup is based on the method call selected when designing the Lookup. Each method call initiates a specific stored procedure against the EmpoweID Identity Warehouse for a specific resource type. For example, in the below image, the Lookup calls the GetAllSearch(string columnsToSearch, string textToSearch) method against the ManagementRoleView. This executes the dbo.custom_ManagementRoleView_GetAllSearch stored procedure.
ALTER PROCEDURE [dbo].[Custom_ManagementRoleView_GetAllSearch]
(
@ColumnsToSearch NVARCHAR(MAX) = null,
@TextToSearch NVARCHAR(MAX) = null,
@ResourceTags NVARCHAR(MAX) = NULL,
@StartRow INT=0,
@TotalRows INT=1000
)
AS
SET NOCOUNT ON;
DECLARE @Statement NVARCHAR(MAX) = ''
EXEC [GenericSearchForResources]
@Statement = @Statement,
@ComponentName = 'ManagementRole',
@ObjectName = 'ManagementRoleView',
@ColumnsToSearch = @ColumnsToSearch,
@TextToSearch = @TextToSearch,
@OrderByClause = '[Name]',
@ResourceTags = @ResourceTags,
@ResourceTypeIDForTags = 40,
@StartRow = @StartRow,
@TotalRows = @TotalRows
The fields returned by the procedure are determined by the columns added to the designer. In the above image, procedure returns the ManagementRoleID, DisplayName, Name, the Parent Management Role Definition, Extension Attribute 1, and Extension Attribute 2.