Agilo is a Trac plugin which extends the Trac database schema to support the Agile programming process. Agilo changes the Trac information hierarchy:
Trac | Trac-Agilo |
---|---|
|
|
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.
This tutorial assumes a Trac installation configured with CM (either Subversion or Git). See the YoLinux turorials: Agilo Prerequisites:
- python-setuptools
- Download Agilo: http://www.agilofortrac.com/en/download/licensed/binary_agilo-PRO-py2.6.egg.zip
- Unzip: unzip binary_agilo-PRO-py2.6.egg.zip
This results in file: binary_agilo-1.3.6.2_PRO-py2.6.egg - Install: /usr/bin/easy_install --record agilo-log.txt binary_agilo-1.3.6.2_PRO-py2.6.egg
- 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/
- Download agilo_source.tar.gz
- Unpack: tar xzf agilo_source.tar.gz
- cd agilo-0.9.6.2/
- Install: python setup.py install
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/
- Add the following so that trac recognizes the new Agilo component:
[components] agilo.* = enabled #agilo_common.* = enabled #agilo_pro.* = enabled
- 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
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 ...
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
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:
Programmer capacity: Programmers can allocate vacation time to show actual availability (capacity)
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
- Trac home page
- Agilo for Trac home page
- YoLinux.com Subversion and Trac tutorial - lots of Trac administration information. Hosting multiple Trac projects, etc.
- YoLinux.com Git and Trac tutorial - installation and configuration
- YoLinux.com Trac wiki markup
- YoLinux.com Jenkins tutorial - continuous integration