Workflows: Lessons Learned
Download
Report
Transcript Workflows: Lessons Learned
Workflows: Lessons Learned
NWDUG 2010
Presented by Celeste McCormick
With contributions from Tracy Waffle
Lewis-Clark State College
Lewiston, ID
About your presenter
Manager of Administrative Computing at Lewis-Clark
State College
•I’ve been programming in Envision for almost 10 years
•In 2008 I completed Datatel’s Workflow Writing Techniques
•I’ve written several workflows that are actually in use
Tracy Waffle is the Coordinator of Admission and she actually uses
the workflows.
Proper planning for workflow
The goal of this session is to provide a high-level
overview of how to plan, develop and test a
workflow. You can benefit from our mistakes!
What is workflow?
How it works
Chains a series of screens and tasks together into a
virtually seamless process
Lets you stop in the middle if you get interrupted &
pick up where you left off
Key benefits
Can enforce requirements and standards unique to
your institution
Saves time, clicks and keystrokes
Time-saving benefits
“It took me five minutes to enter a prospect manually. It took
me three minutes to enter a prospect using the prospect
workflow.”
“When I enter a prospect manually, using PRSP as the anchor
screen, I navigate in and out of (touch… some more than
once) 16 screens. When I enter a prospect using the prospect
workflow I end up going through eight screens.”
-TracyWaffle
Workflow is a collaborative effort
IT and power users must work together
From IT: an Envision developer
From end user office: a power user knowledgeable in the
office’s business processes
Power user responsibilities
Identify a process to adapt as a workflow
Start small and simple
Outline each step
Document the requirements of each step
Identify whether each step will be done by
the same person or handed off to someone
else
Present the process to IT
Give a demonstration of how it works now
Clearly explain your needs
Developer responsibility
Take Datatel’s training class if you can
You learn a lot of the nuances and get extra tips that you can’t
get from the manuals alone
Get familiar with the power user’s business process
Review the diagram carefully
Break it into “steps”
Separate screens from actions/manual steps
The development process
A closer look at linking two screens
Define the workflow
Detail on parameters to WFPD
Define each step as you go
Three hooks for each step
Start up:
What fields should be pre-populated
What messages to display to the user about what’s going on
with the workflow or this step
Completion: What criteria must be fulfilled to consider
this step completed
Action: What happens next in the workflow after this step is
completed
Another reason to take the class
Startup hook
To pre-populate a field:
SN.WKL.DATA.NAMES<1,1> = "CONTACT.REM.STAFF.LIST"
SN.WKL.DATA.VALUES<1,1> = SN.USERID
To display information to the user:
WARNING.OCCURRED = 1
MSG = "You will be prompted to enter a Contact
record."
MSG<-1> = "At the prompt, type the letter A to add a
new record."
MSG<-1> = "In the 'Contact For' field on CON, type @
to retrieve the student's ID."
Completion hook
Using our example…
What do we need to enforce?
Make required first,
middle & last name plus
birth date and gender
Allow only HOME, CELL,
LOCAL, AD, BUS phone
types
Allow only INT, LC, WM
email types
Completion hook: required fields
Completion hook: allowable values
IF NOT(ERROR.OCCURRED) AND VL.PERSON.EMAIL.TYPES NE '' THEN
FOR N = 1 TO DCOUNT(VL.PERSON.EMAIL.TYPES,@VM)
IF VL.PERSON.EMAIL.TYPES<1,N> NE 'INT' AND
VL.PERSON.EMAIL.TYPES<1,N> NE 'LC' AND
VL.PERSON.EMAIL.TYPES<1,N> NE 'WM' THEN
ERROR.OCCURRED = 1
MSG = "Email type must be INT, LC or WM"
NEXT.PROC.FLD = VL.PERSON.EMAIL.TYPES
END
NEXT N
END
Tips about completion hook
It cannot update any data
Thoroughly test any
or records
It merely validates any
input data
It can use
WARNING.OCCURRED and
ERROR.OCCURRED; won’t
proceed to next step until
ERROR.OCCURRED is
resolved
validation of allowable
values for multi-valued
fields
EXAMPLE: If this LO
email type already exists in
the screen, it will fail our
validation for WM, LC &
INT
Action hook: leads to the next step
Call the next step in the workflow, whether it’s another screen like
BIO or a manual step
Can assign the step to the same user or to a different user
CALL_WF D01.XAPP.BIO(“NOW”\,”TO:ME”\)
Send an email using communications management
EMAIL
“TO:ORG.ROLE”\”REGISTRAR”,”FROM:ADDR”\”registrar
@lcsc.edu”,”DOC”\”ADMCMP”
Perform an action, such as sending an email or moving to the next
step, based on the outcome of a rule
IF RULE (“WFMS01”, “ID”\STUDENTS.ID) THEN…
Action hook
Using our example…
What do we need to do next?
Call the next step in the
workflow
Using the following code:
The importance of testing
Test the workflow together
The workflow never works exactly as the user expects
Some desired requirements cannot be enforced
Some requirements get enforced in a way that users do not
expect ( and do not want)
Adjustments will need to be made (just expect it)
Unfortunately, some problems are not discovered until after
the workflow has gone into production and a variety of
scenarios are tried with it
Putting a workflow into production
Set up security classes in UT
Create one security class for each workflow
In the security class, list the mnemonic and each step
Create roles and resources
Resource = an individual person
Role = a job or position (data entry, application evaluator)
Each resource can have multiple roles
Each step in a workflow can be assigned to a different resource
My To Do List
Questions?
•Celeste: [email protected]
•Tracy: [email protected]
Additional information
Manual steps
Put the workflow in the LPR
In Dev package and load workflow into the LPR
In UT WFMV, define the workflow MOVEINFO record by
entering Prefix L20.ADM.XIAPPS and Workflow Definition
L20.INTL.APPLICANTS
In UT CDEC look up and declare MOVEINFO record
L20.ADM.XIAPPS_UT, run scan timing, and save the record
In the UT toolkit on CPKG create package
L20.ADM.XIAPPS_UT & add L20.ADM.XIAPPS_UT as a
Custom Declaration
In Test UT MSUG install group L20.ADM.XIAPPS_UT