Versions Compared

Key

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

...

  1. In the CT_REQ_MDLR_AUTHFLOW table, change the type of authentication from noauth to foureye or sixeye and make changes to the AUTH_FLOW column accordingly. A sample entry is provided as follows:

    TABLE COLUMN

    VALUES

    GCIFCTSTUD2014ENTL

    FLOW_CTRL_ID

    004

    PRODUCT

    CTSTUDIO

    SUB_PRODUCT

    PUBLISHER

    CHANNEL_ID

    3

    APPLICATION_ID

    CTSTUDIO

    DEFAULT_IND

    Y

    EVAL_CONDITION

    {

             condition  : [

                              {

                                           id  :  equals ,

                                          field  :  $context.authflow

                                          value  : true

                                }

             ]

    }

    EVAL_ORDER

    1

    STOP_PROCESS_IND

    FALSE

    RESPECT_HIER_IND

    FALSE

    TYPE

    foureye

    AUTH_FLOW

    {

       authflow  : [


    {

                  tier  : [

                                  {

                                     type  : INTEGER,                        

                                     min  : 10,                                      

                                     max  : 100,                                   

                                     workflow  : {                                      

                                     type  :  foureye ,                      

                                                     flow  : {                        

                                                    completed  : false                       

                                                                 }

                                                        }

                                      },

                                     {

                                     type  : INTEGER,

                                     min  : 100,

                                     max  : 1000,

                                      workflow  : {

                                      type  :  sixeye ,

                                                        flow  : {

                                                       completed  : false

                                                                      }

                                                             }

                                         },

                                        {

                                         type  : INTEGER,

                                        min  : 1000,

                                        max  : 10000,

                                        workflow  : {

                                        type  :  tree ,

                                                         flow  : {

                                                         condition  :  OR ,

                                                         completed : false,

                                                          flow : [

                                                                           {

                                                                                   role :  A ,

                                                                                   count : 1,

                                                                                   completed : false

                                                                             },

                                                                            {

                                                                                    role :  B ,

                                                                                    count : 2,

                                                                                    completed : false

                                                                             },

                                                                             {

                                                                                     role :  D ,

                                                                                     count : 1,

                                                                                     completed : false

                                                                               },

                                                                         ]

                                                                     },

                                                         {

                                                             completed : false,

                                                              flow : [

                                                                               {

                                                                                    role :  A ,

                                                                                    count : 1,

                                                                                    completed : false

                                                                                },

                                                                                {

                                                                                     role :  C ,

                                                                                     count : 1,

                                                                                     completed : false

                                                                                  },

                                                                                  {

                                                                                       role :  D,

                                                                                       count : 1,

                                                                                       completed : false

                                                                                    }

                                                                              ]

                                                                        },

                                                          {

                                                             completed : false,

                                                               flow : [

                                                                                    {

                                                                                       role :  X ,

                                                                                       count : 1,

                                                                                       completed : false

                                                                                      },

                                                                                      {

                                                                                              role :  Y ,

                                                                                              count : 1,

                                                                                              completed : false

                                                                                        }

                                                                                 ]

                                                                            },

                                                                                        {

                                                                                              role :  E ,

                                                                                              count : 1,

                                                                                              completed : false

                                                                                              }

                       

                                                                                      ]

                   

                                                                               }

                

                                                                     }

            

                                                          }

         

                                             ]


                                 }


                                    ]


              }



  2. In the OD_USER_FUNCTION_MB table, update the administrators' details to enable request approval. A sample entry is provided as follows:

    TABLE COLUMN

    VALUES

    OD_GCIFCTSTUD2014ENTL

    OD_USER_NO

    201407010004

    APP
    APPLICATION_IDCTSTUDIO

    OD_

    FUN

    FUNCTION_CODE

    APPROVE
    OD_
    PROD
    PRODUCT_CODECTSTUDIO
    OD_SUB_PROD_CODEPUBLISHER
    OD_ACC_NOREADONLY
    OD_
    TRAN
    TRANS_MAX_AMT0
    OD_ACC_GRP_CODE(NULL)
    OD_
    FLG

    CRT

    USER_ROLE

    CTSTUD2014ENTL

    201407010004

    CTSTUDIO

    APPROVE

    CTSTUDIO

    PUBLISHER

    READONLY

    0
    ROLLBACK_FLAG(NULL)
    (NULL)
    CRITERIA_TYPEREADONLY
    USER_ROLEALL
    For the full set of information on Request Approval workflow, refer the following pages: 
    • Approving Components
    • Initiating Requests
    • Approving Requests
    • Rejecting Requests
    • Re-submission of Rejected Requests
    Request Approval WorkflowThe Request Approval in Canvas Studio paves the way for an effective mechanism in managing configuration data or metadata. When any Canvas component (e.g. forms, templates, shortcuts, shortcut containers etc.) is created by a Canvas Studio user, the configuration data or metadata of those components gets stored in the Canvas schema. Canvas administrators or users, who possess the privilege of Canvas administrator, can then approve or reject those Canvas components. The approval workflow is even applicable for editing and deleting the components. The following steps provide precise information on the request approval workflow in Canvas Studio.
    Note: The Request Approval workflow is applicable only for Forms, Form Containers, Events, Template, Shortcuts, Shortcut Containers, Entitlements and Reports.

    Initiating Requests

    To initiate a request, the Canvas Studio user must create Canvas components, such as forms, templates, shortcuts, reports, entitlements and events. Let's assume that the user needs to create a form.
    Click Create >Form.

