Chapter 5. Roadmap

Have a look at our detailed developer guide and you will find that JTrac has one of the most developer-friendly set-ups among open-source projects. It will take you only a few minutes to be up and running no matter which Java IDE you use. We actively encourage contributions and with your support JTrac can become better than it is today.

Apart from using the forums you can also consider joining the JTrac mailing-list.

5.1. Field-Level "Hide" Permissions

In a future version of JTrac, the ability to even hide fields depending on the role and status will be implemented. The design for this is already in place.

5.2. Nested Items

JTrac will support "nested" items under a first-level "parent" item and the design and database schema for this is already in place. This will allow users to split tasks into sub-tasks and opens up other possibilities. One of the plans in the roadmap is to build JTrac into a full-fledged requirements capture tool complete with test-case management and traceability. JTrac can then be used to manage user-stories or use-cases for agile development teams.

5.3. Custom Validation

Using Beanshell, users should be able to introduce custom routines to validate item data entered by a user. Even conditional validation across fields should be possible.

5.4. Custom Scheduled Jobs

Again using Beanshell, users should be able to define routines to execute periodically, say at a pre-determined time every day. This would allow triggers for events such as slippage of a "due-date" field. This can be combined with e-mail notifications. Also a daily dashboard summary could be mailed out once the scheduler is in place. [As of version 2.1.0 - the scheduler is already in place for those who are working on extending JTrac.]

5.5. Submit By Email

JTrac should be able to monitor an e-mail account and incoming e-mail should trigger creation / updation of items. It would be handy to have attachments submitted through email also.

5.6. Screenshot Capture

Using a Java applet, it should be possible for the user to upload a screenshot directly from the system clipboard. The user should be able to annotate (e.g. highlight a particular area of) the image before uploading.

5.7. Saved Searches

It should be possible for users to save search filters and re-use them.

5.8. Wiki Engine

There is a plan to embed a wiki-engine into JTrac. This will supplement the requirements management road map.

5.9. Subversion Integration

Integration with Subversion has already been implemented using the JavaSVN library and this will enable effective integration of bug reports with commit history in the future. You can try out the existing experimental support by going to the following url of your JTrac installation: http://[hostname]/jtrac/app/svn

Experimental Subversion support: commits per user report

5.10. Tags

A one-to-many data model for being able to tag items "Web 2.0" style is already in place. This would be ideal to track things such as mapping bugs to software release version numbers, associating keywords with items and to do all kinds of other cool stuff.

5.11. RSS Feeds

RSS feeds will be introduced so that you can monitor new items and updates to items.

5.12. Import from other tools

Import from other issue tracking systems (such as BugZilla) to be considered. Once complete, this feature will allow you to import raw data from a spreadsheet, apply any data cleanup needed, identify and load custom fields / drop down values and finally import the items, creating a new Space and users if required.

5.13. Single Sign On

JTrac uses the Acegi Security framework which supports integration with a Central Authentication Service (CAS) installation. You can refer to the installation guide for how to configure JTrac to use CAS for single sign on. As of version 2.1.0 JTrac supports LDAP authentication out of the box. This needs to be improved by adding an admin screen that can browse and add users from an LDAP server. Authorization using LDAP and allowing users to plug in custom authentication and authorization routines would be good to have as well.

5.14. XML API

JTrac should be able to expose a remote XML API (SOAP or REST) so that core functionality can be invoked / integrated with other systems.

5.15. Eclipse Mylyn integration

Mylyn (previously known as Mylar) integration in the form of a connector (Eclipse plugin) is currently being implemented. The remote API mentioned above is also being developed (REST).

5.16. Time Tracking

The database schema already has support for capturing planned vs actual effort against items. This needs to be implemented and obviously will open up a lot of possibilities.

5.17. Custom Reports

Although JTrac has an 'Excel Export' feature that should suffice for all your reporting and charting needs, it would be good to have a reporting engine that allows the user to create custom reports and even schedule reports to be sent out over e-mail.