SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
Trac
Project and Process Management for Developers


  A simple but powerful tool to manage more than
          just your development process.

                OSDC Brisbane
                November 2007

                  Steven Ellis
               Technical Director
               OpenMedia Limited

                                    OpenMedia
Overview

    Introduction to Trac



    Trac Concepts



    Trac Administration



    Tips and Tricks





                                 OpenMedia
What is Trac?

    Lightweight web based project management


    framework
    Open Source -



        Modified BSD License
    



    Developed at http://trac.edgewall.com



    Widely used by a variety of Open Source


    projects



                                      OpenMedia
Real World Use of Trac

    Internal Development



        OpenMedia - http://openmedia.co.nz
    



    Open Source Projects



        MythTV - http://svn.mythtv.org/trac/
    


        IVTV - http://ivtvdriver.org/trac/
    


        Pidgin - http://developer.pidgin.im/
    


        Puppet - http://reductivelabs.com/trac/puppet
    


        VirtualBox – http://www.virtualbox.org
    




                                                 OpenMedia
Why Trac?

    Provides an integrated approach to managing a


    software development project or team via the
    following key features -
        Ticketing for tasks and bug tracking
    


        Documentation via searchable simple to use Wiki
    


        Version control through strong support for
    

        Subversion
    Strength is in the integrated approach



        all sections can reference each other
    



    Simple to install, configure, manage and use


                                        OpenMedia
Key Trac Concepts

    Trac is much more than a bug tracker



    Use Trac to capture even the most mundane


    administration tasks
        Office stationary orders
    


        Change of phone or ISP plan
    



    Focus is on a single project rather than a series


    of projects
        For OpenMedia our company is the project
    



    Multiple projects off a single install



        Easy to host a series of projects on a OpenMedia
                                               single system
    
Trac Front Page




                  OpenMedia
Trac Timeline




                OpenMedia
Trac Roadmap




               OpenMedia
Trac Tickets

    Type - e.g. defect, enhancement or task



    Component - The project module or subsystem



    Priority - The importance of this bug, task etc.



    Milestone – Based on Roadmap entries



    Assigned to - Principal person responsible for


    handling this ticket
    Summary – Single line brief description of the


    ticket, be clear and concise
    Description – Body of the ticket, be descriptive


                                         OpenMedia
    and make use of the TracWiki syntax
Trac New Ticket




                  OpenMedia
Trac New Ticket




                  OpenMedia
Trac Completed Ticket




                  OpenMedia
Trac – Version Control

    Doesn't have an integrated version control tool.



    Leverage's Subversion



    Support for other Version Control tools in


    development
    Excellent web based browser and diff tool for


    Subversion




                                        OpenMedia
Trac Installation

    Number of existing excellent guides



         http://trac.edgewall.org/wiki/TracInstallPlatforms
    Minimum of version 0.10.3



        Avoids numerous bugs
    


        Dag Wieers RPMs for RedHat
    


        Consider backports for Debian / Ubuntu
    



    Usable environment, complete with version


    control, in under 30 minutes


                                                     OpenMedia
Trac Administration

    Excellent documentation provided by edgewall



    Command line management via trac-admin tool



       trac-admin help

    First specify the location of your Trac


    environment
       trac-admin /var/trac/OSDC

    E.g. add Subversion as a component managed


    by steve
       trac-admin /var/trac/OSDC component add 
         Subversion steve


                                                   OpenMedia
Trac – User Management

    Work out how you want to organise your


    team(s)
    Try to start with a clean set of permissions



    Assign permissions to groups, and then assign


    your team to the groups
    Covered in detail at



       http://trac.edgewall.org/wiki/TracPermissions
    Recommend installing the TracAdmin plug-in





                                                 OpenMedia
Trac – Tips and Tricks

    How can we make the best use of any project


    management tool?
    Focus is on Trac, but could be applied to other


    tools such as
        bugzilla
    


        launchpad
    




                                       OpenMedia
Use Trac to Set-up Trac

    Use Trac to document the set-up of your Trac


    and Subversion environment
        E.g. your first ticket could be around setting up your
    

        Subversion environment




                                               OpenMedia
