What is Trac?
Trac is an enhanced wiki and issue tracking system for software development projects. Trac uses a minimalistic approach to web-based software project management.
Trac provides an interface to version control systems, such as Subversion and Git, an integrated Wiki and convenient reporting facilities.
Trac allows wiki markup in issue descriptions and commit messages, creating links and seamless references between bugs, tasks, changesets, files and wiki pages. A timeline shows all current and past project events in order, making the acquisition of an overview of the project and tracking progress very easy. The roadmap shows the road ahead, listing the upcoming project milestones.
What modules does the Fedora project use?
Fedora Projects make use of the Wiki, Timeline, Roadmap, Ticketing and Searching modules. A brief description of each module and how it is utilized by the project is included below.
Wiki
Trac has a built-in wiki system which you can use for organizing knowledge and information in a very flexible way by creating pages containing an intuitive and easy to learn textual markup. This text markup is also used in all other parts of the system, so not only in wiki pages, but also in ticket description and comments, check-in log messages, milestone descriptions and report descriptions, even in third-party extensions. It allows for formatted text and hyperlinks in and between all Trac modules.
The usage of the Wiki by the Fedora Project groups largely centers around providing an overview of the ticketing system, where to get help via mailing list or IRC, and information on filing bug reports.
Timeline
Trac's timeline feature provides a historic view of the project in a single report.
It lists all Trac events that have occurred in chronological order, a brief description of each event and if applicable, the person responsible for the change.
The timeline lists these kinds of events:
- Wiki page events — Creation and changes
- Ticket events — Creation and resolution/closing and optionally other changes
- Source code changes — Repository check-ins
- Milestone — Milestone completed
Roadmap
A roadmap is a list of future milestones. The roadmap can be filtered to show or hide completed milestones and milestones with no due date. In the case that both show completed milestones and hide milestones with no due date are selected, completed milestones with no due date will be shown.
The roadmap shows a percentage complete of milestones, allowing the Fedora group to track their progress on meeting milestones pertaining to their particular project.
Ticketing
The Trac ticket system provides a simple but effective way to track issues and software bugs within a project.
As the central project management element of Trac, tickets can be used for project tasks, feature requests, bug reports, software support issues among others.
As with the TracWiki, this subsystem has been designed with the goal of making user contribution and participation as simple as possible.
An issue is assigned to a person who must resolve it or reassign the ticket to someone else. All tickets can be edited, annotated, assigned, prioritized and discussed at any time.
Using the ticketing system is explained in more detail in the Using the Trac ticketing system part of the Wiki.
Searching
Trac has built-in search functionality to search for occurrences of keywords and substrings in wiki pages, tickets and changeset properties, such as author, revision and log messages.
Apart from the Search module, you will also find a small search field above the navigation bar at all time. It provides convenient access to the search module from all pages.
The search results show the most recent modifications ranked first rather than the most relevant result.
How can I install Trac locally?
The Trac package (trac.noarch) is availabe in the Fedora Project repositories, and can be installed using DNF.
Once Trac has been installed, you can refer to the TracWikifor customization and configuration of your Trac system.
Using the Trac ticketing system
Each Fedora sub-project has a Trac that they can use to monitor tasks. Once you have used your OpenID to login to the Trac system, you will be presented with two options in regards to ticketing: view tickets and new tickets. Each of these sections is explained below.
View Tickets
Clicking on view tickets provides the user with a number of different reporting options on the currently active tickets. These vary from sub-project to sub-project, the image below shows the reporting options available on the CommOps Trac, which will be the basis of the examples used within this Wiki.
In this example, I have followed the link for {1} Active Tickets. This presents me with a list of open tickets which can be sorted by the headings: Ticket #, Summary, Component, Version, Milestone, Type, Owner, Status and Date Created.
Following the link of the top ticket in the list, we can see the details of the ticket.
Within the ticket, we are presented with the following information:
- Reporter — The author of the ticket.
- Type — The category of the ticket. The default types are defect, enhancement, objective and task.
- Component — The project module or subsystem this ticket concerns.
- Version — Version of the project that this ticket pertains to.
- Keywords — Keywords that a ticket is marked with. Useful for searching and report generation.
- Priority — The importance of this issue, ranging from trivial to blocker. A dropdown list if different priorities are defined.
- Milestone — Due date of when this issue should be resolved. A dropdown list containing the milestones.
- Assigned to/Owner — Principal person responsible for handling the issue.
- Cc — A comma-separated list of other users or email addresses to notify. Note that this does not imply responsibility or any other policy.
- Status — What is the current status? The statuses are defined in the ticket workflow. For the default workflow the statuses are new, assigned, accepted, closed and reopened.
- Summary — A description summarizing the issue. Simple text without WikiFormatting.
- Description — The body of the ticket. A good description should be specific, descriptive and to the point. Accepts WikiFormatting.
These fields may all be updated by following the "Modify Ticket" dropdown towards the bottom of the ticket page. This allows us to edit the Summary, Type, Priority, Milestone, Component, Severity and Keywords settings, to add additional comments to the ticket, or to change the ticket owner.
New Tickets
Creating new tickets is a fairly easy process. From within the Trac, follow the "New Ticket" link which will take us to a page to create our new ticket. Once here, we want to provide a quick summary of the issue, and a description. Please be specific when creating descriptions as this will give all users contributing to the particular sub-project a clear understanding of the ticket.
From here we can also set the following the fields within the Trac ticket (Again, using the CommOps Trac as an example):
- Type - Enhancement, Objective, Problem or Task
- Priority - This Week, Critical, Major, Minor, Trivial
- Milestone - Open by Due Date: Fedora 23, Fedora 24, Fedora 25, Fedora 26, Or Open no due date: ASAP, Future Releases
- Component - Community Blog, Elections, FAD, Fedora Hubs, General, Metrics, Outreach, Wiki Gardening
- Severity - Urgent, Not Urgent
- Keywords - To be entered by user
- Cc - To be entered by user. here we can copy in other sub-projects if the ticket requires co-ordination between them
- Owner - Here we set the owner of the ticket. This can be different than the Reporter.
It is worth noting that some of these fields will be vary for each sub-project.
More information
To check for bug reports, you may use the Bugzilla search.
Please read the Bugs and Feature Requests Wiki on bug reporting PRIOR to adding a bug to the Bugzilla list: