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 Document Space or Workflow Studio Designer.



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


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

Common Toolbar

The Common toolbar contains a number of command buttons that allow you to perform general tasks when working in the IDE.


Command ButtonPurpose

Opens a dialog that allows you to create a new workflow or activity template or choose an existing one from Source Control.

Opens an OpenFile dialog that allows you to search for and import an existing Workflow file (.wf) into Workflow Studio.
Opens the New Package wizard, which guides you through the process for creating a new source control package.
Deletes an existing package from Source Control.
Opens an OpenFile dialog that allows you to search for and import a package into Workflow Studio.
Opens a dialog that allows you to export a selected package to another location on your machine. Packages with sub-packages cannot be exported.
Saves a new or edited package item.
Opens a dialog that allows you to name an open package item and choose the package to which you wish to save it.
Opens a dialog that allows you to select and restart the EmpowerID services on your EmpowerID servers.
Forces a refresh of the toolbox. If any recent changes have occurred you can elect to have those reflected in the update.
Opens a dialog that allows you to create a code fragment snippet.
Displays the Workflow Studio class library.


Build Toolbar

The Build toolbar contains a number of commands relevant to publishing projects created in Workflow Studio.


Command ButtonPurpose
Compiles a project.
Publishes a project to a selected Workflow server.
Allows you to select multiple packages or select items within those packages for refactoring, compiling, and publishing.
Opens a dialog that allows you to replace an existing activity with another existing activity.
Forces an update to the Workflow Studio assemblies in the GAC.
Removes all Workflow Studio assemblies from the GAC.


Tools Toolbar

The Tools toolbar contains commands for performing a number of Workflow Studio maintenance tasks.



Command ButtonPurpose
Opens a dialog that allows you to create a patch for one or more selected packages or package items.
Opens a list of patch files in the designer, giving you the option to apply any or all of them to the items in your Workspace. Selecting a specific patch will replace the Workflow Studio item from which the patch has been created.
Opens a dialog that allows you to select one or more packages to backup.
Performs a runtime backup of a selected file.
Performs a full backup of all EmpowerID packages.
Allows you to select a backup file to restore to a selected server.
Allows you to select any Workflow Studio assemblies and export them as runtime packages to the location of your choice.
Opens a dialog that allows you to import a runtime package into Workflow Studio.
Opens a list of all Workflow Studio assemblies by version number, allowing you to add or remove any from your copy of Workflow Studio.
Opens a dialog that allows you to import an assembly into Workflow Studio.
Opens a dialog that allows you to view and delete any activity templates from Workflow Studio.
Opens an Event Viewer that allows you to view any workflow events that have occurred on a selected machine.
Allows you to view what occurred in a selected workflow on any given date.
Allows you to view any event subscriptions and event publications you have. You can create new event subscriptions and event publications for workflow events that occur.
Allows you to view any workflows that have been scheduled for execution on a time-interval basis. You can schedule any workflow via the Workflow Scheduling wizard accessible from this command.
Opens the Workflow Event Publication wizard, which allows you to create publication events for workflow events.
Opens the Workflow Event Subscription wizard, which allows you to create a subscription that subscribes to workflow events.


Workspace Toolbar

The Workspace toolbar contains commands relevant to the Workspace, which is a local copy of the Workflow Studio Source Control. The workspace can be individualized with selected packages and package items.




Command ButtonPurpose
Opens the Workflow Activities dialog that allows you to select existing activities and add them to the Activities toolbox in your workspace. Additionally, you can import an activity library from a selected location.
Opens the Refactor log, if one exists.
Cancels any batch refactor operations that exist in your workspace.
Opens the Program Files folder on the local machine.
Opens the ProgramData folder on the local machine.
Opens the ProgramData > CompilerTemp folder on the local machine.
Opens the ProgramData > DynaLocalTempDll folder on the local machine.
Opens the ProgramData > Cache folder on the local machine.
Opens the ProgramData > UserWorkflowTemplates folder on the local machine.



Best Practices Toolbar

The Best Practices toolbar contains commands for creating new workflow items according to the preferred method for each item. For example, clicking on the New Workflow command creates a new Flow Chart workflow.


Command ButtonPurpose
Creates a new Flow Chart workflow.
Creates a new standard Windows Workflow activity.
Creates a new composite activity library.
Opens the Create New Form wizard, which helps you create a new workflow form.
Creates a new lookup, opening it in the Lookup Designer.
Creates a new class library.
Allows you to create a new Business Rule application.


