Build Joomla! business apps with ChronoForms Russell Searle 19 Jan 2013.

Slides:



Advertisements
Similar presentations
A Managerial Approach to a Decentralized Report Writing Environment Agenda Historical Perspective and the Need for Change Policies & Procedures Group Training.
Advertisements

AmeriCorps is introducing a new online payment system for the processing of AmeriCorps forms
Welcome to EXPRESS Your Online Enrollment Tool Guided Tour Please use the Navigation Buttons at the bottom of each screen to proceed through the tour and.
Unified Workflow Discovery Tool Version 1.0 User Guide December 2008 – Internal Use Only.
DIGIDOC A web based tool to Manage Documents. System Overview DigiDoc is a web-based customizable, integrated solution for Business Process Management.
WEB DESIGN TABLES, PAGE LAYOUT AND FORMS. Page Layout Page Layout is an important part of web design Why do you think your page layout is important?
We have developed CV easy management (CVem) a fast and effective fully automated software solution for effective and rapid management of all personnel.
Chapter 10: Designing Databases
ADABAS to RDBMS UsingNatQuery. The following session will provide a high-level overview of NatQuerys ability to automatically extract ADABAS data from.
Business Development Suit Presented by Thomas Mathews.
Microsoft SharePoint 2010 technology for Developers
FPA – IFPUG CPM 4.1 Rules.
1 XML Web Services Practical Implementations Bob Steemson Product Architect iSOFT plc.
PantherSoft Financials Smart Internal Billing. Agenda  Benefits  Security and User Roles  Definitions  Workflow  Defining/Modifying Items  Creating.
OnBase E-Forms and Workflow
Electronic Workflow using UGARUSS A new DFS system.
How To Submit Loans to Flanagan State Bank a/k/a “you are going to love this system”a.
Lecture 1 Introduction to the ABAP Workbench
Building Enterprise Applications Using Visual Studio ®.NET Enterprise Architect.
Systems Analysis and Design in a Changing World, Fourth Edition
Chapter 7 Using Data Flow Diagrams
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
XP New Perspectives on Microsoft Access 2002 Tutorial 71 Microsoft Access 2002 Tutorial 7 – Integrating Access With the Web and With Other Programs.
Page 1 ISMT E-120 Introduction to Microsoft Access & Relational Databases The Influence of Software and Hardware Technologies on Business Productivity.
Entity-Relationship Design
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
Chapter 7: The Object-Oriented Approach to Requirements
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
PHASE 3: SYSTEMS DESIGN Chapter 7 Data Design.
Fall CIS 764 Database Systems Engineering L3: Two Assignments Relating to J2EE.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Classroom User Training June 29, 2005 Presented by:
Databases and LINQ Visual Basic 2010 How to Program 1.
Introduction to Databases
Oracle Application Express 3.0 Joel R. Kallman Software Development Manager.
Creating databases for web applications SQL. Systems design. ER diagrams. Data flow diagrams. Storyboards. Homework: Plan database and applications for.
1 Lecture 3: Introducing Data Flow Diagrams (DFDs) Section 1 - The Concept of Diagrams Why use Diagrams? Diagrams as Working Documents Systems Analysis.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
Lecturer: Gareth Jones. How does a relational database organise data? What are the principles of a database management system? What are the principal.
Requirements – Scenarios and Use Cases
Home NEW INNOVATIONS Resident/Fellow Introduction NEW INNOVATIONS Resident/Fellow Introduction This presentation includes the following topics: Login Notifications.
Chapter 8 Collecting Data with Forms. Chapter 8 Lessons Introduction 1.Plan and create a form 2.Edit and format a form 3.Work with form objects 4.Test.
IBM Software Group ® Overview of SA and RSA Integration John Jessup June 1, 2012 Slides from Kevin Cornell December 2008 Have been reused in this presentation.
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Master Data Management & Microsoft Master Data Services Presented By: Jeff Prom Data Architect MCTS - Business Intelligence (2008), Admin (2008), Developer.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Systems Analysis and Design in a Changing World, Fourth Edition
1 © Xchanging 2010 no part of this document may be circulated, quoted or reproduced without prior written approval of Xchanging. MOSS Training – UI customization.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
Microsoft Office 2013 Try It! Chapter 4 Storing Data in Access.
Using Workflow With Dataforms Tim Borntreger, Director of Client Services.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Introduction to Core Database Concepts Getting started with Databases and Structure Query Language (SQL)
V7 Foundation Series Vignette Education Services.
SAP R/3 User Administration1. 2 User administration in a productive environment is an ongoing process of creating, deleting, changing, and monitoring.
CIS-NG CASREP Information System Next Generation Shawn Baugh Amy Ramirez Amy Lee Alex Sanin Sam Avanessians.
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Advanced Higher Computing Science
Creating and Processing Web Forms
Internet Made Easy! Make sure all your information is always up to date and instantly available to all your clients.
Visual Basic 2010 How to Program
Objectives Design a form Create a form Create text fields
Dynamics 365 Customer Engagement Deep Dive: Creating a Basic Plug-in
AmeriCorps Member Tutorial – OnCorps Reports 2.0, Standard Reports
Engineering Quality Software
Presentation transcript:

