Skip to end of banner
Go to start of banner

About the IDE

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

The Workflow Studio IDE is where you develop EmpowerID workflows. It comprises four user interface components that work together to provide developers with a visual design environment. Through friendly drag-and-drop operations, depictions of business processes can be translated quickly into workflow logic without the need for extensive code. This can be as simple as dragging predefined activities onto the design surface of the IDE and connecting those activities with flow lines. Code editors allow C# code to be injected into the process when desired to create a complete package.

The below image shows what the Workflow Studio IDE looks like with a Flow Chart workflow opened in the Workflow Designer (also known as the Document Space.

As depicted by the above image, the Workflow Studio IDE is comprised of four components—the Toolbar, the Solution Explorer, the Document Space, and the Toolbox—each of which combine to create a rich, interactive environment for workflow development.

Workflow Studio Toolbar

The Workflow Studio toolbar provides immediate access to a variety of tools and application-specific development commands. The commands are dynamic in that the number of commands at any given time is determined by the number and types of designers and editors opened in the Workflow Studio IDE.

Toolbar Commands

Command

Purpose

Exit Application

Closes Workflow Studio.

Common > Save

Saves the currently open item.

Common > Save As

Opens a dialog that allows you to name an open folder item and choose the folder to which you wish to save it.

Common > Deployment Services

Provides options for opening and creating new manifests, building solutions and packaging development items for deployment to the local file system.

Common > Refresh Toolbox

Forces a refresh of the toolbox. If any recent changes have occurred you can elect to have those reflected in the update.

Common > Object Browser

Displays the Workflow Studio class library.

Build > Compile

Compiles the open workflow, activity, form or lookup.

Build > Publish

Publishes workflows to the designated workflow server.

Build > Deployment

Provides options for opening and creating new manifests, building solutions and packaging development items for deployment to the local file system.

Tools > View Assemblies

Opens a list of all Workflow Studio assemblies by version number, allowing you to add or remove any from your copy of Workflow Studio.

Tools > Activity Templates

Opens a dialog that allows you to view and delete any activity templates from Workflow Studio.

Tools >Event Viewer

Opens an Event Viewer that allows you to view any workflow events that have occurred on a selected machine.

Tools > Isolate Workflow Versions

Allows you to select an existing workflow and save it as different version.

Workspace > Build Log

Opens the Build log, if one exists.

Workspace > Cancel Build

Cancels any batch build operations that exist in your workspace.

Workspace > Program Files

Opens the Program Files folder on the local machine.

Workspace > Program Data

Opens the ProgramData folder on the local machine.

Workspace > Compile Temp

Opens the ProgramData > CompilerTemp folder on the local machine.

Workspace > Dyna Local Temp Dll

Opens the ProgramData > DynaLocalTempDll folder on the local machine.

Workspace > Intelli Cache

Opens the ProgramData > Cache folder on the local machine.

Workspace > Workflow Templates

Opens the ProgramData > UserWorkflowTemplates folder on the local machine.

Options and Settings > Alert Receivers

Opens a window displaying a list of the current Alert Event Receivers configured in your environment.

Options and Settings > STS Claims Extensions

Opens the STS Claims Extensions dialog with a list of extensions and related assemblies in your environment.

Options and Settings > SSO Extensions

Opens the SSO Extension editor displaying a list of extensions and related assemblies.

Options and Settings > C# Code Editor Font

Opens the Editor Style dialog, which allows you to style how text appears in the C# Code Editor.

Workflow Studio Workflow Editing Commands – The following commands only appear when a workflow is open in the Workflow Designer or an activity is open in the Activity Designer. 

Add New Property

Opens the Add New Property dialog, which allows you to add a new property to the workflow or activity. Once added, the new property can be used for data binding.

Delete Property

Allows you to delete a selected property. You must select a property to delete it.

Promote

Promotes the selected property.

Bind Property

Opens the Data Binding Shortcut dialog, which allows you to create a new workflow or activity property bound to another property in the same workflow or activity.

Bind Wokflow

Opens the Shortcut Workflow Association wizard, which allows you to call an external workflow to return a property from that external workflow to the current workflow or workflow activity.

Copy

Copies an item selected in the designer.

Cut

Cuts an item selected in the designer.

Paste

Pastes a previously copied item into the designer.

Delete

Deletes a selected item from the designer.

Zoom In

Allows you to magnify the designer.

Zoom Out

Allows you to decrease the magnification level of the designer.

Pointer

Releases the mouse from the Zoom In and/ Zoom Out control.

Print Setup

Opens the Page Setup dialog, which allows you to configure print options.

Print Preview

Displays a preview of what the workflow or activity will look like when printed.

Print

Prints the workflow or activity to the printer selected in the Page Setup dialog.

Add Reference

Opens the GAC Assembly Reference dialog, which allows you to add an assembly reference to the project.

Workflow Studio Form Designer Commands – The following commands only appear when a form is open in the IDE. 

New Tab

Adds a new tab to the form that is actively being edited.

New Section

Adds a new section to the form that is actively being edited.

Mask

Opens the Add New Mask dialog, which allows you to add a new Mask to the Components tree of the form that is actively being edited.

Validation

Opens the Add New Validation dialog, which allows you to add a new Validator to the Components tree of the form that is actively being edited. Validators force users to enter data in the format specified by the Validation Expression of the Validator.

Data Source

Opens the Add New Data Source dialog, which allows you to add a new Data Source object to the Components tree of the form that is actively being edited. Data Source objects allow you to bind form controls to objects in the EmpowerID Identity Warehouse.

Add Object

Opens the Add Object dialog, which allows you to add Primitives (Strings, Booleans, DateTime, etc) and Rbac Components (Account, AccountStore, Person, etc) to the Components tree of the form that is actively being edited. Once added to the Components tree, these objects can be dropped onto a form as properties for use in data binding.

Workflow Studio Lookup Designer Commands – The following commands only appear when a lookup is open in the IDE. 

New Column

Adds an empty column to the currently open lookup

Set Grid Type

Allows you to set the grid type for the currently open lookup. Grid types can be set to custom, default or that of a current EmpowerID component. The selected grid type determines the initial columns of the lookup. For example, if you set the grid type for a lookup to the Account component, Workflow Studio adds the columns that appear in the default Account Lookup to the lookup in the designer.

Solution Explorer

The Solution Explorer tab provides access to the workflow applications and other objects that exist in source control. It is comprised of three sub-tabs for managing these applications: the Workspace tab, which gives you access to all the objects you develop in Workflow Studio; the Search tab, which allows you to search for objects by name and type; and the SharePoint tab, which allows you to work with your SharePoint objects. Of the three, the Workspace Tab provides the greatest functionality for working with and managing the objects developed in Workflow Studio.

In Workflow Studio, the workflow applications and other objects that you develop are classified as solution items and placed in folders you create on your local development machine. These folders are simply containers for holding and organizing the items you are developing and are represented as nodes in the Source Control tree. Each time you create a new workflow, activity, user interface element, or other object, Workflow Studio prompts you for the folder in which the object should be placed and then places that within a Source Control folder underneath the selected folder.

Source Control folders exist for each item type that can be created in Workflow Studio and encompass the following:

Source Control Folder

Folder Purpose

Adaptive Auth Rules

Provides a location for organizing Adaptive Auth Rules you create in Workflow Studio

Alert Receivers

Provides a location for organizing Alert Receivers you create in Workflow Studio

APIs

Provides a location for organizing APIs you create in Workflow Studio

Azure Functions V1

Provides a location for organizing Azure Functions V1 apps

Azure Functions V2

Provides a location for organizing Azure Functions V2 apps

Azure Functions V3

Provides a location for organizing Azure Functions V3 apps

Business Rules

Provides a location for organizing Business Rule apps

Class Libraries

Provides a location for organizing Class Library apps

Console Applications

Provides a location for organizing Console Apps

Microservice V1

Provides a location for organizing Microservice V1 apps you create in Workflow Studio

Microservice V2

Provides a location for organizing Microservice V2 apps you create in Workflow Studio

Microservice V3

Provides a location for organizing Microservice V3 apps you create in Workflow Studio

OAuth Extensions

Provides a location for organizing OAuth Extensions you create in Workflow Studio

SAML Extensions

Provides a location for organizing SAML Extensions you create in Workflow Studio

SCIM Microservices V2

Provides a location for organizing SCIM Microservices V2 apps you create in Workflow Studio

STS Extensions

Provides a location for organizing STS Extensions you create in Workflow Studio

UMA Extensions

Provides a location for organizing UMA Extensions you create in Workflow Studio

User Interface > Forms

Provides a location for organizing Forms you create in Workflow Studio

User Interface > Lookup Controls

Provides a location for organizing Lookup Controls you create in Workflow Studio

User Interface > UI Pages

Provides a location for organizing UI Pages you create in Workflow Studio

Workflows > Activities

Provides a location for organizing Workflow Activities you create in Workflow Studio

Workflows > Applications

Provides a location for organizing Workflow Applications you create in Workflow Studio

Workflows > Composites

Provides a location for organizing Composite Workflows you create in Workflow Studio

Workflow Rules

Provides a location for organizing Workflow Rules you create in Workflow Studio

Additionally, the Workspace tab of Solution Explorer gives you ready access to the commands associated with folder and folder items. These commands are accessible from a context menu that appears when right-clicking an object in the Workspace Source Control tree.

Command

Purpose of Command

New Folder

Creates a new top-level folder with a specified child folder on the file system of the local machine, such as MyDevFolder > Workflow Rules

Add Item Folders

Creates a new folder of a selected item for organizing development work. For example, if you select APIs, Workflow Studio creates a new APIs folder

Open in File Explorer

Opens the specified folder in File Explorer

New Workflow

Opens a new workflow in the designer

New Workflow Activity

Opens a new workflow activity in the designer

New Operation Activity

Opens a new operation activity in the designer

New User Interface

Opens a new form, lookup or UI page in the designer

New Extension or Library

Opens a new instance of the selected object in the designer

New Console Application

Opens a new console app

New Adaptive Authentication

Opens a new adaptive authentication workflow or adaptive auth rules class library in the designer

Remember my Login

Retains your login so that when you exit and restart Workflow Studio you do not need to reauthenticate

Set Local Repository Path

Sets the path bound to the repo for your organization

Delete Folder [Current Folder Name]

Deletes the currently selected folder from your file system

Refresh

Refreshes the source control tree

Document Space

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. Forms must be published 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 ManagementRoleIDDisplayNameName, the Parent Management Role DefinitionExtension Attribute 1, and Extension Attribute 2.

Toolbox

The Workflow Studio Toolbox is situated to the right of the IDE and provides access to a number of features related to workflow development and project management. The Toolbox is comprised of four tabs: the Activities Toolbox tab; the Solution tab; the Properties tab; and the Workflows tab. Each tab has its own unique function, and depending on the type of object open in the Document Space, some tabs will have more relevance to your project than others. The purpose of each is discussed in more detail below.

The Activities Toolbox

The Activities tab displays icons for all activities in your environment that have been published to the Workflow Server(s). Once an activity is published, it becomes available as a toolbox item that can be dragged from the toolbox and dropped onto the design surface of any workflow open in the Document Space. You can also drop activities onto the design surface of a select number of activities.

The Activity Toolbox provides a Search field and a Category drop-down, both of which can be used to narrow the amount of activities appearing in the toolbox. When using the Search field, the available activities are narrowed by the string value entered into the field. To search for an activity, you simply enter the name of the activity or text that can be found in the activity's description. This search is performed across all activities regardless of the category selected. If you wish to broaden the search to a category of activity, you can use the Category drop-down list to locate activities classified by category.

Activity Categories are set by the value of the activity's ToolboxPath property, which is accessible from the Toolbox Properties Tab when an activity is open in the Document Space. This property can be any string value that helps you to logically categorize the activity.

When searching for activities, it is important to note that an activity must be published before it is available to the Activity Toolbox. Published activities are stored in the EmpowerID Identity Warehouse and are only synchronized with Workflow Studio when the Activity Toolbox is updated. If you are working in a team environment, each member must update their Activity Toolbox as well. Activities are only used with the Workflow Designers and Activity Designers; therefore, Workflow Studio only loads the full activity toolbox the first time you create or open a workflow or activity. When you publish an activity, Workflow Studio may prompt you to update the toolbox. If you are working with other team members who are also using Workflow Studio to develop workflows and activities, it is recommended that you update the Activity Toolbox from time to time to keep your activities in sync with the rest of your team.

The following image shows the Activity Toolbox with the User Interface category selected from the Category drop-down list. This narrows the activities that are displayed in the toolbox to those with their ToolboxPath property set to User Interface.

The Solution Tab

The Solution Tab provides access to the Code Tree, which provides a logically organized tree view of the files associated with the object currently open in the Document Space and provides placeholders for adding new files, such as custom methods and classes. Expanding a node in the Code Tree allows you to view the files in your project related to that node and gives you access to the commands relevant to it, allowing you to add new assembly references, namespaces, support classes, and embedded resources to the project.

Right-clicking on a node in the Code Tree allows you to access commands relevant to the files represented by that node, as well as the type of object open in the Document Space. The following table show the commands available from the Code Tree for workflow applications.

Command

Function

Add Reference

This command allows you to add assemblies, namespaces, and WCF or Web services to a solution. New references are added to the appropriate node in the Code Tree.

Add as Snippet

This command allows you to create a code snippet from C# code that exists in your project and save it to the snippets library for ease of reuse. This command is only available when right-clicking on a node containing code, such as a method node.

Add Code Fragment Snippet

This command allows you to create commonly used blocks of C# code that can be injected into a project as needed.

Built-In Method Overrides

This command allows you to add a selected overridable method as a custom method to your project.

Add New Event Handler

This command allows you to create an event-handling method that responds to a specified user event.

Add New Custom Method

This command allows you to add your own methods to a project.

Add Visual C# Source Item

This command allows you to add support classes for use in your project based on the Workflow Studio object model.

Add New Business Rule

This command allows you to add a Business Rule to a workflow or activity. Business rules are used to determine what should occur in a given workflow based on the input and output of the rule.

Add New Binding Type Converter

Allows you to add a type converter to a workflow or activity. Type converters are used to convert values between data types.

New Folder

This command allows you to add a new folder to the Code Tree.

Add Embedded Resource

This command allows you to search for a file on your computer or the network and add it to your project.

Remove All Embedded Resources

This command allows you to remove *all* embedded resources from your project.

Retrofit Embedded Resource Prefix

This command allows you to add a prefix to an embedded resource.

Add Source from File

This command allows you to search for and insert a .cs file into your project.

Rename Item Support Class

This command allows you to rename a Support Class file that you have added to your project. You must right-click on the particular Support Class file in the Code Tree that you want to rename.

Delete Item

Deletes a selected item from the project.

The Properties Tab

The Properties Tab provides immediate access to the browsable properties of the currently selected object or document in the Document Workspace. Changes made to property values shown in the property grid are committed immediately to the object.

The following image shows property grid displaying browsable properties for the SelectTargetGroups activity.

Whether a property is displayed in the property grid can be controlled with the Browsable attribute. When you create dependency properties for activities you can select or deselect the Show in property grid checkbox, depending on whether you want to display the property in the property grid. Note that public properties without the Browsable attribute are displayed in the property grid by default.

For more information on the relationship between properties and activities, see Common Workflow Activities.

IN THIS ARTICLE

  • No labels