close
Warning:
Error with navigation contributor "AccountModule"
- Timestamp:
-
Jun 29, 2013, 7:27:41 PM (11 years ago)
- Author:
-
trac
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v2
|
v3
|
|
2 | 2 | |
3 | 3 | [[TracGuideToc]] |
| 4 | [[PageOutline]] |
| 5 | |
| 6 | Trac configuration is done by editing the '''`trac.ini`''' config file, located in `<projectenv>/conf/trac.ini`. Changes to the configuration are usually reflected immediately, though changes to the `[components]` or `[logging]` sections will require restarting the web server. You may also need to restart the web server after creating a global configuration file when none was previously present. |
| 7 | |
| 8 | The `trac.ini` configuration file and its parent directory should be writable by the web server, as Trac currently relies on the possibility to trigger a complete environment reload to flush its caches. |
4 | 9 | |
5 | 10 | == Global Configuration == |
6 | 11 | |
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. |
| 12 | In versions prior to 0.11, the global configuration was by default located in `$prefix/share/trac/conf/trac.ini` or /etc/trac/trac.ini, depending on the distribution. If you're upgrading, you may want to specify that file to inherit from. Literally, when you're upgrading to 0.11, you have to add an `[inherit]` section to your project's `trac.ini` file. Additionally, you have to move your customized templates and common images from `$prefix/share/trac/...` to the new location. |
8 | 13 | |
9 | 14 | Global options will be merged with the environment-specific options, where local options override global options. The options file is specified as follows: |
10 | 15 | {{{ |
11 | 16 | [inherit] |
12 | | file = /usr/share/trac/conf/trac.ini |
| 17 | file = /path/to/global/trac.ini |
13 | 18 | }}} |
| 19 | Multiple files can be specified using a comma-separated list. |
14 | 20 | |
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. |
| 21 | 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 | 22 | |
| 23 | 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. |
21 | 24 | |
22 | | == Reference == |
| 25 | 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 be sure to refresh your modifications when you upgrade to a new version of Trac (the preferred way to perform TracInterfaceCustomization being still to write a custom plugin doing an appropriate `ITemplateStreamFilter` transformation). |
23 | 26 | |
24 | | This is a brief reference of available configuration options. |
| 27 | == Reference for settings |
25 | 28 | |
26 | | [[TracIni()]] |
| 29 | This is a brief reference of available configuration options, and their default settings. |
27 | 30 | |
| 31 | [[TracIni]] |
28 | 32 | |
29 | | == [components] == #components-section |
| 33 | == Reference for special sections |
| 34 | [[PageOutline(3,,inline)]] |
| 35 | |
| 36 | === [components] === #components-section |
30 | 37 | 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 | 38 | |
… |
… |
|
45 | 52 | See also: TracPlugins |
46 | 53 | |
47 | | == [ticket-custom] == #ticket-custom-section |
| 54 | === [extra-permissions] === #extra-permissions-section |
| 55 | ''(since 0.12)'' |
48 | 56 | |
49 | | In this section, you can define additional fields for tickets. See TracTicketsCustomFields for more details. |
| 57 | Custom additional permissions can be defined in this section when [wiki:ExtraPermissionsProvider] is enabled. |
50 | 58 | |
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 |
| 59 | === [milestone-groups] === #milestone-groups-section |
60 | 60 | ''(since 0.11)'' |
61 | 61 | |
… |
… |
|
65 | 65 | that will be shown in different colors in the milestone progress bar. |
66 | 66 | |
67 | | Example configuration (which is also the default): |
| 67 | Example configuration (the default only has closed and active): |
68 | 68 | {{{ |
69 | 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 |
| 70 | # sequence number in the progress bar |
| 71 | closed.order = 0 |
| 72 | # optional extra param for the query (two additional columns: created and modified and sort on created) |
| 73 | closed.query_args = group=resolution,order=time,col=id,col=summary,col=owner,col=type,col=priority,col=component,col=severity,col=time,col=changetime |
| 74 | # indicates groups that count for overall completion percentage |
| 75 | closed.overall_completion = true |
73 | 76 | |
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 |
| 77 | new = new |
| 78 | new.order = 1 |
| 79 | new.css_class = new |
| 80 | new.label = new |
| 81 | |
| 82 | # one catch-all group is allowed |
| 83 | active = * |
| 84 | active.order = 2 |
| 85 | # CSS class for this interval |
| 86 | active.css_class = open |
| 87 | # Displayed label for this group |
| 88 | active.label = in progress |
78 | 89 | }}} |
79 | 90 | |
… |
… |
|
86 | 97 | selector: `table.progress td.<class>` |
87 | 98 | |
88 | | == [svn:externals] == #svn:externals-section |
| 99 | === [repositories] === #repositories-section |
| 100 | |
| 101 | (''since 0.12'' multirepos) |
| 102 | |
| 103 | One of the alternatives for registering new repositories is to populate the `[repositories]` section of the trac.ini. |
| 104 | |
| 105 | This is especially suited for setting up convenience aliases, short-lived repositories, or during the initial phases of an installation. |
| 106 | |
| 107 | See [TracRepositoryAdmin#Intrac.ini TracRepositoryAdmin] for details about the format adopted for this section and the rest of that page for the other alternatives. |
| 108 | |
| 109 | === [svn:externals] === #svn:externals-section |
89 | 110 | ''(since 0.11)'' |
90 | 111 | |
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. |
| 112 | The TracBrowser for Subversion can interpret the `svn:externals` property of folders. |
| 113 | By default, it only turns the URLs into links as Trac can't browse remote repositories. |
| 114 | |
| 115 | However, if you have another Trac instance (or an other repository browser like [http://www.viewvc.org/ ViewVC]) configured to browse the target repository, then you can instruct Trac which other repository browser to use for which external URL. |
93 | 116 | |
94 | 117 | This mapping is done in the `[svn:externals]` section of the TracIni |
… |
… |
|
97 | 120 | {{{ |
98 | 121 | [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 |
| 122 | 1 = svn://server/repos1 http://trac/proj1/browser/$path?rev=$rev |
| 123 | 2 = svn://server/repos2 http://trac/proj2/browser/$path?rev=$rev |
101 | 124 | 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 |
| 125 | 4 = svn://anotherserver.com/tools_repository http://ourserver/tracs/tools/browser/$path?rev=$rev |
103 | 126 | }}} |
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). |
| 127 | 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). |
105 | 128 | |
106 | 129 | 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 | 130 | |
| 131 | Finally, the relative URLs introduced in [http://subversion.tigris.org/svn_1.5_releasenotes.html#externals Subversion 1.5] are not yet supported. |
| 132 | |
| 133 | === [ticket-custom] === #ticket-custom-section |
| 134 | |
| 135 | In this section, you can define additional fields for tickets. See TracTicketsCustomFields for more details. |
| 136 | |
| 137 | === [ticket-workflow] === #ticket-workflow-section |
| 138 | ''(since 0.11)'' |
| 139 | |
| 140 | The workflow for tickets is controlled by plugins. |
| 141 | By default, there's only a `ConfigurableTicketWorkflow` component in charge. |
| 142 | That component allows the workflow to be configured via this section in the trac.ini file. |
| 143 | See TracWorkflow for more details. |
| 144 | |
108 | 145 | ---- |
109 | 146 | See also: TracGuide, TracAdmin, TracEnvironment |