nwdug 2010 presented by celeste mccormick with contributions from tracy waffle lewis-clark state...
TRANSCRIPT
NWDUG 2010Presented by Celeste McCormick
With contributions from Tracy Waffle
Lewis-Clark State CollegeLewiston, ID
Workflows: Lessons Learned
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 useTracy 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 benefitsCan enforce requirements and standards
unique to your institutionSaves 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.”
-Tracy Waffle
Workflow is a collaborative effortIT and power users must work together
From IT: an Envision developerFrom end user office: a power user
knowledgeable in the office’s business processes
Power user responsibilitiesIdentify a process to adapt as a
workflowStart small and simpleOutline each stepDocument the requirements of
each stepIdentify whether each step will
be done by the same person or handed off to someone else
Present the process to ITGive a demonstration of how it
works nowClearly explain your needs
Developer responsibilityTake 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 processReview the diagram carefullyBreak 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 stepStart up:
What fields should be pre-populatedWhat 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
TIP: each hook usesboth Envision Basic
and WorkflowBasic language
Startup hookTo 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 NEND
Tips about completion hookIt cannot update
any data or recordsIt merely validates
any input dataIt can use WARNING.OCCURRED and ERROR.OCCURRED; won’t proceed to next step until ERROR.OCCURRED is resolved
Thoroughly test any 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 stepCall the next step in the workflow, whether it’s
another screen like BIO or a manual stepCan assign the step to the same user or to a different
userCALL_WF D01.XAPP.BIO(“NOW”\,”TO:ME”\)
Send an email using communications managementEMAIL “TO:ORG.ROLE”\”REGISTRAR”,”FROM:ADDR”\”[email protected]”,”DOC”\”ADMCMP”
Perform an action, such as sending an email or moving to the next step, based on the outcome of a ruleIF RULE (“WFMS01”, “ID”\STUDENTS.ID) THEN…
Action hookUsing 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 togetherThe workflow never works exactly as the
user expectsSome 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 UTCreate one security class for each workflowIn the security class, list the mnemonic and
each step
Create roles and resourcesResource = an individual personRole = a job or position (data entry, application evaluator)Each resource can have multiple rolesEach 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 LPRIn Dev package and load workflow into
the LPRIn 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