Build Joomla! business apps with ChronoForms Russell Searle 19 Jan 2013

Introduction Requirements Analysis and modelling Design Development Testing Deployment

Why build business apps? Businesses automate and connect business processes -> significant cost reductions = improve profitability Use Joomla! as a framework, it has all the services and elements Attract bigger clients for longer term engagements and more repeat business Work on more interesting projects More demanding custom development work attracts higher rates Produce higher value applications and sites Possibly reduce need to interface / integrate separate customer apps

Elements of business apps FeatureChronoForms product FormsChronoForms ViewsChronoConnectivity Workflow: mailChronoForms Workflow: state ChronoForms, ChronoConnectivity

ChronoForms product range ChronoForms Builds chainable CRUD forms for any data Simple form controls, rich set of actions, fully programmable ChronoConnectivity Builds views of any data Front-end and back-end views in one view object ChronoForums A beta-version forum built on CF, similar to phpBB V3 For sites that need a modified or customised forum Reference installation for CF features and techniques ChronoContact A simplified contact form builder

ChronoForms features Drag and drop form builder Wizards for basic and complex forms Basic set of configurable input elements, plus custom element Extensive set of configurable form actions A CF form does not have to have a UI! Custom callable events Pluggable architecture Extremely customisable and programmable Suits web developers: HTML, PHP, JavaScript, CSS, AJAX Developed by Max (ChronoMan), supported by Max and Bob Janes (author of Packt book, custom actions and tutorials)Max Bob Janes

Two types of forms CCK Vertical data organisation Multiple physical records per logical record Fixed table and column names, fixed key and indexes RS Form! Pro organises main tables vertically Form builder RSForm! Pro Table #__reform_submission_values SubmissionValueIdFormIdSubmissionIdFieldNameFieldValue 111nameJoe Blow 311address11 Fred Street 411address2 511suburbCarlton 611stateVic 711postcode countryAU 911phone

Two types of forms CCK Horizontal data organisation One physical record per logical record Custom table and column names, custom key and indexes ChronoForms organises data horizontally Form builder ChronoForms Table #__chronoforms_data_mailusers name address1address2suburbstatepostcodecountryphone Joe Fred Street CarltonVic3084AU

Comparison of forms CCKs FeatureVertical storageHorizontal 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

Requirements Introduction Requirements Analysis and modelling Design Development Testing Deployment

CFDemo organisation chart CEO Finance Fred Sales Sarah Sam HR Helen Payroll CFDem o

Business process The new online leave application process works as follows: To gain access to online Leave Application facilities, you must log in to the CFDemo application as one of the CFDemo employees. Begin the leave application process by clicking the Apply for Leave link in one of these places:Apply for Leave The Apply for Leave option in the HR drop-down menu from the top menu barApply for Leave The Apply for Leave option in the HR section menu in the left sidebarApply for Leave You will be asked which type of leave you are applying for: Annual, Sick, Long Service or Bereavement leave. 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. 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. For sick leave applications, please upload a scanned copy of your doctors certificate. For bereavement applications, please identify your relationship to your deceased relative. When you submit the form, three s are sent: You receive an acknowledgement at your registered address. The Payroll Administrator will receive a request to check and confirm your available balance of the type of leave you have requested. The manager who approves your leave applications will receive a copy of your application, for planning purposes. When the Payroll Administrator checks your leave balance, another is sent to the manager who approves your leave applications: 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. 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. When your manager reviews and updates your leave application, two more s are sent: You receive an advising the manager's decision. If your leave application is refused, please discuss the matter with your manager. 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. The to you is also copied to the Payroll Administrator, for management purposes.

