3.4Trac
Homepage: http://trac.edgewall.org/
License: Open source
Implemented in: Python
Demo site: http://www.hosted-projects.com/trac/TracDemo/Demo
Trac is maybe best known and most used open source (and free) issue tracking system, next to Bugzilla. It offers a very intuitive and fine looking user interface, close junction with version control systems (mostly Subversion), revision control, and wiki for content. Due to these factors, it is widely spread in the open source community and used in many small teams and companies. There are many sites (for example Assembla.com) which offer Trac & Subversion hosting for free.
Installation
Trac is distributed as a zipped package. Before installation of Trac itself, the user has to manually prepare the running environment and install:
-
Python;
-
Genshi (XML templating language for Python);
-
SetupTools (collection of enhancements to more easily build and distribute Python packages);
-
Database (Sqlite, MySQL or PostgreSQL);
-
A web server with Python module support (most common is Apache HTTPD server with mod_python module) ; and
-
A subversion (or other supported version control system).
After this, the user unpacks the downloaded package to the chosen directory and runs a Python-based Trac installer.
After installation is finished, the user configures Trac using a command line utility called “trac-admin”. All changes in configuration need to be made by this utility, although for performing the most common admin tasks there is a possibility to install and use the plug-in “webadmin.”
[TSO-EDG]
User interface
The Trac user interface is an excellent example of usability and simplicity. You can reach any target within three clicks of the mouse. There are not too many buttons and options, so even beginners can quickly understand how to use it.
The welcome page is a standard wiki page and can be used for project documentation. The whole system is based on wiki, so a user quickly understands that t is quite easy to hyperlink information between an issue database, revision control, and wiki content.
Screen shot : Trac use-case - Project welcome page (Wiki)
Screen shot : Trac use-case - Add new ticket
Screen shot : Trac use-case - View tickets (select searching criteria)
Screen shot : Trac use-case - List of tickets
Screen shot : Trac use-case - View/Edit ticket details
Ticket system
When a new environment is created, a default workflow is configured in trac.ini. This workflow is the basic workflow (see diagram below).
This workflow model can be changed by overwriting trac.ini with other workflow model files prepared in advance or customized by a direct edit of this file.
Figure : Default Trac ticket workflow
[TSO-EDG]
Trac also supports adding custom fields to the tickets by editing configuration file trac.ini; however, any tickets created before a custom field has been defined will not have a value for that field and it is necessary to manually update the database.
Projects management
Trac does not support management of multiple projects; therefore, having its own instance for each project is the only real working solution. This way, however, the possibility to monitor all projects at once, to manage tasks common for multiple projects, and others is lost.
Analysis and monitoring
In basic installation, Trac only supports basic monitoring functions. You can only split requests between releases and see how many requests have already been accomplished; however, there are plug-ins which, based on added custom fields, support additional monitoring.
Source code management systems integration
Trac natively supports version control systems Subversion, Git, Mercurial, Bazaar, and Darcs. For other systems, there are plug-ins available or can be made.
More details at http://trac.edgewall.org/wiki/VersioningSystemBackend.
Accessibility
Trac itself does not have any RPC support; however, there is an XML-RPC plug-in for Trac version 0.10 and higher, but there are two problems:
-
The first problem is that this plug-in is not included in the basic installation package and its installation requires some time.
-
The second problem is that the plug-in is still under development and its API still seems to be changing.
If one cannot count with presence of plug-in and cannot depend on API, then it is difficult to develop any remote Trac calling applications. It is difficult, but possible. For example, the Mylyn plug-in for Eclipse solves this problem by parsing HTML code of Trac UI and calling its HTTP POST/GET methods.
Extensibility
Due to its popularity in the open source community, a wide range of plug-ins and extensions exists for integrating Trac with 3rd party applications, extending functionality, or just simplifying common tasks. There are two big resources for such extensions:
-
http://trac-hacks.org/ - extensions made by the Trac user community
-
http://trac.edgewall.org/wiki/PluginList - officially supported extensions
Conclusion
Trac does not try to be a complex development and project management tool. It concentrates on one thing: issue tracking, and does the job very well. In basic installation, it does not provide much other functionality; however, there are plenty of extensions, which make Trac a more complex tool. All things considered, Trac still remains a tool designed for use in single project environments.
[TSO-AND] [TSO-EDG] [TSO-KOL] [TSO-SMA] [TSO-STA]
Dostları ilə paylaş: |