Image Removed
The Create/Edit Form page appears.
Image Removed

  1. Design the form, based on the necessary requirements. The following screen shot showcases a sample form with the Form Id, NEW_BENEFICIARY_FORM.

Image Removed

  1. Click Save to save the form.

Image Removed
On saving the form, a request gets initiated. A confirmation message, with a reference number, indicating the initiation of a request appears, as shown in the following screen shot.
Image Removed

Approving Requests

The approval of requests rests with the Administrator, who should either approve or reject the request, which was initiated by the user. To approve the requests, perform the following steps:

  1. Log in to Canvas Studio as an administrator.

Image Removed
The home page of Canvas Studio appears.
Image Removed

  1. Click Request Approval on the left navigation pane.

Image Removed
The Activity Summary page with Saved, Pending, Processed and Rejected tabs appears as shown in the following screen shot. The Saved tab comprises of saved requests, while Pending, Processed and Rejected denote pending, approved and rejected requests respectively.
Image Removed
The Request Name drop-down lists the type of requests. Administrators can use the Request Name drop-down to filter the requests pending for approval.
Image Removed

  1. Click the Pending tab to view the pending requests.
  2. Hover the mouse on the right side of the pending request to view the Approve/Reject options. Click Approve/Reject to proceed further.

Image Removed
The Edit Form page appears.
Image Removed

  1. To preview the form, click Preview Image Removed icon.

Image Removed
A new window appears. The three channels of desktop, tablet and mobile are displayed.

  1. Click the channels icons ( Image Removed Image Removed Image Removed ) to preview the form in the respective channels.

Image Removed

  1. Click Approve Image Removed icon to approve the form.

Image Removed

  1. A message box, indicating the approval of form changes, appears. Click Ok.

Image Removed
A confirmation message, indicating a valid approval of the request appears.
Image Removed

  1. For the requests involving components like templates, the data appears in read-only mode, as shown in the following screen shot:

Image Removed

  1. To approve the request, click Approve.

Image Removed
A message box appears.
Image Removed

  1. Type your comments in the Approval Comments text field and click Submit.

Image Removed
A confirmation message, indicating a valid approval of the request appears.
Image Removed

  1. Click Ok.

Rejecting Requests

To reject requests, perform the following steps:

  1. To reject a request, click Reject Image Removed icon.

Image Removed

  1. A message box, indicating the rejection of form changes, appears. Click Ok.

Image Removed
A confirmation message, indicating a successful rejection of the request appears.
Image Removed

  1. For the requests involving components like templates, the data appears in read-only mode, as shown in the following screen shot:

Image Removed

  1. To reject the request, click Reject.

Image Removed
A message box appears.
Image Removed

  1. Type the reasons for rejection in Reject Reason text field and click Submit.

Image Removed
A confirmation message, indicating a successful rejection of the request appears.
Image Removed

  1. Click Ok.

Re-submission of Rejected Requests

To view or re-submit a rejected request, perform the following steps in Canvas Studio.

  1. Log in to Canvas Studio as a user, so as to view or re-submit the rejected request.

Image Removed
The home page of Canvas Studio appears.
Image Removed

  1. On the home page of Canvas Studio, click Request Approval.

Image Removed
The Rejected tab displays the rejected requests.

  1. Click the Rejected tab under the segment of Activity Summary.

Image Removed
The workflow process paves the way for the users to edit or delete the rejected request.

  1. Hover the mouse on the right side of the rejected request and you will find the options of Edit and Delete. Click Edit option to edit the form. To delete the form, click Delete.

Image Removed
The Edit Form page appears.
Image Removed

  1. Make the necessary changes to your form, as per the requirements or in accordance with the instructions, provided by the Administrator. Click Save, once you have made the necessary changes to the form.

Image Removed
A confirmation message, indicating a successful initiation of the request, appears.
Image Removed


  1. Click Ok.
    Note

    To roll back the request approval workflow, the values of the EVAL_CONDITION, TYPE and AUTH_FLOW columns must be modified in order to nullify the request approval workflow process. Therefore, it is necessary to specify the appropriate entries for the respective columns In the CT_REQ_MDLR_AUTHFLOW table in the Canvas schema, as shown in the following table:


    TABLE COLUMN

    VALUES

    GCIFCTSTUD2014ENTL

    FLOW_CTRL_ID

    004

    PRODUCT

    CTSTUDIO

    SUB_PRODUCT

    PUBLISHER

    CHANNEL_ID

    3

    APPLICATION_ID

    CTSTUDIO

    DEFAULT_IND

    Y

    EVAL_CONDITION

    {"condition" : true}

    EVAL_ORDER

    1

    STOP_PROCESS_IND

    FALSE

    RESPECT_HIER_IND

    FALSE

    TYPE

    noauth

    AUTH_FLOW

    {"authflow":[{"tier":[{"type":"number","min":10,"max":100,"workflow":{"type":"none","flow":{"completed":true}}}]}]}



    For the full set of information on Request Approval workflow, refer the following pages: