Master Data Management

Add Validate and PreFinish Events to Content WebApp Pages

A page designer can call the public WebApp events Validate and PreFinish from the Request Role page from any event on dynamic pages in the Content WebApp.

This allows users to run these events via a button on any Content WebApp pages.

These steps require configuration outside and inside the Stewardship Tier.

This topic contains the following sections:

Configure the Product Outside of the Stewardship Tier

To configure the product outside the Stewardship Tier to add the events:

  1. Shut down IIS and the CranSoft Service.
  2. Create a folder in your installation directory DSPInstallationFolder\Web\UserArea\ named with the WebApp ID GUID of the Content WebApp.
  3. Copy the Scripts folder, located in the following path in your installation folder

    $DSPInstallationFolder\Web\UserArea\B9FF453E-D5BB-4A58-8CFF-E9620CEE0E1C\Templates\.

  4. Paste the Scripts folder into the Content WebApp GUID folder created in step 2.
  5. Restart IIS and the Cransoft Service.
  6. In the CranSoft database, update the Param table record to set ShowBetaOptions equal to 1.

    NOTE: This value must be set to expose fields in the Stewardship Tier used later in these steps.

  7. In the CranSoft database, in the PageColumn table, find records with a WidgetFunctionKey value. In the current delivered product only the MDM Validate and PreFinish buttons have a value. Copy that value for use later in these steps.
  8. In the MDM application database (DGE) call the view apiRequestRoleInheritValidationWidgetSel

    as a synonym or wrapped in a calling view from the Content WebApp’s database.

  9. Join the view to the Horizontal (and Vertical views if needed) of any page that calls the Validate or PreFinish event.

    NOTE: This view will also be needed for an Event (Evt) view used for registering the Validate or PreFinish event as a business rule for the Content WebApp’s events, described in step 13 below.

  10. Include the columns named Validate and/or PreFinish on the page.

    NOTE: These column names can be aliased using the page column translations.

    NOTE: The Finish Process requires the finishing column and event be named PreFinish.

  11. Join on the required columns RequestID and RoleID.

    NOTE: Both of those columns are needed in the page view.

  12. Include all of the other columns from the API view apiRequestRoleInheritValidationWidgetSel:

    • [ContainsErrors]
    • [UserResponseRequiredOnWarnings]
    • [ShowValMsg]
    • [RecordStatus]
    • [RoleName]
  13. In the Content WebApp database, create an Event view (with an Evt extension) that also uses the API view.

  14. Join the API view to the underlying table used for the page.

  15. Include all the table's keys, including the required RequestID and RoleID.

Add the Events in the Stewardship Tier

To add the events in the Stewardship Tier:

  1. Access the Page Columns page for the page in the Custom WebApp where the events are to be added.
  2. Set the columns from the API view to use the Text Box control, and set the Control Status to Hide.

    • [ContainsErrors]
    • [UserResponseRequiredOnWarnings]
    • [ShowValMsg]
    • [RecordStatus]
    • [RoleName]
  3. Click Save, the Vertical View displays.

  4. Click the Advanced Properties tab.

  5. Click Edit.

  6. Check the Pass To Widget Function check box.

    NOTE: Check this check box for all the columns listed above.

  7. Click Save, and close the Vertical View.

  8. For the columns RequestID and RoleID, on the Page Columns page, click Vertical View.

  9. Click the Advanced Properties tab.

  10. Click Edit.

  11. Check the Pass To Widget Function check box.

  12. Click Save, and close the Vertical View.

  13. On the Page Columns page, add the buttons for Validate or PreFinish.

  14. Click Save, the Vertical View displays.

  15. Click the Advanced Properties tab.
  16. Enter validationdialogcaller in the Widget Function field.

    NOTE: Ensure this value is all lower case.

  17. Enter the value copied from step 7 in the section Configure the Product Outside of the Stewardship Tier into the Widget Function Key field.

  18. Click Save.

  19. Return to the Pages page.

  20. Add the Validate or PreFinish events to the page.

To configure the Validate event:

  1. Click the Business Rules icon for the Validate event on the Page Events page.
  2. Add a WebApp Event and click Save; the Vertical View displays.
  3. Select dspConduct Request Role from the Event Page ID list box.
  4. Select Validate from the Event Name list box.
  5. Select the Event view created in step 13 in the section Configure the Product Outside of the Stewardship Tierin the Parameter View list box.
  6. Click Save.
  7. Click the Parameters icon.
  8. Click Edit.
  9. Edit the RequestID and select RequestID from the Parameter Value list box.
  10. Click Save.
  11. Click Edit.
  12. Edit RoleID and select RoleID from the Parameter Value list box.
  13. Click Save.

To configure the PreFinish event:

NOTE: This event must be named PreFinish.

  1. Click the Business Rules icon for the PreFinish event on the Page Events page.
  2. Add a WebApp Event and click Save; the Vertical View displays.
  3. Select dspConduct Request Role from the Event Page ID list box.
  4. Select PreFinish from the Event Name list box.
  5. Select the Event view created in step 13 in the section Configure the Product Outside of the Stewardship Tier in the Parameter View list box.
  6. Click Save.
  7. Click the Parameters icon.
  8. Click Edit.
  9. Edit the RequestID record, and select RequestID from the Parameter Value list box.
  10. Click Save.
  11. Click Edit.
  12. Edit the RoleID record and select RoleID from the Parameter Value list box.
  13. Click Save.
  14. After completing these steps, clear the local web browser's cache.

Exceptions for the Inherit Validations Popup

The Request Role page has an error for Role Conflicts that is not triggered by this call of the event. If you are using Role Conflicts, you can write a wrapper view that calls the DGE.dbo.webRequestRole_ConflictedRoleFinishedVal view. Add that view as an Error validation to the page's PreFinish event.

The Request Role page also has a Warning validation for Reviewers that displays if the reviewer clicks Approve when there are Rejected Tasks unresolved that is not triggered by this call of the event. Use a wrapper around the validation view webRequestRole_Finish_ApproveRejectedRoleVal. Add that view as a Warning validation to the page's PreFinish event.

Validate and PreFinish Behavior When Called from a Content Page

For the Validate and PreFinish events, the Inherit Validations popup behaves similarly to the Request Role page in the following situations.

  • For the Validate event, if there are no errors, the popup does not display and the user remains on the current page.
  • For the Validate event with a popup containing errors, warnings or messages, when the user clicks OK on the popup, the popup closes and the current page displays.
  • For the PreFinish event, if there are Errors, if the user clicks OK on the popup, the current page displays.
  • If User Response Required on Warnings is enabled for the Role, if the user clicks No on the popup, the current page displays.

The Inherit Validations popup behaves differently in the cases described below. In all of these cases, the Request Role page in MDM displays. The Role’s status is set to Finished or Processing.

  • For the PreFinish Event, if there are no errors or Warnings Requiring Response
  • If the popup appears with only Warnings or Messages, clicking OK or Yes.

From a Content WebApp page, when the PreFinish event is not stopped by an Error or a click of No on the Inherit Validations popup, the Request Role page alone, not the Header Detail page, displays.