Options and Settings Toolbar

The Options and Settings toolbar contains commands that allow you to perform various actions.


Command ButtonPurpose
Opens a window displaying a list of the current Alert Event Receivers configured in your environment.
Opens the STS Claims Extensions dialog with a list of extensions and related assemblies in your environment.
Opens the SSO Extension editor displaying a list of extensions and related assemblies.
Opens the Editor Style dialog, which allows you to style how text appears in the C# Code Editor.


Workflow Editing Toolbar

The Workflow Editing toolbar contains commands related to designing workflows and activities. This toolbar only appears when a workflow is open in the Workflow Designer or an activity is open in the Activity Designer. 


Command ButtonPurpose
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.
Allows you to delete a selected property. You must select a property to delete it.
Promotes the selected 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.
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.
Copies an item selected in the designer.
Cuts an item selected in the designer.
Pastes a previously copied item into the designer.
Deletes a selected item from the designer.
Allows you to magnify the designer.
Allows you to decrease the magnification level of the designer.
Releases the mouse from the Zoom In and/ Zoom Out control.
Opens the Page Setup dialog, which allows you to configure print options.
Displays a preview of what the workflow or activity will look like when printed.
Prints the workflow or activity to the printer selected in the Page Setup dialog.
Opens the GAC Assembly Reference dialog, which allows you to add an assembly reference to the project.


Form Designer Toolbar

The Form Designer toolbar contains commands related to designing forms. This toolbar only appears when a form is open in the Form Designer.


Command ButtonPurpose
Adds a new tab to the form that is actively being edited in the Form Designer.
Adds a new section to the form that is actively being edited in the Form Designer.
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 in the Form Designer.
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 in the Form Designer. Validators force users to enter data in the format specified by the Validation Expression of the Validator.
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 in the Form Designer. Data Source objects allow you to bind form controls to objects in the EmpowerID Identity Warehouse.
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 in the Form Designer. Once added to the Components tree, these objects can be dropped onto a form as properties for use in data binding.


Ribbon Designer Toolbar

The Ribbon Designer toolbar contains commands related to ribbon design. This toolbar only appears when the EmpowerID Menu Editor is open.


Command ButtonPurpose
Adds a new tab to the form that is actively being edited in the Form Designer.


Lookup Designer Toolbar

The Lookup Designer toolbar contains commands related to Lookup Control design. This toolbar only appears when the Lookup Designer is open.


Command ButtonPurpose
Adds an empty column to the lookup that is currently open in the Lookup Designer.
Allows you to set the grid type for the lookup that is currently open in the Lookup Designer. 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.


Application Menu

Clicking on the EmpowerID logo on the top left of Workflow Studio opens the Workflow Studio application menu. The application menu provides even greater access to various functionalities. Application functionalities accessible through the application menu are not specific to any particular type of solution development and are not affected by any designer or editor currently loaded in the Workflow Studio IDE. Many of the menu items in the application menu are fly-out items. Hovering over a fly-out exposes related menu items that when selected perform a specific command related to the fly-out. 

The following image shows the Workflow Studio application menu that appears when clicking on the EmpowerID logo on the top left of Workflow Studio. 



The following table describes the buttons that make up the Workflow Studio application menu.

Menu ItemFunction
OptionsAllows you to change the application color of your personal workspace or log off.
Workflow ApplicationAllows you to create a new workflow application from one of the enclosed templates, opening it in the Workflow Designer.
Workflow ActivityAllows you to create a new workflow activity from one of the enclosed templates, opening it in the Activity Designer.
Operation ActivityAllows you to create a new Operation activity from one of the enclosed templates, opening an activity-specific wizard that guides you through the process.
Merge Form/Operation ActivityOpens the Merge Operation/Form Activities dialog, which allows you to create a new Operation/Form activity based on an existing one.
User InterfaceAllows you to create a new User Interface, such as a form, opening it in within the appropriate designer in the Document Space.
Business Data and Application ConnectivityAllows you to create a new Business Rules application.
ExtensibilityAllows you to create various assemblies and applications.
ImportAllows you to import workflows, packages, runtime assemblies and DLLs into the Identity Warehouse.
Management ToolsAllows you to perform certain tasks such as managing packages, perform backups, view events, assemblies and more.
Exit ApplicationCloses Workflow Studio.



