Guided tour of a work flow solution in  Joomla! 1.7 and ChronoForms v4 Russell Searle Principal Consultant, Psicom Melbour...
<ul><li>Initial business requirement and preliminary solution </li></ul><ul><li>Flying tour of ChronoForms </li></ul><ul><...
<ul><li>Provide on-line forms for registered users to enter applications for annual, sick and long service leave </li></ul...
<ul><li>Single RSForm! Pro form: </li></ul><ul><ul><li>Slick, comprehensive form-mail builder </li></ul></ul><ul><ul><li>E...
<ul><li>Process that can be drawn on a flow diagram </li></ul><ul><li>Often modelled in BPM tools </li></ul><ul><li>Two ma...
<ul><li>Business process automation </li></ul><ul><li>Forums / Discussion </li></ul><ul><li>Authoring / publication </li><...
<ul><li>Drag and drop form builder </li></ul><ul><li>Wizards for basic and complex forms </li></ul><ul><li>Basic set of co...
<ul><li>“ Vertical” data storage </li></ul><ul><ul><li>Multiple physical records per logical record </li></ul></ul><ul><ul...
<ul><li>“ Horizontal” data storage </li></ul><ul><ul><li>One physical record per logical record </li></ul></ul><ul><ul><li...
Two types of forms CCK Feature “ Vertical” storage “ Horizontal” storage Flexibility    Very flexible    Rigid structure...
<ul><li>Demonstration </li></ul>Building a simple form
<ul><li>The new online leave application process works as follows: </li></ul><ul><li>You must log in to the intranet to ga...
Final solution design <ul><li>Actors </li></ul><ul><ul><li>Applicant </li></ul></ul><ul><ul><li>Approver </li></ul></ul><u...
Final solution design Leave Application Forms List Stage Process Seq Name Type Use Case Next Seq Control 1 LeaveDefinition...
Final HR Leave Application product <ul><li>Demonstration </li></ul>
<ul><li>ChronoForms product site: </li></ul><ul><ul><li>http://www.chronoengine.com/ </li></ul></ul><ul><li>Bob Janes’ sup...
Upcoming SlideShare
Loading in …5
×

ChronoForms work flow application

1,088 views

Published on

Guided tour of a work flow application built with ChronoForms v4 on Joomla! 1.7. Presentation for Melbourne Joomla! User Group on 25 Jan 2012.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,088
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

