[[TOC]] = Project: Workflow Support = Name : '''Hardik Juneja'''[[BR]] Mentor: '''Dominic Konig'''[[BR]] === BluePrints === This project draws ideas from the Blueprints below:[[BR]] * BluePrint/WorkflowSupport === Demo === [[https://ec2-54-224-47-206.compute-1.amazonaws.com/eden | demo]] === Meetings And Discussions === '''Weekly Meeting''' : '''Wednesday 8:15 UTC''' [[BR]] '''Venue''' : '''IRC''' (Nick - hardikj) [[BR]] '''Google Group Discussions''' : * https://groups.google.com/d/msg/sahana-eden/XJkb0iL-w5Y/rrxV-6WHrMQJ [[BR]] * https://groups.google.com/d/msg/sahana-eden/uWXty9xQiqg/499xcRDGky0J [[BR]] '''Goals''' - * configuration of event handlers (nodes) in a workflow (done) * storing and retrieving of workflow instances * mapping of instance status + current event to a certain node * Interface between workflow engine (=event manager) and workflow nodes (=event handler) * Interface between nodes and "actions" (=S3Methods?) * Workflow widgets (=widgets for users to perform workflow actions), and how to put them into a page [[BR]] === Project Progress === ||= SMART Goal =||= Measure =||= Status =|| ||Designed Workflow Configuration ||Discussed the design with mentors and we came up with a good design.|| Completed|| ||Implement Required classes|| Implemented all required basic classes which were necessary to make a good cofiguration pattern || Completed || ||Testing || Test the configuration pattern || Completed || ||Document and make new Blueprint || http://eden.sahanafoundation.org/wiki/BluePrint/WorkflowSupport || Completed|| ||Discussing design of the data model || done successfully || Completed || ||Implement the data model || designed the model || Completed || ||Implement functions to store and retrieve status || Implemented all basic functions || Completed || ||Testing and documentation || Tested the database || Complete || ||Mapping instances || We have a working basic Workflow Engine || Completed || ||design wireframes and update wiki || http://eden.sahanafoundation.org/wiki/BluePrint/WorkflowSupport#Wireframes || Completed || ||Node and status Matching || - || Completed || ||Injecting the Work-flow Id in action buttons and forms || Injected || Completed || ||Support the Prep and Postp Injection || Configuration support postp and prep || Completed || ||Discussion on framework for workflow action and UI items || decided to have wheader to inject workflow UI|| Completed || ||Allow adding workflow header for the workflow || Implemented || Completed || ||Make a Default workflow header with injected buttons|| add next and exit button || Completed || ||Add progress bar || added a bar on top || Completed || ||pretify the UI || added css rules || Completed || ||Allow injection of text through configuration || changed configuration pattern || Completed || ||Set up Demo and get ready for evaluations || - || In progress || [[BR]] === Proposal Timeline: === May 28th - june 15th (Community Bonding Period) * Achieving all the learning goals described in the Outputs and clearing all the doubts with the community. * Gathering all my prerequisite about the project and laying down a modular structure of the project. June 17th - July 29th (Pre Community bonding Period) Week 1: * Discussing the design to save user progress. ( On the Page ) * Creating models (if required ) to save the user progress so that if a user quit accidently he can restore his work. The saved progress will also be used as step name. * Discussing and planning the design of the project with mentors and community. Week 2 and 3: ( Configuration of event handlers (nodes) in a workflow ) * Design a configuration pattern (done) * Implement the classes for the configuration pattern * Testing and documentation * Meeting 1 - Code review, Making changes(if suggested), Writing tests , Trunk integration (Wednesday). Week 4 and 5: ( storing and retrieving of workflow instances ) * Discussing and plan the Design of the data model * Implement the data model * Testing and documentation Week 6 and 7: ( mapping of instance status + current event to a certain node ) * Design the process * Implement the functions * Testing & Documentation * Mid-Term Evaluation. July 29th - August 2nd * Through revision of what have been done till now and lay a plan for next phase. * Fixing all issues/bugs(if any). '''August 3rd - September 16th (Post Community Bonding Period )''' [[BR]] Week 8 and 9: - interface between workflow engine (=event manager) and workflow nodes (=event handler) * Design * Implement it * Test and document it * Meeting 2 - Code review,Suggestions, Applying changes(if any), Trunk Integration. Week 10 and 11: ( interface between nodes and "actions" (=S3Methods?) ) * review the configuration pattern * design and implement the interface * test and document Week 12 and 13: * figure out how to inject the workflow widgets * implement it * document it September 17th - September 23rd (Pen down period) * Thorough review of all the functionalities. * Debugging, Code cleanup, Comments.