The Solution Explorer is comprised of several tabbed views that provide access to the Workflow components in your development environment.

  • Server Explorer Tab - Provides a view of the EmpowerID servers and EmpowerID services in your environment.
  • Solution Explorer Tab - Provides a view of the workflow objects in your development environment.
  • Windows Form Toolbox Tab - Provides access to common Windows Form objects that can be used when developing Windows Forms in Workflow Studio.

Each of these is discussed in further detail below.


Servers Tab

Select the Servers tab to display a tree view of EmpowerID servers and their status in your environment. Expand a server node to display the EmpowerID services installed on that server. Right-click a node to open a context menu that allows you to select various options for that node.



The following table describes the menu items available when you right-click a server or service node in the Servers tab.


Menu ItemFunction
RefreshRefreshes the list of services running on the server.
Create EmpowerID Azure WebJobsOpens the Azure Web Job Packages dialog where you can view web job dependencies and their statuses, create new Azure WebJob Scheduler and WebJob Engine packages, and deploy Azure.
Deploy Existing EmpowerID Azure WebJobsIf you elected not to deploy Azure when creating the Azure WebJobs, use this option to deploy them.
Deploy EmpowerID Azure WebJobs...Opens a dialog where you can select a Publisher Settings file from your Workflow Exports folder.
Enable WCF ServiceEnables an WCF service on the WCF Service Bus Agent. This menu item is only enabled when right-clicking on a Web service hosted by the EmpowerID Service Bus Agent.
Force Enable WCF ServiceEnables an WCF service on the WCF Service Bus Agent. This menu item is only enabled when right-clicking on a Web service hosted by the EmpowerID Service Bus Agent.
Disable WCF ServiceDisables an active WCF service on the WCF Service Bus Agent. This menu item is only enabled when right-clicking on a Web service hosted by the EmpowerID Service Bus Agent.
Generate <System.ServiceModel> ConfigurationGenerates the XML configuration data for a given service on the EmpowerID Service Bus Agent. This menu item is only enabled when right-clicking on a Web service hosted by the EmpowerID Service Bus Agent.


Solution Explorer Tab

The Solution Explorer tab provides access to the workflow applications and other objects that exist in the EmpowerID Identity Warehouse. 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.

Using the Workspace Tab

In Workflow Studio, the workflow applications and other objects that you develop are classified as package items (or solution items) and placed in "packages" you create. These packages are simply containers for holding the package items you are developing and are represented as nodes in the Source Control tree visible from the Workspace tab of the Solution Explorer. Each time you create a new workflow, activity, user interface element, or other object, Workflow Studio prompts you for the package in which the object should be placed and then places that object within a Source Control folder underneath the selected package. While Workflow Studio gives you some freedom in placing packages and package items, Source Control folders are predetermined by their content and cannot be moved or deleted. If a Source Control folder does not exist for a particular package item being created, Workflow Studio will create that Source Control folder at the time the package item is created and then place the package item in the folder.

Workflow Studio allows you to determine which packages and package items you want to appear in your Workspace. You can opt to have all packages and package items that exist in the Identity Warehouse appear in your Workspace or pick and choose only those items with which you are working. When you start Workflow Studio for the first time, your Workspace will contain no package items and you will be prompted by the Workspace dialog to add items.



If you click No, the dialog closes, allowing you to proceed. If you click Yes, the Source Control dialog opens. The Source Control dialog contains two panes, the Team Source Control pane on the left and the Workspace Source Control pane on the right. The Team Source Control pane displays the Source Control tree populated with every package and package item that exists in the EmpowerID Identity Warehouse. The Workspace Source Control pane displays every package and package item that exists in your personal Workspace.

To add packages and package items to your Workspace, you simply locate the packages and/or package items in the Source Control tree of the Team Source Control pane and then click the button with the right arrow to move them to the Workspace Source Control pane. Clicking on a package node will move the package and all the package items in that package to the Workspace.



In the above image, we selected the DocTest package so we should see the Source Control tree of the Workspace Source Control pane update to show that package with all of its package items.



Once you have selected all the packages and/or package items desired, you can click the Close button to close the dialog. You will see the Workspace Source Control tree in the Solution Explorer tab update to include the packages and package items you selected.

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

Source Control FolderPackage Items
Alert Event ReceiversThis folder holds any Alert Event Receivers you create in a specific package.
Business Rule ApplicationsThis folder holds any Business Rule Applications you create in a specific package.
Class LibrariesThis folder holds any Class Libraries you create in a specific package.
Console ApplicationsThis folder holds any Console Applications you create in a specific package.
Email FormattersThis folder holds any Email Formatters you create in a specific package.
Resource System Connector DefinitionsThis folder holds any Resource System Connector Definitions you create in a specific package.
Resource System ConnectorsThis folder holds any Resource System Connectors you create in a specific package.
SAML SSO ExtensionsThis folder holds any SAML 2.0 SSO Extensions you create in a specific package.
Set RuntimeThis folder holds any Set Runtimes you create in a specific package.
SharePoint Claims ProvidersThis folder holds any SharePoint Claims Providers you create in a specific package.
STS Claims ExtensionsThis folder holds any STS Claims Extensions you create in a specific package.
User InterfaceThis folder contains sub-folders that hold any Forms, Lookup Controls, Menus, Pages and Reports you create in a specific package.
Windows ServicesThis folder holds any Windows Services you create in a specific package.
Workflow Runtime ServicesThis folder holds any Workflow Runtime Services you create in a specific package.
Workflows and ActivitiesThis folder contains sub-folders that hold any Composite Activities, Workflow Activities, and Workflow Applications you create in a specific package.


These Source Control folders ensure consistent project structure and placement of objects within the Source Control tree for every Workspace. If you or another team member create a new form, it will always be placed in the User Interface/Forms Source Control folder and never the Workflow Applications folder, which is reserved for workflow applications only.


Although Workflow Studio prompts you for the package when you first create an object, you do not need to make a selection at that moment. This gives you the opportunity to create a new package for the item if one does not yet exist in your Workspace. However, you must select a package before Workflow Studio will allow you to save the item.


Additionally, the Workspace tab in Solution Explorer gives you ready access to the commands associated with packages and package items. These commands are accessible from a context menu that appears when right-clicking an object in the Workspace Source Control tree. The number of commands available from the context menu depend on the particular object that has been right-clicked. Commands relevant to that object are enabled, while commands not relevant are grayed out and not selectable.

The following image shows the commands menu that appears when right-clicking on one of the nodes in the Workspace Source Control tree. The commands available depend on the particular node selected.




CommandPurpose
Show Source Control (Full View)Toggling this command changes the Source Control tree that appears in your Workspace. If the command is selected, the full Source Control tree appears displaying all the packages and package items existing in the EmpowerID Identity Warehouse in your Workspace tree; deselecting this option displays only those packages and package items you have imported into your Workspace.
Manage Source ControlThis command opens the Source Control dialog, which allows you to select the packages and package items you want to appear in your Workspace.
Add New ItemThis command allows you to add any new objects supported by Workflow Studio to your Workspace.
Import Package ItemThis opens the Import Package Item dialog, which allows you to search for and import into your Workspace any package item that has been previously exported to a location within your network. This command is only available when right-clicking on a package node or Source Control node folder.
Export Package ItemThis opens an Export dialog that allows you to Export the particular package item selected to a location within your network. This command is only available when right-clicking on a package item.
Delete Package ItemThis command deletes the selected package item. This command is only available when right-clicking on a package item.
Import PackageThis opens the Import Package dialog, which allows you to search for and import into your Workspace any packages that have been previously exported to a location within your network.
Import Missing Package ItemsThis opens the Import Missing Package Items dialog, which allows you to search for and import into your Workspace the specific package you right-clicked on. If package items exist in the imported package, those items will be added to your Workspace. This command is only availabe when right-clicking on a package node or Source Control node.
Export PackageThis opens the Export Package dialog, which allows you to export a selected package to a location within your network. This command is only available when right-clicking on a package node or Source Control node.
Delete PackageThis commands deletes the selected package, and all package items in that package from Source Control. WARNING: Deleting a package from Source Control irrecoverably deletes the package and all package items from the EmpowerID Identity Warehouse.
Open WorkflowThis command opens the Import Template dialog, which allows you to search for and import a (*.wf) or (*.xoml) file into your Workspace.
Enable Drag To Workflow DesignerToggling this command allows or disallows you to drag a selected activity (Workflow activity, Form activity, and Lookup activity)onto the design surface of a workflow application. Please note that in order to perform this operation, the activity, form, or lookup must first be published to the Workflow Server(s).
Start Workflow (Default Request Workflow)This command allows you to execute the default request workflow associated with a workflow object and is only enabled when right-clicking on a specific workflow application. When this command is selected, you will be asked supply the credentials under which you wish to start the workflow. You have the option of running the workflow as the currently logged in Workflow Studio user, running the workflow as a specified user, or running the workflow anonymously. Please note that to run the workflow successfully, the credentials you supply must have the Initiator Resource Role for the particular request workflow or the request workflow must be configured to allow for anonymous access. Also, the workflow must be published to the Workflow Server for a request workflow to exist.
View Recent Process FlowThis command opens the Process View Flow, which allows you to see the logic flow that occurred in a given workflow when that workflow was executed. This command is only available when selecting a specific workflow application and will only yield results for workflow who have their Life Expectancy property set to an appropriate duration. The Life Expectancy property determines the length of time a record of the workflow execution remains available.
Open Specific VersionThis opens the Open Specific Version dialog, which allows you to select specific version of a package item based on the version number of that item.
Restore VersionThis command allows you to revert a package item to a previous version of that item by version number.
Check OutThis command opens a package item in the Document Space.
Check InThis command allows you to check a specific package item into Source Control. In order to perform this operation, the item cannot be checked out by another team member.
Undo Check OutReverses the previous check out action.
Administrative Check OutAllows an administrator to check out a package item in Source Control.
Refresh PackagesRefreshes the list of packages showing in Solution Explorer for the workspace.


