Skip to main content

Rewriting pre-defined requests

A request can be updated and controlled using the WF WIZARD PLUGIN. The plugin can:

  • Update the request’s attributes

  • Update the request’s resources

  • Update the pages displayed

  • Provide a list of restricted values for an attribute

  • Control which attributes are displayed

  • Control which attributes can be edited

  • Provide the profile ID of the new user

  • Provide the initial password for new accounts

  • Validate the request and provide feedback to the user

This plugin applies only to pre-defined requests. Custom requests or legacy requests do not execute this plugin.

To use this plugin, type the name of the plugin in the WF WIZARD PLUGIN field on the Workflow > Options > Plugins configuration page.

There are no shipped plugins in use with this plugin point.

Requirements

See Writing plugins for general requirements.

Execution points

The plugin is run by the Workflow Manager Service and Asynchronous Request Service. The plugin is called when a request is:

  • Initiated by the user when selecting a request type

  • Updated by the user

  • Submitted by the user

  • Submitted via the API Service

Input

Input to the plugin includes:

"" "" = {
        sessionid = <id>;
        extras = { ... }; # Present when run by idwfm
        module = <ajaxsvc|idwfm>; # Program that is running the plugin
         
        wizard "" = {
                prequest "" = { ... }; # Provides the pre-defined request information
        lastRequest "" = { ... }; # Not present on initial load
        attributes "" = { ... }; # Provides recipient attribute information
         
        request "" = { ... }; # Provides request details
        }
} 

New users include a blank recipientname. When this is provided by the plugin, the profile ID provided will be used. If the recipientname matches an existing invalid user, the request will restore the user and update attributes and resources that are included the request.

Output

The request rewrite plugin returns the following output:

"" "" = {
  wizard "" = {
    prequest "" = { ... };  # Optional, omission indicates no changes
    request "" = { ... }; # Optional, omission indicates no changes
  }; # Optional, omission indicates no changes
  changed = <false|true>; # Optional, if false, any changes are ignored.
                          # Default is true
  retval = <N>; # Required, non-zero indicates a plugin failure
}