×

Please give details of the problem

Skip to content

Training Modules

MODULE 1 : DESIGN A RUNMYPROCESS APPLICATION

Platform overview

BUILD

  • Projects: edit or create a new RunMyProcess application. A project contains different resources and can be versioned.
  • Resources: All the available resources regardless of the project (web interfaces, processes, reports, collections, composite APIs, custom lists, connectors)

MANAGE

  • Acccount: manage all the customer account settings. Administrators can manage the account and configure it according to their requirements.
  • Roles: manage your organizations, entities, and roles. The rights (open, design, monitor) are based on the entities and roles.
  • My Settings: allows the user who is logged in to DigitalSuite Studio to view and change all settings related to his/her account.
  • Users: Customers can register users to their account as needed. They can add and modify users individually or use bulk and mass operations to do so.

MONITOR

  • Usage: monitor the usage of the account. It enables users with an Administrator profile to view detailed data on the subscription and the consumption of platform resources.
  • Messages: monitor the processing of emails for triggering processes and composite APIs.
  • Schedules: monitor the execution of schedules defined for processes and composite APIs.

IMPORT

  • Connectors: access the pre-built connectors from different providers that offer services to be integrated into your applications (e.g. Salesforce, Google, or Office 365).

Design an application

Design a Vacation request application.

This document outlines the process of designing a vacation request application. It will delve into the key considerations, functionalities, and design principles required to create a user-friendly and efficient system for employees to request and managers to approve time off.

The primary goal of this document is to provide a comprehensive understanding of the design process for a vacation request application. It will be a foundation for subsequent development phases, including requirements gathering, system architecture, user interface design, and implementation.

  • The main web interface: Vacation request form

This web interface is designed for employees to submit vacation requests. The clean and intuitive layout guides users through the request process, making it easy to input the necessary information and track the status of their requests.

VacationRequest

  • The workflow :

This image outlines a workflow for a vacation request approval process. The core functionality involves:

  • Request Submission: An employee submits a vacation request.
  • Manager Approval: The request is routed to the employee's manager for approval.
  • Decision and Notification: The manager either approves or rejects the request. The employee is notified of the decision via email.
  • Google Spreadsheet Integration: Regardless of the decision, a new row is added to a Google spreadsheet.

Process

VacationRequest

Sub-Process

VacationRequest

  • Reports:

The reports are designed to provide visibility into both employee and manager-specific data related to vacation requests.

Report: Employees

  • My Requests: Displays a list of all the employee's submitted vacation requests, including the request name, creation date, and total number of days requested.
  • My Drafts: Presents a list of the employee's saved vacation request drafts, allowing them to review and complete requests at a later time.

Report: Manager

  • My Tasks: Displays a list of vacation requests that require the manager's approval, including the request name, creation date, and total number of days requested.
  • All Requests: Provides a comprehensive view of all submitted vacation requests within the manager's team, enabling them to track overall vacation usage and planning.

Report

  • Dashboard:

These charts offer a quick and easy way to understand the distribution of vacation requests among different companies.

Dashboard

Standard Steps

  • Define the organization and roles: For every new application you create, there will be a dedicated set of roles (managers, approvers, super managers, etc.). A good practice is to create a dedicated organization per application. Access the quick guide for detailed steps.

  • Create a project: For every RunMyProcess application, you will need to create one or several projects since you'll need to have different set of rights for your resources and you won't version them the same way. Access the quick guide for detailed steps.

  • Design a process: You will usually have a main process and several subprocesses. Access the quick guide for detailed steps.

  • Create a web interface: In your main project, where you have configured the main process, you will configure the main web interface that triggers this process. Access the quick guide for detailed steps.

  • Create a custom list 'Type of Leave': To populate a drop-down menu with the different options in your web interface. Access the quick guide for detailed steps.

  • Create a manual task: This will allow the manager to review the request. Access the quick guide for detailed steps.

  • Create email notification: This will allow the application to notify the manager decision to the requester. Access this document for further details.

  • Create a subprocess 'add a row in the google spreadsheet': This will allow to have a predefined set of task for a complete integration with the Google Spreadsheet service. Access this document for further details on creating subprocesses.

Plug connectors

This section outlines how to connect your subprocess to Google Sheets using two connectors:

  • Google Oauth2 authentication: Refresh access token
  • Google Sheets v4: Append row(s) of values to table [v4]

Access the quick guide for detailed steps.

1. Obtaining Google API Credentials

  • Create a Google Cloud Project:
  • Enable the Google Sheets API:
    • In the left navigation menu, go to APIs & Services > Library.
    • Search for "Sheets API" and enable it.
  • Create OAuth Client ID:
    • Go to APIs & Services > Credentials.
    • Click "Create credentials" and select "OAuth client ID".
    • Choose "Web application" as the application type.
    • Download the JSON key file containing the client_id and client_secret.

2. Obtaining a Refresh Token

  • Visit the Google OAuth Playground: Go to https://developers.google.com/oauthplayground/.
  • Update Settings: Click on the gear icon and add your own OAuth credentials.
  • To use this playground, you will need to update your credentials settings and add two redirect URIs:
    • https://developers.google.com/oauthplayground
    • Your RMP application's main web interface URL (e.g., https://live.aw1.us.runmyprocess.com/wire/118401629711015586/wi/1988016566/state/0?P_mode=TEST)
  • Authorize API:
    • Select "Google Sheets API v4" and "https://www.googleapis.com/auth/drive". Click "Authorize APIs". Grant access when prompted.
  • Exchange Code for Token: Click "Exchange authorization code for tokens". This will provide the refresh_token.
  • Optional Test: You can perform a test API call here.

3. Configuring the "Login" Task

  • Define Task Type: In your subprocess configuration, select the first task. Set its type to "Connector".
  • Select Connector: Choose the "Google Oauth2 authentication: Refresh access token" connector.
  • Provide Input Variables:
    • client_id: Use the value from the downloaded JSON key file.
    • client_secret: Use the value from the downloaded JSON key file.
    • refresh_token: Use the value from the previous step.

4. Enable Result Injection

Ensure the "Inject results" option is selected for the "Login" task. This automatically stores the generated access token for subsequent use.

5. Configuring the "Append to Spreadsheet" Task

  • Define Task Type: Select the second task and set its type to "Connector".
  • Select Connector: Choose the "Google Sheets v4: Append row(s) of values to table [v4]" connector.
  • Provide Input Variables:
    • spreadsheet_id: Extract the ID from the Google Sheet's URL (e.g., https://docs.google.com/spreadsheets/d//).
    • range: Refer to the documentation (https://developers.google.com/sheets/api/guides/concepts#a1_notation) for specifying the target range in A1 notation.
    • values_array: Define the data structure containing the values to be appended to the sheet. You can find examples in the connector documentation.

Note: Replace with the actual ID of your Google Sheet.

Testing application

To ensure optimal application performance and reliability, it's crucial to conduct end-to-end testing to verify that all system components function correctly together.

For granular code testing, the process testing console offers a dedicated environment to isolate and examine specific code segments.

Testing

Create end-user reports

1. Create measures in processes

To incorporate process data into reports, create measures within your process:

  • Navigate to the process settings and access the Measures tab.
  • Define new measures by specifying a name and the corresponding process variable.
  • Select the appropriate measure type and add any required details.
  • Close the dialog and save the process.

2. Create reports

Web interface reports provide valuable insights to users about their tasks and requests.

  • Access the Reports section within your project resources and select Web Interface Reports
  • Click on the Add icon to start building a new report
  • Select the automatic mode
  • Select the main web interface
  • Customize the report by choosing relevant screens, filters, and columns. Utilize both default columns and previously defined measures.
  • Save the report with a descriptive name.

The included video demonstrates a sample "My Tasks" report.

Note: Access the specific guide for further details.

3. Embed reports in web interfaces

Enhance user experience by seamlessly integrating reports into web interfaces using the Web Interface Report List widget.

Testing

Create a dashboard

Gain valuable insights into your process data by building custom dashboards. Access the detailed guide here.

  • To improve navigation and user experience, standardize the header and menu bar across all web interfaces.

  • Configure redirection links:

To streamline the user experience, implement the following redirects:

  • Upon successful vacation request submission: Automatically direct the employee to their "My Requests" report page.
  • After manager approval or rejection: Redirect the manager to their "My Tasks" report page.

These redirects eliminate unnecessary steps and provide immediate feedback to users.

  • To enhance transparency and user engagement, display a progress bar on the main vacation request submission page. This visual element should:

    • Clearly indicate the current step in the vacation request process.
    • Show completed steps and remaining steps.
    • Provide a sense of progress and expectation management.

Create a home page 'All Applications'

Organize and showcase your applications by creating a dedicated 'All Applications' home page. This central location will list all available applications for easy access and navigation.

Create a new version in production

What are the new features after each release?

MODULE 2 : ADVANCED DESIGN

How to reboot red processes

  • Need to troubleshoot an issue before deployment or fix a live application? Refer to the "How to resume processes" tutorial for detailed guidance on restarting red processes.

Create a RunMyProcess custom login page

Create your custom login page

Advanced Javascript

Advanced Freemarker

How to use process listeners

  • Tutorial : what is a process listener, and how to configure it.
  • ex : get the Exchange Rate from European Central Bank (ECB)
    • configure a process with currency as input parameter, and that retrieve the exchange rate using ECB connector
    • configure a custom list of currencies USD, EUR, JPY
    • configure a web interface
    • include the custom list and a text input 'FX rate"
    • configure a process listener that will listen to the currency variable and retrieves the fx rate into the web interface
    • include a spinner to be displayed when process is running
  • [PRACTISE] Ex : design a application 'Price approval process'.
    • The initiator enter a price in EUR, a process listener get the fx rate and displays the amount in USD
    • The initiator submits this price for approval to the manager.
    • The manager can approve or reject. If rejected, the process loops back to a task for the initiator, then ask again manager approval.
    • Design the login page that redirects to this application after user logs-in
    • Note: Process listener can be launched when screen is loaded, the list of fx_rate can be saved as a map in the js context, and a js scripter can listen to the map and selected currency => it's more efficient as there are less calls
  • [PRACTISE] Exercice: Get the list of rows from a Google Spreadsheet and display them into a RMP variable based list (ex : product title, product description, product price)

Create a new connector

How to use RunMyProcess Collections

Before switching your project to LIVE

Note for RunMyProcess Integrators

  • Ask a customer to grant you access to his account
  • RunMyProcess support has an internal tool to copy an application from an account to another one.
  • RunMyProcess support can provide you with useful tools for your projects deployments, eg: a back office to Create/Update/Mass import users, reset passwords.
  • If you need technical help to build prototype, and before designing your first projects, contact our support.