In Workflow Studio, the Page Designer allows you to design your own web pages using the same objects used in many existing EmpowerID pages:
Design Elements
Data
User Input Controls
Advanced Search Panels
Trees
Each offers choices that you can customize to create exactly the page that you need.
The main component that every page shares is the grid. The grid displays data that you pull from the EmpowerID SQL database via an API endpoint using a method and, if applicable, parameters.
In this topic, we explore these objects and how you can use them.
Grids
The grid is the basis of every page that you create using the Page Designer. Each grid is populated with data pulled by a stored procedure, or search method.
You can elect to enable paging to keep from returning a long grid that can take time to load. This allows your users to select the number of items to display per page, like most existing grids in EmpowerID.
Columns
You can add, edit, delete, resize, and reorder columns within the grid using drag-and-drop functionality or context menus. There are also a number of pre-configured sets of columns that you can select by click Set to GridType. The default value for this is _Custom_, which allows you to add any combination of columns.
When you add or edit a column, you use the Field Selector dialog, where you can select the Field Name from those returned by the method, customize the column header label and data formatting, and select images if applicable. The edit button to the right of the Label field allows you to set a Locale Key for the column to allow users to localize the column header text.
Tabs
By default, the designer starts you off with a blank page to which you can add one or more tabs. The simplest page that you can create is one with a single tab, no tree, and a method that pulls data to display in the grid. You can find an example of this type of page in the EmpowerID web UI by expanding Pages and selecting White Pages.
You can see an example of a multi-tab page by expanding Resources and selecting Applications.
Right-clicking a tab at design time reveals options that you can set on it. You can:
edit the text that displays on the tab
delete the tab
select properties to include in the data returned by the stored procedure
edit tree parameters (if applicable)
select an Action tab to add
One grid displays per tab, so you can add more tabs if you need them, each with different trees (or no tree) and using different methods to populate their respective grids.
Methods
Each Workflow Studio method corresponds to a stored procedure in the EmpowerID SQL database.
The methods available to get data are limited to those that are associated with the selected tree. There is also a large number of methods associated with the No Tree selection.
If you run this SQL query in Microsoft SQL Server Management Studio, you can see all of the trees that you can use in pages.
select * from RBACViewTreeMethod
|
The following SQL query returns all of the methods you can use in pages.
select * from RBACViewMethod
|
You can see the results of that query in the image below. The RBACObjectID column represents the object for which the stored procedure returns data, and the ComponentTabMethod column has the stored procedure it calls to get the data.
For example, the first several rows returned by the query use RBAC Object 2335. If you run a query on RBACObject, you can see that 2335 is PersonView.
Methods are associated with trees in the RBACViewTreeMethodViewMethod table, which defines the one-to-many relationship between the two tables.
If you want to create a new method, you can add an entry to the RBACViewMethod table specifying an RBACObjectID, a ComponentTabMethod, and all other relevant column values. After that, associate it with the RBACViewTreeMethod table via an entry in the RBACViewTreeMethodViewMethod table.
For example, if you want to add a method to get all records for a certain object, you first find the ID for the object by executing this query:
Parameters
Some trees have parameters, and many methods have parameters as well.
In Microsoft SQL Server Management Studio, expand Databases, then EmpowerID, then Programmability to access the Stored Procedures folder containing all of the methods. You can filter the folder to work with a smaller subset of methods.
To filter the folder
Right-click the Stored Procedure folder and select Filter, then Filter Settings.
In the Filter Settings dialog, enter a Value, for example, "GetByOrgZoneID."
Expand the folder, right-click a stored procedure, for example, dbo.Custom_GroupView_GetByOrgZoneID, and select Modify to view the stored procedure.
In each stored procedure, you can see all of the parameters in parentheses just below ALTER PROCEDURE.
You can hard code parameter values in the Page Designer if they are connected to the RBACViewMethod via an entry in the RBACViewMethodParameter table. All search methods have default parameters like ColumnsToSearch and TextToSearch. These are not parameters for which you can hard code values, but others, like OrgZoneID or OrgRoleID, can be hard coded in the Page Designer.
Trees
You can opt to use a tree in the left pane of any tab to allow the user to scope the data displayed in the grid.
Here is a table of the included trees and their related methods.
Tree | Description |
---|
No Tree | No tree is shown, and you can select from a wide range of methods to return data for the page. Available Methods Get All People Get People I Can Manage My Group Membership Get Groups I Manage Get Deleted Accounts Get Orphan Accounts by Location Get All Audit Log Get All Attribute Change Inbox Get All Attribute Change Outbox Get All Resources Pending RBAC Processing Get Recently Created Resources Person Login History All Searchable Password Manage Enrollment History All Searchable Get All Group Changes Get SharePoint webs with unique permissions Get SharePoint webs I manage Get SharePoint webs where I can approve items GetAllNotProcessed GetAll GetAllSearch GetAllIgnored GetAllJoined GetAllProcessed GetAllProvisioned GetAll GetAccountNeverLoggedIn GetAllSearch GetAllNonOrphans GetAllOrphans GetByDisabled GetByLockedOut GetByPasswordExpirationDate GetDisabled GetExpiredByExpirationDate GetLinkedMailboxCandidate GetLockedOutID GetNotLockedOutID GetPasswordExpires GetPasswordNeverExpires GetAll GetAllSearch GetAllEmpty GetGorupsICanAddPeopleTo GetDirectReports GetPeopleICanAddToResourceRole GetPeopleWithNoAccounts GetAll GetAllSearch GetAllSearch Get All Public Folders GetAllSearch GetADGroupICanRemovePeopleFrom GetADGroupICanAddPeopleTo GetAllSearch GetAllEmptyNonHidden GetAllHighSecurityGroupsNonHidden GetAllSearchNonHidden GetGroupsICanAddPeopleToNonHidden GetGroupsIManageNonHidden GetMyGroupMembershipHighSecurityNonHiddenGroups GetMyGroupMembershipNonHidden GetAllSearch GetAllSearchListAsSuggested GetAllSearchListAsSuggested GetByResourceTypeID GetAssetForDemoExample GetAllAssignedDirectlyToCurrentPersonID GetAssignedByCurrentPersonID GetByActorCurrentPersonID GetByCurrentPersonID GetByCurrentPersonID GetByCurrentPersonID GetByCurrentPersonID GetByCurrentPersonID GetByCurrentPersonID GetByCurrentPersonID GetByCurrentPersonID GetByCurrentPersonID GetByCurrentPersonID GetAllSearchNonHidden GetAllSearch GetAll GetAllSearch GetUsableByCurrentPersonID GetByResourceAccessLevelID GetPagedByResourceAccessLevelID GetByResourceAccessLevelID GetByResourceAccessLevelID GetByResourceAccessLevelID GetBYExternalCredentialTypeID GetUsableByCurrentPersonIDByProtectedApplicationResourceIDList GetAll GetUsableByCurrentPersonID GetUsableByPersonID GetAll GetAllSearch GetAllSearchNonHidden GetAllSearchHidden GetAllSearch GetAllSearch GetAllSearchByResourceTypeID GetAllSearch GetAllSearch GetAll GetAllSearchByResourceTypeID GetAllHighSecurityGroupsNonHidden GetAllSearch GetAllSearch GetAllSearch GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelID GetByResourceAccessLevelID GetByResourceAccessLevelID GetByResourceAccessLevelID GetByResourceAccessLevelID GetByResourceAccessLevelID GetByResourceAccessLevelID GetByResourceAccessLevelID GetByResourceAccessLevelID GetByResourceAccessLevelID GetByResourceAccessLevelID GetByResourceAccessLevelID GetByResourceAccessLevelID GetByResourceAccessLevelID GetByResourceAccessLevelID GetByResourceAccessLevelID GetTestMethod GetByAssetTypeID Get GetAllSearch GetAllOrphansAllowingJoin GetAllOrphansByOrgZoneIDAllowingJoin GetAllOrphansByOrgZoneIDNonHidden GetAllNonOrphansHidden GetAllNonOrphansNonHidden GetAllNonOrphansByOrgZoneID GetBySecurityBoundaryTypeID Get Groups Without Owners |
Business Role all Organizations | The left panel contains a tree that shows Business Roles in all of the organizations in the enterprise. You can select only related methods. Available Methods Get People By Organizational Role Get People I Can Manage By Organizational Role Get OrgZones By OrgRole My Group Membership Get All Search Non-Hidden |
Business Role | The left panel contains a tree that shows only Business Roles in the default organization. You can select only related methods. Available Methods Get People By Organizational Role Get People I Can Manage By Organizational Role Get OrgZones By OrgRole My Group Membership |
Locations all Organizations | The left panel contains a tree that shows Locations in all of the organizations in the enterprise. You can select only related methods. Available Methods Get People By Organizational Zone Get People By Organizational Zone Rollup Get OrgRoles By OrgZone Org Zones Get Groups By Organizational Zone Get Groups By Organizational Zone Rollup My Group Membership Get Groups I Manage Get Accounts Never Logged In Get Disabled or Enabled Accounts By Location Get Locked Out or Not Locked Out Accounts By Location Get Accounts where Password Expires or Does Not by Location Get Expired Accounts by Date and Location Get Candidate Linked Master Accounts by Location Get Empty Groups by Location Get Deleted Mailboxes by Location Get Deleted Groups by Location Get People without Accounts by Location Get Accounts by Location Get Public Folders by Location Get Computers by Location Get Contacts by Location Get Orphan Accounts by Location Get Deleted Resource Mailboxes by Location Get Deleted User Mailboxes by Location Get Exchange Resource Mailboxes by Location Rollup Get Exchange User Mailboxes by Location Rollup Get Expired Accounts by Location Get Accounts Without EmployeeID by Location Get Exchange Mailboxes of All Types by Location Rollup Password Manager Enrollment History by LocationID Person Login History by LocationID Get Disabled Accounts by Location Get Not Locked Out Accounts by Location Get Locked Out Accounts by Location Get Accounts where Password Expires by Location Get Accounts where Password Never Expires by Location Get Deleted People by Location Get Deleted Accounts by Location Get SharePoint webs by person ResourceTypeRoleID and location Get SharePoint webs by site template and location Get SharePoint webs with unique permissions by location Get SharePoint webs I manage Get SharePoint webs I manage by location Get SharePoint webs where I can approve items by location Get people by SharePoint web and SharePoint role in location Get people by SharePoint web and ResourceTypeRoleID by location Get people by SharePoint web and ResourceTypeRightID by location Get people in SharePoint group by location Get SharePoint groups by location Get SharePoint groups by person and location Get SharePoint webs by person and ResourceTypeRightID and location Get SharePoint groups in SharePoint web by location Get people in SharePoint web by location Get SharePoint webs by location Get All Get All GetRollupByOrgZoneID GetByOrgZoneID GetByOrgZoneID GetEnabledByOrgZoneID GetMyGroupMembershipNonHidden GetByOrgZoneIDNonHidden GetAllEmptyByOrgZoneIDNonHidden GetRollupByOrgZoneIDNonHidden GetAllSearchNonHidden GetPagedByResourceAccessLevelID GetPagedByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelID GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelIDOrgZoneID GetBYExternalCredentialTypeID GetAllSearchByOrgZoneIDHidden GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelIDOrgZoneID GetAllOrphansByOrgZoneIDAllowingJoin GetByResourceSystemIDOrgZoneIDNonHidden |
All Locations | The left panel contains a tree that shows Locations in only the default organization. You can select only related methods. Available Methods Get People By Organizational Zone Get People By Organizational Zone Rollup Get OrgRoles By OrgZone Org Zones Get Groups By Organizational Zone Get Groups By Organizational Zone Rollup My Group Membership Get Groups I Manage Get Accounts Never Logged In Get Disabled or Enabled Accounts By Location Get Locked Out or Not Locked Out Accounts By Location Get Accounts where Password Expires or Does Not by Location Get Expired Accounts by Date and Location Get Candidate Linked Master Accounts by Location Get Empty Groups by Location Get Deleted Mailboxes by Location Get Deleted Groups by Location Get People without Accounts by Location Get Accounts by Location Get Public Folders by Location Get Computers by Location Get Contacts by Location Get Orphan Accounts by Location Get Deleted Resource Mailboxes by Location Get Deleted User Mailboxes by Location Get Exchange Resource Mailboxes by Location Rollup Get Exchange User Mailboxes by Location Rollup Get Expired Accounts by Location Get Accounts Without EmployeeID by Location Get Exchange Mailboxes of All Types by Location Rollup Password Manager Enrollment History by LocationID Person Login History by LocationID Get Disabled Accounts by Location Get Not Locked Out Accounts by Location Get Locked Out Accounts by Location Get Accounts where Password Expires by Location Get Accounts where Password Never Expires by Location Get Deleted People by Location Get Deleted Accounts by Location Get SharePoint webs by person ResourceTypeRoleID and location Get SharePoint webs by site template and location Get SharePoint webs with unique permissions by location Get SharePoint webs I manage Get SharePoint webs I manage by location Get SharePoint webs where I can approve items by location Get people by SharePoint web and SharePoint role in location Get people by SharePoint web and ResourceTypeRoleID by location Get people by SharePoint web and ResourceTypeRightID by location Get people in SharePoint group by location Get SharePoint groups by location Get SharePoint groups by person and location Get SharePoint webs by person and ResourceTypeRightID and location Get SharePoint groups in SharePoint web by location Get people in SharePoint web by location Get SharePoint webs by location Get All GetRollupByOrgZoneID GetByOrgZoneID GetEnabledByOrgZoneID GetAllLDAPContainersInOrgZoneID GetMyGroupMembershipNonHidden GetAllEmptyByOrgZoneIDNonHidden GetRollupByOrgZoneIDNonHidden GetAllSearchNonHidden GetForResourceManager GetByResourceAccessLevelID GetPagedByResourceAccessLevelID GetPagedByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelID GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelIDOrgZoneID GetByResourceAccessLevelIDOrgZoneID GetBYExternalCredentialTypeID GetByOrgZoneID GetAllSearchByOrgZoneIDNonHidden GetAllSearchByOrgZoneIDHidden GetAllOrphansByOrgZoneIDAllowingJoin GetByResourceSystemIDOrgZoneIDNonHidden |
Active Directory Domains by Forest | The left panel contains a tree that shows Active Directory domains grouped by forest. You can select only related methods. Available Methods Get Groups By Organizational Zone My Group Membership Get Disabled or Enabled Accounts By Location Get Locked Out or Not Locked Out Accounts By Location Get Accounts where Password Expires or Does Not by Location Get Computers by Location Get Deleted User Mailboxes by Location Get Accounts where Password Expires by Locaiton GetAllNonOrphans GetAllOrphans GetByOrgZoneID GetByOrgZoneID GetByPasswordNeverExpires GetMyGroupMembershipNonHidden GetAllEmptyByOrgZoneIDNonHidden GetRollupByOrgZoneIDNonHidden GetTestMethod |
| |
Advanced Search Panels
In EmpowerID find pages, there is often an advanced search panel that you can drop down to search for objects by specific fields, such as Department or Manager.
In the Page Designer, you can create your own custom advanced search panel. There are several related settings in the UI for each tab.
Setting | Description |
---|
Enable Search | Selected by default, this setting enables the basic search box at the top of the tab. |
Is Search Panel Visible | Selected by default, this setting displays the basic search box at the top of the tab. |
Edit Search Criteria | Empty by default, this opens a dialog where you can add fields to the advanced search panel. |
Click the Edit Search Criteria button to open the Edit Search Details dialog.
Here you can select the Is Advanced Search Enabled setting that adds the drop-down panel for advanced search fields. You can add new fields individually, or select a Grid Type that already has the fields you want. Click the Set to GridType button to open the Set Grid Type dialog.