More business rules CFDemo managers may have staff who are not employees, e.g. casuals, contractors. In general these staff do not have trusted CFDemo addresses. Managers are expected to apply for leave on behalf of these staff members, and to communicate directly with them about their leave applications. For this reason, the LeaveApplicationProxy form requires entry of the applicants name but it does not allow entry of an address, and proxy leave applications do not attempt to notify the leave applicant at any stage of the work flow. There are four types of leave but in each case, there are several options for the way that wages may be paid during the employees absence. This attribute is referred to as the Leave Option. It is selected during the initial leave application but can be changed later by the Payroll Administrator. Each type of leave also has different attributes, as follows: Annual Leave. This is the basic form of leave, there are no additional fields on the Leave Application form. Sick Leave. Applicants are expected to provide a doctors certificate for all sick leave. This can be uploaded on the initial leave application, or the leave applicant can provide it later and the Payroll Administrator or the Approving Manager can upload it to the application at a later stage, even after leave has been approved. Long Service Leave. There are no additional fields on the Leave Application form, but the CEO is copied in on the leave approval notification. Bereavement Leave: The leave applicant must specify his or her relationship to the deceased person, and only a specified set of relationships are accepted for the granting of Bereavement Leave. In addition, the leave days credit must be paid for from one pf the normal leave balances that are due to the applicant. If the Approver Manager refuses a Leave Application, he or she must provide a reason for doing so, but that reason is not communicated in notifications. The system does not attempt to maintain the leave days balances for employees, the Payroll Administrator handles that separately with other systems. Managers need a Leave Schedule report so they can review planned or past absences from their departments. The Payroll Administrator needs the ability to review, update and delete all Leave Applications at any time. No mail notifications are sent when the Payroll Administrator updates Leave Applications outside the normal work flow.

Analysis and modelling Introduction Requirements Analysis and modelling Design Development Testing Deployment

Analysis process Business analysis is skilled, demanding, high-value work Analysts think in terms of processes, structures, models Good modelling tools can generate schemas and code Products of analysis Business process narrative Process and partial data models Requirements Functional spec Test cases Partial database schema Basic classes in various target languages

Simplified JSD analysis A simplified method, based on Jackson System DevelopmentJackson System Development 1. Obtain a written narrative description of the business process, including objects, inputs, outputs and actors 2. Get four highlighters 3. Highlight all nouns in colour #1: these are candidate entities, or candidate master tables 4. Highlight all verbs in colour #2: these are candidate actions, transactions or relationships 5. Highlight all adjectives in colour #3: these may be candidate attributes for related entities 6. Highlight all adverbs in colour #4: these may be candidate conditions or modifiers

Analysis methods UML: Unified Modelling Language UML Key product of OMG: Object Management GroupOMG UML provides standards and specs for modelling business and application processes, structure, behaviour and architecture UML tools produce various diagrams Users can understand and react to UML diagrams Most useful behavioural diagrams for analysis: Use cases Activity Sequence Interaction Communication

Analysis tools Common UML tools: Microsoft Visio Very commonly used, but doesnt do code generation NetBeans UML plugin Eclipse Model Development Tools IntelliJ IDEA UML Designer Visual Paradigm for UML Enterprise Architect Dia

CFDemo use case

Design Introduction Requirements Analysis and modelling Design Development Testing Deployment

Design methods and tools Use some more UML, continue from analysis work Most useful structural diagrams for design: Class Object Package For web sites, page layout and form styling may also be required, but this is usually a separate stream of work

Data model The data model is the single most important product If the data model is sound, there will always be a reasonable solution for functional requirements, and support cost and effort will be predictable If the data design is incomplete, wrong or weak, the application will have a high life-cycle cost, it will cause trouble and pain, and it will eventually break Make every effort to align the data model with the real world Entities Relationships Indexes Foreign keys Attributes Constraints Stored procedures Triggers

