wiki:BluePrint/MultiStepForms

Version 14 (modified by hardik juneja, 12 years ago) ( diff )

--

BluePrint: WORKFLOW SUPPORT

Introduction

The Blueprint outlines the development of Workflow Support for Sahana Eden i.e to develop a generator that can generate robust wizards for user to guide them through the different processes of sahana. A wizard is a user interface that presents a user with a sequence of forms that lead the user through a series of well-defined steps.Tasks that are complex, infrequently performed, or unfamiliar may be easier to perform using these wizards.

Description

Workflow Support includes developing two functionality for Sahana Eden -

Multi-Step Forms(Wizard) Generator

It includes development of a Multi-step forms(wizard) Generator which can act on some defined data and can generate robust multi-step forms or wizard out of the defined data.
The wizard thus generated can be used by users and can help them understanding Sahana Eden dexterously and expeditiously.
It will also help developers to make robust wizards for different modules of Sahana Eden.

Morphing wizards for mobile interface

It includes splitting bigger forms into smaller part.
Ex. Morphing one form into three for small mobile devices

Target Problem

Workflow Support aims to solve two conspicuous problems -

  • First - Sometimes for new users of Sahana Eden it gets a bit abstruse to understand the workflow of different modules quickly.
  • Second - Sometimes user needs to input complex data into a system that is easier for the user to comprehend parting the process into multiple steps.
  • Third - In Sahana Eden currently the various forms are mostly separated except for navigation links. so users have to maneuver from one place to another to complete related tasks.

All these points address the need of Multi-step forms( Wizards ) for Sahana Eden.

Benefit To Sahana Eden

Workflow support smartly increases the usability of Sahana Eden by making it convenient, easy to use and more agile as it guides the user through the different processes of sahana eden step by step and helps the user understand Eden .

Stakeholders

  • End Users - Users of Sahana Eden will be benefited the most with Workflow Support as it will help them understand Sahana Eden quickly and easily. [BR]
  • Developers - With the help of Multi-step forms Generator, developers of sahana eden can easily create a wizard for new modules.
  • Sys Admin

User Stories

  • As an end user, I want a wizard to guide me and help me through different resources available in Sahana Eden.
    • To take a Wizard Ex. To register volunteer, User will click on the Wizard Button on the homepage.
    • Then user will have to select a register volunteer option .
    • Then the first step will be to enter basic details of a volunteer.
    • As he fills the form he will taken to the next step i.e to enter contact details.
    • The wizard will end when he complete all the steps.

  • As a developer, I want a Multi-step forms Generator that can easily generate a robust wizards for me by accepting some simple data.
    • Developer will have define some data to the Generator.
    • Which will be converted into wizards(Multi-step forms) by the Generator.
  • As a mobile user, I want a portable workflow i.e one that works on my mobile devices also.

Requirements

Functional

  • Generator should accept simple data, data can be as simple as resource name and list of field names.
  • Multi-step forms or wizards thus generated should have the ability to adapt changes as the data given to workflow engine changes.
  • Generator should also adapt structural changes if the structure of the given data changes.
  • Generator should provide full access control to the user, they can go back, skip steps and quit at any point.
  • Multi-step forms or wizard should track the audit trails i.e keeping the record of the running processes as they unfold, so that users can come back to the same point where they left off.
  • Multi-step forms should have a simple and user-friendly user interface.
  • These Multi-step forms or wizards should be easily available and accessible to the user after successful login.

Non-functional

Use-Cases

Design

Data Model

todo

Workflows

As Developer

  • Developers will have to define data to the Generator .
  • Data possibly will be a resource name along with fields list which makes up an activity.
  • These will be followed by control edges (Ex. whether node will be optional,required or not allowed).
  • Wizard generator will convert the given data into desired wizard template.

As User

  • To take a wizard for any resource user will have to click on the wizard button on the homepage.
  • Then users will have to select from different options shown on the screen which will link them to different wizards for different resources.
  • After choosing one option users will enter the wizard like interface with their progress(steps) shown on the top of the page.
  • Each node in a wizard will be a collection of fields which users will have to fill in order to proceed to the next step.
  • User can click on the back button to go back one step.
  • User sometimes might have multiple ways to proceed further.
  • User can also skip optional steps.
  • After completing the wizard user will be redirected back to the page where a list of wizards will be displayed.

One simple case of workflow is depicted here -

Wireframes


Technologies

Implementation

(Prospective)

  • The Multi-step forms Generator will reuse S3SQLCustomForm where possible.
  • It will accept resource name and list of fields along with the description of corresponding edge i.e is the node is optional or required.
  • All the data will be linked and will be converted into a wizard template.
  • User id and his progress will be stored on in the database.

Future Implementation

  • Making a UI for Generator , So that not only developer but sys admin can easily make wizards for different resources or new modules.

References

Discussions


BluePrint

Attachments (6)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.