How to Design Workflows that Anticipate Change
Laserfiche Solution Contributed By: Jennifer Ready, ITS Workflow Specialist, Olmsted County, MN
Jennifer Ready, Information Technology Services Workflow Specialist for Olmsted County in Rochester, Minnesota, has been working with Laserfiche for three years. She has built 95% of the Laserfiche solutions that are used in the county.
“When I started, I was new to working in an IT department, and new to any type of development for automation solutions. As a result, I built all my solutions on the very mistaken assumption that once it is built, nothing will ever need to change.”
Since Ready is the senior Laserfiche developer at the county, every process change comes to her for completion. As the number of solutions in use grows, so does the way she looks at every build. Now with every Laserfiche Workflow activity, form field, template field, and tag she asks herself: “How will I be impacted if this needs to change?”
Ready provides advice on designing flexible workflows that withstand the test of time.
Tokens Add Flexibility
When Ready first began designing workflows, she hardcoded details, such as email addresses, into an activity’s properties. When an email recipient changed, she had to search through each workflow and manually update all the activities that included the email address. Sometimes, she’d miss an activity, resulting in emails being sent to the incorrect recipients.
Ready solved this issue by adding an Assign Token Values activity to the beginning of every workflow. She created a token for each value that might change, such as an email address, and then used this token throughout the workflow. In the email address example, the email address would be added to the Email token and then used in every Email activity in the workflow.
Whenever a change occurs, Ready can simply modify the Assign Token Values activity, instead of having to search for every occurrence of that change throughout the whole workflow. This is also helpful in building and testing the workflows. Ready can add her email address to the token for testing purposes, and when the workflow goes into production, she can switch out her email for that of the customer.
If Ready needs to send emails to people in a specific Active Director group but the group membership is expected to change at times, Ready designs the workflow to perform an Active directory lookup to find the group and loops through the members adding the email addresses to the tokens.
Workflow loops through all the members of an Active Directory group and inserts the emails into a token
Data Queries Make Workflow More Robust
Eventually, Ready noticed she was using the same tokens in multiple workflows. For example, as more processes required generating a Web Client URL, inserting the server address into a token, and then using this token to generate the URL, it became a repeated activity across workflows.
Another hurdle that she stumbled upon was a Laserfiche upgrade that required switching to new servers. After that upgrade, Ready had to update many workflows with the new server address. To simplify this process, she saved the server addresses in a SQL table, and added a Query Data activity right after the Assign Token Values activity. This activity looked up server address in the database, and used it throughout the workflow.
Now if the county has to change server addresses again, Ready can make the change in one location (the database) and all the workflows will use the newest information.
Assign Rights with Workflow to Simplify Promotion between Environments
As a division of power in Olmsted County, another individual must promote Ready’s work from the Test server to the Production server. Historically, one of the most challenging parts of this process has been the need to type out a list all the entry access rights that are needed on each folder so the other person can grant those same entry access rights in the Production environment.
To simplify this process, Ready uses Workflow to find or create all the folders and apply the appropriate entry access rights. This method ensures that entry access rights are consistent between environments.
She has set up this workflow to allow assignment, or removal of rights based on token values. True or false values are populated in three tokens dictating which paths of the Conditional Parallel activity are completed.
If group entry access rights need to change, Ready can run the workflow once to delete all entry access rights and then run it again to reset to the new entry access rights. If multiple groups share entry access rights (such as Browse and Read on a root folder), the workflow can loop through the groups without duplicating the workflow.
Select the Appropriate Method
Ready uses a combination of tokens and database lookups throughout her workflows.
- If the value is not expected to change on a regular basis, such as an email address, she hard-codes it into a token.
- If the value changes often, she adds it to a database table and uses a Data Query activity to extract it and use throughout the workflow. The database table is maintained by the customer through the use of an electronic form.
“In short, I can say that with each new solution I build I have a completely different view on how I am going to build it. I now build with the anticipation of constant change.”