ChronoForms work flow application

  1. 1. Guided tour of a work flow solution in Joomla! 1.7 and ChronoForms v4 Russell Searle Principal Consultant, Psicom Melbourne Joomla! User Group 25 Jan 2012
  2. 2. <ul><li>Initial business requirement and preliminary solution </li></ul><ul><li>Flying tour of ChronoForms </li></ul><ul><li>Building a simple form in ChronoForms </li></ul><ul><li>Complete business requirements and solution design </li></ul><ul><li>Final HR Leave Application product and code </li></ul>Agenda
  3. 3. <ul><li>Provide on-line forms for registered users to enter applications for annual, sick and long service leave </li></ul><ul><li>For each type of leave, users can select one or more of a few payment options </li></ul><ul><li>Mail notifications of new leave applications: </li></ul><ul><ul><li>Acknowledgement to the applicant </li></ul></ul><ul><ul><li>Notify the Payroll Administrator, who will extract and maintain leave details on an Excel worksheet </li></ul></ul>Initial business requirement
  4. 4. <ul><li>Single RSForm! Pro form: </li></ul><ul><ul><li>Slick, comprehensive form-mail builder </li></ul></ul><ul><ul><li>Easy, fast development </li></ul></ul><ul><ul><li>Good enough reporting, through back-end access </li></ul></ul><ul><ul><li>Optionally maps to custom database tables </li></ul></ul><ul><ul><ul><li>… but … </li></ul></ul></ul><ul><ul><li>Could not retrieve/update a record </li></ul></ul><ul><ul><li>Could not support a business process work flow </li></ul></ul>Preliminary solution
  5. 5. <ul><li>Process that can be drawn on a flow diagram </li></ul><ul><li>Often modelled in BPM tools </li></ul><ul><li>Two major features: </li></ul><ul><ul><li>State variables </li></ul></ul><ul><ul><li>System-produced email messages </li></ul></ul><ul><li>User interfaces: </li></ul><ul><ul><li>Email client </li></ul></ul><ul><ul><li>Active views </li></ul></ul><ul><ul><li>Dashboards </li></ul></ul>What is a work flow application?
  6. 6. <ul><li>Business process automation </li></ul><ul><li>Forums / Discussion </li></ul><ul><li>Authoring / publication </li></ul><ul><li>Document library / Q&A </li></ul><ul><li>Team room </li></ul><ul><li>Project collaboration </li></ul><ul><li>Wiki </li></ul><ul><li>e-Learning </li></ul><ul><li>Mail-in databases </li></ul>Work flow patterns
  7. 7. <ul><li>Drag and drop form builder </li></ul><ul><li>Wizards for basic and complex forms </li></ul><ul><li>Basic set of configurable input elements, plus custom element </li></ul><ul><li>Extensive set of configurable form actions </li></ul><ul><li>Custom callable events </li></ul><ul><li>Pluggable architecture </li></ul><ul><li>Extremely customisable and programmable </li></ul><ul><li>Best for back-end developers: HTML, PHP, JavaScript, CSS, AJAX </li></ul><ul><li>Developed by Max (ChronoMan), supported by Max and Bob Janes (author of Packt book) </li></ul>ChronoForms v4
  8. 8. <ul><li>“ Vertical” data storage </li></ul><ul><ul><li>Multiple physical records per logical record </li></ul></ul><ul><ul><li>Fixed table and column names, fixed key and indexes </li></ul></ul>Two types of forms CCK Form builder RSForm! Pro Table #__reform_submission_values SubmissionValueId FormId SubmissionId FieldName FieldValue 1 1 1 name Joe Blow 2 1 1 email joe@blow@mail.com 3 1 1 address1 1 Fred Street 4 1 1 address2   5 1 1 suburb Carlton 6 1 1 state Vic 7 1 1 postcode 3084 8 1 1 country AU 9 1 1 phone 03 5555 1234
  9. 9. <ul><li>“ Horizontal” data storage </li></ul><ul><ul><li>One physical record per logical record </li></ul></ul><ul><ul><li>Custom table and column names, custom key and indexes </li></ul></ul>Two types of forms CCK Form builder ChronoForms Table #__chronoforms_data_mailusers name email address1 address2 suburb state postcode country phone Joe Blow joe@blow@mail.com 1 Fred Street   Carlton Vic 3084 AU 03 5555 1234
  10. 10. Two types of forms CCK Feature “ Vertical” storage “ Horizontal” storage Flexibility  Very flexible  Rigid structure Adaptability  Highly adaptable  Slow to adapt Extensibility  Easy, fast extension  Painstaking extension Efficiency, performance ? OK for small-medium DBs  High performance Scalability  Limited, constrained  Practically unlimited Joins and views  Hopeless  Practically unlimited Report production  Poor reporting support  Strong reporting features Processing complexity  Limited to simple apps  Highly complex DBs/apps Data typing  Weak typing  Strong typing
  11. 11. <ul><li>Demonstration </li></ul>Building a simple form
  12. 12. <ul><li>The new online leave application process works as follows: </li></ul><ul><li>You must log in to the intranet to gain access to online Leave Application facilities. </li></ul><ul><li>Begin the leave application process by clicking the Apply for Leave link in any one of: </li></ul><ul><ul><li>The Business Systems module </li></ul></ul><ul><ul><li>The Leave Applications - Apply for Leave option in the HR drop-down menu from the top menu bar </li></ul></ul><ul><ul><li>The Leave Applications - Apply for Leave option in the blue HR section menu in the left sidebar </li></ul></ul><ul><li>First you will be asked which type of leave you are applying for: Annual, Sick, Long Service or Bereavement leave. </li></ul><ul><li>If you are a manager who has the authority to submit leave applications on behalf of your staff, you will also be asked whether you are submitting the leave application for yourself, or on behalf of one of your staff members. </li></ul><ul><li>Fill out and submit the Leave Application form. Required values have labels marked with *. There are pop-up calendars for the starting and ending leave dates. Please be sure to enter the correct number of working days off. You must apply for a minimum of one day's leave. </li></ul><ul><li>For sick leave applications, please upload a scanned copy of your doctor’s certificate. For bereavement applications, please identify your relationship to your deceased relative. </li></ul><ul><li>When you submit the form, three e-mails are sent: </li></ul><ul><ul><li>You receive an acknowledgement e-mail at your registered e-mail address. </li></ul></ul><ul><ul><li>The Payroll Administrator will receive a request to check and confirm your available balance of the type of leave you have requested. </li></ul></ul><ul><ul><li>The manager who approves your leave applications will receive a copy of your application, for planning purposes. </li></ul></ul><ul><li>When the Payroll Administrator checks your leave balance, another e-mail is sent to the manager who approves your leave applications: </li></ul><ul><ul><li>Your manager will be asked to review and approve your leave application. The manager may refuse your application, but if so, he or she must record a reason. </li></ul></ul><ul><ul><li>If your manager is unable to review your leave application for some reason, the Payroll Administrator can review and update your application on behalf of your manager. </li></ul></ul><ul><li>When your manager reviews and updates your leave application, two more e-mails are sent: </li></ul><ul><ul><li>You receive an e-mail advising the manager's decision. If your leave application is refused, please discuss the matter with your manager. </li></ul></ul><ul><ul><li>If your application is for Long Service leave, the Managing Director will also receive a copy of your manager's decision on your leave application. </li></ul></ul><ul><ul><li>The e-mail to you is also copied to the Payroll Administrator, for management purposes. </li></ul></ul>Complete business requirements
  13. 13. Final solution design <ul><li>Actors </li></ul><ul><ul><li>Applicant </li></ul></ul><ul><ul><li>Approver </li></ul></ul><ul><ul><li>Delegate </li></ul></ul><ul><ul><li>PayrollAdmin </li></ul></ul><ul><ul><li>ManagingDirector </li></ul></ul><ul><li>Entities = Tables </li></ul><ul><ul><li>LeaveDefinition </li></ul></ul><ul><ul><li>LeaveRule </li></ul></ul><ul><ul><li>LeaveApplication </li></ul></ul><ul><li>Relations </li></ul><ul><ul><li>LeaveApplication -> LeaveDefinition </li></ul></ul><ul><ul><li>LeaveApplication -> LeaveRule </li></ul></ul><ul><li>Major Attributes </li></ul><ul><ul><li>LeaveDefinition </li></ul></ul><ul><ul><ul><li>name , value , description </li></ul></ul></ul><ul><ul><li>LeaveRule </li></ul></ul><ul><ul><ul><li>rule , factors x 4 , results x 2 </li></ul></ul></ul><ul><ul><li>LeaveApplication </li></ul></ul><ul><ul><ul><li>applicantType </li></ul></ul></ul><ul><ul><ul><li>leaveType </li></ul></ul></ul><ul><ul><ul><ul><li>leaveOption </li></ul></ul></ul></ul><ul><ul><ul><li>stage </li></ul></ul></ul><ul><ul><ul><li>checkBalance </li></ul></ul></ul><ul><ul><ul><li>approved </li></ul></ul></ul><ul><ul><ul><li>All actors </li></ul></ul></ul><ul><ul><ul><li>etc … </li></ul></ul></ul>
  14. 14. Final solution design Leave Application Forms List Stage Process Seq Name Type Use Case Next Seq Control 1 LeaveDefinition Form Defines entity-level parameters for Leave Application forms 2, 3 2 LeaveDefinitionList View List Leave Definitions for add or update 3 Control 3 LeaveRule Form Defines combination rules to populate LeaveApplication forms 4, 5 4 LeaveRuleList View List Leave Rules for add or update 5 Apply 5 LeaveApplicationMaster Switch Present Approver options or Applicant Leave Type option 6 or 7 6 LeaveApproverOptions Form Approver chooses Leave Type and either LeaveApplicationSelf or LeaveApplicationProxy 8 or 9 7 LeaveApplicantOptions Form Applicant chooses Leave Type 9 9 LeaveApplicationSelf Form Leave Application for Self 10 8 LeaveApplicationProxy Form Leave Application for Employee 10 CheckBalance 10 LeaveCheckBalance Form Payroll Administrator approves available Leave Balance 11, 12 11 LeaveCheckBalanceList View Payroll Administrator reviews and updates all Leave Applications awaiting Leave Balance approval 12 ApproveLeave 12 LeaveApproval Form Approver approves Leave Application 13, 14 13 LeaveApprovalList View Approver reviews and updates all Applications awaiting his/her Leave approval 14 Control 14 LeaveApplicationAll Form Payroll Administrator updates any Leave Application 15 15 LeaveList View Payroll Administrator reviews and updates all Leave Applications end
  15. 15. Final HR Leave Application product <ul><li>Demonstration </li></ul>
  16. 16. <ul><li>ChronoForms product site: </li></ul><ul><ul><li>http://www.chronoengine.com/ </li></ul></ul><ul><li>Bob Janes’ support site: </li></ul><ul><ul><li>http://greyhead.net/ </li></ul></ul><ul><li>Bob Janes’ ChronoForms 3.1 Cookbook: </li></ul><ul><ul><li>http://www.packtpub.com/chronoforms-31-joomla-site-cookbook/book </li></ul></ul><ul><li>MooTools: </li></ul><ul><ul><li>http://mootools.net/ </li></ul></ul><ul><li>FormCheck class: </li></ul><ul><ul><li>http://mootools.floor.ch/docs/formcheck/files/formcheck-js.html </li></ul></ul>References

×