Proposal Submission and Management System on Atlassian JIRA(for The Research Council, Oman)by Akber Choudhry and Dusko KnezevicAn Issue is an IssueAlassian JIRA is all about issues. In fact, Atlassian sends out T-shirts saying 'Because you've got issues'! We first started using JIRA in a purely development support role, but then I read a case study from a company that was using JIRA for their new-hire orientation process. At around the same time, we had a particularly challenging project that had a three-month implementation plan (which we took rather seriously), and which required a fairly sophisticated workflow. The requirements called for researchers (end users) submitting research proposals under multiple disciplines which went through a combined workflow, then an approval particular for for the specific discipline that included external reiewers, and then again through a combined workflow for final granting or rejection.Software Stack for the SolutionThe client and the project team had chosen JBoss Seam as the front-end, primarily due to its close integration with JBoss application server and jBPM as well as the Drools rules engine, but also due to the portletbridge API that allowed a Seam application to run inside JBoss Portal. Developing with an agile methodology, we were still undecided whether we were going to use jBPM for the actual workflow or come up with something else. As the requirements poured in, it became apparent that a number of persistence, data, security and administration interaction artefacts would have to be developed in order to support the workflow in jBPM.As you may have guessed by now, we decided to use JIRA as the workflow back-end: end users would access the Seam application, which would use JIRA through its Web Services API for workflow and persistence. The original user interface of JIRA would be modified using string replacements to provide the administration interface. Persistence and file attachments were transparent. It would work! Interface CustomisationProjects and sub-projects became 'research disciplines', issues became 'research proposals', and releases became 'call for papers'. The OSWorkflow engine proved to be very flexibile, and transition screens provided the approval input.Identity IntegrationSo far, so good! Now came some tricky security issues:
Seam Integration and TestingThe SOAP client derived from the JIRA WSDL was wrapped in Seam components:
Drop us an email (address on main page of this site) for the source code for the mock JIRA service. This was a somewhat unorthodox use of JIRA, but this approach resulted in a robust, scalable and feature-rich platform. The unlimited-user license for JIRA is an expense, but replicating the features of the system would be at an even greater cost. The system was deployed in February 2009 at https://www.trc.gov.om/portal/sec/portal/default/TRESS |