Using Trac Efficiently
        Work Smarter, Not Harder

   Vivek Khera, Ph.D.   MailerMailer LLC
The Problem


Handful of developers

No “real” management layer

Many projects

Many customers
The Old Way


Email or IM requests

Pen and paper notes

Private to-do lists
The New Way


Create task; notify by email

Electronic notes

To-do lists prioritized and visible by all
Basics of Trac


Ticketing

Subversion Integration

Wiki
Configure Trac
Role-based permissions


 Toss out default permissions set

 Define roles such as “admin”, “user”

 Real users given roles
Sample Permissions
            BROWSER_VIEW CHANGESET_VIEW
            CONFIG_VIEW FILE_VIEW LOG_VIEW
            MILESTON...
Ticketing System
Ticket Types

Default list:

  Defect

  Enhancement

  Task

Add as needed, like “text_change”
Components



Examples: “parser”, “SQL”, “documents”

Specify default ownership of tickets
Other Properties


Severity

Priority

Version

Keywords
Managing Tickets

Break up “Big Idea” tickets into smaller steps

Add notes on progress

Reference ticket in subversion co...
Milestones


Grouping of tickets

Set due date

Keep small enough to finish in two weeks
Send email on changes


 Configure mail server information

 Ensure every user has email address in default
 domain
Subversion
SVN Integration


Source code browser

Commit messages interpreted for links

Configure subversion to send email
Subversion Hook
#!/bin/sh

REPOS=quot;$1quot;
REV=quot;$2quot;

PATH=$PATH:/usr/local/bin
export PATH

NOTIFY=nadine@maile...
Subversion Hook
#!/bin/sh

REPOS=quot;$1quot;
REV=quot;$2quot;

PATH=$PATH:/usr/local/bin
export PATH

NOTIFY=nadine@maile...
Subversion Hook
#!/bin/sh

REPOS=quot;$1quot;
REV=quot;$2quot;

PATH=$PATH:/usr/local/bin
export PATH

NOTIFY=nadine@maile...
Wiki
Structuring the Wiki
DesignNotes

ImplementationNotes

OperationNotes

TestingNotes

MarketingNotes

WordDefinitions
Extensions You Want



[[BackLinks]] macro

[[LastModified]] macro
Some You Might Want
Wiki Goodies

Footnote

Not Implemented

Reference

Wiki Include

TOC Macro
Putting it all Together


 Everyone must participate

 Do the tasks in order

 Enforce documentation
Resources



Trac Project: http://trac.edgewall.com/

Trac Hacks: http://trac-hacks.org/
Questions


  Presentation available from
http://labs.mailermailer.com/
Os Khera
Os Khera
Upcoming SlideShare
Loading in …5
×

Os Khera

1,642 views

Published on

