[[PageOutline(2-5,Contents,pullout)]] = Trac Main Features {{{#!box info **Notice:** This page doesn't belong to the "official" Trac documentation and consists entirely of user contributed comments. }}} If you are part of a development project (notably software development) and need to keep track of your issues, milestones and artefacts, and additionally want to keep these in-house - ie not hosted on third-party cloud solutions - then Trac is for you. There are many other novel ways in which Trac is used, for example as a [CookBook/Configuration/DocumentManagement document management system] or when performing [CookBook/Configuration/RequirementsManagement requirements management]. Because Trac is licensed under BSD, the platform can be customised to fit within your group workflow. This can be done either through configuration options (TracIni), the installation of [PluginList plugins] or under-the-hood development. See also: AboutTrac == Open source project management tool Trac is a lightweight project management tool that is implemented as a web-based application, written in the Python programming language. It emphasizes ease of use and low ceremony, and is [wikipedia:Open_source_software open source]. Ideal for managing software developments, it is flexible enough to use for many types of projects. As it is open source, if it doesn't quite fit your needs, you can always make changes yourself, write plugins, or commission someone else to do so. == Ticket system ''Trac''k the progress of resolving individual bugs, issues, feature requests, and ideas - each with its own [TracTickets ticket] (numbered, as in a waiting room queue system). Easily reconcile overlapping tickets (where more than one person reports the same thing). Search and filter tickets by severity, project component, version or owner (among others). == View progress Trac gives you a number of convenient ways to stay on top of events and changes within a project. You can set milestones, and view a [TracRoadmap roadmap] of progress towards them (as well as historical achievements) in summary. There is a [TracTimeline timeline] of individual changes so you can see the order of events, starting with the most recent. [TracRss Trac supports RSS] for content syndication: allowing people to subscribe to those changes outside Trac itself, as well as [TracNotification email notification]. == Online repository viewing Trac gives a highly usable browsing and management front-end for [http://subversion.apache.org Subversion] and [https://git-scm.com/ Git]. Trac gives you clear and elegant code highlighting and file comparison, so you can easily see how files differ. Multiple repositories can be connected to Trac. Using plugins, Trac also supports other [wikipedia:Version_control version control systems]. There is even a [pypi:trac-github GitHub integration interface]. == User management Trac has a simple [TracPermissions permission system] to control what users can and can't access. Permissions can be enhanced with the [th:AccountManagerPlugin] and other plugins. == Knowledge management (wiki) [TracWiki Built-in documentation server], which can be used for developer or user resources. As it's a [wikipedia:Wiki Wiki], it can be set up to allow shared editing. Uses MoinMoin syntax and links to tickets, reports and source. Wiki pages can start from a customisable [wiki:PageTemplates template]. == Features provided through plugins Trac is extensible through plugins. There is a [PluginList range of plugins available] supporting additional features to Trac core, from anti-spam to Gantt charts and [TimeTracking time tracking]. All plugins are collected at the [http://trac-hacks.org Trac-Hacks] site. == Discussion === Things I don't know whether Trac has or not * '''Q''': Bug categories? * '''A''': You can categorize bugs in many ways. Start on TracTicketsCustomFields. There are priorities, severities and keywords you can use for this. Or maybe you can use [http://trac.edgewall.org/demo-0.12/wiki/TracTicketsCustomFields custom fields] for this? * '''Q''': Development Calendar? * '''A''': Think so; at least I see one in our test installation. There are also [https://trac-hacks.org/tags/calendar?wiki=on calendar plugins]. * '''Q''': Bug type flow, eg bugs migrate from unconfirmed -> prioritized -> confirmed -> fixed? * '''A''': This can be found in trac.ini, see TracWorkflow, and is configurable. * '''Q''': Is there a "resource planning" possibility? Something that Gantt charts would provide? * '''A''': There's a Gantt chart plugin and resource planning plugins at PluginList, check also [https://trac-hacks.org/tags/gantt?wiki=on here]. === Comparisons To make this page particularly valuable, consider which features Trac sports/lacks in contrast to other popular systems, such as [https://www.bugzilla.org/ BugZilla], JIRA, Confluence, MediaWiki, FogBugz. * '''A''': Wikipedia hosts a [wikipedia:Comparison_of_issue_tracking_systems comparison of issue tracking systems] as well as a [wikipedia:Comparison_of_project_management_software comparison of project management software], although Trac's entry is out of date. If this page covers both its relative strengths and weaknesses, this would be a great page: letting potential users know what they'll get, how much work they'll need to do to get it running, and what competing packages can offer. === Rationale This is a page that answers the first [TracFaq FAQ]: [TracFaq#WhatisTracandhowcanithelpme What is Trac and how can it help me?] Other points regarding the nature of this page are best dicussed on the MailingList.