easy online business processes with plone forms and workflow

Post on 10-Jul-2015

267 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Easy Online Business Processes with Plone Forms and Workflow

for Make Benefit Glorious Nation of Canuckistan

T. Kim Nguyen <nguyen@uwosh.edu> University of Wisconsin Oshkosh http://uwosh.edu/ploneprojects

Don’t be a chump

• Filling out paper forms: BAD

• Tracking / distributing / filing paper forms: BAD

Online forms + workflow processingBe a 21st Century Hero

Fast• Online forms = fast, accurate data

• Online forms workflow processing =

• email notifications

• dashboard & collections to list forms in process

• fast search/lookup

Cost Savings

freeing up staff (e.g. half a person’s time) allow lean organizations to remain effective

make your office more productive

Time Savingsphysically moving paper forms between buildings

!making copies to distribute to

3rd parties !

locating paper forms in process

!filing/storage

!retrieving filed papers

Frustration Savings• “Did you get the form I

submitted?”

• “Where is my form in the process?”

• “Why is it taking so long?”

• No more data entry, duplication, or errors

What tools do you need?

things Plone ships with !

& !

some add-ons

Add-ons• PloneFormGen (Products.PloneFormGen)!

• D2C (uwosh.pfg.d2c)!

• Vocabularies (Products.ATVocabularyManager)

• Data grid field (Products.PFGDataGrid)

• Workflow manager (plone.app.workflowmanager)!

• Big transition buttons (uwosh.transitionbuttons)

• Templated emails (collective.easytemplate)

PloneFormGen• drag & drop fields into place

• sophisticated defaults, validation, overrides

• sends email, saves data

• can auto-populate name & email address, other user attributes

D2C: form ➡ real content objects• objects are editable & you can assign a workflow

ATVocabularyManagerdefine preset lists of values users choose from in form

selection/multiselection fields

Data grid field• you define the columns

• users dynamically add & remove rows of input

Workflow Manager

• Workflow is everywhere in Plone, so let’s use it

• But first let's put a prettier face on it

Before… (ZMI)

…and After: States

Transitions

Diagram generator

!

!

• coming soon: diagram-centric UI! (Sam Schwartz)

• customize state and transition security (roles, permissions, groups)

• Easily create email notifications on transitions

Security

• who can see and edit submitted forms?

• who can initiate transitions?

(Roles and Permissions)

Simple security

Business process owner ➡ Manager Users ➡ Anonymous or Authenticated

More complex security

Business process owner ➡ Manager

Office staff ➡ new custom roles

!- front desk,

- office manager - director

- faculty advisor

Users ➡ Authenticated

Big *ss buttons

• uwosh.transitionbuttons by Sam Schwartz

Templated emails• collective.easytemplate

• use powerful expressions in emails: recipients, subject, body

• templated pages and portlets too

• {{ list_folder("courses") }}!

• {{ context.Title().decode("utf-8") }}!

• {{ context.getBody() }}!

• {{ context.absolute_url() }}!

• {{ context.aq_parent.sister }}

{% if portal_state.anonymous() %}! anon!{% else %}! logged in!{% endif %}

{{ query({"portal_type":"News Item","sort_on":"Date","sort_order":"reverse","sort_limit":3,"review_state":"published"}) }}!

Tools (included with Plone)• Products.CMFPlacefulWorkflow

• collections

• portal_catalog

• portlets

• dashboard

• search

• comments (plone.app.discussion *OR* workflow state change comment)

CMFPlacefulWorkflow

• activate to create a workflow policy (assign a custom workflow) in a specific D2C folder

• (not needed if you tell D2C to create a new content type)

Collectionssimple “dashboard”: folder containing several collections

Display ➡ All content

Catalog indexes & collection criteria

• You want to create a new collection criterion, e.g. “student job type”

• see “how to add fields from a uwosh.pfg.d2c adapter to collection criteria” http://www.uwosh.edu/ploneprojects/docs/developers/ploneformgen-fu/uwosh.pfg.d2c-collection-fields

• ZMI: add a Script (Python) to return the attribute value if it’s there

• portal_catalog ➡ Indexes: add FieldIndex

• Site Setup ➡ Collections, All fields, check box

Use portlets!• static text portlets to display general links

• collection portlets and “recent items” portlets

• content type portlets: display links or help specific to a content type (Site Setup ➡ Types)

• group portlets: display links or help specific to the logged in person’s group membership(s) (Site Setup ➡ Users and Groups ➡ Groups tab)

• use Plone’s built-in dashboard (also supports group portlets!)

Search

Plone’s built-in commenting• threaded commenting, email notification, moderation, captchas

Workflow transition comments• add a comment as long as a transition occurs

• visible through State ➡ Advanced…

• plaintext only

Landing Pages

User Instructions

Examples• Study abroad application, program management

(Office of International Education)

• Student advising worksheet

• Student job application (Div. of Information Technology)

• IRB approval (Office of Grants)

• Contract management (College of Nursing)

Study Abroad

5,984 processed since 2008

!16 workflow states

!savings: $25 per

app + 0.5 FTE per year = 2.5 FTE = ~

$200,000 total savings

Advising Worksheet

up to 150-200 filled out per day… 12,000 since August 2013

Student IT Job Applications

442 filled out since March 2013

Institutional Review Board Approval

180 fields !

60 states !

114 transitions

Contract ManagementDexterity content type

!70 contracts (since Oct. ‘14)

!PDFs, contact info, renewal

dates

PloneFormGen or Dexterity?

PloneFormGen: pros / cons

• Good:

• entirely through the web

• robust, time-tested

• easy to specify validators, default values & expressions

• easy to add adapters: save data, mailer, custom script, D2C

• thank you page

• default form view looks good acceptable

• Not so good:

• Archetypes:

• slower? e.g. form with 634 fields 😳

• going away eventually?

Dexterity: pros / cons

• Good:

• through the web type (“form”) creation/modification

• no need for D2C to create content items!

• easy to enable Folderish behaviour

• Not so good (for users/integrators):

• still developer-oriented, requires file system coding!

• no TTW vocabularies, validators, mailers, custom scripts, default expressions

• no TTW rich text labels, data grid fields, nested field sets

Wishlist: improve (PFG & D2C) or Dexterity• PloneFormGen: more layouts, e.g. grids, two-column... or dynamic layouts a la

collective.cover?

• D2C:

• make it easy to enable Folderish behaviour

• checkboxes to automatically add catalog indexes & collection criteria for selected form fields

• Dexterity:

• improve TTW user/integrator experience

• TTW vocabularies

• ..ie. create a Dexterity equivalent of PloneFormGen?

Workflow Manager enhancements

• Better UI for creating templated email notifications

• Expose transition guard expressions & create expression builder

• *** New UI: directly manipulate the diagram (Sam Schwartz) ***

Next Steps

• Try it!

• Questions?

• nguyen@uwosh.edu

• http://uwosh.edu/ploneprojects

top related