Data modelling Make the effort to build a data model for any non-trivial application Build a fully normalised model (3NF)fully normalised model You can always de-normalise it later if necessary for performance, reporting or data warehousing But not vice versa: difficult and expensive to normalise a non-normal database Elaborate BAs partial data models and schema Or start with entities and attributes from simplified JSD analysis methodsimplified JSD analysis method Refine until you can prove that use cases are satisfied

Data modelling tools Microsoft Visio Very commonly used, but doesnt do code generation MySQL Workbench 5.x phpMyAdmin also includes a basic data modeller phpMyAdmin You have to set up phpMyAdmin configuration storage. This is a bit tricky, but its worth doing.phpMyAdmin configuration storage IBM Data Studio Many other database clients have data modelling features Many UML analysis tools also have data modelling featuresUML analysis tools

CFDemo data model

Data design Actors Applicant Approver Delegate (dropped) PayrollAdmin ManagingDirector Entities = Tables LeaveDefinition LeaveRule LeaveApplication Relations LeaveApplication -> LeaveDefinition LeaveApplication -> LeaveRule Major Attributes LeaveDefinition name, value, description LeaveRule rule, factors x 4, results x 2 LeaveApplication applicantType leaveType leaveOption stage checkBalance approved All actors etc …

Forms design Leave Application Forms List StageProcess SeqNameTypeUse CaseNext Seq Control1LeaveDefinitionFormDefines entity-level parameters for Leave Application forms2, 3 2LeaveDefinitionListViewList Leave Definitions for add or update3 Control3LeaveRuleFormDefines combination rules to populate LeaveApplication forms4, 5 4LeaveRuleListViewList Leave Rules for add or update5 Apply5LeaveApplicationMasterSwitchPresent Approver options or Applicant Leave Type option6 or 7 6LeaveApproverOptionsFormApprover chooses Leave Type and either LeaveApplicationSelf or LeaveApplicationProxy8 or 9 7LeaveApplicantOptionsFormApplicant chooses Leave Type9 9LeaveApplicationSelfFormLeave Application for Self10 8LeaveApplicationProxyFormLeave Application for Employee10 CheckBalance10LeaveCheckBalanceFormPayroll Administrator approves available Leave Balance11, 12 11LeaveCheckBalanceListViewPayroll Administrator reviews and updates all Leave Applications awaiting Leave Balance approval12 ApproveLeave12LeaveApprovalFormApprover approves Leave Application13, 14 13LeaveApprovalListViewApprover reviews and updates all Applications awaiting his/her Leave approval14 Control14LeaveApplicationAllFormPayroll Administrator updates any Leave Application15 LeaveListViewPayroll Administrator reviews and updates all Leave Applicationsend

Development Introduction Requirements Analysis and modelling Design Development Testing Deployment

Final HR Leave Application product Demonstration

Testing Introduction Requirements Analysis and modelling Design Development Testing Deployment

Testing ChronoForms Use a good IDE and copy/paste code to/from CF elements and actions; helps to get syntax right Have a test plan and a suite of unit tests Test in pieces; test incrementally; test as you go Test boundary conditions Use the Debugger action freely Use Firebug to debug HTML, CSS, JavaScript PHP debuggers like Xdebug, Zend Debugger are useful but its not easy to drill down to deep code in Joomla! Use Selenium to automate unit test suite

Deployment Introduction Requirements Analysis and modelling Design Development Testing Deployment

Deploying ChronoForms Exporting an application: Survey your forms and list any custom actions used Identify any related groups and access levels Backup CF and CC forms from CF / CC managers Export database tables with phpMyAdmin or other MySQL client Deploying an application: Install custom actions required for your app Create required groups and access levels Import database tables with phpMyAdmin / MySQL client Change table prefixes of imported tables Restore CF and CC forms in CF / CC Managers Work through all forms and connections and update database table names Check any static addresses and embedded URLs Recreate menus and menu items

References ChronoForms product site: Bob Janes support site: My CFDemo case study site: Bob Janes ChronoForms 3.1 Cookbook: cookbook/book cookbook/book MooTools: FormCheck class: