[[TOC]] = Project: Workflow Support = Name : '''Hardik Juneja'''[[BR]] Mentor: '''Dominic Konig'''[[BR]] === BluePrints === This project draws ideas from the Blueprints below:[[BR]] * BluePrint/WorkflowSupport === Workflow Tutorial === * [[wiki:DeveloperGuidelines/s3workflow]] === Demo === [[https://ec2-54-224-47-206.compute-1.amazonaws.com/eden | demo]] === Limitations of Current Implementation === * Right now one workflow node can not refer workflow instances to other nodes i.e workflow engine don't track what you adding or deleting in the system. so We cannot add items to a request created earlier. To do this we have to specify the request in the configuration explicitly. Due to less time we decided to cut short the project plan and was not able to implement this. And decided to implement a framework for this after GSOC. === 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.