|  | 1 | = The Trac Configuration File = | 
                          |  | 2 |  | 
                          |  | 3 | [[TracGuideToc]] | 
                          |  | 4 |  | 
                          |  | 5 | == Global Configuration == | 
                          |  | 6 |  | 
                          |  | 7 | In versions prior to 0.11, the global configuration was by default located in `$prefix/share/trac/conf/trac.ini` or sometimes /etc/trac/trac.ini depending on the distribution. If you're upgrading, you may want to specify that file to inherit from. | 
                          |  | 8 |  | 
                          |  | 9 | Global options will be merged with the environment-specific options, where local options override global options. The options file is specified as follows: | 
                          |  | 10 | {{{ | 
                          |  | 11 | [inherit] | 
                          |  | 12 | file = /usr/share/trac/conf/trac.ini | 
                          |  | 13 | }}} | 
                          |  | 14 |  | 
                          |  | 15 | Note that you can also specify a global option file when creating a new project,  by adding the option | 
                          |  | 16 | `--inherit=/path/to/global/options` to [TracAdmin trac-admin]'s `initenv` command. | 
                          |  | 17 | If you would not do this but nevertheless intend to use a global option file with your new environment, | 
                          |  | 18 | you would have to go through the newly generated conf/trac.ini file and delete the entries that would | 
                          |  | 19 | otherwise override those set in the global file. | 
                          |  | 20 |  | 
                          |  | 21 |  | 
                          |  | 22 | == Reference == | 
                          |  | 23 |  | 
                          |  | 24 | This is a brief reference of available configuration options. | 
                          |  | 25 |  | 
                          |  | 26 | [[TracIni()]] | 
                          |  | 27 |  | 
                          |  | 28 |  | 
                          |  | 29 | == [components] == #components-section | 
                          |  | 30 | This section is used to enable or disable components provided by plugins, as well as by Trac itself. The component to enable/disable is specified via the name of the option. Whether its enabled is determined by the option value; setting the value to `enabled` or `on` will enable the component, any other value (typically `disabled` or `off`) will disable the component. | 
                          |  | 31 |  | 
                          |  | 32 | The option name is either the fully qualified name of the components or the module/package prefix of the component. The former enables/disables a specific component, while the latter enables/disables any component in the specified package/module. | 
                          |  | 33 |  | 
                          |  | 34 | Consider the following configuration snippet: | 
                          |  | 35 | {{{ | 
                          |  | 36 | [components] | 
                          |  | 37 | trac.ticket.report.ReportModule = disabled | 
                          |  | 38 | webadmin.* = enabled | 
                          |  | 39 | }}} | 
                          |  | 40 |  | 
                          |  | 41 | The first option tells Trac to disable the [wiki:TracReports report module]. The second option instructs Trac to enable all components in the `webadmin` package. Note that the trailing wildcard is required for module/package matching. | 
                          |  | 42 |  | 
                          |  | 43 | See the ''Plugins'' page on ''About Trac'' to get the list of active components (requires `CONFIG_VIEW` [wiki:TracPermissions permissions].) | 
                          |  | 44 |  | 
                          |  | 45 | See also: TracPlugins | 
                          |  | 46 |  | 
                          |  | 47 | == [ticket-custom] == #ticket-custom-section | 
                          |  | 48 |  | 
                          |  | 49 | In this section, you can define additional fields for tickets. See TracTicketsCustomFields for more details. | 
                          |  | 50 |  | 
                          |  | 51 | == [ticket-workflow] == #ticket-workflow-section | 
                          |  | 52 | ''(since 0.11)'' | 
                          |  | 53 |  | 
                          |  | 54 | The workflow for tickets is controlled by plugins. | 
                          |  | 55 | By default, there's only a `ConfigurableTicketWorkflow` component in charge. | 
                          |  | 56 | That component allows the workflow to be configured via this section in the trac.ini file. | 
                          |  | 57 | See TracWorkflow for more details. | 
                          |  | 58 |  | 
                          |  | 59 | == [milestone-groups] == #milestone-groups-section | 
                          |  | 60 | ''(since 0.11)'' | 
                          |  | 61 |  | 
                          |  | 62 | As the workflow for tickets is now configurable, there can be many ticket states, | 
                          |  | 63 | and simply displaying closed tickets vs. all the others is maybe not appropriate | 
                          |  | 64 | in all cases. This section enables one to easily create ''groups'' of states | 
                          |  | 65 | that will be shown in different colors in the milestone progress bar. | 
                          |  | 66 |  | 
                          |  | 67 | Example configuration (which is also the default): | 
                          |  | 68 | {{{ | 
                          |  | 69 | closed = closed | 
                          |  | 70 | closed.order = 0                     # sequence number in the progress bar | 
                          |  | 71 | closed.query_args = group=resolution # optional extra param for the query | 
                          |  | 72 | closed.overall_completion = true     # count for overall completion | 
                          |  | 73 |  | 
                          |  | 74 | active = *                           # one catch-all group is allowed | 
                          |  | 75 | active.order = 1 | 
                          |  | 76 | active.css_class = open              # CSS class for this interval | 
                          |  | 77 | active.label = in progress           # Displayed label for this group | 
                          |  | 78 | }}} | 
                          |  | 79 |  | 
                          |  | 80 | The definition consists in a comma-separated list of accepted status. | 
                          |  | 81 | Also, '*' means any status and could be used to associate all remaining | 
                          |  | 82 | states to one catch-all group. | 
                          |  | 83 |  | 
                          |  | 84 | The CSS class can be one of: new (yellow), open (no color) or | 
                          |  | 85 | closed (green). New styles can easily be added using the following | 
                          |  | 86 | selector:  `table.progress td.<class>` | 
                          |  | 87 |  | 
                          |  | 88 | == [svn:externals] == #svn:externals-section | 
                          |  | 89 | ''(since 0.11)'' | 
                          |  | 90 |  | 
                          |  | 91 | The TracBrowser for Subversion can interpret the `svn:externals` property of folders out of the box. | 
                          |  | 92 | However, if those externals are ''not'' using the `http:` protocol, or if a link to a different repository browser (such another Trac or [http://www.viewvc.org/ ViewVC]) is desired, then Trac needs to be able to map an external prefix to this other URL. | 
                          |  | 93 |  | 
                          |  | 94 | This mapping is done in the `[svn:externals]` section of the TracIni | 
                          |  | 95 |  | 
                          |  | 96 | Example: | 
                          |  | 97 | {{{ | 
                          |  | 98 | [svn:externals] | 
                          |  | 99 | 1 = svn://server/repos1 http://trac/proj1/browser/$path?rev=$rev | 
                          |  | 100 | 2 = svn://server/repos2 http://trac/proj2/browser/$path?rev=$rev | 
                          |  | 101 | 3 = http://theirserver.org/svn/eng-soft       http://ourserver/viewvc/svn/$path/?pathrev=25914 | 
                          |  | 102 | 4 = svn://anotherserver.com/tools_repository  http://ourserver/trac/support/browser/$path?rev=$rev | 
                          |  | 103 | }}} | 
                          |  | 104 | With the above, the `svn://anotherserver.com/tools_repository/tags/1.1/tools` external will be mapped to `http://ourserver/trac/support/browser/tags/1.1/tools?rev=` (and `rev` will be set to the appropriate revision number if the external additionally specifies a revision, see the [http://svnbook.red-bean.com/en/1.4/svn.advanced.externals.html SVN Book on externals] for more details). | 
                          |  | 105 |  | 
                          |  | 106 | Note that the number used as a key in the above section is purely used as a place holder, as the URLs themselves can't be used as a key due to various limitations in the configuration file parser. | 
                          |  | 107 |  | 
                          |  | 108 | ---- | 
                          |  | 109 | See also: TracGuide, TracAdmin, TracEnvironment |