Hi gang: So I have put to production the new customized Trac ticket workflow that offers notably a `request merge' action and an `in_merge' ticket state to track more easily the integration status of various branches. Here are some notes about our new workflow process.
* The new Invenio workflow closely simulates the `enterprise workflow' demo model that can be seen at: <http://trac.edgewall.org/attachment/wiki/WorkFlow/Examples/enterprise-workflow.medium.png> The difference being that `test' action leading to `in_QA' state became basically `request_merge' action leading to `in_merge' state in our setup. * In brief, here is how we shall work. When you see a new ticket that you would like to work on, you can take the `assign' action to assign it to yourself. Then when you are ready to start real coding on the problem, you can take the `start' action to put the ticket into the `in_work' state. Then when you are finished with coding, testing, documenting and kwalitee polishing, you can take the `request merge' action to put the ticket into the `in_merge' state. I shall then inspect the branch and either integrate it that will close the ticket automatically, or I shall add some comments to the ticket and put the ticket back from the `in_merge' state into the `assigned' state, especially if the ticket requires some non-trivial additional work. * The list of all branches requested for merge and under the code review will be always available under: <http://invenio-software.org/query?status=in_merge> * I have not adopted the full CodeReview plugin, with pre/post review comments and whatnot, since I think this simpler workflow should be sufficient for our needs. If need be, we can upgrade later. * We won't use anymore the old `accepted' ticket state. I have moved all `accepted' tickets back to `new'. You may want to go now through all your tickets and choose `assign', `start', or `request merge', as appropriate. Best regards -- Tibor Simko
