12 | | Global options will be merged with the environment-specific options, where local options override global options. The options file is specified as follows: |
13 | | {{{ |
14 | | [inherit] |
15 | | file = /usr/share/trac/conf/trac.ini |
| 19 | Note that you can also specify a global option file when creating a new project, by adding the option `--inherit=/path/to/global/trac.ini` to [TracAdmin#initenv trac-admin]'s `initenv` command. If you do not do this but nevertheless intend to use a global option file with your new environment, you will have to go through the newly generated `conf/trac.ini` file and delete the entries that will otherwise override those set in the global file. |
| 20 | |
| 21 | There are two more entries in the [[#inherit-section| [inherit] ]] section, `templates_dir` for sharing global templates and `plugins_dir`, for sharing plugins. Those entries can themselves be specified in the shared configuration file, and in fact, configuration files can even be chained if you specify another `[inherit] file` there. |
| 22 | |
| 23 | Note that the templates found in the `templates/` directory of the TracEnvironment have precedence over those found in `[inherit] templates_dir`. In turn, the latter have precedence over the installed templates, so be careful about what you put there. Notably, if you override a default template, refresh your modifications when you upgrade to a new version of Trac. The preferred way to perform TracInterfaceCustomization is still to write a custom plugin doing an appropriate `ITemplateStreamFilter` transformation. |
| 24 | |
| 25 | == Reference for settings |
| 26 | |
| 27 | This is a brief reference of available configuration options, and their default settings. |
| 28 | |
| 29 | Documentation improvements should be discussed on the [trac:MailingList#Trac-dev trac-dev mailing list] or described in a [trac:NewTicket ticket]. Even better, [trac:TracDev/SubmittingPatches submit a patch] against the docstrings in the code. |
| 30 | {{{ #!comment |
| 31 | Please don't waste your time by editing the HTML code below, changes won't be picked up. Instead, follow the above guidance for suggesting documentation improvements. |
17 | | |
18 | | Note that you can also specify a global option file when creating a new project, by adding the option `--inherit=/path/to/global/options` to [TracAdmin trac-admin]'s `initenv` command. If do not do this but nevertheless intend to use a global option file with your new environment, you will have to go through the newly generated conf/trac.ini file and delete the entries that will otherwise override those set in the global file. |
19 | | |
20 | | |
21 | | == Reference == |
22 | | |
23 | | This is a brief reference of available configuration options. |
24 | | |
25 | | ''Note that the [bitten], [spam-filter] and [vote] sections below are added by plugins enabled on this Trac, and therefore won't be part of a default installation.'' |
26 | | |
27 | | [[TracIni()]] |
28 | | |
29 | | |
30 | | == [components] == #components-section |
31 | | 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. |
32 | | |
33 | | 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. |
34 | | |
35 | | Consider the following configuration snippet: |
36 | | {{{ |
37 | | [components] |
38 | | trac.ticket.report.ReportModule = disabled |
39 | | webadmin.* = enabled |
40 | | }}} |
41 | | |
42 | | 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. |
43 | | |
44 | | See the ''Plugins'' page on ''About Trac'' to get the list of active components (requires `CONFIG_VIEW` [wiki:TracPermissions permissions].) |
45 | | |
46 | | See also: TracPlugins |
47 | | |
48 | | == [ticket-custom] == #ticket-custom-section |
49 | | |
50 | | In this section, you can define additional fields for tickets. See TracTicketsCustomFields for more details. |
51 | | |
52 | | == [ticket-workflow] == #ticket-workflow-section |
53 | | ''(since 0.11)'' |
54 | | |
55 | | The workflow for tickets is controlled by plugins. |
56 | | By default, there's only a `ConfigurableTicketWorkflow` component in charge. |
57 | | That component allows the workflow to be configured via this section in the trac.ini file. |
58 | | See TracWorkflow for more details. |
59 | | |
60 | | == [milestone-groups] == #milestone-groups-section |
61 | | ''(since 0.11)'' |
62 | | |
63 | | As the workflow for tickets is now configurable, there can be many ticket states, |
64 | | and simply displaying closed tickets vs. all the others is maybe not appropriate |
65 | | in all cases. This section enables one to easily create ''groups'' of states |
66 | | that will be shown in different colors in the milestone progress bar. |
67 | | |
68 | | Example configuration (the default only has closed and active): |
69 | | {{{ |
70 | | closed = closed |
71 | | # sequence number in the progress bar |
72 | | closed.order = 0 |
73 | | # optional extra param for the query (two additional columns: created and modified and sort on created) |
74 | | group=resolution,order=time,col=id,col=summary,col=owner,col=type,col=priority,col=component,col=severity,col=time,col=changetime |
75 | | # indicates groups that count for overall completion |
76 | | closed.overall_completion = truepercentage |
77 | | |
78 | | new = new |
79 | | new.order = 1 |
80 | | new.css_class = new |
81 | | new.label = new |
82 | | |
83 | | # one catch-all group is allowed |
84 | | active = * |
85 | | active.order = 2 |
86 | | # CSS class for this interval |
87 | | active.css_class = open |
88 | | # Displayed label for this group |
89 | | active.label = in progress |
90 | | }}} |
91 | | |
92 | | The definition consists in a comma-separated list of accepted status. |
93 | | Also, '*' means any status and could be used to associate all remaining |
94 | | states to one catch-all group. |
95 | | |
96 | | The CSS class can be one of: new (yellow), open (no color) or |
97 | | closed (green). New styles can easily be added using the following |
98 | | selector: `table.progress td.<class>` |
99 | | |
100 | | == [svn:externals] == #svn:externals-section |
101 | | ''(since 0.11)'' |
102 | | |
103 | | The TracBrowser for Subversion can interpret the `svn:externals` property of folders out of the box. |
104 | | However, if those externals are ''not'' using the `http:` or `https:` protocol, or if a link to a different repository browser such as 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. |
105 | | |
106 | | This mapping is done in the `[svn:externals]` section of the TracIni |
107 | | |
108 | | Example: |
109 | | {{{ |
110 | | [svn:externals] |
111 | | 1 = svn://server/repos1 http://trac/proj1/browser/$path?rev=$rev |
112 | | 2 = svn://server/repos2 http://trac/proj2/browser/$path?rev=$rev |
113 | | 3 = http://theirserver.org/svn/eng-soft http://ourserver/viewvc/svn/$path/?pathrev=25914 |
114 | | 4 = svn://anotherserver.com/tools_repository http://ourserver/tracs/tools/browser/$path?rev=$rev |
115 | | }}} |
116 | | With the above, the `svn://anotherserver.com/tools_repository/tags/1.1/tools` external will be mapped to `http://ourserver/tracs/tools/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). |
117 | | |
118 | | 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. |
119 | | |
120 | | Finally, the relative URLs introduced in [http://subversion.tigris.org/svn_1.5_releasenotes.html#externals Subversion 1.5] are not yet supported. |
| 33 | [[TracIni]] |