TracLinks

    TracLinks allows seamless linking between


    tickets, the wiki and subversion
        Wiki pages should use CamelCase where possible,
    

        or [wiki:Page] where this isn't appropriate
        Tickets can be referenced via #number or
    

        [ticket:number] e.g. #27 or [ticket:27]
        Subversion change sets can be referenced by
    

        revision number e.g. r21 or [changeset:21]
        You can link to a specific location with your
    

        Subversion repository via source:/path e.g.
          [source:/trunk/project/documentation/Readme]
                                                  OpenMedia
TracLinks Examples

    A new ticket 91 with the following description:



       Work on NewFeature picking up from #57 as r81 does not
         meet the design covered in [wiki:Design1]

    We then might complete some changes in


    Subversion and include the following in the
    commit message:
       Reworked NewFeature for ticket #91. Complex re factoring
         of code to meet design
    This change references back to the ticket, plus the
     ticket references documentation, an old ticket, and
     a subversion commit

                                                OpenMedia
Subversion post-commit hook

    Highly recommend development teams to


    utilise the trac-post-commit-hook add-on
    Installation details covered in the Trac FAQ



         http://trac.edgewall.org/wiki/TracFaq
    Auto-updates Trac tickets by using a simple


    syntax in Subversion commit messages
        Closes #ticket – Marks ticket closed with comment
    


        Refs #ticket – Just adds comment to ticket
    




                                                 OpenMedia
post-commit-hook example

    Based off our earlier example, restructure the


    Subversion commit as follows:
         svn commit -m “Work on NewFeature r81 as it does not meet
           the design covered in [wiki:Design1], refs #91 #93,
           closes #57”

    This commit will update 3 tickets



        #91 and #93 which will remain in their current state
    

        with the new comment added
        #57 will get the comment and be marked as fixed
    




                                                   OpenMedia
Never commit without a ticket

    If you are doing any version control updates


    that don't reference or close a ticket you aren't
    making the best use of Trac
    Even simple tasks can benefit from capturing


    the process of performing the work
    It can look better when you close a lot of tickets


    today




                                         OpenMedia
Sub Tickets

    Important to break out larger tasks into logical


    items of work
    A current weakness of Trac -



        No inbuilt method of generating sub-tickets
    


        TracHacks website has an sub-ticket add-on -
    


             Adds a custom field to all tickets that can point at a
         

             parent
             Parent and child can see connection
         


             Parent cannot be closed until all children are also closed
         



        Easy to define a manual process for handling sub-
    

        tickets, but plug-in simplifies process
                                                       OpenMedia
