Methods & Tools Software Development Magazine

Software Development Magazine - Programming, Software Testing, Project Management, Jobs

ChiliProject

Felix Schäfer, thegcat.net; finnlabs, http://www.finn.de/

ChiliProject is a modular web-based project management tool. It offers flexible issue tracking and project planning, time tracking, wiki-based knowledge management, integration with various version control systems, as well as team collaboration and client communication through news and forum systems including support for sending and even receiving emails.

Web site: http://www.chiliproject.org

Current version: 2.5.0

System requirements:

  • Ruby (1.8.7 or 1.9.2)
  • A database (MySQL, PostgreSQL or SQLite supported)
  • An application server capable of running Rails projects (for example Phusion Passenger or Thin)
  • Version control system support requires the binaries for the version control systems that should be supported by your installation

License: GNU General Public License v2

Pricing: Free

Support:

  • The issue tracker and support forums on chiliproject.org,
  • The IRC channel #chiliproject on the freenode network,
  • Commercial custom development, hosting and support also available.

A young project with a long history

ChiliProject is a young project introduced in February 2011 as a fork of Redmine, building on the nearly five years of Open Source software development that went into it. Consisting of several former Redmine developers, the ChiliProject team forked Redmine because it felt that Redmine development was too sporadic and uncoordinated. The developer and user communities were not involved much in planning and decisions, which made contributions rather frustrating. Previous efforts to help with community involvement and development coordination before forking remained fruitless.

The ChiliProject team has committed to a fully transparent and open governance and development process aligned with the ideals of Free and Open Source Software, striving to include the ChiliProject community at each step of the development process. The goals of the ChiliProject team are to deliver a modern and extensible project management system built using present tried and tested software components and techniques while providing a more stable software and support lifecycle to individuals and organizations.

You can find more information about the fork on the Why Fork? page on chiliproject.org.

What can ChiliProject do for you?

Issue tracking

ChiliProject offers a powerful and flexible issue tracking system. Issues have a number of default attributes to help you categorize, find and assign them; more custom attributes can be added to individual issue types to store information specific to your needs. The timeline of an issue, similar to a facebook timeline, tracks any change to those attributes (status, assignee, custom attributes, …) as well as comments on the issue itself. The issue comments also are a great place to discuss the issue and keep everything pertaining to it in one place. Users can watch an issue to be notified when changes are made to the issue or the issue is commented upon. Finally, a set of issue relations allows you to keep track of related or even blocking issues.

The statuses that an issue can be transitioned to are controlled by the issue workflows, which are dependent on the tracker of the issue (the type of an issue) and the role the user has in the project the issue belongs to. Workflows are defined globally and can be adapted to your needs through total control of the issue statuses associated to a tracker and what status transitions users with a certain role can make.

Consider for example a project for a newspaper with the roles Journalist, Assistant, and Editor and a tracker called Article. Any user might have an article idea and is able to create a new Article with the status Idea, which then has to be approved and commissioned by an Editor who sets the status of the Article to Approved and assigns it to a Journalist. The Journalist might need some information to complete the article and can re-assign the Article to an Assistant, or she can create a new task in the tracker Information Request and set the new task as a blocker of her Article. When the Journalist has completed the Article, she can transition the issue to the status Written and assign it back to the Editor, who can schedule it for printing once he’s finished editing it.

The issue tracking system is completed by a powerful query system giving you an overview of selected issues, which can be filtered by type, assignee, status, any other attribute or custom attribute and any combination of those. The results can then be grouped for a better overview. Queries can be saved for later re-use and can even be shared with your other team members. Many teams use the same saved queries over and over throughout a project to get a standardized point of view and stay in the loop.

Project planning

One ChiliProject instance can have many projects, allowing all the teams in your organization to work with the same tool and to connect different projects and issues within them to each other. Projects can be arranged hierarchically and each project has its own set of members and activated modules (issue tracking, wiki, forums, …) which can be managed individually for each project by a user with the role Manager.

