Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

User approval workflow simplifies the process of approving new users when self-sign-up is enabled, as well as enables the creation of custom sign-up forms.

An example of a correctly configured approval flow presented here consists of three parts. In the first stage, the administrator configures the user approval workflow. It is here , where the custom sign-up form can be built, dependent on the needs of the organization. The second stage is an automation, which converts the approved cases into actual system users. In the last stage of the process, the administrator enables the functionality in the system.

...

Expand
titleExample DSL
Code Block
languagejson
stage "pending_approval" {
    type = "Manual Stage"
    label = "Pending approval"
    row = "1"
    column = "1"
    description = ""
    retired = "false"
    automatically_assigned_to = "groupId:2"
    icon = "yellow-activity"
}

transition "sign_up" {
    type = "Manual Transition"
    label = "Sign up"
    to = "pending_approval"
    constraints = ["constraint_1", "constraint_5", "constraint_2", "constraint_3"]
}

stage "approved" {
    type = "Manual Stage"
    label = "Approved"
    row = "2"
    column = "0"
    description = ""
    retired = "true"
    icon = "green-checked"
}

transition "approve" {
    type = "Manual Transition"
    label = "Approve"
    from = "pending_approval"
    to = "approved"
    constraints = "constraint_4"
}

stage "rejected" {
    type = "Manual Stage"
    label = "Rejected"
    row = "2"
    column = "2"
    description = ""
    retired = "true"
    icon = "red-close"
}

transition "reject" {
    type = "Manual Transition"
    label = "Reject"
    from = "pending_approval"
    to = "rejected"
    constraints = "constraint_6"
}

constraint "constraint_1" {
    type = "Any user can transition"
    label = "Any user can transition"
}

constraint "constraint_5" {
    type = "String Input Constraint"
    key = "supervisor"
    label = "The name of your supervisor"
    tooltip = "Who is your supervisor?"
    placeholder = "Type your answer here"
    render_type = "text"
    promoted = "true"
}

constraint "constraint_2" {
    type = "Date Input Constraint"
    key = "signup_deadline"
    label = "When do you need the access to the system by?"
    tooltip = "Choose the deadline."
    placeholder = "Date"
    promoted = "true"
}

constraint "constraint_3" {
    type = "String Input Constraint"
    key = "use_type"
    label = "How will you primarily use the system?"
    tooltip = "E.g. uploading assets, content management."
    placeholder = "Type you answer here"
    render_type = "textarea"
    promoted = "true"
}

constraint "constraint_6" {
    type = "Only Current Stage Owner Can Transition"
    label = "Allow the assignee to transition"
    negate = "false"
}

constraint "constraint_4" {
    type = "Only Current Stage Owner Can Transition"
    label = "Allow the assignee to transition"
    negate = "false"
}

Configuration:

Step

Configuration

Explanation

“Sign up” transition

Name: selected by the user

Transition type: Manual

Unique ID: selected by the user

Description: selected by the user (optional)

Constraints: execution condition and input constraints

This is the first transition of the workflow, triggered by submitting of a new sign up form.

The transition is manual, because it is initiated by a deliberate action from a user - in this case, the act of submitting of a sign up form by a new user.

It is in this transition where the administrator can create a custom sign up form. Any information that should be provided in that form aside from the standard fields (such as name or password), can be configured here with the use of input constraints. In this specific example, the user will be asked, among others, to:

  • provide the name of the supervisor (String Input Constraint, rendered as text)

  • clarify how they will use the system (String Input Constraint, rendered as text area)

  • state when they need to have an active account by (Date Input Constraint).

Additionally, “Any user can transition” constraint was configured so that anyone can trigger the workflow by signing up.

“Pending approval” stage

Name: selected by the user

Unique ID: selected by the user

Description: selected by the user (optional)

Mark as completed: no

Relevant Meta Fields: -

Stage owner: Stage Assignment Behavior - Assign to a group

Labels: selected from the list of created as custom

The name of the stage is also the name of the task.

The optional description will provide the assigned user with the explanation of what is expected in this stage.

In this case, the stage owner is a user group. It means that any user belonging to that group can transition the task. i.e. approve or reject the new user.

The label will be displayed on the task.

“Approve” transition

Name: selected by the user

Transition type: Manual

Unique ID: selected by the user

Description: selected by the user (optional)

Constraints: execution condition

The manual transition means that the task can only be fulfilled by selecting one of the options from the list of available actions.

Constraint:

  • “Allow the assignee to transition” means that only the user(s) assigned to this task can either approve the new user.

“Approved” stage

Name: selected by the user

Unique ID: selected by the user

Description: selected by the user (optional)

Mark as completed: yes

Relevant Meta Fields: -

Stage owner: Unassigned

Labels: selected from the list of created as custom

The name of the stage is also the name of the task.

The optional description will provide the assigned user with the explanation of what is expected in this stage.

The label will be displayed on the task.

Marking the stage as complete means that the this particular workflow instance will be archived after this stage.

“Reject” transition

Name: selected by the user

Transition type: Manual

Unique ID: selected by the user

Description: selected by the user (optional)

Constraints: execution condition

The manual transition means that the task can only be fulfilled by selecting one of the options from the list of available actions.

Constraint:

  • “Allow the assignee to transition” means that only the user(s) assigned to this task can reject the new user.

“Rejected” stage

Name: selected by the user

Unique ID: selected by the user

Description: selected by the user (optional)

Mark as completed: yes

Relevant Meta Fields: -

Stage owner: Unassigned

Labels: selected from the list of created as custom

The name of the stage is also the name of the task.

The optional description will provide the assigned user with the explanation of what is expected in this stage.

The label will be displayed on the task.

Marking the stage as complete means that the this particular workflow instance will be archived after this stage.

Part 2 Automation

The next part is about setting up an automation for manifesting the approval workflow converting the approved sign ups into actual user systems in the DAM Center.

...

Info

Please note that the foreach is needed as newer iterations of automation only handle lists. This will ensure that your DSL will handle lists of members - to assets for that matter - in the future.

Configuration:

Step

Configuration

Explanation

Business Workflow Stage Entered

Workflow: select the correct user workflow from the dropdown list

Stage Name: select the approved stage from that workflow from the dropdown list

Here, the administrator should indicate the preciously configured user approval workflow and then select at which stage the new user are approved, and therefore this automation should be triggered.

Convert Member Id To Member Item Id

Inputs:

Member Item Id: @sourceItemIds

Outputs:

Member Id: @memberid

Member Item Ids are converted into Member Ids, necessary for the approval process.

Approve Member

Member Id: @memberid

Approved: checked

The newly created user is approved in the DAM Center and therefore can log in and start using the system.

It is also recommended to set up a custom e-mail notification to the new user once they have been approved. For more information on how to create e-mail templates and how to configure sending them using automations, please refer to DC 5.5 Example - Sending emails.

...