Windows Form Tab

The Windows Form Toolbox contains common Windows Forms controls that can be dragged onto a Windows Form that you are designing in Workflow Studio. Once a control has been added to a Windows Form, you can manipulate the properties and write event-handling code as you would with Visual Studio.


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.




    • Web Services Tab — This tab allows you to add Web Service Operations or Web Service Contracts to a workflow so that the workflow can be consumed as a service by external applications.




    • Windows Form Tab — This tab allows you to work with any Windows forms added to the workflow.




    • Source Code - This tab allows you to view source code of the workflow application. This code should not be modified.




  • 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.


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 Tab

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 contains two sub-tabs for working with a project: the Code Tree tab and the Code Snippets tab.

• The Code Tree Tab - The Code Tree tab 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.

CommandFunction
Add as SnippetThis 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 SnippetThis command allows you to create commonly used blocks of C# code that can be injected into a project as needed.
Add ReferenceThis 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.
Built-In Method OverridesThis command allows you to add a selected overridable method as a custom method to your project.
Add New Event HandlerThis command allows you to create an event-handling method that responds to a specified user event.
Add New Custom MethodThis command allows you to add your own methods to a project.
Add New Custom Method (Duplicate Signature)
Edit Method Signature
Add Visual C# Source ItemThis command allows you to add support classes for use in your project based on the Workflow Studio object model.
Add New Business RuleThis 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 ConverterAllows you to add a type converter to a workflow or activity. Type converters are used to convert values between data types.
New FolderThis command allows you to add a new folder to the Code Tree.
Add Windows FormThis command allows you to add a standard Windows form to a workflow application.
Add Embedded ResourceThis command allows you to search for a file on your computer or the network and add it to your project.
Remove All Embedded ResourcesThis command allows you to remove *all* embedded resources from your project.
Retrofit Embedded Resource PrefixThis command allows you to add a prefix to an embedded resource.
Add Source From FileThis command allows you to search for and insert a .cs file into your project.
Rename Item Support ClassThis 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 ItemDeletes a selected item from the project.



The following table show the commands available from the Code Tree for the User Interface applications you create for your workflows.


CommandFunction
Add ReferenceThis command allows you to add assembly references to the project.
Add Service ReferenceThis command allows you to add a WCF or Web (.asmx) service to your project.
Add Service ComponentThis command allows you to new classes to the project.
Add Embedded ResourceThis command allows you to search for a file on your computer or the network and add it to your project.
Retrofit Embedded Resource PrefixThis command allows you to add a prefix to an embedded resource.
Add Source From FileThis command allows you to search for and insert a .cs file into your project.
New FolderThis command allows you to add a new folder to the Code Tree.
Add as SnippetThis 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 specific class node.
Remove All Embedded ResourcesThis command allows you to remove *all* embedded resources from your project.
Delete ItemDeletes a selected item from the project.



The Code Snippets Tab — The Code Snippets tab displays any Code Snippets that you have added to a project or other team members have published. The Code Snippets tab behaves as a toolbox. Thus, as with the activities in the Activities Toolbox, you can drag a code snippet from the Toolbox and drop it into an open project to incorporate it. However, code snippets must be dropped onto an open Code Editor. They cannot be dropped onto the design surface of an object.



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 SelectGroups 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.








tasks:

Hello Workflow

Using Workflow Components

Basic Workflow Examples