Plone conference 2018 presentation: Digital transformation in University of Jyväskylä is improved by finding solutions to create flexible business process solutions. In case Supervisiondoc we are using Plone, forms and workflows and a new addon called collective.flow.
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Workflows and Plone - Case supervisiondoc
1. WORKFLOWS AND PLONE
- CASE SUPERVISIONDOC
RIKUPEKKA OKSANEN & ASKO SOUKKA
- PLONE CONFERENCE 2018
2. ME
2
▸ Rikupekka Oksanen
rioksane@jyu.fi
▸ Twitter: @rikupekka
▸ University of Jyväskylä, Finland,
since 2001, now at digital services -unit
▸ Plone-user/site builder/support/trainer/
project manager since 2004
5. UNIVERSITY OF JYVÄSKYLÄ (JYU)
5
▸ A significant multi-discipline research university and an
expert in education
▸ https://www.jyu.fi/en/university
▸ 15 000 students, 2600 staff
(+15 000 students at
Open University)
7. 7
At University of Jyväskylä we have used Plone since 2004.
We leverage it for various purposes, we have built:
‣ Public and intranet websites
‣ Video publishing platforms
‣ Learning management systems (LMS)
‣ Customized web applications
‣ 1000+ digital forms
‣ Lots of integrations to and from different sources, local
and national systems
JYU AND PLONE
12. WHY DIGITAL WORKFLOWS?
12
▸ https://training.plone.org/5/ttw/workflow.html#why-use-a-workflow-application
▸ In one case, a single (albeit complex) workflow application has allowed a university
department to save at least half a staff person’s time, not so much to reduce
staffing but to allow an already overburdened staff to be reassigned to work that
cannot be automated. Over a ten-year period, the cost savings represent
hundreds of thousands of dollars and counting, not including intangible benefits
such as:
▸ Clients and staff have immediate access to forms at anytime or anywhere
▸ Clients are notified by email when their submitted form is being processed
▸ Clients can view their submitted forms and check their status at any time
▸ Submitted forms are not lost or overlooked
▸ Submitted forms can be searched for electronically
▸ Staff working with submitted forms have always-updated status information
13. THIS PRESENTATION
13
1. Digitalization needs at JYU
2. Workflows in general: requirements
3. Finding a workflow solution for JYU
4. Case Supervisiondoc
5. Plone collective.flow -add on
6. How Plone fits as a solution
7. Summary
14. JYU AND DIGITALIZATION
14
Lately at JYU there has
been even more
demand, both from
management and user
level, for rapid digital
transformation.
15. JYU AND DIGITALIZATION - THE NEED
15
At JYU we have relatively lot
of digital tools and processes
to make things efficient and
usable. We have been creating
and using digital solutions for
years.
Especially we have focused on
serving flexible tools for
studying.
However, there still remains
lots of paperwork,
ineffective processes or
old, unmaintainable
digital solutions, especially
in HR, student services and
financial services.
16. WORKFLOWS, JYU AND 2018
16
At 2018 our digital services department has had tasks:
1. TO FIND A GENERAL,
HOPEFULLY ONE-SIZE-FITS-ALL
-SOLUTION FOR DIFFERENT
WORKFLOW PROBLEMS AT
OUR UNIVERSITY.
2. TO ACTUALLY SOLVE
SOME OF THE WORKFLOW
DIGITALIZATION NEEDS,
WHICH HAVE BEEN
ALREADY IDENTIFIED AND
PRIORITIZED.
17. A WORKFLOW
17
▸ A workflow consists of an orchestrated and repeatable
pattern of business activity enabled by the systematic
organisation of resources into processes that transform
materials, provide services, or process information.
It can be depicted as a sequence of operations, the work
of a person or group, the work of an organization of staff,
or one or more simple or complex mechanisms.
https://en.wikipedia.org/wiki/Workflow
23. 23
1. Workflow modelling tool
2. Flexible form generator
3. Workflow engine for the actual process
4. RPA-tool for automating manual tasks
5. Electronic signature
6. Integrations
THINGS WE NEED
25. MOST CRITICAL FOR A WORKFLOW ENGINE
25
▸ Graphical process modeling tool
▸ Flexible form generator
▸ Easy tools to build workflows
▸ Possibility to integrate workflows with organization's own
systems
▸ Notification features: email-notifications and visible
workflow state
▸ Reports
26. ADDITIONALLY THESE WERE MENTIONED
26
▸ Monitoring and analytics
▸ (Cloud based service)
▸ Mobile support: responsive design
▸ Possibility to prefill form fields
▸ Security (software, data)
▸ Low licence costs (one time and usage) would be nice
▸ Maintainability, ability to change
27. + VERY IMPORTANT FEATURE FOR US
27
▸ Capability to develop and maintain it by
ourselves:
▸ We have own development department
▸ University field is "quite different" -
customization needed almost always,
processes are "unique" or #JYUnique at JYU
https://www.instagram.com/explore/tags/jyunique/?
hl=en
29. WE BENCHMARKED OR STUDIED THESE
SOLUTIONS (MORE OR LESS)
29
▸ form.io
▸ MS Flow
▸ MS Dynamics
▸ Low-code platforms Mendix and Outsystems
▸ Plone
▸ Camunda
▸ Our new Service Desk (it will be used anyway)
30. FORM.IO
30
▸ https://www.form.io/
▸ Looks like a modern TTW form builder
▸ Custom JSON form schema for export / import
▸ Reusable open sourced libraries for local deployment
▸ Much work to integrate (auth, data sources, workflows, ...)
31. MS FLOW
31
▸ Part of our Office 365 deal
▸ Easy to use
▸ Lot's of ready made workflow
components
▸ Easy form generator
▸ Limited form generator
▸ Workflows always
integrated to personal
accounts
▸ No experience of our own
Create automated workflows between your favorite
apps and services to get notifications, synchronize files,
collect data, and more
33. MS DYNAMICS
33
▸ Part of Dynamics CRM
▸ Lots of ready made workflow
components
▸ Consultation available
▸ No form generator?
(Dynamics Portals)
▸ Needs licence for every
user
▸ No experience of our own
Use workflow processes to initiate automation
that doesn’t require any user interaction.
37. LOW-CODE PLATFORMS
37
A low-code development platform (LCDPs) is software that provides an
environment programmers use to create application software through
graphical user interfaces and configuration instead of traditional computer
programming.
The platform may focus on design and development of a particular kind of
application: such as databases, business processes, or user interfaces such as
web applications. Low-code development platforms reduce the amount of
traditional hand-coding, enabling accelerated delivery of business
applications. A common benefit is that a wider-range of people can contribute
to the application's development—not only those with formal programming skills.
LCDPs also lower the initial cost of setup, training, and deployment.
https://en.wikipedia.org/wiki/Low-code_development_platforms
38. LOW-CODE PLATFORMS
38
‣ In other words:
‣ A platform for creating web applications
‣ That enables through-the-web editing
‣ Has ready-made components available
‣ Yet gives the possibility to extend functionality through
(visual) programming
40. LOW-CODE PLATFORMS
40
▸ We benchmarked Outsystems and Mendix
▸ Both industry leaders at the low-code market
▸ (Additionally checked out Modo Labs)
▸ Used consultants for these
41. OUTSYSTEMS
41
OutSystems is a low-code platform that lets you visually
develop your entire application, easily integrate with existing
systems, and add your own custom code when you need it.
45. BENCHMARK TASK: STUDENT APP POC
45
1. Create a Proof of Concept: a mobile
app for making students' daily life
simpler: calendar, news, lunch
menu, search, campus map, test
integrations
2. To find out, if we could create, edit
and maintain these applications by
ourselves using this kind of platform
46. THE LOW-CODE BENCHMARKING WENT ON
46
▸ Spring, summer, autumn
▸ Decided to go with Mendix
▸ Continued on the application
building by ourselves
▸ (Not so much to do with
workflows, at this point)
47. MEANWHILE: TASK NR 2 - SOLVE PROBLEMS
47
▸ Task 1: To evaluate different tools/solutions for solving
workflow-related problems
▸ However, we already had a priortized list of real world
business processes to optimize
‣ So we needed to build solutions with the tools we
have
48. THE ACTUAL WF CASES AT JYU
48
1. Needs a form
2. Has a review process
3. Email (or RPA) happens
--> Profit!
49. CASE: SUPERVISION DOCUMENT
49
▸ Goal: to develop a service with which a postgraduate
student and his/her supervisors can easily document and
communicate the progress of their doctoral thesis process.
▸ This case was given us in February 2018, but there had been
discussions of that case before
("We could do it with Plone.")
50. GENERAL REQUIREMENTS
50
▸ Replace (working) legacy system smoothly
▸ Fixed deadline: August 2018
▸ Large and diverse userbase (students, supervisors and
faculty members)
▸ Major process change
▸ Bilingual (FI, EN)
51. MORE REQUIREMENTS
51
▸ Easy to use, both for post doc students and their supervisors
▸ No need to training
▸ Just short instructions, if necessary
▸ Email notifications with direct links to document
▸ Many levels of permissions, many departments
▸ Workflow state shown clearly
▸ Integrations (LDAP, Study information)
54. SUPERVISIONDOC
54
▸ 4 roles
▸ 4 main
states
▸ The process
wasn't overly
complicated
▸ It was refined
during the
development
▸ Early test
versions
helped with
dealing with
details
55. SO, WHILE WE BENCHMARKED THE OTHER
SYSTEMS...
55
56. PLONE
56
▸ Vs. the requirements -> looks good
▸ https://training.plone.org/5/ttw/workflow.html
▸ Powerful.
57. PLONE HAS
57
▸ Form framework(s)
▸ Workflows
▸ Hierarchical permission management
▸ Content rules
▸ Dexterity (TTW schema editor, behaviors)
▸ Discussion / commenting
▸ Context portlets
▸ Versioning
▸ Collections
▸ Rest API
▸ And content management!
All you need?
58. EXISTING FORM GENERATORS IN PLONE
58
▸ Plone Form Gen
▸ TTW form editor
▸ d2c - Data to Content add on
▸ But: maybe it is time to get forward from Archetypes...
▸ Easy Form
▸ Lacks d2c type functionality
▸ Plomino
▸ Powerful, but maybe too complicated for our case? Also, archetypes
▸ Dexterity (with collective.ambidexterity and friends...)
▸ Creating a new content type type for each form does not scale
59. COLLECTIVE.FLOW
59
▸ For form based business workflows
▸ Combines existing Plone packages and form based features for
easily creating solutions for business process digitalization
▸ All Dexterity features — without new content type for each
form
▸ Hierarchically customizable forms — because we need to
specialize forms for various sub use cases in maintainable way
▸ Example: all faculties/departments/units need the same
form, but with different defaults and options
60. COLLECTIVE.FLOW
60
▸ Create form using Dexterity TTW editor
▸ Enable field level commenting and versioning when need
▸ Select workflows for the submissions and attachments
▸ Add custom css, custom js and custom Python validator
▸ Apply additional behaviors for submissions
▸ Change site language and translate in-place (without PAM)
▸ Enable advanced features with Dexterity XML editor...
61. INTEGRATIONS
61
▸ Data in: We want to prefill user information from our study
systems
▸ Dynamic vocabularies (staff, students, organization, ...)
▸ Default values (name, department, dates, ...)
▸ Data out: Plone rest.api -> get data from plone to eg. data
warehouse or for RPA process
▸ Rest API expansion for submitted data
75. COLLECTIVE.FLOW
75
JYU.FLOWEXTENSIONSCOLLECTIVE.WEBHOOK JYU.VOCABULARIES
▸ Call webhook local
action
Can be used to trigger
(RPA) webhooks from
Plone content rules
Designed to be consumed with local friends...
▸ Base workflows (supervision, task,
invoice)
▸ Submission behaviors (local roles
from submission values)
▸ Default factories (name, email, dates)
▸ Validators (ssn)
▸ Misc custom (conditional text portlets)
▸ Staff, students,
faculties, study
rights...
76. BONUS: ROBOT, REST API
76
▸ Robot, rest api. Linux automation (could be done in
Windows, with autoid)
▸ Gitlab CI - Robot runner, activated with content rules
▸ Robot framework (Python), RPA -> generic library to
manipulate other libraries (eg. SikuliX, AutoID)
▸ Selenium - browser automation tool
▸ collective.webhook (our own addon), content rule
calls Gitlab, that communicates with Plone through
rest.api
▸ Data warehouse integration
YOU SHOULD AUTOMATE!
94. RELEASED IN SEPTEMBER 2018
94
▸ After first weeks almost 600 documents were
successfully created and managed with Supervisiondoc
▸ Amount of errors minimal (usually a missing study
permission, not technical)
▸ Some minor changes
to the forms after release
▸ Customer is happy
95. PLONE AS A LOW-CODE PLATFORM?
95
▸ Robust, secure platform for creating responsive web applications
▸ Flexible form creator
▸ Workflow engine
▸ Flexible permission management
▸ Hierarchical content structure is a blast
▸ Through-the-web editing
▸ Possibility to extend with programming
96. AT JYU: REQUIREMENTS/NEEDS VS. REALITY
96
1. (Graphical) workflow modelling tool - Camunda
▸ Also visualizing workflow processes in the future?
2. Flexible form generator - Plone
3. Workflow engine for the process - Plone
(or Service Desk in the future?)
4. RPA-tool for automating manual tasks - Robot Framework
5. Electronic signature - Just LDAP login to Plone
6. Reports -> From Plone to Data warehouse with API, reporting from there
7. Integrations - We can do it!
97. LESSONS LEARNED
97
▸Think about the process - if its
complicated, make it simpler first
▸Flexibility and ability to customize the
product is a must
▸Plone works well as a workflow engine/
business process builder
98. NEXT AT JYU
98
▸ Plone and collective.flow:
▸ Release of teacher's invoice forms
▸ New forms for different invoicing needs
▸ New service for ordering a study certificate
▸ Release of first RPA automation case with the invoices
▸ Developing "Smart Campus App" further with Mendix, beta
out soon
▸ Other workflow cases