Published in: Technology, Design
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,642
On SlideShare
0
From Embeds
0
Number of Embeds
33
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Os Khera

  1. 1. Using Trac Efficiently Work Smarter, Not Harder Vivek Khera, Ph.D. MailerMailer LLC
  2. 2. The Problem Handful of developers No “real” management layer Many projects Many customers
  3. 3. The Old Way Email or IM requests Pen and paper notes Private to-do lists
  4. 4. The New Way Create task; notify by email Electronic notes To-do lists prioritized and visible by all
  5. 5. Basics of Trac Ticketing Subversion Integration Wiki
  6. 6. Configure Trac
  7. 7. Role-based permissions Toss out default permissions set Define roles such as “admin”, “user” Real users given roles
  8. 8. Sample Permissions BROWSER_VIEW CHANGESET_VIEW CONFIG_VIEW FILE_VIEW LOG_VIEW MILESTONE_ADMIN REPORT_ADMIN Admin ROADMAP_ADMIN SEARCH_VIEW TICKET_ADMIN TIMELINE_VIEW TRAC_ADMIN WIKI_ADMIN BROWSER_VIEW CHANGESET_VIEW CONFIG_VIEW FILE_VIEW LOG_VIEW MILESTONE_ADMIN REPORT_ADMIN Developer ROADMAP_ADMIN SEARCH_VIEW TICKET_ADMIN TIMELINE_VIEW WIKI_ADMIN BROWSER_VIEW CHANGESET_VIEW FILE_VIEW MILESTONE_VIEW REPORT_VIEW ROADMAP_VIEW User SEARCH_VIEW TICKET_ADMIN WIKI_CREATE WIKI_MODIFY WIKI_VIEW
  9. 9. Ticketing System
  10. 10. Ticket Types Default list: Defect Enhancement Task Add as needed, like “text_change”
  11. 11. Components Examples: “parser”, “SQL”, “documents” Specify default ownership of tickets
  12. 12. Other Properties Severity Priority Version Keywords
  13. 13. Managing Tickets Break up “Big Idea” tickets into smaller steps Add notes on progress Reference ticket in subversion commit note: closes #134 references #42
  14. 14. Milestones Grouping of tickets Set due date Keep small enough to finish in two weeks
  15. 15. Send email on changes Configure mail server information Ensure every user has email address in default domain
  16. 16. Subversion
  17. 17. SVN Integration Source code browser Commit messages interpreted for links Configure subversion to send email
  18. 18. Subversion Hook #!/bin/sh REPOS=quot;$1quot; REV=quot;$2quot; PATH=$PATH:/usr/local/bin export PATH NOTIFY=nadine@mailermailer.com # do some magic for Trac tickets LOG=`svnlook log -r $REV $REPOS` AUTHOR=`svnlook author -r $REV $REPOS` TRAC_ENV='/web/trac/projects/nadine' TRAC_URL='http://projects/nadine' trac-post-commit-hook -p quot;$TRAC_ENVquot; -r quot;$REVquot; -u quot;$AUTHORquot; -m quot;$LOGquot; -s quot;$TRAC_URLquot; # send nicely formatted commit message. svnnotify --repos-path quot;$REPOSquot; --revision quot;$REVquot; --to quot;$NOTIFYquot; --user-domain mailermailer.com --with-diff --subject-cx --no-first-line --handler HTML --revision-url quot;$TRAC_URL/changeset/%squot;
  19. 19. Subversion Hook #!/bin/sh REPOS=quot;$1quot; REV=quot;$2quot; PATH=$PATH:/usr/local/bin export PATH NOTIFY=nadine@mailermailer.com # do some magic for Trac tickets LOG=`svnlook log -r $REV $REPOS` AUTHOR=`svnlook author -r $REV $REPOS` TRAC_ENV='/web/trac/projects/nadine' TRAC_URL='http://projects/nadine' trac-post-commit-hook -p quot;$TRAC_ENVquot; -r quot;$REVquot; -u quot;$AUTHORquot; -m quot;$LOGquot; -s quot;$TRAC_URLquot; # send nicely formatted commit message. svnnotify --repos-path quot;$REPOSquot; --revision quot;$REVquot; --to quot;$NOTIFYquot; --user-domain mailermailer.com --with-diff --subject-cx --no-first-line --handler HTML --revision-url quot;$TRAC_URL/changeset/%squot;
  20. 20. Subversion Hook #!/bin/sh REPOS=quot;$1quot; REV=quot;$2quot; PATH=$PATH:/usr/local/bin export PATH NOTIFY=nadine@mailermailer.com # do some magic for Trac tickets LOG=`svnlook log -r $REV $REPOS` AUTHOR=`svnlook author -r $REV $REPOS` TRAC_ENV='/web/trac/projects/nadine' TRAC_URL='http://projects/nadine' trac-post-commit-hook -p quot;$TRAC_ENVquot; -r quot;$REVquot; -u quot;$AUTHORquot; -m quot;$LOGquot; -s quot;$TRAC_URLquot; # send nicely formatted commit message. svnnotify --repos-path quot;$REPOSquot; --revision quot;$REVquot; --to quot;$NOTIFYquot; --user-domain mailermailer.com --with-diff --subject-cx --no-first-line --handler HTML --revision-url quot;$TRAC_URL/changeset/%squot;
  21. 21. Wiki
  22. 22. Structuring the Wiki DesignNotes ImplementationNotes OperationNotes TestingNotes MarketingNotes WordDefinitions
  23. 23. Extensions You Want [[BackLinks]] macro [[LastModified]] macro
  24. 24. Some You Might Want Wiki Goodies Footnote Not Implemented Reference Wiki Include TOC Macro
  25. 25. Putting it all Together Everyone must participate Do the tasks in order Enforce documentation
  26. 26. Resources Trac Project: http://trac.edgewall.com/ Trac Hacks: http://trac-hacks.org/
  27. 27. Questions Presentation available from http://labs.mailermailer.com/

×