Version more than your code

    Avoid poor document management standards -



         Design Document rev57a(steve's copy).doc

    Subversion is less than ideal for binary formats



        If you don't have a document management system
    

        it can still prove to be a life saver.
    Tickets can track work on documents -



        Who were all of the contributors?
    



    You can refer to older document revisions



         Please reference [source:/trunk/docs/design.doc@57 design
           doc] revision 57 as an example of how not to write
           documentation
                                                    OpenMedia
CSV files rock

    All text file formats rock because:



        Version control can efficiently deal with them.
    


        It is a lot easier to do a diff between document
    

        revisions on the command line with Subversion.
        Trac has an excellent visual Subversion diff tool.
    




                                               OpenMedia
Backups

    You know it makes sense



    Trac and Subversion have a simple mechanism


    to perform a hot backup
        E.g. you could use a simple wrapper script
    


         DATE=`date +%Y%m%d`
         svnadmin hotcopy /var/svn/OSDC/ /backup/svn.$DATE
         trac-admin /var/trac/OSDC/ hotcopy 
           /backup/trac.$DATE

    Backup trees are a fully working environment



        Simply copy into correct location to recover
    




                                                  OpenMedia
Tag milestones on release

    Tag each release in subversion as part of


    closing a Roadmap milestone
    Tags are cheap in Subversion – use them



        Make sure all changes are committed to Subversion
    


        Create a Subversion tag based on your release
    


         svn copy http://trac.ourcompany.org/svn/OSDC/trunk 
           http://trac.ourcompany.org/svn/OSDC/tags/release-0.1 
           -m quot;First Release milestonequot;
        Link milestone description to revision
    


         Release tagged in r81
        Close the milestone and re-assign any open tickets
    



                                                   OpenMedia
WikiMacros

    Covered in detail in integrated documentation



    [[PageOutline]]



        Table of contents of a wiki page based on
    

        headings.
        A must have once a wiki entry exceeds a page
    



    [[Image]]



        Provides control when embedding images
    



    InterTrac and InterWiki



        Rapid links to other sources such as MythTV Trac
    

        or Wikipedia, e.g. [mythtv:ticket]
                                             OpenMedia
Don't go plug-in crazy

    Lots of cool stuff on TracHacks



    Do you really need the plug-in?



    How well supported is it?



        Will it work in the next release of Trac?
    



    Make sure you test in a sandbox environment



    Same rules apply to adding additional Macros





                                               OpenMedia
The not so good

    Relatively few niggles



    Administration



        0.11 released has integrated the TracAdmin plug-in
    


        Permission model needs improving
    


             Can't have public and private wiki sections
         


             Customer or public tickets and internal tickets.
         



    Work flow



        Small improvements in 0.11
    



    Inconsistencies



        You can diff a wiki page, but not a ticket description
                                                OpenMedia
    
The Future is Bright

    Some of the enhancements of interest -



        Additional database support -
    


             Currently sqlite
         


             Work under way to support postgresql and mysql
         



        Additional Version Control support -
    


             Tool is originally based off CVSTrac
         


             Primary backend is Subversion
         


             Work under way to support Mercurial, bzr and git -
         


         http://trac.edgewall.org/wiki/VersioningSystemBackend




                                                     OpenMedia
Links and References

    Edgewall



        http://www.edgewall.org/
    


        http://trac.edgewall.org/
    



    TracHacks



        http://trac-hacks.org/wiki/TracHacks
    



    OpenMedia



        http://www.openmedia.co.nz
    



    myPVR



        http://www.mypvr.co.nz
    


                                               OpenMedia
Questions




            OpenMedia

Más contenido relacionado

Similar a Trac Osdc Nov 2007

Trac Project And Process Management For Developers And Sys Admins Presentation
Trac  Project And Process Management For Developers And Sys Admins PresentationTrac  Project And Process Management For Developers And Sys Admins Presentation
Trac Project And Process Management For Developers And Sys Admins Presentationguest3fc4fa
 
Full stack development best practice and toolset
Full stack development best practice and toolsetFull stack development best practice and toolset
Full stack development best practice and toolsetReid Lai
 
Declare Your Language: What is a Compiler?
Declare Your Language: What is a Compiler?Declare Your Language: What is a Compiler?
Declare Your Language: What is a Compiler?Eelco Visser
 
Red Teaming macOS Environments with Hermes the Swift Messenger
Red Teaming macOS Environments with Hermes the Swift MessengerRed Teaming macOS Environments with Hermes the Swift Messenger
Red Teaming macOS Environments with Hermes the Swift MessengerJustin Bui
 
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
FIWARE Global Summit - Real-time Media Stream Processing Using KurentoFIWARE Global Summit - Real-time Media Stream Processing Using Kurento
FIWARE Global Summit - Real-time Media Stream Processing Using KurentoFIWARE
 
Docker Application to Scientific Computing
Docker Application to Scientific ComputingDocker Application to Scientific Computing
Docker Application to Scientific ComputingPeter Bryzgalov
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitMarco Ferrigno
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps ParadigmNaLUG
 
Developer-Friendly CI / CD for Kubernetes
Developer-Friendly CI / CD for KubernetesDeveloper-Friendly CI / CD for Kubernetes
Developer-Friendly CI / CD for KubernetesDevOps Indonesia
 
Programming the Network Data Plane
Programming the Network Data PlaneProgramming the Network Data Plane
Programming the Network Data PlaneC4Media
 
Version Uncontrolled! How to Manage Your Version Control
Version Uncontrolled! How to Manage Your Version ControlVersion Uncontrolled! How to Manage Your Version Control
Version Uncontrolled! How to Manage Your Version ControlRevelation Technologies
 
NuGet beyond Hello World - DotNext Piter 2017
NuGet beyond Hello World - DotNext Piter 2017NuGet beyond Hello World - DotNext Piter 2017
NuGet beyond Hello World - DotNext Piter 2017Maarten Balliauw
 
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
FIWARE Global Summit - Real-time Media Stream Processing Using KurentoFIWARE Global Summit - Real-time Media Stream Processing Using Kurento
FIWARE Global Summit - Real-time Media Stream Processing Using KurentoFIWARE
 
Techniques and lessons for improvement of deployment processes
Techniques and lessons for improvement of deployment processesTechniques and lessons for improvement of deployment processes
Techniques and lessons for improvement of deployment processesSander van der Burg
 
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...OpenShift Origin
 
Connect Everything with NATS - Cloud Expo Europe
Connect Everything with NATS - Cloud Expo EuropeConnect Everything with NATS - Cloud Expo Europe
Connect Everything with NATS - Cloud Expo Europewallyqs
 
The world of Docker and Kubernetes
The world of Docker and Kubernetes The world of Docker and Kubernetes
The world of Docker and Kubernetes vty
 

Similar a Trac Osdc Nov 2007 (20)

Trac Project And Process Management For Developers And Sys Admins Presentation
Trac  Project And Process Management For Developers And Sys Admins PresentationTrac  Project And Process Management For Developers And Sys Admins Presentation
Trac Project And Process Management For Developers And Sys Admins Presentation
 
Link. LaTeX
  Link. LaTeX  Link. LaTeX
Link. LaTeX
 
Full stack development best practice and toolset
Full stack development best practice and toolsetFull stack development best practice and toolset
Full stack development best practice and toolset
 
Declare Your Language: What is a Compiler?
Declare Your Language: What is a Compiler?Declare Your Language: What is a Compiler?
Declare Your Language: What is a Compiler?
 
Red Teaming macOS Environments with Hermes the Swift Messenger
Red Teaming macOS Environments with Hermes the Swift MessengerRed Teaming macOS Environments with Hermes the Swift Messenger
Red Teaming macOS Environments with Hermes the Swift Messenger
 
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
FIWARE Global Summit - Real-time Media Stream Processing Using KurentoFIWARE Global Summit - Real-time Media Stream Processing Using Kurento
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
 
Docker Application to Scientific Computing
Docker Application to Scientific ComputingDocker Application to Scientific Computing
Docker Application to Scientific Computing
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
 
Developer-Friendly CI / CD for Kubernetes
Developer-Friendly CI / CD for KubernetesDeveloper-Friendly CI / CD for Kubernetes
Developer-Friendly CI / CD for Kubernetes
 
Programming the Network Data Plane
Programming the Network Data PlaneProgramming the Network Data Plane
Programming the Network Data Plane
 
Version Uncontrolled! How to Manage Your Version Control
Version Uncontrolled! How to Manage Your Version ControlVersion Uncontrolled! How to Manage Your Version Control
Version Uncontrolled! How to Manage Your Version Control
 
NuGet beyond Hello World - DotNext Piter 2017
NuGet beyond Hello World - DotNext Piter 2017NuGet beyond Hello World - DotNext Piter 2017
NuGet beyond Hello World - DotNext Piter 2017
 
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
FIWARE Global Summit - Real-time Media Stream Processing Using KurentoFIWARE Global Summit - Real-time Media Stream Processing Using Kurento
FIWARE Global Summit - Real-time Media Stream Processing Using Kurento
 
Techniques and lessons for improvement of deployment processes
Techniques and lessons for improvement of deployment processesTechniques and lessons for improvement of deployment processes
Techniques and lessons for improvement of deployment processes
 
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
 
sveltekit-en.pdf
sveltekit-en.pdfsveltekit-en.pdf
sveltekit-en.pdf
 
Connect Everything with NATS - Cloud Expo Europe
Connect Everything with NATS - Cloud Expo EuropeConnect Everything with NATS - Cloud Expo Europe
Connect Everything with NATS - Cloud Expo Europe
 
Dektec
DektecDektec
Dektec
 
The world of Docker and Kubernetes
The world of Docker and Kubernetes The world of Docker and Kubernetes
The world of Docker and Kubernetes
 

Último

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 

Último (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 

Trac Osdc Nov 2007

  • 1. Trac Project and Process Management for Developers A simple but powerful tool to manage more than just your development process. OSDC Brisbane November 2007 Steven Ellis Technical Director OpenMedia Limited OpenMedia
  • 2. Overview Introduction to Trac  Trac Concepts  Trac Administration  Tips and Tricks  OpenMedia
  • 3. What is Trac? Lightweight web based project management  framework Open Source -  Modified BSD License  Developed at http://trac.edgewall.com  Widely used by a variety of Open Source  projects OpenMedia
  • 4. Real World Use of Trac Internal Development  OpenMedia - http://openmedia.co.nz  Open Source Projects  MythTV - http://svn.mythtv.org/trac/  IVTV - http://ivtvdriver.org/trac/  Pidgin - http://developer.pidgin.im/  Puppet - http://reductivelabs.com/trac/puppet  VirtualBox – http://www.virtualbox.org  OpenMedia
  • 5. Why Trac? Provides an integrated approach to managing a  software development project or team via the following key features - Ticketing for tasks and bug tracking  Documentation via searchable simple to use Wiki  Version control through strong support for  Subversion Strength is in the integrated approach  all sections can reference each other  Simple to install, configure, manage and use  OpenMedia
  • 6. Key Trac Concepts Trac is much more than a bug tracker  Use Trac to capture even the most mundane  administration tasks Office stationary orders  Change of phone or ISP plan  Focus is on a single project rather than a series  of projects For OpenMedia our company is the project  Multiple projects off a single install  Easy to host a series of projects on a OpenMedia single system 
  • 7. Trac Front Page OpenMedia
  • 8. Trac Timeline OpenMedia
  • 9. Trac Roadmap OpenMedia
  • 10. Trac Tickets Type - e.g. defect, enhancement or task  Component - The project module or subsystem  Priority - The importance of this bug, task etc.  Milestone – Based on Roadmap entries  Assigned to - Principal person responsible for  handling this ticket Summary – Single line brief description of the  ticket, be clear and concise Description – Body of the ticket, be descriptive  OpenMedia and make use of the TracWiki syntax
  • 11. Trac New Ticket OpenMedia
  • 12. Trac New Ticket OpenMedia
  • 14. Trac – Version Control Doesn't have an integrated version control tool.  Leverage's Subversion  Support for other Version Control tools in  development Excellent web based browser and diff tool for  Subversion OpenMedia
  • 15. Trac Installation Number of existing excellent guides  http://trac.edgewall.org/wiki/TracInstallPlatforms Minimum of version 0.10.3  Avoids numerous bugs  Dag Wieers RPMs for RedHat  Consider backports for Debian / Ubuntu  Usable environment, complete with version  control, in under 30 minutes OpenMedia
  • 16. Trac Administration Excellent documentation provided by edgewall  Command line management via trac-admin tool  trac-admin help First specify the location of your Trac  environment trac-admin /var/trac/OSDC E.g. add Subversion as a component managed  by steve trac-admin /var/trac/OSDC component add Subversion steve OpenMedia
  • 17. Trac – User Management Work out how you want to organise your  team(s) Try to start with a clean set of permissions  Assign permissions to groups, and then assign  your team to the groups Covered in detail at  http://trac.edgewall.org/wiki/TracPermissions Recommend installing the TracAdmin plug-in  OpenMedia
  • 18. Trac – Tips and Tricks How can we make the best use of any project  management tool? Focus is on Trac, but could be applied to other  tools such as bugzilla  launchpad  OpenMedia
  • 19. Use Trac to Set-up Trac Use Trac to document the set-up of your Trac  and Subversion environment E.g. your first ticket could be around setting up your  Subversion environment OpenMedia
  • 20. TracLinks TracLinks allows seamless linking between  tickets, the wiki and subversion Wiki pages should use CamelCase where possible,  or [wiki:Page] where this isn't appropriate Tickets can be referenced via #number or  [ticket:number] e.g. #27 or [ticket:27] Subversion change sets can be referenced by  revision number e.g. r21 or [changeset:21] You can link to a specific location with your  Subversion repository via source:/path e.g. [source:/trunk/project/documentation/Readme] OpenMedia
  • 21. TracLinks Examples A new ticket 91 with the following description:  Work on NewFeature picking up from #57 as r81 does not meet the design covered in [wiki:Design1] We then might complete some changes in  Subversion and include the following in the commit message: Reworked NewFeature for ticket #91. Complex re factoring of code to meet design This change references back to the ticket, plus the ticket references documentation, an old ticket, and a subversion commit OpenMedia
  • 22. Subversion post-commit hook Highly recommend development teams to  utilise the trac-post-commit-hook add-on Installation details covered in the Trac FAQ  http://trac.edgewall.org/wiki/TracFaq Auto-updates Trac tickets by using a simple  syntax in Subversion commit messages Closes #ticket – Marks ticket closed with comment  Refs #ticket – Just adds comment to ticket  OpenMedia
  • 23. post-commit-hook example Based off our earlier example, restructure the  Subversion commit as follows: svn commit -m “Work on NewFeature r81 as it does not meet the design covered in [wiki:Design1], refs #91 #93, closes #57” This commit will update 3 tickets  #91 and #93 which will remain in their current state  with the new comment added #57 will get the comment and be marked as fixed  OpenMedia
  • 24. Never commit without a ticket If you are doing any version control updates  that don't reference or close a ticket you aren't making the best use of Trac Even simple tasks can benefit from capturing  the process of performing the work It can look better when you close a lot of tickets  today OpenMedia
  • 25. Sub Tickets Important to break out larger tasks into logical  items of work A current weakness of Trac -  No inbuilt method of generating sub-tickets  TracHacks website has an sub-ticket add-on -  Adds a custom field to all tickets that can point at a  parent Parent and child can see connection  Parent cannot be closed until all children are also closed  Easy to define a manual process for handling sub-  tickets, but plug-in simplifies process OpenMedia
  • 26. Version more than your code Avoid poor document management standards -  Design Document rev57a(steve's copy).doc Subversion is less than ideal for binary formats  If you don't have a document management system  it can still prove to be a life saver. Tickets can track work on documents -  Who were all of the contributors?  You can refer to older document revisions  Please reference [source:/trunk/docs/design.doc@57 design doc] revision 57 as an example of how not to write documentation OpenMedia
  • 27. CSV files rock All text file formats rock because:  Version control can efficiently deal with them.  It is a lot easier to do a diff between document  revisions on the command line with Subversion. Trac has an excellent visual Subversion diff tool.  OpenMedia
  • 28. Backups You know it makes sense  Trac and Subversion have a simple mechanism  to perform a hot backup E.g. you could use a simple wrapper script  DATE=`date +%Y%m%d` svnadmin hotcopy /var/svn/OSDC/ /backup/svn.$DATE trac-admin /var/trac/OSDC/ hotcopy /backup/trac.$DATE Backup trees are a fully working environment  Simply copy into correct location to recover  OpenMedia
  • 29. Tag milestones on release Tag each release in subversion as part of  closing a Roadmap milestone Tags are cheap in Subversion – use them  Make sure all changes are committed to Subversion  Create a Subversion tag based on your release  svn copy http://trac.ourcompany.org/svn/OSDC/trunk http://trac.ourcompany.org/svn/OSDC/tags/release-0.1 -m quot;First Release milestonequot; Link milestone description to revision  Release tagged in r81 Close the milestone and re-assign any open tickets  OpenMedia
  • 30. WikiMacros Covered in detail in integrated documentation  [[PageOutline]]  Table of contents of a wiki page based on  headings. A must have once a wiki entry exceeds a page  [[Image]]  Provides control when embedding images  InterTrac and InterWiki  Rapid links to other sources such as MythTV Trac  or Wikipedia, e.g. [mythtv:ticket] OpenMedia
  • 31. Don't go plug-in crazy Lots of cool stuff on TracHacks  Do you really need the plug-in?  How well supported is it?  Will it work in the next release of Trac?  Make sure you test in a sandbox environment  Same rules apply to adding additional Macros  OpenMedia
  • 32. The not so good Relatively few niggles  Administration  0.11 released has integrated the TracAdmin plug-in  Permission model needs improving  Can't have public and private wiki sections  Customer or public tickets and internal tickets.  Work flow  Small improvements in 0.11  Inconsistencies  You can diff a wiki page, but not a ticket description OpenMedia 
  • 33. The Future is Bright Some of the enhancements of interest -  Additional database support -  Currently sqlite  Work under way to support postgresql and mysql  Additional Version Control support -  Tool is originally based off CVSTrac  Primary backend is Subversion  Work under way to support Mercurial, bzr and git -  http://trac.edgewall.org/wiki/VersioningSystemBackend OpenMedia
  • 34. Links and References Edgewall  http://www.edgewall.org/  http://trac.edgewall.org/  TracHacks  http://trac-hacks.org/wiki/TracHacks  OpenMedia  http://www.openmedia.co.nz  myPVR  http://www.mypvr.co.nz  OpenMedia
  • 35. Questions OpenMedia