Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Workflows and Plone
 - Case supervisiondoc

1,065 views

Published on

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.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Workflows and Plone
 - Case supervisiondoc

  1. 1. WORKFLOWS AND PLONE
 - CASE SUPERVISIONDOC RIKUPEKKA OKSANEN & ASKO SOUKKA
 - PLONE CONFERENCE 2018
  2. 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
  3. 3. 3 The software
 
 The community
  4. 4. ASKO SOUKKA 4 ▸ https://github.com/datakurre ▸ @datakurre ▸ Plone-developer ▸ collective.flow
 add-on for
 ”Supervisiondoc”
 and other flows
  5. 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)
  6. 6. FINLAND 6 Jyväskylä Tokyo
  7. 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
  8. 8. WWW.JYU.FI 8
  9. 9. (WITH MOSAIC, OF COURSE!) 9
  10. 10. TODAY, 2018. 10
  11. 11. 11
  12. 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. 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. 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. 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. 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. 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
  18. 18. 18 Roles Transitions States Notifications Document
  19. 19. PROCESSES CAN BE SIMPLE 19
  20. 20. OR QUITE COMPLEX 20
  21. 21. OR REALLY COMPLEX 21
  22. 22. 22 MANAGEMENT PERSPECTIVE
  23. 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
  24. 24. GOOGLE IT: WORKFLOW ENGINE REQUIREMENTS 24 ▸ http://onelistapprovals.com/how-to-pick-the-best-workflow-engine/ ▸ https://www.nintex.com/blog/which-workflow-engine-for-your-business/ ▸ https://www.nintex.com/blog/seven-features-every-workflow-management-system/ ▸ http://bugra.github.io/work/notes/2014-04-13/workflow-engine-comparison-first-impressions/ ▸ https://www.comindware.com/blog-7-features-you-need-to-have-in-your-workflow-management- system/ ▸ https://kissflow.com/workflow/workflow-management-system-10-must-have-features/ ▸ http://opensourceforu.com/2016/08/10-great-features-workflow-management-system/ ▸ https://www.pipefy.com/blog/workflow/5-essential-features-workflow-system/ ▸ https://www.proofhub.com/articles/top-6-features-quintessential-workflow-management-system ▸ https://quaive.com/product/
  25. 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. 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. 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
  28. 28. WORLD IS FULL OR WORKFLOW ENGINES 28
  29. 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. 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. 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
  32. 32. 32
  33. 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.
  34. 34. CAMUNDA 34 Open Source BPMN workflow engine
  35. 35. CAMUNDA 35 ▸ https://camunda.com/ ▸ "Brings business users and software developers together" ▸ Open Source BPMN workflow engine ▸ Graphical workflow modeller ▸ No TTW form generator
  36. 36. 36 CAMUNDA MODELER IS IN USE AT JYU
  37. 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. 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
  39. 39. 39 "BUILD ENTERPRISE LEVEL SOFTWARE 10 TIMES FASTER"
  40. 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. 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. 
  42. 42. MENDIX 42 The only application platform built for speed, collaboration and control
  43. 43. "VISUAL PROGRAMMING" 43
  44. 44. 44 "VISUAL PROGRAMMING"?
  45. 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. 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. 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. 48. THE ACTUAL WF CASES AT JYU 48 1. Needs a form 2. Has a review process 3. Email (or RPA) happens --> Profit!
  49. 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. 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. 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)
  52. 52. SUPERVISION DOC PROCESS NEEDED WORK 52
  53. 53. MANY ITERATIONS NEEDED 53
  54. 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. 55. SO, WHILE WE BENCHMARKED THE OTHER SYSTEMS... 55
  56. 56. PLONE 56 ▸ Vs. the requirements -> looks good ▸ https://training.plone.org/5/ttw/workflow.html ▸ Powerful.
  57. 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. 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. 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. 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. 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
  62. 62. COLLECTIVE.FLOW STRUCTURE 62 FORM FLOW FLOW FOLDER FORM SUBMISSION
  63. 63. COLLECTIVE.FLOW 63 FORM FLOW ▸ TTW multilingual schema ▸ Submission settings ▸ Custom CSS, JS, validation ▸ Archival rules
  64. 64. COLLECTIVE.FLOW 64 FORM FLOW FLOW FOLDER▸ TTW multilingual schema ▸ Submission settings ▸ Custom CSS, JS, validation ▸ Archival rules ▸ Local vocabulary values ▸ Local defaults ▸ Local permissions Updates Specializes
  65. 65. COLLECTIVE.FLOW 65 FORM FLOW FLOW FOLDER FORM SUBMISSION ▸ TTW multilingual schema ▸ Submission settings ▸ Custom CSS, JS, validation ▸ Archival rules ▸ Local defaults ▸ Local vocabulary values ▸ Permissions ▸ Local workflow ▸ Local behaviours ▸ Local schema Creates Updates Specializes
  66. 66. COLLECTIVE.FLOW 66 FORM FLOW FLOW FOLDER FORM SUBMISSION ▸ TTW multilingual schema ▸ Submission settings ▸ Custom CSS, JS, validation ▸ Archival rules ▸ Local defaults ▸ Local vocabulary values ▸ Permissions ▸ Local workflow ▸ Local behaviours ▸ Local schema Creates Updates Specializes
  67. 67. 67
  68. 68. 68
  69. 69. 69 Variables Behaviors "impersonator" Workflows for content and files
  70. 70. 70
  71. 71. 71
  72. 72. 72 Pro tip: just copy-paste the good rules!
  73. 73. 73 Dexterity editor 
 in the content
  74. 74. 74
  75. 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. 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!
  77. 77. 77 Easy form PFG collective.flow Plomino Complexity Features Dexterity "Old" "Modern"
  78. 78. 78 collective.flow
  79. 79. COLLECTIVE.FLOW AT GITHUB 79 ▸ https://github.com/jyukopla/collective.flow ▸ Technology
 preview ▸ Work in
 progress ▸ No PyPI
 release
  80. 80. SUPERVISIONDOC SHORT DEMO 80
  81. 81. 81 Login List of your docs
  82. 82. 82 "Impersonator" Your data prefilled Instructions
  83. 83. 83 Simple
  84. 84. 84 Dexterity fields
  85. 85. 85
  86. 86. 86Same in XML
  87. 87. 87 Pretty simple editing
  88. 88. 88 field specific commenting, reply, acknowledge
  89. 89. 89
  90. 90. LANGUAGE/ROLE/STATE BASED PORTLETS 90 jyu.flowextensions
  91. 91. 91Content rules rule
  92. 92. PLONE DEFAULT ROLES WORK WELL HERE 92 Student Faculty members Supervisor Co-supervisor
  93. 93. 93 Generated by Workflow manager The workflow in production
  94. 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. 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. 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. 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. 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
  99. 99. QUESTIONS? 99 ▸ Rikupekka Oksanen
 rioksane@jyu.fi
 @rikupekka
 ▸ Asko Soukka
 asko.soukka@jyu.fi 
 @datakurre ▸ https://github.com/jyukopla/ collective.flow
  100. 100. THANK YOU! 100

×