Changeset 3ab92f3 in trac.git
- Timestamp:
- Apr 11, 2022, 1:11:10 AM (2 years ago)
- Branches:
- 1.4-stable, 1.6-stable, trunk
- Children:
- 94d21f8, c7938d8
- Parents:
- 0789e55
- Files:
-
- 27 edited
Legend:
- Unmodified
- Added
- Removed
-
INSTALL.rst
r0789e55 r3ab92f3 47 47 `Deploying Trac`_. 48 48 49 You also need a database system and the corresponding python bindings.49 You also need a database system and the corresponding Python bindings. 50 50 The database can be either SQLite, PostgreSQL or MySQL. 51 51 … … 225 225 226 226 227 + Install the latest stable version from a zip archive:228 229 ::230 231 $ pip install https://download.edgewall.org/trac/Trac-latest.zip232 233 234 227 + Install the latest development version from a tar archive: 235 228 … … 519 512 :: 520 513 521 $ trac-admin /var/trac/<project> deploy /var/www 514 $ trac-admin /var/trac/<project> deploy /var/www/trac 522 515 523 516 … … 530 523 :: 531 524 532 Alias /trac/chrome / path/to/trac/htdocs525 Alias /trac/chrome /var/www/trac/htdocs 533 526 534 <Directory "/ path/to/www/trac/htdocs">527 <Directory "/var/www/trac/htdocs"> 535 528 # For Apache 2.2 536 529 <IfModule !mod_authz_core.c> -
UPGRADE.rst
r0789e55 r3ab92f3 550 550 .. _backup_dir: https://trac.edgewall.org/wiki/TracIni#trac-backup_dir-option 551 551 .. _BatchModifyPlugin: https://trac-hacks.org/wiki/BatchModifyPlugin 552 .. _convert_db command: https://trac.edgewall.org/wiki/Trac Admin#ChangingDatabaseBackend552 .. _convert_db command: https://trac.edgewall.org/wiki/TracEnvironment#ChangingDatabaseBackend 553 553 .. _custom field type: https://trac.edgewall.org/wiki/TracTicketsCustomFields#AvailableFieldTypesandOptions 554 554 .. _custom subscribers: https://trac.edgewall.org/intertrac/CookBook/Notification/Subscriptions -
trac/wiki/default-pages/CamelCase
r0789e55 r3ab92f3 11 11 * By default a CamelCase word with no corresponding Wiki page will be rendered as a gray link followed by a question mark. This is useful for example when the CamelCase style is used to name code artefacts like class names, and a Wiki page is expected to exist to document each class. The behavior can be configured through the [TracIni#wiki-ignore_missing_pages-option "[wiki] ignore_missing_pages"] option in TracIni. 12 12 * To automatically insert space characters between the words of a CamelCase link when rendering the link, enable [TracIni#wiki-split_page_names-option "[wiki] split_page_names"] of TracIni. 13 * Creation of explicit Wiki links is also easy, see WikiPageNames for details.14 * Wiki formatting can be disabled completely in some places, for example when rendering commit log messages. See the [TracIni#changeset-wiki_format_messages-option "[wiki] wiki_format_messages"] option in TracIni.13 * To create explicit Wiki links see WikiPageNames. 14 * To completely disable Wiki formatting in some places, for example when rendering commit log messages, use the [TracIni#changeset-wiki_format_messages-option "[wiki] wiki_format_messages"] option in TracIni. 15 15 16 16 See TracIni for more information on the available options. … … 19 19 20 20 * http://c2.com/cgi/wiki?WikiCase 21 * https://en.wikipedia.org/wiki/CamelCase21 * [https://en.wikipedia.org/wiki/CamelCase CamelCase] on Wikipedia 22 22 23 23 ---- -
trac/wiki/default-pages/InterMapTxt
r0789e55 r3ab92f3 104 104 GoogleGroups https://groups.google.com/group/$1/msg/$2 # Message $2 in $1 Google Group 105 105 gdiscussion https://groups.google.com/d/topic/$1/$2/discussion # Discussion $2 in $1 Google 106 gmessage https://groups.google.com/ d/msg/$1/$2 # Message $2 in $1 Google Group106 gmessage https://groups.google.com/g/$1/c/$2 # Message $2 in $1 Google Group 107 107 gforum https://groups.google.com/forum/#!forum/$1 # Forum $1 in Google Groups 108 108 JargonFile http://downlode.org/perl/jargon-redirect.cgi?term= -
trac/wiki/default-pages/TicketQuery
r0789e55 r3ab92f3 151 151 === Format: table 152 152 153 You can choose the columns displayed in the table format (`format=table`) using `col=<field>`. You can specify multiple fields and the order they are displayed by placing pipes (`|`) between the columns:153 You can choose the columns displayed in the table format (`format=table`) using `col=<field>`. You can specify multiple fields and the order they are displayed in by placing pipes (`|`) between the columns: 154 154 {{{ 155 155 [[TicketQuery(max=3,status=closed,order=id,desc=1,format=table,col=resolution|summary|owner|reporter)]] -
trac/wiki/default-pages/TracAccessibility
r0789e55 r3ab92f3 10 10 - on Windows, use `<Shift> + <Alt> + <Key>`. This works for the most common browsers, such as Firefox, Chrome, Safari and Internet Explorer 11 11 12 See [ wikipedia:Access_key#Access_in_different_browsers access in different browsers] for more details.12 See [https://en.wikipedia.org/wiki/Access_key#Access_in_different_browsers access in different browsers] for more details. 13 13 14 14 * `1` - WikiStart … … 28 28 29 29 * `j` and `k` - select the next or previous entry, starting with the first 30 * `o` ('''o'''pen) - toggle between expanded and collapsed state of the selected 30 * `o` ('''o'''pen) - toggle between expanded and collapsed state of the selected directory or visit the selected file 31 31 * `v` ('''v'''iew, '''v'''isit) and `<Enter>` - same as above 32 32 * `r` - '''r'''eload an already expanded directory -
trac/wiki/default-pages/TracAdmin
r0789e55 r3ab92f3 18 18 `trac-admin --version` will tell you about the Trac version (e.g. 1.2) corresponding to the program. 19 19 20 To get a comprehensive list of the available command and sub-command, specify the path to an environment:20 To get a comprehensive list of the available commands and sub-commands, specify the path to an environment followed by the subcommand `help`: 21 21 {{{#!sh 22 22 $ trac-admin /path/to/projenv help … … 28 28 }}} 29 29 30 When an error occurs in a `trac-admin` command the return value will be `2` and error messages are printed to `stderr`.30 When an error occurs in a `trac-admin` command the return value will be `2` and any error messages are printed to `stderr`. 31 31 32 32 === `trac-admin <targetdir> initenv` #initenv … … 42 42 43 43 `trac-admin` starts in interactive mode when the environment path is the only argument. 44 Commands can then be executed on the selected environment using the prompt, which offers tab-completion 45 when the Python `readline` module is available. It also offers automatic repetition of the last command issued. 44 Commands can then be executed on the selected environment using the prompt, which offers tab-completion when the Python `readline` module is available. It also offers automatic repetition of the last command issued. 46 45 47 46 The `readline` module should be available on all Unix-compatible platforms. For Windows, support can be obtained by installing [https://pypi.python.org/pypi/pyreadline pyreadline]. 48 47 49 Once you are in interactive mode, you can also get help on specific commands or subsets of commands: 50 51 For example, to get an explanation of the `resync` command, run: 48 In interactive mode, you can also get help on specific commands or subsets of commands. For example, to get an explanation of the `resync` command, run: 52 49 {{{#!sh 53 50 $ help resync … … 61 58 == Full Command Reference 62 59 63 You will find below the detailed help for all the commands available by default in `trac-admin`. Note that this may not match the list given by `trac-admin <yourenv> help`, as the commands pertaining to components disabled in that environment won't be available and conversely some plugins activated in the environment may add their own commands.60 The commands available by default in `trac-admin` are listed below. Note that this may not match the list given by `trac-admin <yourenv> help`, as the commands pertaining to components disabled in that environment won't be available and conversely some plugins activated in the environment may add their own commands. 64 61 65 62 [[TracAdminHelp()]] -
trac/wiki/default-pages/TracCgi
r0789e55 r3ab92f3 7 7 }}} 8 8 9 CGI script is the entry point thatweb-server calls when a web-request to an application is made. The `trac.cgi` script can be created using the `trac-admin <env> deploy <dir>` command which automatically substitutes the required paths, see TracInstall#cgi-bin. Make sure the script is executable by your web server.9 CGI script is the entry point that the web-server calls when a web-request to an application is made. The `trac.cgi` script can be created using the `trac-admin <env> deploy <dir>` command which automatically substitutes the required paths, see TracInstall#cgi-bin. Make sure the script is executable by your web server. 10 10 11 11 == Apache web-server configuration … … 14 14 15 15 1. Use a `ScriptAlias` directive that maps a URL to the `trac.cgi` script (recommended) 16 1. Copy the `trac.cgi` file into the directory for CGI executables used by your web server (commonly named `cgi-bin`). You can also create a symbolic link, but in that case make sure that the `FollowSymLinks` option is enabled for the `cgi-bin` directory.16 1. Copy the `trac.cgi` file into the directory for CGI executables used by your web server, commonly named `cgi-bin`. You can also create a symbolic link, but in that case make sure that the `FollowSymLinks` option is enabled for the `cgi-bin` directory. 17 17 18 To make Trac available at `http://yourhost.example.org/trac` add `ScriptAlias` directive to Apache configuration file, changing `trac.cgi` path to match your installation:18 To make Trac available at `http://yourhost.example.org/trac` add `ScriptAlias` directive to your Apache configuration file, changing `trac.cgi` path to match your installation: 19 19 {{{#!apache 20 20 ScriptAlias /trac /path/to/www/trac/cgi-bin/trac.cgi 21 21 }}} 22 22 23 ''Note that this directive requires that the `mod_alias` module is enabled.'' 23 '''Note''': this directive requires that the `mod_alias` module is enabled. 24 24 25 25 If you're using Trac with a single project you need to set its location using the `TRAC_ENV` environment variable: … … 37 37 }}} 38 38 39 ''Note that the `SetEnv` directive requires that the `mod_env` module is enabled.'' 39 '''Note''': the `SetEnv` directive requires that the `mod_env` module is enabled. 40 40 41 41 An alternative to `SetEnv` is editing `TRAC_ENV` or `TRAC_ENV_PARENT_DIR` in `trac.cgi`: … … 51 51 If you are using the [https://httpd.apache.org/docs/suexec.html Apache suEXEC] feature please see [trac:ApacheSuexec]. 52 52 53 On some systems, you ''may'' need to edit the shebang line in the `trac.cgi` file to point to your real Python installation path. On a Windows system you may need to configure Windows to know how to execute a `.cgi` file (Explorer -> Tools -> Folder Options -> File Types -> CGI).53 On some systems, you ''may'' need to edit the shebang line in the `trac.cgi` file to point to your real Python installation path. On Windows, configure the execution of a `.cgi` file: Explorer -> Tools -> Folder Options -> File Types -> CGI. 54 54 55 55 === Python Egg Cache … … 70 70 }}} 71 71 72 73 74 72 === Using WSGI 75 73 -
trac/wiki/default-pages/TracChangeLog
r0789e55 r3ab92f3 768 768 The following list contains only a few highlights: 769 769 - The default theme looks more modern, especially on recent browsers (no effort has been made to make it look better on older browsers like IE6 or 7) 770 - The [ TH:GitPlugin] has been donated by Herbert Valerio Riedel to the Trac project (many thanks!) and is now maintained here as an optional component770 - The [https://trac-hacks.org/wiki/GitPlugin GitPlugin] has been donated by Herbert Valerio Riedel to the Trac project (many thanks!) and is now maintained here as an optional component 771 771 - As a consequence, the Subversion support has been moved below `tracopt.versioncontrol` as well 772 772 - The Git and Mercurial log view feature a visualization of the branching structure 773 773 - Usability improvements for the tickets, with a better support for conflict detection and resolution 774 - Integration of the [ TH:BatchModifyPlugin], contributed by Brian Meeker (many thanks!) and is now maintained there as a default component774 - Integration of the [https://trac-hacks.org/wiki/BatchModifyPlugin BatchModifyPlugin], contributed by Brian Meeker (many thanks!) and is now maintained there as a default component 775 775 - jQuery/UI integration, featuring a date picker for date fields 776 776 - Improved integration with Pygments syntax highlighting -
trac/wiki/default-pages/TracFastCgi
r0789e55 r3ab92f3 332 332 1. Modify `/fullpathto/mytracproject/conf/trac.ini`: 333 333 {{{ 334 #find/set base_ rul, url, and link variables334 #find/set base_url, url, and link variables 335 335 base_url = http://yourdomain.com/trac/ <--- base url to generate correct links to 336 336 url = http://yourdomain.com/trac/ <--- link of project -
trac/wiki/default-pages/TracFineGrainedPermissions
r0789e55 r3ab92f3 28 28 * !LegacyAttachmentPolicy uses the coarse-grained permissions to check permissions on attachments. 29 29 30 Among the optional choices, there is [#AuthzPolicy], a very generic permission policy, based on an Authz-style system. See 31 [trac:source:branches/1.4-stable/tracopt/perm/authz_policy.py authz_policy.py] for details. 30 Among the optional choices, there is [#AuthzPolicy], a very generic permission policy, based on an Authz-style system. See [trac:source:branches/1.4-stable/tracopt/perm/authz_policy.py authz_policy.py] for details. 32 31 33 32 Another permission policy [#AuthzSourcePolicy], uses the [http://svnbook.red-bean.com/nightly/en/svn.serverconfig.pathbasedauthz.html path-based authorization] defined by Subversion to enforce permissions on the version control system. … … 37 36 === !AuthzPolicy 38 37 ==== Configuration 39 * Put an empty conf file (`authzpolicy.conf`) in a secure location on the server, not readable by users other than the webuser. If the file contains non-ASCII characters, the UTF-8 encoding should be used. 38 39 * Put an empty conf file (`authzpolicy.conf`) in a secure location on the server, not readable by users other than the webuser. If the file contains non-ASCII characters, the UTF-8 encoding should be used. 40 40 * Update your `trac.ini`: 41 41 1. modify the [TracIni#trac-permission_policies-option permission_policies] option in the `[trac]` section: … … 61 61 A policy will return either `True`, `False` or `None` for a given permission check. `True` is returned if the policy explicitly grants the permission. `False` is returned if the policy explicitly denies the permission. `None` is returned if the policy is unable to either grant or deny the permission. 62 62 63 NOTE: Only if the return value is `None` will the ''next'' permission policy be consulted. If none of the policies explicitly grants the permission, the final result will be `False`, i.e. permission denied.63 '''Note''': Only if the return value is `None` will the ''next'' permission policy be consulted. If none of the policies explicitly grants the permission, the final result will be `False`, i.e. permission denied. 64 64 65 65 The `authzpolicy.conf` file is a `.ini` style configuration file: … … 100 100 The username will match any of 'anonymous', 'authenticated', <username> or '*', using normal Trac permission rules. 101 101 102 || '''Note:''' Other groups which are created by user (e.g. by 'adding subjects to groups' on web interface page //Admin / Permissions//) cannot be used. See [trac:#5648] for details about this missing feature. || 102 '''Note''': Other groups which are created by user (e.g. by 'adding subjects to groups' on web interface page //Admin / Permissions//) cannot be used. See [trac:#5648] for details about this missing feature. 103 103 104 104 For example, if the `authz_file` contains: … … 184 184 185 185 ==== Missing Features 186 186 187 Although possible with the !DefaultPermissionPolicy handling (see Admin panel), fine-grained permissions still miss those grouping features (see [trac:#9573], [trac:#5648]). Patches are partially available, see authz_policy.2.patch, part of [trac:ticket:6680 #6680]. 187 188 … … 199 200 [groups] 200 201 permission_level_1 = WIKI_VIEW, TICKET_VIEW 201 permission_level_2 202 permission_level_2 = permission_level_1, WIKI_MODIFY, TICKET_MODIFY 202 203 [*] 203 204 @team1 = permission_level_1 … … 206 207 }}} 207 208 208 === !AuthzSourcePolicy 209 === !AuthzSourcePolicy (`mod_authz_svn`-like permission policy) #AuthzSourcePolicy 209 210 210 211 `AuthzSourcePolicy` can be used for restricting access to the repository. Granular permission control needs a definition file, which is the one used by Subversion's `mod_authz_svn`. … … 319 320 320 321 == Debugging permissions 322 321 323 In trac.ini set: 322 324 {{{#!ini -
trac/wiki/default-pages/TracImport
r0789e55 r3ab92f3 7 7 == !TicketImportPlugin 8 8 9 [https://trac-hacks.org/wiki/TicketImportPlugin TicketImportPlugin]: a plugin that lets you import or update into Trac a series of tickets from a '''CSV file''' or (if the [https://pypi.python.org/pypi/xlrd xlrd library] is installed) from an '''Excel spreadsheet'''.9 [https://trac-hacks.org/wiki/TicketImportPlugin TicketImportPlugin]: a plugin that allows you to import or update a series of tickets from a '''CSV file''' or (if the [https://pypi.python.org/pypi/xlrd xlrd library] is installed) from an '''Excel spreadsheet''' into Trac. 10 10 11 11 == !ExportImportXlsPlugin 12 12 13 [https://trac-hacks.org/wiki/ExportImportXlsPlugin ExportImportXlsPlugin]: a plugin that a dds an admin panel for exporting and importing tickets via '''XLS file'''. Requires the python packages xlwt/rxld.13 [https://trac-hacks.org/wiki/ExportImportXlsPlugin ExportImportXlsPlugin]: a plugin that allows you to export and import tickets from a '''XLS file'''. Requires the Python packages xlwt/rxld. 14 14 15 15 == Bugzilla … … 50 50 == Jira 51 51 52 [https://trac-hacks.org/wiki/JiraToTracIntegration JiraToTracIntegration]: a plugin that provides toolsto import Atlassian Jira backup files into Trac. The plugin consists of a Python 3.1 commandline tool that:52 [https://trac-hacks.org/wiki/JiraToTracIntegration JiraToTracIntegration]: a plugin that allows you to import Atlassian Jira backup files into Trac. The plugin consists of a Python 3.1 commandline tool that: 53 53 - Parses the Jira backup XML file. 54 54 - Sends the imported Jira data and attachments to Trac using the [https://trac-hacks.org/wiki/XmlRpcPlugin XmlRpcPlugin]. … … 78 78 == Other 79 79 80 Since Trac uses a SQL database to store the data, you can also custom-import from other systems by examining the database tables. Just go into [https://www.sqlite.org/sqlite.html sqlite] command line to look at the tablesand import them from your application.80 Since Trac uses a SQL database to store the data, you can also import ticket data from other systems by creating a mapping between the relevant database tables. Just go into [https://www.sqlite.org/sqlite.html sqlite] command line to look at the tables, create the column-to-column mapping as an SQL script and import them from your application. 81 81 82 82 === Comma delimited file - CSV 83 83 84 See [trac:attachment:csv2trac.2.py:wiki:TracSynchronize csv2trac.2.py] for details. This approach is particularly useful if you need to enter a large number of tickets by hand. Note that the ticket type typefield, (task etc.) is also needed for this script to work with more recent Trac releases.84 See [trac:attachment:csv2trac.2.py:wiki:TracSynchronize csv2trac.2.py] for details. This approach is particularly useful if you need to enter a large number of tickets by hand. Note that the ticket type field, (task etc.) is also needed for this script to work with more recent Trac releases. 85 85 86 86 Comments on script: The script has an error on line 168: 'Ticket' needs to be 'ticket'. Also, the listed values for severity and priority are swapped. -
trac/wiki/default-pages/TracInstall
r0789e55 r3ab92f3 25 25 }}} 26 26 27 You also need a database system and the corresponding python bindings. The database can be either SQLite, PostgreSQL or MySQL.27 You also need a database system and the corresponding Python bindings. The database can be either SQLite, PostgreSQL or MySQL. 28 28 29 29 ==== For the SQLite database #ForSQLite … … 134 134 `pip` supports numerous other install mechanisms. It can be passed the URL of an archive or other download location. Here are some examples: 135 135 136 * Install the latest stable version from a zip archive:137 {{{#!sh138 $ pip install https://download.edgewall.org/trac/Trac-latest.zip139 }}}140 136 * Install the latest development version from a tar archive: 141 137 {{{#!sh … … 291 287 Assuming the deployment has been done this way: 292 288 {{{#!sh 293 $ trac-admin /var/trac/<project> deploy /var/www 289 $ trac-admin /var/trac/<project> deploy /var/www/trac 294 290 }}} 295 291 296 292 Add the following snippet to Apache configuration, changing paths to match your deployment. The snippet must be placed ''before'' the `ScriptAlias` or `WSGIScriptAlias` directive, because those directives map all requests to the Trac application: 297 293 {{{#!apache 298 Alias /trac/chrome / path/to/trac/htdocs299 300 <Directory "/ path/to/www/trac/htdocs">294 Alias /trac/chrome /var/www/trac/htdocs 295 296 <Directory "/var/www/trac/htdocs"> 301 297 # For Apache 2.2 302 298 <IfModule !mod_authz_core.c> -
trac/wiki/default-pages/TracLinks
r0789e55 r3ab92f3 142 142 === Link anchors 143 143 144 To create a link to a specific anchor in a page, use '#':144 To create a link to a specific anchor in a page, use `#`: 145 145 {{{ 146 146 [#Linkanchors Link anchors] or [[#Linkanchors|Link anchors]] … … 148 148 [#Linkanchors Link anchors] or [[#Linkanchors|Link anchors]] 149 149 150 To create an anchor in a page, use `[=#...]`: 151 {{{ 152 [=#myanchor my anchor] or empty form [=#myanchor] 153 }}} 154 [=#myanchor my anchor] or empty form [=#myanchor] 155 150 156 Hint: when you hover your mouse over the title of a section, a '¶' character will be displayed. This is a link to that specific section and you can use this to copy the `#...` part inside a relative link to an anchor. 151 157 152 To create a link to the first or last occurrence of a term on a page, use a ''pseudo anchor'' starting with '#/' or '#?':158 To create a link to the first or last occurrence of a term on a page, use a ''pseudo anchor'' starting with `#/` or `#?`: 153 159 {{{ 154 160 [#/Milestone first occurrence of Milestone] or … … 157 163 [#/Milestone first occurrence of Milestone] or 158 164 [#?Milestone last occurrence of Milestone] 159 This will also highlight all other matches on the linked page. By default only case sensitive matches are considered. To include case insensitive matches append '/i':165 This will also highlight all other matches on the linked page. By default only case sensitive matches are considered. To include case insensitive matches append `/i`: 160 166 {{{ 161 167 [#/Milestone/i first occurrence of Milestone or milestone] or … … 176 182 (Hint: The line numbers displayed in the source browser are links to anchors on the respective lines.) 177 183 178 Since such links become outdated when the file changes, it can be useful to link using a '#/'pseudo anchor instead:184 Since such links become outdated when the file changes, it can be useful to link using a `#/` pseudo anchor instead: 179 185 {{{ 180 186 [trac:source:trunk/trac/wiki/api.py#/IWikiSyntaxProvider IWikiSyntaxProvider] or … … 269 275 If you'd like to create a direct link to the content of the attached file instead of a link to the attachment page, simply use `raw-attachment:` instead of `attachment:`. 270 276 271 This can be useful for pointing directly to an HTML document, for example. Note that for this use case, you'd have to allow the web browser to render the content by setting [[TracIni#attachment-render_unsafe_content-option|"[attachment] render_unsafe_content"]] = `enabled`. Caveat: only do that in environments for which you're 100% confident you can trust the people who are able to attach files, as this opens up your site to [ wikipedia:Cross-site_scripting cross-site scripting] attacks.277 This can be useful for pointing directly to an HTML document, for example. Note that for this use case, you'd have to allow the web browser to render the content by setting [[TracIni#attachment-render_unsafe_content-option|"[attachment] render_unsafe_content"]] = `enabled`. Caveat: only do that in environments for which you're 100% confident you can trust the people who are able to attach files, as this opens up your site to [https://en.wikipedia.org/wiki/Cross-site_scripting cross-site scripting] attacks. 272 278 273 279 See also [#export:links]. -
trac/wiki/default-pages/TracLogging
r0789e55 r3ab92f3 18 18 == Log Levels 19 19 20 The verbosity level of logged messages can be set using the [TracIni#logging-log_level-option "[logging] log_level"] option. The log level defines the minimum level of urgency required for a message to be logged , and those levels are:20 The verbosity level of logged messages can be set using the [TracIni#logging-log_level-option "[logging] log_level"] option. The log level defines the minimum level of urgency required for a message to be logged: 21 21 22 22 '''CRITICAL''':: Log only the most critical (typically fatal) errors. … … 26 26 '''DEBUG''':: Trace messages, profiling, etc. 27 27 28 Additionally, you can 28 Additionally, you can enable logging of SQL statements at debug level. This is turned off by default, as it's very verbose. Set [TracIni#trac-debug_sql-option "[trac] debug_sql = yes"] to activate. 29 29 30 30 == Log Format … … 42 42 }}} 43 43 44 In a multi-project environment where all logs are sent to the same place (e.g. `syslog`), it makes sense to add the project name. In this example we use `basename` sincethat can generally be used to identify a project:44 In a multi-project environment where all logs are sent to the same place (e.g. `syslog`), it makes sense to add the project name. In this example we use `basename` as that can generally be used to identify a project: 45 45 {{{#!ini 46 46 log_format = Trac[$(basename)s:$(module)s] $(levelname)s: $(message)s -
trac/wiki/default-pages/TracModPython
r0789e55 r3ab92f3 245 245 }}} 246 246 247 === Expat-related segmentation faults === #expat248 249 This problem will most certainly hit you on Unix when using Python 2.4.250 In Python 2.4, some version of [http://expat.sourceforge.net/ Expat] (an XML parser library written in C) is used and if Apache is using another version, this results in segmentation faults.251 As Trac 0.11 is using Genshi, which will indirectly use Expat, that problem can now hit you even if everything was working fine before with Trac 0.10. This problem has not been reported for Python 2.5+, so best to upgrade.252 253 247 === Form submission problems 254 248 -
trac/wiki/default-pages/TracNavigation
r0789e55 r3ab92f3 23 23 `[metanav]` corresponds to the '''meta navigation bar''', by default positioned above the main navigation bar and below the ''Search'' box. It contains the ''Login'', ''Logout'', ''!Help/Guide'' etc. entries. This navigation bar is meant to access some global information about the Trac project and the current user. 24 24 25 There is one special entry in the `[metanav]` section: `logout.redirect` is the page the user sees after hitting the logout button.The ''!Help/Guide'' link is also hidden in the following example.25 There is one special entry in the `[metanav]` section: `logout.redirect` is the page the user sees after hitting the logout button. The ''!Help/Guide'' link is also hidden in the following example. 26 26 [[comment(see also #Trac3808)]] 27 27 -
trac/wiki/default-pages/TracNotification
r0789e55 r3ab92f3 73 73 The following attributes of default subscriptions can be configured: 74 74 * `.distributor` (Default: `email`) 75 * Other values require plugins. For example `on-site` requires th:OnSiteNotificationsPlugin.75 * Other values require plugins. For example `on-site` requires [https://trac-hacks.org/wiki/OnSiteNotificationsPlugin OnSiteNotificationsPlugin]. 76 76 * `.priority` (Default: `100`) 77 77 * Smaller values override larger values. … … 80 80 * `never` can be used to silence other subscription rules with higher values. 81 81 * `.format` (Default: `text/plain`) 82 * Other values require plugins. For example `text/html` requires th:TracHtmlNotificationPlugin.82 * Other values require plugins. For example `text/html` requires [https://trac-hacks.org/wiki/TracHtmlNotificationPlugin TracHtmlNotificationPlugin]. 83 83 84 84 === Example Configuration (default subscriptions) -
trac/wiki/default-pages/TracPermissions
r0789e55 r3ab92f3 8 8 In addition to the default permission policy described in this page, it is possible to activate additional permission policies by enabling plugins and listing them in [TracIni#trac-permission_policies-option "[trac] permission_policies"]. See TracFineGrainedPermissions for more details. 9 9 10 Non-authenticated users accessing the system are assigned the name //anonymous//. Assign permissions to the //anonymous// user to set privileges for anonymous/guest users. The parts of Trac that a user does not have privilege for will not be displayed in the navigation.10 Non-authenticated users accessing the system are assigned the name //anonymous//. Assign permissions to the //anonymous// user to set privileges for anonymous/guest users. The parts of Trac that a user does not have privileges for will not be displayed in the navigation bar. 11 11 In addition to these privileges, users can be granted additional individual rights in effect when authenticated and logged into the system. All logged in users belong to the virtual group //authenticated//, which inherits permissions from //anonymous//. 12 12 … … 18 18 }}} 19 19 20 Then, the user `bob` will be able to see the Admin tab, and can access the permissions menu. This menu will allow you to perform allthe following actions, but from the browser rather than requiring root access to the server. '''Use at least one lowercase character in user names, as all-uppercase names are reserved for permissions.'''20 Then, the user `bob` will be able to see the Admin tab, and can access the permissions menu. This menu allows you to perform the following actions, but from the browser rather than requiring root access to the server. '''Use at least one lowercase character in user names, as all-uppercase names are reserved for permissions.''' 21 21 22 22 [[Image(htdocs:../common/guide/admin.png)]] … … 30 30 == Available Privileges 31 31 32 To enable all privileges for a user, use the `TRAC_ADMIN` permission. This permission is like being `root` on a *NIX system: it will allow you to perform any operation .32 To enable all privileges for a user, use the `TRAC_ADMIN` permission. This permission is like being `root` on a *NIX system: it will allow you to perform any operation on Trac. 33 33 34 34 Otherwise, individual privileges can be assigned to users for the different functional areas of Trac and '''note that the privilege names are uppercase''': … … 45 45 || `TICKET_VIEW` || View existing [TracTickets tickets] and perform [TracQuery ticket queries] || 46 46 || `TICKET_CREATE` || Create new [TracTickets tickets] || 47 || `TICKET_APPEND` || Add comments and attachments to [TracTickets tickets], and edit description of ticket th e user created ||47 || `TICKET_APPEND` || Add comments and attachments to [TracTickets tickets], and edit description of ticket that the user created || 48 48 || `TICKET_CHGPROP` || Modify [TracTickets ticket] properties (priority, assignment, keywords, etc.) with the following exceptions: edit description of tickets created by others, add/remove other users from cc field when logged in || 49 49 || `TICKET_MODIFY` || Includes both `TICKET_APPEND` and `TICKET_CHGPROP`, and in addition allows resolving [TracTickets tickets] in the [TracWorkflow default workflow]. Tickets can be assigned to users through a [TracTickets#Assign-toasDrop-DownList drop-down list] when the list of possible owners has been restricted. || … … 62 62 || `MILESTONE_ADMIN` || All `MILESTONE_*` permissions || 63 63 || `ROADMAP_VIEW` || View the [TracRoadmap roadmap] page, which is not yet the same as MILESTONE_VIEW, see [trac:#4292 #4292] || 64 || `ROADMAP_ADMIN` || to be removed with [trac:#3022 #3022], replaced by MILESTONE_ADMIN ||64 || `ROADMAP_ADMIN` || To be removed with [trac:#3022 #3022], replaced by MILESTONE_ADMIN || 65 65 66 66 === Reports … … 97 97 == Attachment Permissions 98 98 99 Attachment permissions are handled by `LegacyAttachmentPolicy`, and unlike the permissions discussed so far, the permissions provided by `LegacyAttachmentPolicy` are not directly granted. Rather, the ability to create, view and delete attachments is determined by the attachment's parent realm and permissions the user possesses for that realm. 100 101 The attachment actions are determined by the following 102 permissions in the ticket, wiki and milestone realms: 99 Attachment permissions are handled by `LegacyAttachmentPolicy`, and unlike the permissions discussed so far, the permissions provided by `LegacyAttachmentPolicy` are not directly granted. Rather, the ability to create, view and delete attachments is determined by the attachment's parent realm and permissions that the user possesses for that realm. 100 101 The attachment actions are determined by the following permissions in the ticket, wiki and milestone realms: 103 102 {{{#!table class="listing" 104 103 ||= Granted By: =||= Ticket =||= Wiki =||= Milestone =|| … … 108 107 }}} 109 108 110 An authenticated user can delete an attachment //they added// without possessing the permission 111 that grants `ATTACHMENT_DELETE`. 112 113 If explicit attachment permissions are preferred, `ATTACHMENT_CREATE`, `ATTACHMENT_DELETE` and `ATTACHMENT_VIEW` can be created using the [trac:ExtraPermissionsProvider]. The simplest implementation is to simply define the actions. 109 An authenticated user can delete an attachment //they added// without possessing the permission that grants `ATTACHMENT_DELETE`. 110 111 If explicit attachment permissions are preferred, then `ATTACHMENT_CREATE`, `ATTACHMENT_DELETE` and `ATTACHMENT_VIEW` can be created using the [trac:ExtraPermissionsProvider]. The simplest implementation is to simply define the actions: 114 112 {{{#!ini 115 113 [extra-permissions] … … 117 115 }}} 118 116 119 An alternative configuration adds an `ATTACHMENT_ADMIN` meta-permission that grants the other 3 permission .117 An alternative configuration adds an `ATTACHMENT_ADMIN` meta-permission that grants the other 3 permissions: 120 118 {{{#!ini 121 119 [extra-permissions] … … 123 121 }}} 124 122 125 The explicit permissions can be used in con certwith `LegacyAttachmentPolicy`, or `LegacyAttachmentPolicy` can be removed from `permission_policies`, in which case only users that have been explicitly granted the corresponding attachment actions will be able to create, delete and view attachments.123 The explicit permissions can be used in conjunction with `LegacyAttachmentPolicy`, or `LegacyAttachmentPolicy` can be removed from `permission_policies`, in which case only users that have been explicitly granted the corresponding attachment actions will be able to create, delete and view attachments. 126 124 127 125 == Granting Privileges 128 126 129 You grant privileges to users using[TracAdmin trac-admin]. The current set of privileges can be listed with the following command:127 Privileges are granted to users through [TracAdmin trac-admin]. The current set of privileges can be listed with the following command: 130 128 {{{#!sh 131 129 $ trac-admin /path/to/projenv permission list … … 153 151 Any user who has logged in is also in the //authenticated// group. 154 152 The //authenticated// group inherits permissions from the //anonymous// group. 155 For example, if the //anonymous// group has permission WIKI_MODIFY, it is not necessary to add the WIKI_MODIFYpermission to the //authenticated// group as well.153 For example, if the //anonymous// group has permission `WIKI_MODIFY`, it is not necessary to add the `WIKI_MODIFY` permission to the //authenticated// group as well. 156 154 157 155 Custom groups may be defined that inherit permissions from the two built-in groups. … … 169 167 170 168 == Adding a New Group and Permissions 169 171 170 Permission groups can be created by assigning a user to a group you wish to create, then assign permissions to that group. 172 171 … … 204 203 == Default Permissions 205 204 206 By default on a new Trac installation, the //anonymous// user will have ''view'' access to everything in Trac, but will not beable to create or modify anything.207 On the other hand, the //authenticated// users will havethe permissions to ''create and modify tickets and wiki pages''.205 By default on a new Trac installation, the //anonymous// user has ''view'' access to everything in Trac, but is not able to create or modify anything. 206 The //authenticated// user has the permissions to ''create and modify tickets and wiki pages''. 208 207 209 208 //**anonymous**// … … 230 229 WIKI_MODIFY 231 230 }}} 231 232 232 ---- 233 233 See also: TracAdmin, TracFineGrainedPermissions -
trac/wiki/default-pages/TracPlugins
r0789e55 r3ab92f3 7 7 == Plugin discovery 8 8 9 From the user's point of view, a plugin is either a single .py file or a package (.egg or .whl). Trac looks for plugins in Python's `site-packages` directory, the [TracIni#GlobalConfiguration global shared] `plugins` directory and the [TracEnvironment project environment] `plugins` directory. Plugins installed to the project environment `plugins` directory are enabled, unless explicitly disabled in the `[components]` section of the `trac.ini` file. Plugins installed elsewhere must be explicitly enabled in the [[TracIni#components-section| [components] ]] section of the `trac.ini` file.9 A plugin is either a single .py file or a package (.egg or .whl). Trac looks for plugins in Python's `site-packages` directory, the [TracIni#GlobalConfiguration global shared] `plugins` directory and the [TracEnvironment project environment] `plugins` directory. Plugins installed to the project environment `plugins` directory are enabled, unless explicitly disabled in the `[components]` section of the `trac.ini` file. Plugins installed elsewhere must be explicitly enabled in the [TracIni#components-section "[components]"] section of the `trac.ini` file. 10 10 11 11 == Installing a Trac plugin … … 15 15 === For a single project 16 16 17 Packages built for a single project must use the egg 18 format, as the wheel format (described below) is not 19 supported by the setuptools loading mechanism. Build the `egg` file from the plugin source: 17 Packages built for a single project must use the egg format, as the wheel format (described below) is not supported by the setuptools loading mechanism. Build the `egg` file from the plugin source: 20 18 21 19 * Checkout or download and unpack the source. 22 * Change to the directory containing `setup.py`. 23 * Run: 20 * Change to the directory containing `setup.py` and run: 24 21 {{{#!sh 25 22 $ python setup.py bdist_egg … … 52 49 ==== From PyPI 53 50 54 Some plugins, such as [ th:TagsPlugin TracTags], can be installed directly from [https://pypi.org PyPI] using `pip`:51 Some plugins, such as [https://trac-hacks.org/wiki/TagsPlugin TracTags], can be installed directly from [https://pypi.org PyPI] using `pip`: 55 52 {{{#!sh 56 53 $ pip install TracTags -
trac/wiki/default-pages/TracRepositoryAdmin
r0789e55 r3ab92f3 125 125 Caching improves the performance browsing the repository, viewing logs and viewing changesets. Cached repositories must be [#Synchronization synchronized], using either explicit or implicit synchronization. When searching changesets, only cached repositories are searched. 126 126 127 Repositories that support caching are cached by default.The Subversion and Git backends support caching. The [trac:TracMercurial Mercurial plugin] does not yet support caching ([trac:#8417]). To disable caching, set the `cached` attribute to `false`.127 The Subversion and Git backends support caching. The [trac:TracMercurial Mercurial plugin] does not yet support caching ([trac:#8417]). To disable caching, set the `cached` attribute to `false`. 128 128 129 129 After adding a cached repository, the cache must be populated with the `trac-admin $ENV repository resync` command. -
trac/wiki/default-pages/TracRss
r0789e55 r3ab92f3 18 18 Clicking the icon will access the RSS feed for that specific resource. 19 19 20 '''Note:'''Different modules provide different data in their RSS feeds. Usually the syndicated information corresponds to the current view. For example, if you click the RSS link on a report page, the feed will be based on that report. It might be explained by thinking of the RSS feeds as an ''alternate view of the data currently displayed''.20 Different modules provide different data in their RSS feeds. Usually the syndicated information corresponds to the current view. For example, if you click the RSS link on a report page, the feed will be based on that report. It might be explained by thinking of the RSS feeds as an ''alternate view of the data currently displayed''. 21 21 22 22 Since Trac 1.0 an RSS feed can be retrieved from a Trac site that requires authentication. Hover over the RSS icon, right click and //copy link address//. 23 23 24 24 == Links 25 * ''Specifications:''26 * https://cyber.harvard.edu/rss/rss.html — RSS 2.0 Specification.27 25 28 * ''Multi-platform RSS readers:'' 29 * http://www.rssowl.org/ — Open source, Eclipse-based, RSS reader for Linux, Mac and Windows systems that supports https and authenticated feeds.26 * Specifications: 27 * https://cyber.harvard.edu/rss/rss.html — RSS 2.0 Specification. 30 28 31 * ''Linux/BSD/*n*x systems:'' 32 * http://liferea.sourceforge.net/ — Open source GTK2 RSS Reader for Linux. 33 * [https://kde.org/applications/internet/org.kde.akregator Akregator] — Open source KDE RSS Reader, part of KDE-PIM. 29 * Multi-platform RSS readers: 30 * http://www.rssowl.org/ — Open source, Eclipse-based, RSS reader for Linux, Mac and Windows systems that supports https and authenticated feeds. 34 31 35 * ''Mac OS X systems:'' 36 * https://ranchero.com/netnewswire/ — An excellent RSS reader for Mac OS X, has both free and paid versions. 37 * https://www.utsire.com/shrook/ — An RSS reader for Max OS X that supports https, even with self signed certificates, and authenticated feeds. 38 * http://vienna-rss.sourceforge.net/ — Open source Feed Reader for Mac OS X with smart folders support. 32 * Linux/BSD/*n*x systems: 33 * http://liferea.sourceforge.net/ — Open source GTK2 RSS Reader for Linux. 34 * [https://kde.org/applications/internet/org.kde.akregator Akregator] — Open source KDE RSS Reader, part of KDE-PIM. 39 35 40 * ''Windows systems:'' 41 * http://www.rssreader.com/ — Free and powerful RSS Reader for MS Windows. 42 * https://www.sharpreader.net/ — A free RSS Reader written in .NET for MS Windows. 36 * Mac OS X systems: 37 * https://ranchero.com/netnewswire/ — An excellent RSS reader for Mac OS X, has both free and paid versions. 38 * https://www.utsire.com/shrook/ — An RSS reader for Max OS X that supports https, even with self signed certificates, and authenticated feeds. Discontinued. 39 * http://vienna-rss.sourceforge.net/ — Open source Feed Reader for Mac OS X with smart folders support. 43 40 44 * ''Firefox:'' 45 * https://www.mozilla.org/products/firefox/ — Mozilla Firefox features plenty [https://addons.mozilla.org/en-US/firefox/search/?q=rss&appver=&platform= add-ons] for supporting RSS. 41 * Windows systems: 42 * http://www.rssreader.com/ — Free and powerful RSS Reader for MS Windows. 43 * https://www.sharpreader.net/ — A free RSS Reader written in .NET for MS Windows. 44 45 * Firefox: 46 * https://www.mozilla.org/products/firefox/ — Mozilla Firefox features plenty [https://addons.mozilla.org/en-US/firefox/search/?q=rss&appver=&platform= add-ons] for supporting RSS. 46 47 47 48 ---- -
trac/wiki/default-pages/TracStandalone
r0789e55 r3ab92f3 6 6 == Pros 7 7 8 * Fewer dependencies: You don't need to install apache or any other web-server.9 * Fast: Should be almost as fast as the [wiki:TracMod Python mod_python] version (and much faster than the [wiki:TracCgi CGI]), even more so since version 0.12 where the HTTP/1.1 version of the protocol is enabled by default10 * Automatic reloading: For development, Tracd can be used in ''auto_reload'' mode, which will automatically restart the server whenever you make a change to the code (in Trac itself or in a plugin).8 * Fewer dependencies: You don't need to install Apache or any other web-server. 9 * Fast: Should be almost as fast as the [wiki:TracModWSGI mod_wsgi] version (and much faster than the [wiki:TracCgi CGI]), especially since the HTTP/1.1 version of the protocol is enabled by default. 10 * Automatic reloading: For development, Tracd can be used in ''auto_reload'' mode, which will automatically restart the server whenever you make a change to the code, for example in Trac itself or in a plugin. 11 11 12 12 == Cons 13 13 14 14 * Fewer features: Tracd implements a very simple web-server and is not as configurable or as scalable as Apache httpd. 15 * No native HTTPS support: [http://www.rickk.com/sslwrap/ sslwrap] can be used instead,16 or [trac:wiki:STunnelTracd stunnel -- a tutorial on how to use stunnel with tracd] or Apache with mod_proxy.17 15 18 16 == Usage examples … … 31 29 }}} 32 30 33 You can't have the last portion of the path identical between the projects since Trac uses that name to keep the URLs of the 34 different projects unique. So if you use `/project1/path/to` and `/project2/path/to`, you will only see the second project. 31 You can't have the last portion of the path identical between the projects since Trac uses that name to keep the URLs of the different projects unique. So if you use `/project1/path/to` and `/project2/path/to`, you will only see the second project. 35 32 36 33 An alternative way to serve multiple projects is to specify a parent directory in which each subdirectory is a Trac project, using the `-e` option. The example above could be rewritten: … … 41 38 There is support for the HTTPS protocol (//Since 1.3.4//). Specify the path to the PEM certificate file and keyfile using the `--certfile` and `--keyfile` options. You can specify just the `--certfile` option if you have a [https://docs.python.org/2/library/ssl.html#combined-key-and-certificate combined key and certificate]. 42 39 43 To exit the server on Windows, be sure to use `CTRL-BREAK` -- using `CTRL-C` will leave a Python process running in the background.40 To exit the server on Windows, be sure to use `CTRL-BREAK`. Using `CTRL-C` will leave a Python process running in the background. 44 41 45 42 == Installing as a Windows Service 46 43 47 44 === Option 1 45 48 46 To install as a Windows service, get the [https://www.google.com/search?q=srvany.exe SRVANY] utility and run: 49 47 {{{#!cmd … … 54 52 55 53 {{{#!div style="border: 1pt dotted; margin: 1em;" 56 **Attention:** Do not use `tracd.exe` directly. Instead register `python.exe` directly with `tracd.exe` as a parameter. If you use `tracd.exe`, it will spawn the python process without SRVANY's knowledge. This python process will survive a `net stop tracd`.54 **Attention:** Do not use `tracd.exe` directly. Instead register `python.exe` directly with `tracd.exe` as a parameter. If you use `tracd.exe`, it will spawn the Python process without SRVANY's knowledge. This Python process will survive a `net stop tracd`. 57 55 }}} 58 56 … … 73 71 ||!AppParameters ||scripts\tracd.exe -p 8080 ... || 74 72 75 Note that, if the !AppDirectory is set as above, the paths of the executable ''and'' of the script name and parameter values are relative to the directory. 76 (This is true for the path to the .htpasswd file, as well, despite the documentation calling out the /full/path/to/htpasswd; however, you may not wish to store that file under the Python directory.) 73 Note that, if the !AppDirectory is set as above, the paths of the executable ''and'' of the script name and parameter values are relative to the directory. This makes updating Python a little simpler because the change can be limited, here, to a single point. 74 This is true for the path to the .htpasswd file as well, despite the documentation calling out the /full/path/to/htpasswd; however, you may not wish to store that file under the Python directory. 77 75 }}} 78 76 … … 97 95 == Using Authentication 98 96 99 Tracd allows you to run Trac without the need for Apache, but you can take advantage of Apache's password tools (`htpasswd` and `htdigest`) to easily create a password file in the proper format for tracd to use in authentication. (It is also possible to create the password file without `htpasswd` or `htdigest`; see below for alternatives)97 Tracd allows you to run Trac without the need for Apache, but you can take advantage of Apache's password tools (`htpasswd` and `htdigest`) to easily create a password file in the proper format for tracd to use in authentication. It is also possible to create the password file without `htpasswd` or `htdigest`; see below for alternatives. 100 98 101 99 {{{#!div style="border: 1pt dotted; margin: 1em" … … 143 141 144 142 === Basic Authorization: Using a htpasswd password file 143 145 144 This section describes how to use `tracd` with Apache .htpasswd files. 146 145 147 Note: On Windows It is necessary to install the [https://pypi.python.org/pypi/passlib passlib] 148 package in order to decode some htpasswd formats. Only `SHA-1` passwords (since Trac 1.0) 149 work without this module. 146 '''Note''': On Windows It is necessary to install the [https://pypi.python.org/pypi/passlib passlib] package in order to decode some htpasswd formats. Only `SHA-1` passwords (since Trac 1.0) work without this module. 150 147 151 148 To create a .htpasswd file use Apache's `htpasswd` command (see [#GeneratingPasswordsWithoutApache below] for a method to create these files without using Apache): … … 167 164 $ tracd -p 8080 --basic-auth="project,/srv/tracenv/testenv/.htpasswd,My Test Env" /path/to/project 168 165 }}} 169 ''Note:'' You might need to pass "-m" as a parameter to htpasswd on some platforms (OpenBSD). 166 167 '''Note:''' You might need to pass "-m" as a parameter to htpasswd on some platforms (OpenBSD). 170 168 171 169 === Digest authentication: Using a htdigest password file … … 191 189 192 190 ==== Using `md5sum` 191 193 192 It is possible to use `md5sum` utility to generate digest-password file: 194 193 {{{#!sh … … 253 252 === Serving static content 254 253 255 If `tracd` is the only web server used for the project, 256 it can also be used to distribute static content 257 (tarballs, Doxygen documentation, etc.) 258 259 This static content should be put in the `$TRAC_ENV/htdocs` folder, 260 and is accessed by URLs like `<project_URL>/chrome/site/...`. 261 262 Example: given a `$TRAC_ENV/htdocs/software-0.1.tar.gz` file, 263 the corresponding relative URL would be `/<project_name>/chrome/site/software-0.1.tar.gz`, 264 which in turn can be written as `htdocs:software-0.1.tar.gz` (TracLinks syntax) or `[/<project_name>/chrome/site/software-0.1.tar.gz]` (relative link syntax). 254 If `tracd` is the only web server used for the project, it can also be used to distribute static content, such as tarballs, Doxygen documentation, etc. 255 256 This static content should be put in the `$TRAC_ENV/htdocs` folder, and is accessed by URLs like `<project_URL>/chrome/site/...`. 257 258 Example: given a `$TRAC_ENV/htdocs/software-0.1.tar.gz` file, the corresponding relative URL would be `/<project_name>/chrome/site/software-0.1.tar.gz`, which in turn can be written as `htdocs:software-0.1.tar.gz` (TracLinks syntax) or `[/<project_name>/chrome/site/software-0.1.tar.gz]` (relative link syntax). 265 259 266 260 === Using tracd behind a proxy … … 275 269 276 270 === Authentication for tracd behind a proxy 277 It is convenient to provide central external authentication to your tracd instances, instead of using `--basic-auth`. There is some discussion about this in [trac:#9206]. 271 272 It is convenient to provide central external authentication to your tracd instances, instead of using `--basic-auth`. See also [trac:#9206]. 278 273 279 274 Below is example configuration based on Apache 2.2, mod_proxy, mod_authnz_ldap. … … 325 320 }}} 326 321 327 Note that if you want to install this plugin for all projects, you have to put it in your [TracPlugins#Plugindiscovery global plugins_dir ] and enable it in your global trac.ini.322 Note that if you want to install this plugin for all projects, you have to put it in your [TracPlugins#Plugindiscovery global plugins_directory] and enable it in your global `trac.ini`. 328 323 329 324 Global config (e.g. `/srv/trac/conf/trac.ini`): … … 344 339 345 340 === Serving a different base path than / 346 Tracd supports serving projects with different base urls than /<project>. The parameter name to change this is 341 342 Tracd supports serving projects with different base urls than /<project>. The parameter name to change this is: 347 343 {{{#!sh 348 344 $ tracd --base-path=/some/path -
trac/wiki/default-pages/TracTicketsCustomFields
r0789e55 r3ab92f3 1 1 = Custom Ticket Fields 2 2 3 Trac supports adding custom, user-defined fields to the ticket module. With custom fields you can add typed, site-specific properties to tickets. 3 4 … … 16 17 17 18 === Field Names 19 18 20 A field name can only contain lowercase letters a-z, uppercase letters A-Z or digits 0-9, and must not start with a leading digit. 19 21 … … 154 156 SELECT p.value AS __color__, 155 157 id AS ticket, summary, owner, c.value AS progress 156 157 158 AND p.name = t.priority AND p.type = 'priority'159 158 FROM ticket t, enum p, ticket_custom c 159 WHERE status IN ('assigned') AND t.id = c.ticket AND c.name = 'progress' 160 AND p.name = t.priority AND p.type = 'priority' 161 ORDER BY p.value 160 162 }}} 161 163 '''Note''': This will only show tickets that have progress set in them. This is '''not the same as showing all tickets'''. If you created this custom ticket field ''after'' you have already created some tickets, they will not have that field defined, and thus they will never show up on this ticket query. If you go back and modify those tickets, the field will be defined, and they will appear in the query. … … 170 172 reporter AS _reporter, 171 173 (CASE WHEN c.value = '0' THEN 'None' ELSE c.value END) AS progress 172 173 174 JOIN enum p ON p.name = t.priority AND p.type='priority'175 176 174 FROM ticket t 175 LEFT OUTER JOIN ticket_custom c ON (t.id = c.ticket AND c.name = 'progress') 176 JOIN enum p ON p.name = t.priority AND p.type = 'priority' 177 WHERE status IN ('new', 'assigned', 'reopened') 178 ORDER BY p.value, milestone, severity, time 177 179 }}} 178 180 -
trac/wiki/default-pages/TracUnicode
r0789e55 r3ab92f3 3 3 [[TracGuideToc]] 4 4 5 Trac encodes all text using [ wikipedia:UTF-8], including text in tickets and wiki pages. Internal processing of text uses true [wikipedia:Unicode] representations. As such, it supports the most commonly used character encodings.5 Trac encodes all text using [https://en.wikipedia.org/wiki/UTF-8 UTF-8], including text in tickets and wiki pages. Internal processing of text uses true [https://en.wikipedia.org/wiki/Unicode Unicode] representations. As such, it supports the most commonly used character encodings. 6 6 7 7 If the default encoding of your source code repository is not UTF-8, you can specify it in [TracIni#trac-default_charset-option "[trac] default_charset"]: -
trac/wiki/default-pages/TracUpgrade
r0789e55 r3ab92f3 102 102 * [https://trac-hacks.org/wiki/NavAddPlugin NavAddPlugin]: see TracNavigation 103 103 * [https://trac-hacks.org/wiki/FlexibleAssignToPlugin FlexibleAssignToPlugin]: subclass `ConfigurableTicketWorkflow` and override `get_allowed_owners` 104 * [https://trac-hacks.org/wiki/TracMigratePlugin TracMigratePlugin]: Use the `trac-admin` [Trac Admin#ChangingDatabaseBackend convert_db command]104 * [https://trac-hacks.org/wiki/TracMigratePlugin TracMigratePlugin]: Use the `trac-admin` [TracEnvironment#ChangingDatabaseBackend convert_db command] 105 105 106 106 The plugins should be removed when upgrading Trac to 1.4. -
trac/wiki/default-pages/TracWorkflow
r0789e55 r3ab92f3 3 3 [[PageOutline(2-5,Contents,pullout)]] 4 4 [[TracGuideToc]] 5 The Trac ticket system provides a configurable workflow. 5 6 The Trac ticket system provides a configurable workflow on how tickets are treated. 6 7 7 8 == The Default Ticket Workflow 8 9 9 When a new environment is created, a default workflow is configured in your trac.ini. This workflow is the basic workflow, as specified in [trac:source:branches/1.4-stable/trac/ticket/workflows/basic-workflow.ini basic-workflow.ini]:10 When a new environment is created, a default workflow is configured in your `trac.ini`. This workflow is the basic workflow, as specified in [trac:source:branches/1.4-stable/trac/ticket/workflows/basic-workflow.ini basic-workflow.ini]: 10 11 11 12 {{{#!Workflow width=700 height=300 … … 62 63 The `accept.permissions` line specifies the permissions the user must have to use this action. [trac:ExtraPermissionsProvider] can define new permissions to be used here. 63 64 64 The `accept.operations` line specifies changes that will be made to the ticket in addition to the status change when the action is taken. In this case, when a user clicks on `accept`, the ticket owner field is updated to the logged in user.Multiple operations may be specified in a comma separated list.65 The `accept.operations` line specifies changes that will be made to the ticket in addition to the status change when the action is taken. In this case, when a user clicks on `accept`, the ticket owner field is updated to the logged in user. Multiple operations may be specified in a comma separated list. 65 66 66 67 The available operations are: … … 158 159 == Example: Adding optional Testing with Workflow 159 160 160 The following adds a `testing` action. When the ticket has status `new`, `accepted` or `needs_work`, you can choose to submit it for testing. When it's in the testing status the user gets the option to reject it and send it back to `needs_work`, or pass the testing and send it along to `closed`. If they accept it, then it is automatically marked as `closed` and the resolution is set to `fixed`. Since all the old workflow remains, a ticket can skip this entire section.161 The following adds a `testing` action. When the ticket has status `new`, `accepted` or `needs_work`, you can choose to submit it for testing. When it's in the testing status the user gets the option to reject it and send it back to `needs_work`, or pass the testing and send it along to `closed`. If they accept it, then it is automatically marked as `closed` and the resolution is set to `fixed`. Since all the old workflow remains, a ticket can skip this entire section. 161 162 162 163 {{{#!ini … … 249 250 == Ideas for next steps 250 251 251 Enhancement ideas for the workflow system should be filed as enhancement tickets against the [trac:query:?status=assigned&status=new&status=reopened&keywords=~workflow&component=ticket+system ticket system] component. 252 Enhancement ideas for the workflow system should be filed as enhancement tickets against the [trac:query:?status=assigned&status=new&status=reopened&keywords=~workflow&component=ticket+system ticket system] component. You can also document ideas on the [trac:TracIdeas/TracWorkflow TracIdeas/TracWorkflow] page.
Note:
See TracChangeset
for help on using the changeset viewer.