Project planning is supported by the ability to define versions (milestones) for your project and to see those versions and their completion rate on a Roadmap view. Versions can even be shared between projects to allow for cross-project planning. In addition to the Roadmap view, a Gantt view provides an easy way to get an overview of the advancement of a project, its subprojects, as well as the versions and issues therein.

Knowledge management

Each project comes with its own wiki which is a great place to store and share knowledge. Wiki pages have a history of when and what were made and who made those changes in order to make sure you don’t loose any information. They can also be linked to each other for knowledge sharing.

In addition to that, the rich wiki syntax is available not only in the wiki pages themselves but pretty much everywhere like issue descriptions and comments, news, forum posts, and so on. The wiki syntax supports shortcuts for often-used links such as links to issues (e.g. #123 automatically links to issue 123), versions, forum posts, revisions or commits of the project repository and more, as well as wiki macros which can automatically integrate other pages or generate content in your wiki page.

Team collaboration and client communication

For those times the discussion section of an issue doesn’t cut it, the discussion isn’t specific to any particular issue, or you just want to give your clients access to a discussion space without allowing them access to the issue tracker of the project, ChiliProject has a forum system with support for multiple boards. The news section is a place where you can make announcements, like new software versions or planned maintenance for example.

In complement of the in-site communication features, the email notifications provide users the ability to watch (be notified of changes in) single issues, forum threads or wiki pages, a whole forum board or even whole projects. The email system doesn’t only send emails though, it can also receive emails and append the email content as a response to the correct issue or forum thread, change the status of an issue or even create new issues.

Source code management and document management

ChiliProject supports software-related projects through the integration of various version control systems, including but not limited to subversion, git and mercurial. The repository browser has support for commit, diff, annotate and history views, and offers the possibility to download individual files from the repository. The rich formatting syntax available in many text inputs throughout ChiliProject offers support for links to files in version control, including linking to a specific line and/or commit. Commit messages can be formatted using this rich syntax too, mentioning an issue in a commit message will even link the commit to the mentioned issue.

Additionally, the version control system integration can be used for less software-related or technical projects. Have you ever received a file named Mission_Plan_v1.3_johns_comments_final.doc? Do you still have an overview of who got the document, who edited it and what version the newest and really final one is? The version control system integration provides you with a clear trail of the different versions your document went through, who made which changes, and the possibility for each member of your team to always have the latest version of the document without having to rely on distributing it via email or tracking the version of the file in the filename.

Expandability

If all those great features aren’t enough for you, ChiliProject can be extended by way of plugins. Plugins can add functionality from the most trivial additions, for example changing the label of a core ChiliProject part (you’d rather your "Versions" were called "Milestones"? No problem!), to the most complete modules and the deepest changes (e.g. ChiliProject can be turned from a rather waterfall-centric project management system into one supporting Agile/Scrum methodologies using the chiliproject_backlogs plugin). While for plugins the sky is the limit, if plugins aren’t enough, ChiliProject is Open Source and you can extend and modify it any way you deem necessary (warning: that makes upgrades harder though!).

Summary

ChiliProject is your one-stop solution for all your project management needs. It comes with a rich set of features to support you and your team to achieve even the most ambitious projects and can be adapted to your needs thanks to its modular nature and the possibility to extend the core functionality with plugins. ChiliProject is distributed under the GPLv2, a Free and Open Source License, which grants full access to the source code and thus allows for even the deepest customization. Support is available either from the growing and dynamic community of contributors and users on chiliproject.org or from any of the companies providing commercial support and services on and around ChiliProject.

The ChiliProject developer community is currently hard at work to prepare the release of the next major version of ChiliProject. Version 3 is planned for early next year and will feature a new design with improved usability and preparations for UI additions/refinements in subsequent minor releases, the integration of the liquid templating language in the rich formatting text fields and for wiki macros, as well as many smaller bug fixes and improvements.

Acknowledgements and License

I’d like to thank my colleagues, ChiliProject contributors and friends for their constructive contributions and assistance in writing and proofreading this article: Holger Just (finnlabs), Gregor Schmidt (finnlabs) and Jan Schulz-Hofen (Planio).

This article is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.


Click here to view the complete list of tools reviews

This article was originally published in the Winter 2011 issue of Methods & Tools