[[PageOutline(2-5,Contents,pullout)]] = Trac Main Features {{{#!box info **Notice:** This page doesn't belong to the official Trac documentation. }}} 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 == Manage your project in an open source 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, you can always make changes yourself, write plugins, or commission someone else to do so to better fit the needs of your project. It can be used on a number of databases, such as SQLite, MySQL, PostgreSQL and [th:MsSqlBackendPlugin MS-SQL]. == Manage project issues ''Trac''k the progress of resolving 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]. == View your code repository online 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 and where changes have been made. 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]. == Manage your users Anonymous users can view the state of the project, all outstanding tickets and milestones, but users need to register to make changes to issue tickets, milestones and to check in code changes. 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. == Manage team knowledge, using the wiki Trac has a [TracWiki built-in documentation server], which can be used for team communication, managing users and project resources. As it's a [wikipedia:Wiki Wiki], it can be set up to allow shared editing. The wiki uses the MoinMoin syntax and links to tickets, reports and source code. Wiki pages can start from a customisable [wiki:PageTemplates template]. == Extend the standard functionality 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 [https://trac-hacks.org Trac-Hacks] site. == Discussion * '''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]. * '''Q''': 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. There are also these pages on this wiki: [SeaChange/CompetitionSurvey] and BugTrackingSystem. 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.