Training Modules
Table of Contents
MODULE 1 : DESIGN A RUNMYPROCESS APPLICATION
Platform overview
Desktop
- Home : access to last modified resources + tutorials.
- My Applications : list of the web interfaces you can open.
- My tasks : don’t use. You must rely on reports to display the opened tasks of the connected user.
- Files : upload a file on RunMyProcess as private or public (.css, images, .js etc...).
Toolbox
- Organization : manage your organizations, entities and roles. The rights (open, design, monitor) are based on the entities and roles.
- Projects : edit or create a new RunMyProcess application. A project contains different resources and can be versionned.
- Web interfaces : one of the Project resources. A web interface can be used to trigger a process and for manual tasks.
- Processes : one of the Project resources. A process is composed of 'activities' of 4 types : trigger a subprocess/a email notification/a connector/a manual task.
- My connectors : a connector is linked to a provider, which is linked to a project. A connector can be called from a process.
- Custom lists : one of the Project resources. Can be private or public and can be used in web interfaces.
Reports
- My dashboard: don’t use, it’s deprecated. Dashboard will be made accessible out of the platform .
- Web interface reports : one of the Project resources. It displays web interface instances (like opened tasks, validated tasks, drafts etc..) with editable filters and columns.
- Process reports :one of the Project resources. Used for technical supervision and debuging, it displays process instances (completed, with errors)with editable filters and columns.
- Charts : don’t use, it’s deprecated. They can be configured on reports directly.
Libraries
- Process examples : process examples on how to use the connectors on library. Soon, they'll be downloadable.
- Connectors : import pre-configured connectors from our library. You can also configure your own connectors and share them with the RunMyprocess community.
Monitoring (only for admins)
- Messages : processes can be triggered by email. This is the incoming email monitoring console.
- Scheduled process : processes can be scheduled (every 5min/day/week/month) and monitored here.
Account (only for admins)
- Users : create a new user/edit an existing one.
- Configuration : edit authentication method (login/password, SSO, Google OAuth2), domains (used for Google OAuth2, DigitalSuite EnterpriseConnect), user metadata and preferences.
- Usage : chart with the number of process instances on your account every day.
- Offers : subscribe to a new offer after your trial has expired (nb of licences = nb of users on the account).
Design an application
Design a Vacation request application.
- The main web interface : Vacation request form.
- The workflow : one approval step, a gateway and a google spreadsheet integration
- 2 web interfaces for the reports : 2 reports for employees (my requests, my drafts) and 2 reports for the manager (my tasks, all requests)
- A nice dashboard with charts
Standard Steps
- Create a project
- Design a process
- Create a web interface (no javascript, no freemarker)
- Create a custom list 'Type of Leave'
-
Add CSS to web interface
- Tip : Download a CSS template to save time: select 'grey added sept 2012' and download it.
-
Create a manual task
- Create email notification
- Create a subprocess 'add a row in the google spreadsheet'.
Plug connectors
- 2 connectors to import from 'LIBRARIES > Connectors' and to plug to the process : 'Google API Login > Login spreadsheet' then 'Google Spreadsheet > Add a row'
Testing application
- Several testing consoles
- Freemarker testing console
- Process testing console
- Connector testing console
- Test application from A to Z
Create end users reports
- Create measures in processes
- Create reports
- Embed reports in web interfaces
Create a dashboard
- You can make some analysis on your process data : create a dashboard.
Add menu bar, redirection links, progress bar
- You created the different webinterfaces : now configure the header and the menu bar in every one of them.
- Configure redirection links:
- when an employee submit his request, redirect him to his 'my requests' report, instead of displaying thank you default popup.
- when a manager validate/reject a task, redirect him to his 'my tasks' report.
- In your main webinterface (submit new vacation request), display a progress bar widget to inform end users what are the completed steps, what is the current one, what are the remaining ones.
Create a home page 'All Applications'
- You've made you first application. List it and next ones on a home page 'All Applications'.
Create a new version in production
- What is the P_mode parameter in the web interface urls
- Tutorial: Create the first v1 in live + how to release then a v2
What are the new features after each release?
- See the releases notes
MODULE 2 : ADVANCED DESIGN
How to reboot red processes
- Debuging before deployment, or fixing a live application? => See Tutorial : How to resume processes
Design back loops
Create a RunMyProcess custom login page
- You authenticate using RunMyProcess login/password or you have multiple google domain? => Create your custom login page
Advanced Javascript
- The must-read before using javascript
- FAQ
- List of the RunMyProcess javascript methods
- What difference between native JS and RunMyProcess JS?
- Basic data manipulation
- Use JS dynamic rules on widgets
- Access RunMyProcess resources using jQuery : Tutorial on how to perform a request to RMP resources using jQuery
- Keep in mind
- native JS context is != RunMyProcess JS context
- To color your Javascript code, to copy-paste it, use notepad++. Select language 'Javascript'
- [tutorial coming soon: apply dynamic filters on reports]
Advanced Freemarker
- The must-read before using freemarker
- The basics
- FAQ
- List of the RunMyProcess freemarker methods
- Basic data manipulation
- Keep in mind
- Freemarker can only be used in the processes : it’s a server language
- it may be used some time in the web interface to display only a computed parameter (ex : ${P_connected_user.name}, ${any_variable_in_the_process}
- To color your Freemarker code, to copy-paste it, use notepad++. Select language 'XML'.
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 spreadsheet with columns firstname, lastname, email, address
- Read How to deal with the result of a webservice regardless of its structure
- What is a variable based list, what structure should be passed to the list?
- Build a Dynamic List
- Plug the process listener to the web interface and display the content of the spreadsheet
Create a new connector
- Configure a new REST or SOAP connector on your RunMyProcess account
- ex : How we prepackaged 'Add a new event in Google Calendar' connector. See Google calendar API developer's guide
How to use RunMyProcess Collections
- [PRACTISE] Tutorial : How to use collections
- [PRACTISE] Tutorial : How to create a backoffice to manage collections
- [PRACTISE] Tutorial : How to create linked lists
- [PRACTISE] Tutorial : How to create linked lists in an array
Before switching your project to LIVE
- Build an application to be notified when processes fail
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.
Please give details of the problem