Download presentation
Presentation is loading. Please wait.
Published byPolly Arnold Modified over 8 years ago
1
Dynamic Form and Workflow for Change Control with Activiti
2
Agenda Business Issues of Document and Change Control Electronic Route and Review – Unique Workflow Requirements System Demonstration – Alfresco, Activiti, TSG ActiveWizard and High Performance Interface Unique Development Challenges with Alfresco and Activiti
3
Change Control – Part of Document Control - Types of Documents Standard Operating Procedures Policies Procedures Test Methods Submission Documents Engineering Drawings Specifications Calculations Design Documents Promotional Docs Others…
4
Components of Document Control Use of Templates (Mostly Word) Consistent Document Properties Required Values Value assistance and cascading value assistance Generate Document Naming based on properties Could integrate with external systems (SAP)
5
Versioning – Common Rules for Document Control.X vs.0 All published/final versions should be.0 Approved/Effective/Superseded/Obsolete All draft version should be.X Importing/Create New creates 0.1 document Subsequent checkouts behave the same (.X) Only system activities (workflow approval) promote from.X to.0 Delete.X versions when document is approved
6
Versioning and Workflow Approval
7
Security StateInitiatorsDoc Control ApproversConsumers DraftWrite ReadNone ApprovedReadWriteReadRead or None EffectiveReadWriteRead SupersededRead None ObsoleteRead None
8
Search Struggle with consumer “system acceptance” Full featured system too confusing Requires too much training Does not return results fast enough Trend to develop an interface for the consumer Simple and easy to train Only show what they can see Simple security model Other users in the system want to use it
9
HPI Search Interface for Alfresco
10
Document Viewing Most clients are PDF based Turn source document into PDF It is important to ensure printed document is the latest Many “overlay” information on document Document Status, Effectivity and Print Information Doc Status & Print Information
11
Document Viewing Some overlay entire header/footer including document name, title, logo, etc. Requires re-work of the doc template to remove static header/footer May require several templates for different document types/scenarios Property Info Doc Status Info Logo vary by site
12
What is a Change Request (CR) or Change Order (CO)? Typically a very complex form or series of forms Completed to initiate a change to a document or process Needs to identify changes to other related Documents Needs to be signed off by people responsible for the change
13
Example of a Change Request Pharmaceutical company changes cap on bottle due to leakage Identify documents affected Purchase Specification, Bill of Materials, Packaging Instructions, other documents (per product – additional changes to documents for other products) Write up instructions, dates and other information for implementing the change Need to route the change to people/functional areas charged with responsibility of approving change
14
Change Request – How it is used User would like to change some type of document Writes up desired Change May attached documents with changes (Creation of the Change Packet) Reviewers/Approvers Reject with Comments (Legal, Regualtory, Budget…) Approve or Approve with Changes Copy Editor or Automated Process implements Change
15
Exelon Change Request
16
Document Change Best Practices Mass Change Approve and activate multiple related documents simultaneously. (makes sure related documents have the same effectivity date). Allow one signature to change an unlimited number of documents for the same change. Reduces time of voluminous individual document changes. Idea of “Change Packet” that includes: Change Request Form Changing Controlled Documents Supporting Documents
17
Complex Business Process Changes Often and Quickly Approvals, Data Capture Points, Outputs… Should allow business user to add changes quickly While it would benefit from some structure, impossible to put into a complete structured process due to nature of changes
18
Complexity of Workflow Creation Many Workflow templates or one template needs to handle many scenarios Workflow template creation requires IT Workflow process doesn’t always adapt with business changes Approval Not always intuitive and can be complex Too many approvers/reviewers involved
19
Change Request – Workflow Challenges Challenges How do I fill out form? Complex Form for multiple situations Who needs to approve? Where is the form at in the process? Frequent form changes Solution Build on a configurable framework to enable changes to business logic without revalidation Simplify the form completion and approval process
20
Change Request - Configurable Form A “Forms Wizard” to Complete the Form (similar to TurboTax) System will generate the form when finished System makes sure correct fields populated Simplified user interface to reduce training and improve data entry Form data could drive impacted documents Form data could drive approval requirements
21
System Goals: Author’s Knowledge Knowledge of related documents would be built into system (Impact Analysis) Questions would identify additional questions as well as impacted documents Users could administer all questions and impact to allow system to adapt over time
22
System Goals: Signature Reduction Knowledge of Signature Approvals are built into the system Questions would identify additional signatures required Users could administer all questions and signatures to allow system to adapt over time
23
Workflow Best Practices - Complexity To address complexity – make workflow process simpler Reduce number of user decisions Build intelligence in the system rather than in the user Allow workflow to change and adapt easily with business process without having to have the user change and adapt
24
Workflow Best Practices - Approval Make it easier for the user so that they adopt it (like email) Reduced complexity More intuitive interface for initiating and approving Limit user decisions to business decisions (approve/reject/delegate) rather than workflow/template decisions (forward?)
25
Workflow Best Practices Simplify Workflow Creation Form Driven Workflow People Driven Workflow Dynamic – Rules Based Workflow Simplify Workflow Approval Inbox Approval
26
System Goal: Validation Impacts System should be USER configurable Dynamic Ability to react to business changes Minimize re-validation efforts associated with coding changes by allowing for system configuration.
27
Change Request Package – Active Wizard CR data based on user’s input
28
Approver Selection – Automatic Assignment Answer dictates what approvals are req’d: - High Priority Change – IQA Approval Required - Medium Priority Change – IQA Approval May be required (ask more questions) - Low Priority Change – IQA Approval Not Required
29
Approver Selection – User Chooses Approver User picks approvers
30
People Driven Workflow – Best Practices
31
Review Process Facilitating Review Route for Review workflow Factored into approval workflow Assignment of Reviewers Many just pick the reviewers Intelligent selection Providing feedback varied Annotations Workflow comments
32
Approval Process Approver Selection User picks approvers System picks approvers Combination of both Common Approval Practices Routing one or more documents and/or Change Request for approval Capturing of signatures and meaning of signature varied depending on business process Selective approval of attached documents
33
Approval Interface Workflow Actions
34
Approval Interface Multi-Document Approval Some support multi-document approval/rejecton 34
35
DEMO
36
Document Lifecycle – Aspect Based Security Lifecycle: an ordered set of states a document will move through, where each state has pre-determined meta-data, security and business rules associated with it. Implemented through the use of aspects. Example: Draft Aspect triggers behavior that sets security, status to Draft, and any other custom business logic. Consolidate code, allow for managing of lifecycle through different means. (Workflow, Share, Custom UI)
37
Dynamic Workflow and Activiti Using a dynamic form brings up interesting workflow requirements: Handle infinite number of workflow possibilities. Form rules can dictate any number of workflow tasks in any configuration (parallel vs. serial) Handle business rule changes without modifying template. Examples: Add or remove workflow step Make a serial process parallel or vice versa
38
Dynamic Workflow and Activiti In the past on other platforms, we’ve done this by generating a new workflow template on the fly based on the tripped rules Pro: It works. Cons: New template each time limits reporting capabilities, a lot of code to maintain. Activiti makes this process much simpler Main workflow process defines the overall structure. Sub process is dynamically run inside the template to facilitate workflow based on tripped rules.
39
Dynamic Workflow and Activiti Main Approval Process
40
Dynamic Workflow and Activiti The workflow is started with a POJO Workflow Definition describing the workflow.
41
Main Approval Process Dynamic Workflow and Activiti Java (javascript) code that moves workflow documents to Pending Approval.
42
Main Approval Process Dynamic Workflow and Activiti Embedded Sub-Process repeats sequentially for each ‘Activity’ in the Workflow Definition. The exit condition is a variable workflowFailed == true
43
Main Approval Process Dynamic Workflow and Activiti Additional Workflow Definition processing to set up context variables for the parallel sub- process
44
Main Approval Process Dynamic Workflow and Activiti Due to limitations with nested multi-instance sub-processes a stand-alone sub-process is required.
45
Main Approval Process Parallel Approval Task with an exit condition that fails the sub-process, and in turn entire workflow, on one reject. Dynamic Workflow and Activiti
46
Main Approval Process Dynamic Workflow and Activiti Perform the appropriate service task to move workflow documents to Approved or back to Draft.
47
Versions and Security Key concepts for versions in a controlled document system: Different users have different access to versions of a document Version 2.0 Effective – Everyone can access Version 2.1 Draft – Only certain users can access Alfresco only allows for one security ACL per node – how do we handle these requirements?
48
Solution: One node per Lifecycle 0.10.2 Minor Version … Major Version 1.0 1.11.2 Minor Version tsg:supersedes Draft Approved Draft Major Version 1.0 Approved Draft …
49
Modifying the Current Version Scenario: Properties or associations modified on current version. Issue: Version already frozen in version Store. Solution: Delete and recreate version.
50
Versions and Associations 0.1 VersionStore SpacesStore Create New Document 0.1 SOP-123
51
Versions and Associations VersionStore SpacesStore Checkout/Check In 0.1 0.2 SOP-123
52
Versions and Associations VersionStore SpacesStore Checkout/Check In 0.1 Add association/Change Properties 0.2 Associated Document SOP-123 SOP-456 SOP-123
53
Versions and Associations VersionStore SpacesStore Checkout/Check In 0.1 If you were to version… 0.3 0.2 Associated Document Checkout/Check In 0.3 SOP-123 SOP-456
54
Versions and Associations VersionStore SpacesStore Checkout/Check In 0.1 0.2 Associated Document Instead… 0.2 SOP-123 SOP-456
55
Versions and Associations VersionStore SpacesStore Checkout/Check In 0.1 0.2 Associated Document 0.2 SOP-123 SOP-456
56
Versions and Associations VersionStore SpacesStore Checkout/Check In 0.1 0.3 0.2 Associated Document Checkout/Check In 0.3 SOP-123 SOP-456
57
PDF Renditions Scenario: PDF rendition must be associated to a specific version Issue: New rendition can’t be generated after Check In. Example: Signature added to document Solution: Store Rendition as content property. Delete latest version and re-create using the embedded API.
58
Questions?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.