1. Home
  2. Tutorials
  3. Trac plugin: Agilo
Yolinux.com Tutorial

Trac-Agile plugin: Agilo

Trac is a software bug and enhancement tracking system. One first defines a development roadmap of milestones and then tickets are issued for bugs or new enhancements pertaining to mile-stones in the "roadmap". Bugs and enhancements are then assigned to developers. Trac also includes a Wiki to support collaborative development.

Agilo is a Trac plug-in for the Agile software development process support.

Also see the YoLinux Trac Plugins tutorial (plugins other than Agilo).

Agilo Description:

Agilo is a Trac plugin which extends the Trac database schema to support the Agile programming process. Agilo changes the Trac information hierarchy:
TracTrac-Agilo
  • Trac Milestone
    • Trac ticket (task)
  • Trac Milestone
    • Agile Sprint
      • Agile Story
        • Trac ticket (task)

Note the added depth to the process hierarchy by the addition of the Agile Sprint and Agile Story.

Agilo also supports Agile story points, burn down charts, etc. For more information see the Agilo for Trac web site

[Potential Pitfall]: Agilo renames some Trac databse schema items thus breaking many of Trac's plug-ins like trac-mastertickets-plugin and trac-peerreview-plugin.

Agilo Installation and configuration:

This tutorial assumes a Trac installation configured with CM (either Subversion or Git). See the YoLinux turorials: Agilo Prerequisites:
  • python-setuptools
Agilo Installation: Removal: (FYI)
  • rm /usr/bin/agilo_svn_hook_commit.py
  • rm /usr/bin/create_agilo_project.py
  • rm -Rf /usr/lib/python2.6/site-packages/binary_agilo-1.3.6.2_PRO-py2.6.egg/

Installation from Python source:
  • Download agilo_source.tar.gz
  • Unpack: tar xzf agilo_source.tar.gz
  • cd agilo-0.9.6.2/
  • Install: python setup.py install
Note: The command python setup.py --help lists options available.

Removal of source install:
  • rm /usr/bin/agilo_svn_hook_commit.py
  • rm /usr/bin/create_agilo_project.py
  • rm /usr/bin/agilo_sqlite2pg.py
  • rm -Rf /usr/lib/python2.6/site-packages/agilo-0.9.6.2-py2.6.egg/
Agilo Configuration:
  • Add the following so that trac recognizes the new Agilo component:

    File: /srv/trac/projectx/conf/trac.ini
    [components]
    agilo.* = enabled
    #agilo_common.* = enabled
    #agilo_pro.* = enabled
    
    Licesed versions have finer grained controls (commented out here)
  • Update Trac with the new Agilo features and the exteded database schema:
    • trac-admin /srv/trac/projectx upgrade
    • trac-admin /srv/trac/projectx wiki upgrade
[Potential Pitfals]: if you get the following error:
Error

TracError: The Trac Environment needs to be upgraded.

Fix:
  • Upgrade Trac with enhancements: trac-admin /srv/trac/projectx upgrade
  • Allow web server access: chown -R apache.apache /srv/trac/projectx
  • Restart web server: service httpd restart

The first time you access Trac after the Agilo plugin has been added, the response will be slow as the system has allot of first operation tasks including the upgrade of the configuration and population of default values. The Trac configuration file will also be updated to include:

[agilo-backlogs]
...

[agilo-links]
...

[agilo-types]
...

[ticket-custom]
...

[trac]
...
permission_policies = AgiloPolicy, DefaultPermissionPolicy, LegacyAttachmentPolicy

...

[inherit]
plugins_dir =
templates_dir = /usr/lib/python2.6/site-packages/binary_agilo-1.3.6.2_PRO-py2.6.egg/agilo/templates

...
Do not add this, it will be added for you.

Agilo Administration:

The Trac permissions schema is extended. I use the following script to add project admin personel:

File: /opt/bin/add-trac-agilo-admin.sh
#!/bin/bash
# See https://dev.agile42.com/agilo-help/admin/Permissions
trac-admin /srv/trac/projectx permission add $1 TRAC_ADMIN
trac-admin /srv/trac/projectx permission add $1 AGILO_BACKLOG_VIEW
trac-admin /srv/trac/projectx permission add $1 AGILO_BACKLOG_EDIT
trac-admin /srv/trac/projectx permission add $1 AGILO_CONFIRM_COMMITMENT
trac-admin /srv/trac/projectx permission add $1 AGILO_CONTINGENT_ADD_TIME
trac-admin /srv/trac/projectx permission add $1 AGILO_CONTINGENT_ADMIN
trac-admin /srv/trac/projectx permission add $1 AGILO_CREATE_BUG
trac-admin /srv/trac/projectx permission add $1 AGILO_CREATE_REQUIREMENT
trac-admin /srv/trac/projectx permission add $1 AGILO_CREATE_STORY
trac-admin /srv/trac/projectx permission add $1 AGILO_CREATE_TASK
trac-admin /srv/trac/projectx permission add $1 AGILO_DASHBOARD_VIEW
trac-admin /srv/trac/projectx permission add $1 AGILO_LINK_EDIT
trac-admin /srv/trac/projectx permission add $1 AGILO_SAVE_REMAINING_TIME
trac-admin /srv/trac/projectx permission add $1 AGILO_SPRINT_ADMIN
trac-admin /srv/trac/projectx permission add $1 AGILO_SPRINT_EDIT
trac-admin /srv/trac/projectx permission add $1 AGILO_SPRINT_VIEW
trac-admin /srv/trac/projectx permission add $1 AGILO_TEAM_CAPACITY_EDIT
trac-admin /srv/trac/projectx permission add $1 AGILO_TEAM_VIEW
trac-admin /srv/trac/projectx permission add $1 AGILO_TICKET_EDIT
trac-admin /srv/trac/projectx permission add $1 AGILO_TICKET_EDIT_PAGE_ACCESS
Usage: /opt/bin/add-trac-agilo-admin.sh user1

Using Agilo:

Milestones are first generated on the "Roadmap" page. Each milestone has the button "Add new sprint".

Select Left column nav link "New User Story". Choose a sprint to link to when creating the story.
Select a story + Edit + Modify (to alter the story) + "Create a new referenced 'Task'" (will generate a task associated with the story)

Trac tickets can be associated later using Story + Edit + enter the Reference #tracnum of the Trac task to associate it with the story.

Screen Shots:

Agilo-Trac screen shot
Programmer capacity: Programmers can allocate vacation time to show actual availability (capacity)

Agilo-Trac screen shot
After Milestones, Sprints and Stories have been entered, the burndown chart can be plotted.


Note that the Pro licensed version adds a left hand column for navigation. The free FOSS version requires that you navigate to the dashboard. You can also use wiki formating to add the links:
  • New Requirements: http://localhost/trac/projectx/newticket?type=requirement
  • New Task: http://localhost/trac/projectx/newticket?type=task
  • New Story: http://localhost/trac/projectx/newticket?type=story
  • New Bug: http://localhost/trac/projectx/newticket?type=bug
  • Product Backlog: http://localhost/trac/projectx/backlog/Product%20Backlog

Links:

Book imageBooks:

Defect Tracking Tools Product Comparison Guide: Large Enterprise Edition
TiPS-IT Ziff Davis Media
Digital PDF Download

Amazon.com
Defect Tracking Tools Product Comparison Guide: Small / Mid Enterprise Edition
TiPS-IT Ziff Davis Media
Digital PDF Download

Amazon.com