Anonymous avatar Anonymous committed 35f8627

Preparing for 0.9b2 release:
* Synced Wiki pages.
* Updated `RELEASE` and `ChangeLog`.
* Bumped version number.

Comments (0)

Files changed (22)

+Trac 0.9-beta2  (Sept 25, 2005)
+http://svn.edgewall.com/repos/trac/tags/trac-0.9b2
+
+ * Support for setuptools 0.6.
+ * Allow insertion of a custom HTML snippet above the new ticket form
+   to explain site-specific policies and/or guidelines.
+ * Much improved Bugzilla import script.
+ * Fixed a bug where deleting a wiki page version would sometimes delete
+   the entire page.
+ * Fixes for the rendering of diffs and patches.
+ * Fixes for the Subversion authz support.
+ * Fixed bugs: #2008, #2032, #2034, #1801, #1893, #1040, #2040,
+   #1036, #1944, #1081, #1863, #2052, #2066, #2016, #2090, #1985,
+   #2012, #2089, #2079, #1999, #2029, #2079, #1960, #2080, #2021,
+   #2042, #2088, #1345, #2011, #2100, #2103, #2113, #2116
+
+
 Trac 0.9-beta1  (Sept 5, 2005)
-http://svn.edgewall.com/repos/trac/tags/trac-0.9-beta
+http://svn.edgewall.com/repos/trac/tags/trac-0.9b1
 
  Trac 0.9 contains a great number of new features, improvements and
  bug fixes. The following list contains only a few highlights:
  The complete list of closed tickets can be found here:
    http://projects.edgewall.com/trac/query?status=closed&milestone=0.9
 
-	
+
 Trac 0.8.3  (Jun 15, 2005)
 http://svn.edgewall.com/repos/trac/tags/trac-0.8.3
 
-Trac 0.9-beta1 Release Notes
+Trac 0.9-beta2 Release Notes
 ============================
-Sept 5, 2005
+Sept 25, 2005
 
-We're proud to present our latest beta release - Trac 0.9-beta1.
+We're proud to present our latest beta release - Trac 0.9-beta2.
 
 Trac is an enhanced wiki and issue tracking system, integrated with
 Subversion, for software development projects. Trac uses a minimalistic
 
   <http://projects.edgewall.com/trac/wiki/MailingList>
 
+
 What's New
 ----------
-A brief summary of major changes for this release:
+A brief summary of major changes for version 0.9:
 
  * License changed from GPL to modified BSD.
  * Improved modularity and extendibility (plugin support).
+ * Improved ticket query interface.
  * Postgresql database support.
  * FastCGI frontend support.
 
 
 General Instructions
 --------------------
-Typically, there are three steps involved in upgrading to a newer version of
+Typically, there are four steps involved in upgrading to a newer version of
 Trac:
 
 1. Update the Trac Code
 
 Note that this procedure will of course leave your `WikiStart` page intact.
 
+4. Restart the Web Server
+
+In order to reload the new Trac code you will need to restart your web
+server (note this is not necessary for plain old CGI, although CGI is
+discouraged for performance reasons).
+
 
 The following sections discuss any extra actions that may need to be taken
 to upgrade to specific versions of Trac.
 From 0.8.x to 0.9
 -----------------
 
-If you're using mod_python, you will need to change the name of the
-mod_python handler in the Apache HTTPD configuration:
+If you're using CGI, you will want to update your `Alias` to the Trac htdocs
+static resources.  See the documentation on the TracCgi wiki page for an
+example on how to configure this. 
+
+FastCGI and mod_python users can safely remove any `Alias`es to the Trac
+htdocs folder since this is no longer used by default. 
+
+mod_python users will also need to change the name of the mod_python handler
+in the Apache HTTPD configuration:
 
    from: PythonHandler trac.ModPythonHandler
    to:   PythonHandler trac.web.modpython_frontend
 
-
 If you have PySQLite 2.x installed, Trac will now try to open your SQLite
 database using the SQLite 3.x file format. The database formats used by
 SQLite 2.8.x and SQLite 3.x are incompatible. If you get an error like "file
 """
 __docformat__ = 'epytext en'
 
-__version__ = '0.9b1'
+__version__ = '0.9b2'
 __url__ = 'http://trac.edgewall.com/'
 __copyright__ = '(C) 2003-2005 Edgewall Software'
 __license__ = 'BSD'

wiki-default/TracAdmin

 = TracAdmin =
 [[TracGuideToc]]
 
-Trac is distributed with a powerful configuration tool. This tool can be used 
-to configure and customize your Trac-installation to better fit your needs.
+Trac is distributed with a powerful command-line configuration tool. This tool can be used  to configure and customize your Trac-installation to better fit your needs.
 
 == Usage ==
 
 
 == Interactive Mode ==
 
-When pass the environment path as only argument, `trac-admin` starts in interactive mode.
+When passing the environment path as the only argument, `trac-admin` starts in interactive mode.
 Commands can then be executed on the selected environment using the prompt, which offers tab-completion
 (on non-Windows environments, and when the Python `readline` module is available) and automatic repetition of the last command issued.
 
 }}}
 
 ----
-See Also: TracGuide, TracBackup, TracPermissions. TracEnvironment, TracIni
+See also: TracGuide, TracBackup, TracPermissions, TracEnvironment, TracIni

wiki-default/TracFastCgi

                    ("trac" =>
                      ("socket" => "/tmp/trac-fastcgi.sock",
                       "bin-path" => "/path/to/cgi-bin/trac.fcgi",
+                      "check-local" => "disable",
                       "bin-environment" =>
                         ("TRAC_ENV" => "/path/to/projenv")
                      )
 
 Note that you will need to add a new entry to `fastcgi.server` for each separate Trac instance that you wish to run. Alternatively, you may use the `TRAC_ENV_PARENT_DIR` variable instead of `TRAC_ENV` as described  above.
 
+Other important information like [http://trac.lighttpd.net/trac/wiki/TracInstall this updated TracInstall page], [wiki:TracCgi#MappingStaticResources and this] are useful for non-fastcgi specific installation aspects.
+
 Relaunch lighttpd, and browse to `http://yourhost.example.org/trac` to access Trac.
 
 ----

wiki-default/TracImport

 
 == Bugzilla ==
 
-Ticket data can be imported from Bugzilla using the [source:trunk/contrib/bugzilla2trac.py bugzilla2trac.py] script, available in the contrib/ directory of the Trac distribution.
+Ticket data can be imported from Bugzilla using the [http://projects.edgewall.com/trac/browser/trunk/contrib/bugzilla2trac.py bugzilla2trac.py] script, available in the contrib/ directory of the Trac distribution.
 
 {{{
 $ bugzilla2trac.py
 
 == Sourceforge ==
 
-Ticket data can be imported from Sourceforge using the [source:http://projects.edgewall.com/trac/file/trunk/contrib/sourceforge2trac.py sourceforge2trac.py] script, available in the contrib/ directory of the Trac distribution.
+Ticket data can be imported from Sourceforge using the [http://projects.edgewall.com/trac/browser/trunk/contrib/sourceforge2trac.py sourceforge2trac.py] script, available in the contrib/ directory of the Trac distribution.
 
 == Mantis ==
 
-Mantis bugs can be imported using the attached script.  
+Mantis bugs can be imported using the attached script.
+
 Currently, the following data is imported from Mantis:
   * bugs
   * bug comments
 
 Additional configuration options can be defined directly in the script.
 }}} 
+
+
+== Other ==
+
+Since trac uses a SQL database to store the data, you can import from other systems by examining the database tables. Just go into [http://www.sqlite.org/sqlite.html sqlite] command line to look at the tables and import into them from your application.

wiki-default/TracIni

 This is a brief reference of available configuration options.
 
 == [trac] ==
-|| database        || Database connection string for this project ||
-|| default_charset || Charset used in text files in the subversion repository (default is `iso-8859-15`) ||
-|| default_handler || Name of the component that handles requests to the base URL (default is `WikiHandler`) ||
-|| repository_dir  || Path to local Subversion repository ||
-|| authz_file      || Path to Subversion [http://svnbook.red-bean.com/en/1.1/ch06s04.html#svn-ch-6-sect-4.4.2 authorization (authz) file]. ||
-|| check_auth_ip || Whether the IP address of the user should be checked for authentication (true, false) ||
-|| ignore_auth_case || Whether case should be ignored for login names (true, false) ||
-|| templates_dir   || Path to the !ClearSilver templates ||
+|| `database`        || [wiki:TracEnvironment#DatabaseConnectionStrings Database connection string] for this project ||
+|| `default_charset` || Charset used in text files in the subversion repository (default is `iso-8859-15`) ||
+|| `default_handler` || Name of the component that handles requests to the base URL (default is `WikiHandler`) (''since 0.9'') ||
+|| `repository_dir`  || Path to local Subversion repository ||
+|| `authz_file`      || Path to Subversion [http://svnbook.red-bean.com/en/1.1/ch06s04.html#svn-ch-6-sect-4.4.2 authorization (authz) file]. ||
+|| `check_auth_ip` || Whether the IP address of the user should be checked for authentication (true, false) (''since 0.9'') ||
+|| `ignore_auth_case` || Whether case should be ignored for login names (true, false) (''since 0.9'') ||
+|| `templates_dir`   || Path to the !ClearSilver templates ||
 
 == [project] ==
-|| name   || Project name ||
-|| descr  || Short project description ||
-|| url    || URL to the main project website ||
-|| icon   || URL to icon file to use as shortcut icon (favicon) ||
-|| footer || Page footer text (right-aligned) ||
+|| `name`   || Project name ||
+|| `descr`  || Short project description ||
+|| `url`    || URL to the main project website ||
+|| `icon`   || URL to icon file to use as shortcut icon (favicon) ||
+|| `footer` || Page footer text (right-aligned) ||
 
 == [header_logo] ==
-|| src    || URL to image to use as header logo ||
-|| link   || Destination URL to link to from header logo ||
-|| alt    || ''alt'' text for header logo ||
-|| width  || Header logo width in pixels ||
-|| height || Header logo height in pixels ||
+|| `src`    || URL to image to use as header logo ||
+|| `link`   || Destination URL to link to from header logo ||
+|| `alt`    || ''alt'' text for header logo ||
+|| `width`  || Header logo width in pixels ||
+|| `height` || Header logo height in pixels ||
 
 == [logging] ==
-|| log_type  || Logging facility to use. (none, file, stderr, syslog, winlog) ||
-|| log_file  || If ''log_type'' is ''file'', this should be a path to the log-file ||
-|| log_level || Level of verbosity in log (CRITICAL, ERROR, WARN, INFO, DEBUG) ||
+|| `log_type`  || Logging facility to use. (none, file, stderr, syslog, winlog) ||
+|| `log_file`  || If ''log_type'' is ''file'', this should be a path to the log-file ||
+|| `log_level` || Level of verbosity in log (CRITICAL, ERROR, WARN, INFO, DEBUG) ||
 See also: TracLogging
 
 == [attachment] ==
-|| max_size || Maximum allowed file size for ticket and wiki attachments ||
+|| `max_size` || Maximum allowed file size for ticket and wiki attachments ||
 
 == [notification] ==
-|| smtp_enabled   || Enable SMTP (email) notification (true, false) ||
-|| smtp_server    || SMTP server to use for email notifications ||
-|| smtp_user      || (''requires [milestone:0.9 0.9]'') Username for SMTP server ||
-|| smtp_password  || (''requires [milestone:0.9 0.9]'') Password for SMTP server ||
-|| smtp_from      || Sender address to use in notification emails ||
-|| smtp_replyto   || Reply-To address to use in notification emails ||
-|| smtp_always_cc || Email address(es) to always send notifications to ||
-|| always_notify_reporter || Always send notifications to any address in the ''reporter'' field ||
-|| always_notify_owner || (''requires [milestone:0.9 0.9]'') Always send notifications to the ticketowner  ||
+|| `smtp_enabled`   || Enable SMTP (email) notification (true, false) ||
+|| `smtp_server`    || SMTP server to use for email notifications ||
+|| `smtp_user`      || Username for SMTP server (''since 0.9'') ||
+|| `smtp_password`  || Password for SMTP server (''since 0.9'') ||
+|| `smtp_from`      || Sender address to use in notification emails ||
+|| `smtp_replyto`   || Reply-To address to use in notification emails ||
+|| `smtp_always_cc` || Email address(es) to always send notifications to ||
+|| `always_notify_reporter` || Always send notifications to any address in the ''reporter'' field ||
+|| `always_notify_owner` || Always send notifications to the ticket owner (''since 0.9'') ||
 See also: TracNotification
 
 == [mimeviewer] ==
-|| enscript_path || Path to the Enscript program ||
-|| php_path || Path to the PHP program ||
-|| max_preview_size || Maximum file size for HTML preview ||
-|| tab_width || Displayed tab width in file preview ||
+|| `enscript_path` || Path to the Enscript program ||
+|| `php_path` || Path to the PHP program ||
+|| `max_preview_size` || Maximum file size for HTML preview (''since 0.9'') ||
+|| `tab_width` || Displayed tab width in file preview (''since 0.9'') ||
 
 == [ticket] ==
-|| default_version   || Default version for newly created tickets ||
-|| default_severity  || Default severity for newly created tickets ||
-|| default_priority  || Default priority for newly created tickets ||
-|| default_milestone || Default milestone for newly created tickets ||
-|| default_component || Default component for newly created tickets ||
-|| restrict_owner    || Optionally allow the owner field of tickets to use a drop-down menu (<select>) ||
+|| `default_version`   || Default version for newly created tickets ||
+|| `default_severity`  || Default severity for newly created tickets ||
+|| `default_priority`  || Default priority for newly created tickets ||
+|| `default_milestone` || Default milestone for newly created tickets ||
+|| `default_component` || Default component for newly created tickets ||
+|| `restrict_owner`    || Make the owner field of tickets use a drop-down menu (''since 0.9'') ||
 
 == [ticket-custom] ==
 Creates user-defined ticket fields.
 See TracTicketsCustomFields.
 
 == [timeline] ==
-|| changeset_show_files || Number of files to show (-1 for unlimited, 0 to disable) ||
-|| default_daysback || (''requires [milestone:0.9 0.9]'') Default "depth" of the Timeline, in days ||
+|| `changeset_show_files` || Number of files to show (-1 for unlimited, 0 to disable) ||
+|| `default_daysback` || Default "depth" of the Timeline, in days (''since 0.9'') ||
 
 == [browser] ==
-|| hide_properties || List of Subversion properties to hide from the repository browser and changesets ||
+|| `hide_properties` || List of subversion properties to hide from the repository browser (''since 0.9'') ||
 
 == [wiki] ==
-|| ignore_missing_pages || enable/disable highlighting CamelCase links to missing pages ||
+|| `ignore_missing_pages` || enable/disable highlighting CamelCase links to missing pages (''since 0.9'') ||
 
 == [disabled_components] ==
 You can disable any Trac component by listing its name in this section and assigning a truth value (e.g. ''yes''). See the ''Plugins'' page on ''About Trac'' to get the list of active components.
+(''since 0.9'')
 
 ----
 See also: TracGuide, TracAdmin, TracEnvironment

wiki-default/TracInstall

    * version 1.0.x (for SQLite 2.8.x)
    * version 1.1.x or 2.x (for SQLite 3.x)
 
-''Note: Versions of Trac prior to [milestone:0.9] do '''not''' work with PySQLite 2.x.''
+''Note: Versions of Trac prior to 0.9 do '''not''' work with PySQLite 2.x.''
 
 === For PostgreSQL ===
 
  * [http://www.postgresql.org/ PostgreSQL]
  * [http://initd.org/projects/psycopg1 psycopg1], [http://initd.org/projects/psycopg2 psycopg2], or [http://pypgsql.sourceforge.net/ pyPgSQL]
 
+''Note: PostgreSQL support requires Trac version 0.9 or later.''
+
 === Optional Requirements ===
 
  * A CGI-capable web server (see TracCgi), or
 A new environment is created using [wiki:TracAdmin trac-admin]:
 {{{
 $ svnadmin create --fs-type=fsfs /path/to/svn_project_env
+ (in some environments leave out the parameters "--fs-type=fsfs" )
 $ trac-admin /path/to/trac_project_env initenv
 }}}
 
-[wiki:TracAdmin trac-admin] will prompt you for the information it needs to create the environment, such as the name of the project, the database connection string, and so on.
+[wiki:TracAdmin trac-admin] will prompt you for the information it needs to create the environment, such as the name of the project, the [wiki:TracEnvironment#DatabaseConnectionStrings database connection string], and so on. If you're not sure what to specify for one of these options, just leave it blank to use the default value. The database connection string in particular will always work as long as you have SQLite installed. The only option where the default value is likely to not work is the path to the Subversion repository, so make sure that one's correct.
+
+Also note that the values you specify here can be changed later by directly editing the [wiki:TracIni] configuration file.
 
 ''Note: The user account under which the web server runs will require write permissions to the environment
 directory and all the files inside.''

wiki-default/TracModPython

 = Trac and mod_python =
 
-Trac 0.7.1 and later supports [http://www.modpython.org/ mod_python], which speeds up Trac's response times considerably and permits use of many Apache features not possible with tracd/mod_proxy.
+Trac supports [http://www.modpython.org/ mod_python], which speeds up Trac's response times considerably and permits use of many Apache features not possible with [wiki:TracStandalone tracd]/mod_proxy.
 
-Be sure to grab mod_python 3.1.3 and later for ''SetHandler'' ''mod_python'' directive to work.  Also, older versions may generate an internal error.  [http://projects.edgewall.com/trac/ticket/1090 #1090]
-
-== Trac Trunk Configuration ==
-
-The examples below are written for Trac 0.8.x.  If you are running Trac from the trunk source you will need to make a modification to the configuration.
-
-The mod_python handler class is changed in trunk revision [1287] and later, so you'll need to substitute the following line:
-
-{{{
-   PythonHandler trac.ModPythonHandler
-}}}
-
-with this one:
-
-{{{
-   PythonHandler trac.web.modpython_frontend
-}}}
+Be sure to grab mod_python 3.1.3 and later for ''SetHandler'' ''mod_python'' directive to work.  Also, older versions may generate an internal error (see [http://projects.edgewall.com/trac/ticket/1090 #1090])
 
 == Simple configuration ==
 
-Here's a typical Trac CGI/Apache setup:
-
+If you just installed mod_python, you may have to add a line to load the module in the Apache configuration:
 {{{
-ScriptAlias /projects/myproject /path/to/python/share/trac/cgi-bin/trac.cgi
-<Location /projects/myproject>
-   SetEnv TRAC_ENV /var/trac/myproject
-</Location>
+LoadModule python_module modules/mod_python.so
 }}}
 
-The equivalent mod_python setup is:
-
+A simple setup of Trac on mod_python looks like this:
 {{{
 <Location /projects/myproject>
    SetHandler mod_python
    PythonHandler trac.ModPythonHandler
-   PythonOption TracUriRoot "/projects/myproject"
    PythonOption TracEnv /var/trac/myproject
+   PythonOption TracUriRoot /projects/myproject
 </Location>
 }}}
 
-Note that the option ''TracUriRoot'' may or may not be necessary in your setup. Try without first, and if the URLs produced by Trac look wrong or if Trac does not seem to recognize the URLs correctly, add the ''TracUriRoot'' option.
+Note that the option `TracUriRoot` may or may not be necessary in your setup. Try without first, and if the URLs produced by Trac look wrong or if Trac does not seem to recognize the URLs correctly, add the `TracUriRoot` option.
 
-Authentication works the same as for CGI:
-
+Configuring authentication works the same as for [wiki:TracCgi#AddingAuthentication CGI]:
 {{{
 <Location "/projects/myproject/login">
   AuthType Basic
 </Location>
 }}}
 
-If your trac installation isn't installed in your Python path, you'll have to tell Apache where to find the {{{trac.ModPythonHandler}}} module by adding this line to the {{{<Location>}}} section:
-
+If the Trac installation isn't installed in your Python path, you'll have to tell Apache where to find the Trac mod_python handler  using the `PythonPath` directive:
 {{{
-<Location "/projects/myproject">
-  PythonPath "sys.path+['/path/to/trac']"
+<Location /projects/myproject>
+  ...
+  PythonPath "sys.path + ['/path/to/trac']"
   ...
 </Location>
 }}}
 
-== Setting up a project on the root of the webserver ==
-
-To install Trac on the root of the webserver (in a virtual host context for example) and make it available at the ''!http://some-hostname/'' URL, use the following:
-
-{{{
-<VirtualHost trac.example.org>
-  ServerName trac.example.org
-  Alias /trac /var/www/trac.example.org/htdocs/trac
-  <Location />
-    SetHandler mod_python
-    PythonHandler trac.ModPythonHandler
-
-
-    PythonOption TracUriRoot "/"
-    PythonOption TracEnv /var/trac/myproject
-  </Location>
-  <Location /login>
-    AuthType Basic
-    AuthName "My Project"
-    AuthUserFile /var/trac/myproject/.htaccess
-    Require valid-user
-  </Location>
-  <Location /trac>
-    SetHandler None
-  </Location>
-</VirtualHost>
-}}}
-
-
-The path in the last {{{<Location>}}} block should match your {{{htdocs_location}}}. The directive "{{{SetHandler None}}}" allows us to escape mod_python and have Apache serve the static files (located at {{{/var/www/trac.example.org/htdocs/trac/}}} on the filesystem in this example). Any other URLs will be handled by mod_python.
-
 == Setting up multiple projects ==
 
-The Trac mod_python handler handler supports a configuration option similar to Subversion's {{{SvnParentPath}}}, called {{{TracEnvParentDir}}}:
-
+The Trac mod_python handler handler supports a configuration option similar to Subversion's `SvnParentPath`, called `TracEnvParentDir`:
 {{{
 <Location /projects>
   SetHandler mod_python
   PythonHandler trac.ModPythonHandler
+  PythonOption TracEnvParentDir /var/trac
   PythonOption TracUriRoot /projects
-  PythonOption TracEnvParentDir "/var/trac"
 </Location>
 }}}
 
-When you request the {{{/projects}}} URL, you will get a (currently very simple) listing of all subdirectories of the directory you set as {{{TracEnvParentDir}}}. Selecting any project in the list will bring you to the corresponding Trac instance. You should make sure that the configured directory only contains Trac environment directories that match the currently installed Trac version, because that is not checked prior to the generation of the project list.
+When you request the `/projects` URL, you will get a listing of all subdirectories of the directory you set as `TracEnvParentDir`. Selecting any project in the list will bring you to the corresponding Trac environment.
 
 If you don't want to have the subdirectory listing as your projects home page you can use a
-
 {{{
 <LocationMatch "/.+/">
 }}}
 
-This will instruct Apache to use mod_python for all locations different from root while having the possibility of placing a custom home page for root in yuor !DocumentRoot folder.
+This will instruct Apache to use mod_python for all locations different from root while having the possibility of placing a custom home page for root in your !DocumentRoot folder.
 
-
-=== Use different locations for htdocs and mod_python ===
-The mod_python location must be different than the trac htdocs location. For example, if you map Trac's htdocs location to {{{/trac}}} and then map your mod_python handler to {{{/trac}}} as well, you will encounter strange problems.  Configuration for the location of the htdocs is in the environment's ini file.
-
-== Setting up multiple projects as the root URL ==
-
-Let's say you want something like http://projects.yourdomain.com which has a list of all of the projects hosted on it.  However, you don't want to do manual configuration every time a new project is added.  Or, you'd like to minimize it.  Here's a quick sample:
-
-{{{
-Alias /trac/ /usr/share/trac/htdocs/
-<Directory "/usr/share/trac/htdocs">
-   Order allow,deny
-   Allow from all
-</Directory>
-
-<Location />
-   SetHandler mod_python
-   PythonHandler trac.ModPythonHandler
-   PythonOption TracEnvParentDir "/var/trac"
-   PythonOption TracUriRoot /
-</Location>
-
-<Location /project1/login>
-   AuthType Basic
-   AuthName "Project1"
-   AuthUserFile /var/www/projects.yourdomain.com/security/users
-   AuthGroupFile /var/www/projects.yourdomain.com/security/groups
-   Require group project1-users
-</Location>
-
-<Location /project2/login>
-   AuthType Basic
-   AuthName "Project2"
-   AuthUserFile /var/www/projects.yourdomain.com/security/users
-   AuthGroupFile /var/www/projects.yourdomain.com/security/groups
-   Require group project2-users
-</Location>
-
-<Location /trac>
-   SetHandler none
-</Location>
-}}}
-
-A few things to note about this example:  all of the users are stored in one file, {{{/var/www/projects.yourdomain.com/security/users}}}.  Groups for these users are defined in the groups file, {{{/var/www/projects.yourdomain.com/security/groups}}}.  The Trac projects are all stored under {{{/var/trac}}}.
-
-To add a new project, you'll have to create a new user in the user file.  Then, create a new group for the project in the group file.  Finally, create a new <Location> block with a new {{{Require group}}} directive.  That's about it.
-
-You can also use the same authentication realm for all of the projects using a {{{<LocationMatch>}}} directive:
-
+You can also use the same authentication realm for all of the projects using a `<LocationMatch>` directive:
 {{{
 <LocationMatch "/[^/]+/login">
-   ...
+  AuthType Basic
+  AuthName "Trac"
+  AuthUserFile /var/trac/.htaccess
+  Require valid-user
 </LocationMatch>
 }}}
 
 == Troubleshooting ==
 
-=== Setting up plugin cache directory ===
-
-{{{
-SetEnv PYTHON_EGG_CACHE /path/to/dir
-}}}
-
 === Form submission problems ===
 
 If you're experiencing problems submitting some of the forms in Trac (a common problem is that you get redirected to the start page after submission), check whether your {{{DocumentRoot}}} contains a folder or file with the same path that you mapped the mod_python handler to. For some reason, mod_python gets confused when it is mapped to a location that also matches a static resource.
 
 === Using .htaccess ===
 
-Although it may seem trivial to rewrite the above configuration as a directory in your document root with a {{{.htaccess}}} file, this does not work. Apache will append a "/" to any Trac URLs, which interferes with its correct operation.
+Although it may seem trivial to rewrite the above configuration as a directory in your document root with a `.htaccess` file, this does not work. Apache will append a "/" to any Trac URLs, which interferes with its correct operation.
 
 It may be possible to work around this with mod_rewrite, but I failed to get this working. In all, it is more hassle than it is worth. Stick to the provided instructions. :)
 
-=== mod_python does caching: beware ===
-
-When using mod_python you have to reload apache before changes to a trac.ini of a project or a projects templates take effect!
-
- ''Note: This doesn't apply to the current development version (0.9pre), where the configuration is reloaded automatically if it has changed.''
-
 === Win32 Issues ===
 
 If you run trac with mod_python on Windows, attachments will not work.
 
 === OS X issues ===
 
-There is a mod_python issue on OSX: Look at the end of its README. 
-You need to either define the environment variable DYLD_FORCE_FLAT_NAMESPACE before starting httpd 
-or apply [http://www.dscpl.com.au/projects/vampire/PATCHES this patch] to mod_python.
+When using mod_python on OS X you will not be able to restart Apache using `apachectl restart`. This is apparently fixed in mod_python 3.2, but there's also a patch available for earlier versions [http://www.dscpl.com.au/projects/vampire/patches.html here].
 
-Also note that there is an error in the module when you build it from source.  Basically an unpatched version will not respond correctly to the 'apachectl restart' command.  If you issue this command on an unpatched module your client will receive a 500 error from apache.  The patch needed to fix this problem is included below:
-
-{{{
---- src/mod_python.c	Mon Feb 16 20:47:27 2004
-+++ /Usersjkp/mod_python.c	Wed Mar 16 21:15:49 2005
-@@ -31,6 +31,10 @@
-  * (In a Python dictionary) */
- static PyObject * interpreters = NULL;
- 
-+#ifdef WITH_THREAD
-+static apr_thread_mutex_t* interpreters_lock = 0;
-+#endif
-+
- apr_pool_t *child_init_pool = NULL;
- 
- /**
-@@ -124,6 +128,8 @@
-         name = MAIN_INTERPRETER;
- 
- #ifdef WITH_THREAD
-+    apr_thread_mutex_lock(interpreters_lock);
-+
-     PyEval_AcquireLock();
- #endif
- 
-@@ -149,6 +155,8 @@
- 
- #ifdef WITH_THREAD
-     PyEval_ReleaseLock();
-+
-+    apr_thread_mutex_unlock(interpreters_lock);
- #endif
- 
-     if (! idata) {
-@@ -469,6 +477,9 @@
-     const char *userdata_key = "python_init";
-     apr_status_t rc;
- 
-+    /* fudge for Mac OS X with Apache where Py_IsInitialized() broke */
-+    static int initialized = 0;
-+
-     apr_pool_userdata_get(&data, userdata_key, s->process->pool);
-     if (!data) {
-         apr_pool_userdata_set((const void *)1, userdata_key,
-@@ -490,13 +501,16 @@
-     }
- 
-     /* initialize global Python interpreter if necessary */
--    if (! Py_IsInitialized()) 
-+    if (initialized == 0 || ! Py_IsInitialized()) 
-     {
-+        initialized = 1;
- 
-         /* initialze the interpreter */
-         Py_Initialize();
- 
- #ifdef WITH_THREAD
-+        apr_thread_mutex_create(&interpreters_lock,APR_THREAD_MUTEX_UNNESTED,p);
-+
-         /* create and acquire the interpreter lock */
-         PyEval_InitThreads();
- #endif
-}}}
-
-
-''Mar. 25/05''
-
-The patch listed above causes complaints when attempting to apply it; also, the URL for the OS X patch is broken. I found that patch as well as an additional one for mod_python for use with a multithreaded MPM [http://www.dscpl.com.au/projects/vampire/patches.html here] (same site; pages have been shuffled around).
 ----
-See also TracGuide, TracInstall, TracMultipleProjects
+See also TracGuide, TracInstall, TracCgi, TracFastCgi

wiki-default/TracMultipleProjects

-= Configure Apache for multiple projects =
-By following these instructions, you will set up Apache to automatically serve multiple Trac projects for you. There are two different ways of setting this up: with and without global authentication. And with Apache 2 there are even two ways to do both.
-
-== Easiest method for hosting multiple projects in one domain with Apache 2 ==
-The first way to support multiple projects is to add the following to the Apache 2 config file, per project (myproj in this case):
-
-{{{
-ScriptAlias /myproj /path/to/trac.cgi
-
-<Location "/myproj">
-    SetEnv TRAC_ENV "/var/trac/myproj"
-</Location>
-
-<Location "/myproj/login">
-    AuthType basic
-    AuthName "myproj - trac"
-    AuthUserFile "/var/svn/svn-auth-file"
-    Require valid-user
-</Location>
-}}}
-
-This is in addition to the global line:
-
-{{{
-Alias /trac "/usr/share/trac/htdocs"
-}}}
-
-If you want different users per project, just edit the !AuthUserFile line for each one.
-
-== Harder method: URL Rewriting ==
-In this case both ways use Apache's URL rewriting module : {{{mod_rewrite}}}. You have to make sure you have it loaded or compiled in Apache.
-
-=== Apache 1.x ===
-In 1.x versions of the Apache web server, you must uncomment the following line in the main Apache configuration file, generally found at {{{/etc/apache/apache.conf}}} or {{{/etc/httpd/httpd.conf}}} :
-
-{{{
-LoadModule rewrite_module modules/mod_rewrite.so
-}}}
-
-=== Apache 2.x ===
-Newer versions of Apache (> 2.x) uses a cleaner configuration system. In the directory {{{/etc/apache2/mods-available/}}} are all modules loading and configuration snippets available. In {{{/etc/apache2/mods-enabled/}}} are all enabled modules. You just need to check that a symlink to the rewrite module loading file is present. If not, create it :
-
-{{{
-cd /etc/apache2/mods-enabled/
-ln -s ../mods-available/rewrite.load .
-}}}
-
-Don't forget to check that the {{{LoadModule}}} line in this file ({{{rewrite.load}}}) is uncommented :
-
-{{{
-LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
-}}}
-
-This is Debian and Gentoo(?) specific. On SuSE you edit /etc/sysconfig/apache2 and add rewrite to APACHE_MODULES. Depending on your SuSE version you have to run "SuSEconfig --module apache2" or just "rcapache2 restart"
-
-== The wimp way for multiple projects ==
-For those of using simply the cgi solution, the trac.cgi can be copied/symlinked to other directories
-
-{{{
-<Location "/cgi-bin/project1/trac.cgi">
-        SetEnv TRAC_ENV "/home/trac/project1"
-</Location>
-
-<Location "/cgi-bin/project2/trac.cgi">
-        SetEnv TRAC_ENV "/home/trac/project2"
-</Location>
-}}}
-
-The same works also for the authentication:
-{{{
-<Location "/cgi-bin/project1/trac.cgi/login">
-AuthType Basic
-AuthName "Project1"
-AuthUserFile /home/web/.access-files/trac.project1.htpasswd
-Require valid-user
-</Location>
-
-<Location "/cgi-bin/project2/trac.cgi/login">
-AuthType Basic
-AuthName "Project2"
-AuthUserFile /home/web/.access-files/trac.project2.htpasswd
-Require valid-user
-</Location>
-}}}
-
-== Global authentication ==
-This is the simplest case. With this procedure, you will be able to serve multiple Trac projects, using the same user accounts for every projects (permissions are still per project, but authentication is not). This is the original procedure provided by the Trac team.
-
-Start out by creating a {{{projects}}} directory in your !DocumentRoot (/var/www in this example). Projects will be accessed as http://hostname/projects/projectname. Copy (or symlink) trac.cgi to this {{{projects/}}} directory together with a file named index.html. This will be shown when users try to access nonexistent projects.
-
-Then create your Trac projects with trac-admin. It's important that they are all placed in the same directory. In this example we'll use /var/lib/trac. Add to your Apache configuration:
-
-{{{
-RewriteEngine on
-RewriteRule ^/projects/+$			/projects/index.html [L]
-RewriteCond /var/lib/trac/$1			-d
-RewriteRule ^/projects/([[:alnum:]]+)(/?.*)	/projects/trac.cgi$2 [S=1,E=TRAC_ENV:/var/lib/trac/$1]
-RewriteRule ^/projects/(.*)			/projects/index.html
-
-Alias /trac/ /usr/share/trac/htdocs/
-#or where you installed the trac htdocs
-
-#You have to allow people to read the files in htdocs
-<Directory "/usr/share/trac/htdocs">
-        Options Indexes MultiViews
-        AllowOverride None
-        Order allow,deny
-        Allow from all
-</Directory>
-
-<Directory "/var/www/projects">
-	AllowOverride None
-	Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
-	AddHandler cgi-script .cgi
-	Order allow,deny
-	Allow from all
-</Directory>
-
-<LocationMatch "/projects/[[:alnum:]]+/login">
-	AuthType Basic
-	AuthName "trac"
-	AuthUserFile /path/to/trac.htpasswd
-	Require valid-user
-</LocationMatch>
-}}}
-
-Now, when you add another project, you don't need to edit any apache config. The only file you may want to edit is index.html to make it list the new project. If you think this is too much work, replace it with a python cgi script that does it for you.
-
-[wiki:TracStandalone tracd] and TracModPython can also serve multiple projects.
-
-'''Suggestion:''' In the second ''RewriteRule'' directive and in the ''LocationMatch'' directive, change {{{[[:alnum:]]}}} to {{{[^/.]}}} because while {{{[[:alnum:]]}}} only matches an alpha-numeric character, {{{[^/.]}}} matches any character that is not a slash or a dot.  This change allows for, among other things, hyphens in project/directory names. It doesn't allow dots, because we don't want to match ".." for security reasons.  Another possibility is to replace {{{[[:alnum:]]}}} with {{{[[:alnum:]\-]}}}, which matches only an alphanumeric character or a hyphen (the backslash "escapes" the hyphen, which would otherwise have special meaning).  The [http://httpd.apache.org/docs-2.0/mod/mod_rewrite.html Apache 2.0 mod_rewrite documentation] suggests referencing the Perl regular expression manual page (run {{{perldoc perlre}}} on a system where Perl is installed) for details on regular expressions.  Note that it may be preferable to use a pattern that matches only characters suitable for directory names (and, thus, project names) that are valid for your particular installation.
-
-== Per-project authentication ==
-As you problably noticed, the global procedure described above uses the same {{{AuthUserFile}}}, so every user you create in this file can log in every Trac project you host. Of course, in a non-configured Trac env, this user will be considered as ''anonymous'', but you might not want this too. Using a per-project authentification also allows you to use a different authentification greater for each project.
-
-The procedure we are going to explain here is a bit more complicated than the previous one as it imply Perl scripting, and that you'll need to reload the Apache configuration when you add a new project. But it's also much more ''tweakable''.
-
-=== Preparation ===
-As for the first procedure, you'll need a {{{projects}}} directory into your !DocumentRoot. Copy or symlink {{{trac.cgi}}} to this project :
-
-{{{
-mkdir projects
-ln -s /usr/share/trac/cgi-bin/trac.cgi projects/trac.cgi
-}}}
-
-We will also use an {{{index.cgi}}} file (a Perl script) to list available projects. We will discuss its creation later. We will also take for granted that your Trac environments live in {{{/var/lib/trac/}}}.
-
-=== Apache configuration ===
-The begining is exactly the same than for the global authentification installation :
-
-{{{
-RewriteEngine On
-
-RewriteRule ^/projects/+$                       /projects/index.cgi [L]
-RewriteCond /var/lib/trac/$1                    -d
-
-RewriteRule ^/projects/([[:alnum:]]+)(/?.*)     /projects/trac.cgi$2 [S=1,E=TRAC_ENV:/var/lib/trac/$1]
-RewriteRule ^/projects/(.*)                     /projects/index.cgi
-
-Alias /trac "/usr/share/trac/htdocs"
-<Directory "/var/www/projects">
-  AddHandler cgi-script .cgi
-  Options Indexes MultiViews SymLinksIfOwnerMatch +ExecCGI
-  AllowOverride None
-  Order allow,deny
-  Allow from all
-</Directory>
-}}}
-
-But here comes the magic. For each directory found in {{{/var/lib/trac/}}}, we create the appropriate {{{<Location>}}} section in the Apache configuration, using an automated Perl loop(mod_perl is required). Paste in the following right after the {{{<Directory>}}} section in your Apache config file:
-
-{{{
-#!perl
-<Perl>
-#!/usr/bin/perl
-
-# trac environments location
-my $trac_path = "/var/lib/trac";
-
-# trac base url
-my $trac_location = "/projects";
-
-opendir(TRAC_ROOT, $trac_path) or die "Unable to open Trac root directory ($trac_path)";
-
-while (my $name = readdir(TRAC_ROOT))
-{
-  if ($name =~ /^[[:alnum:]]+$/)
-  {
-    $Location{"$trac_location/$name/login"} = {
-      AuthType => "Basic",
-      AuthName => "\"Trac authentification for $name\"",
-      AuthUserFile => "$trac_path/access.user",
-      AuthGroupFile => "$trac_path/access.group",
-      Require => "group $name",
-    };
-  }
-}
-
-closedir(TRAC_ROOT);
-
-__END__
-</Perl>
-}}}
-
-=== Auth files and project listing ===
-In order to complete this setup, you will need two authentification files :
-
- * {{{/var/lib/trac/access.user}}}, an htpasswd file listing all user logins and passwords. You can of course use one file per project (use {{{$trac_path/$name.htpasswd}}} as AuthUserFile for example).
- * {{{/var/lib/trac/access.group}}}, a group file, listing all authorized user per project, following this syntax :
-   {{{
-proj1: user1 user2
-proj2: user1 user3
-proj3: user4
-   }}}
-
-For the project listing, we create another Perl script which will basically do the same as in the static Apache configuration above. Cut and paste the following into /projects/index.cgi:
-
-{{{
-#!perl
-#!/usr/bin/perl
-
-use strict;
-
-my $trac_path = "/var/lib/trac";
-my $trac_location = "/projects";
-
-# Send header
-print "Content-Type: text/html\n\n";
-
-# Send content
-print "<html>\n";
-print " <head>\n";
-print "  <title>Project listing</title>\n";
-print " </head>\n\n";
-print " <body>\n";
-print "   <h1>Project listing</h1>\n";
-print "   <ul id=\"trac\">\n";
-
-opendir(ROOT, $trac_path)
-        or die "Unable to open root directory ($trac_path)";
-
-while (my $name = readdir(ROOT))
-{
-  if ($name =~ /^[[:alnum:]]+$/)
-  {
-    print "   <li><a href=\"$trac_location/$name\">" . ucfirst($name) . "</a></li>\n";
-  }
-}
-
-closedir(ROOT);
-
-print "   </ul>\n";
-print " </body>\n";
-print "</html>\n";
-
-__END__
-}}}
-
-Here you are ! Don't forget to ''chown'' these files to {{{www-data}}}, and it should work !
-
--------
-See also: TracGuide, TracInstall, TracMultipleProjectsWindows

wiki-default/TracPermissions

  * {{{FILE_VIEW}}}
  * {{{CHANGESET_VIEW}}}
  * {{{BROWSER_VIEW}}}
- * {{{TICKET_VIEW, TICKET_CREATE, TICKET_MODIFY, TICKET_ADMIN}}}
+ * {{{TICKET_VIEW, TICKET_CREATE, TICKET_APPEND, TICKET_CHGPROP, TICKET_MODIFY, TICKET_ADMIN}}}
  * {{{REPORT_VIEW, REPORT_CREATE, REPORT_MODIFY, REPORT_DELETE, REPORT_ADMIN, REPORT_SQL_VIEW}}}
  * {{{WIKI_VIEW, WIKI_CREATE, WIKI_MODIFY, WIKI_DELETE, WIKI_ADMIN}}}
  * {{{MILESTONE_VIEW, MILESTONE_CREATE, MILESTONE_MODIFY, MILESTONE_DELETE}}}

wiki-default/TracPlugins

 
 == Requirements ==
 
-To use plugins in Trac, you need to have [http://peak.telecommunity.com/DevCenter/setuptools setuptools], version 0.5a13 installed.
+To use plugins in Trac, you need to have [http://peak.telecommunity.com/DevCenter/setuptools setuptools] (version 0.5 or 0.6) installed.
 
 To install `setuptools`, download the bootstrap module [http://peak.telecommunity.com/dist/ez_setup.py ez_setup.py] and execute it as follows:
 {{{
-$ python ez_setup.py setuptools==0.5a13
+$ python ez_setup.py
 }}}
 
+If the `ez_setup.py` script fails to install the setuptools release, you can download it from [http://www.python.org/pypi/setuptools PyPI] and install it manually.
+
 == Installing a Trac Plugin ==
 
+=== For a Single Project ===
+
 Plugins are packaged as [http://peak.telecommunity.com/DevCenter/PythonEggs Python eggs]. That means they are ZIP archives with the file extension `.egg`. If you have downloaded a source distribution of a plugin, you can run:
 {{{
-$ setup.py bdist_egg
+$ python setup.py bdist_egg
 }}}
 to build the `.egg` file.
 
 Once you have the plugin archive, you need to copy it into the `plugins` directory of the [wiki:TracEnvironment project environment]. Also, make sure that the web server has sufficient permissions to read the plugin egg.
 
+=== For All Projects ===
+
+Plugins that you want to use in all your projects (such as [http://projects.edgewall.com/trac/wiki/WebAdmin WebAdmin]) can be installed globally by running:
+{{{
+$ python setup.py install
+}}}
+
+Alternatively, you can just drop the `.egg` file in the Python `site-packages` directory.
+
 == Setting up the Plugin Cache ==
 
 Some plugins will need to be extracted by the Python eggs runtime (`pkg_resources`), so that their contents are actual files on the file system. The directory in which they are extracted defaults to the home directory of the current user, which may or may not be a problem. You can however override the default location using the `PYTHON_EGG_CACHE` environment variable.
 SetEnv PYTHON_EGG_CACHE /path/to/dir
 }}}
 
-This works whether your using the [wiki:TracCgi CGI] or the [wiki:TracModPython mod_python] front-end. For [wiki:TracFastCgi FastCGI], you'll need to `-initial-env` option, or whatever is provided by your web server for setting environment variables.
+This works whether your using the [wiki:TracCgi CGI] or the [wiki:TracModPython mod_python] front-end. Put this directive next to where you set the path to the [wiki:TracEnvironment Trac environment], i.e. in the same `<Location>` block.
+
+For example (for CGI):
+{{{
+ <Location /trac>
+   SetEnv TRAC_ENV /path/to/projenv
+   SetEnv PYTHON_EGG_CACHE /path/to/dir
+ </Location>
+}}}
+
+or (for mod_python):
+{{{
+ <Location /trac>
+   SetHandler mod_python
+   ...
+   SetEnv PYTHON_EGG_CACHE /path/to/dir
+ </Location>
+}}}
+
+For [wiki:TracFastCgi FastCGI], you'll need to `-initial-env` option, or whatever is provided by your web server for setting environment variables.
 
 ----
 See also TracGuide, [wiki:TracDev/ComponentArchitecture component architecture]

wiki-default/TracQuery

 
 To configure and execute a custom query, switch to the ''View Tickets'' module from the navigation bar, and select the ''Custom Query'' link.
 
-== Query Form ==
+== New Interface For 0.9 ==
+
+The query interface has been totally revamped for Trac [milestone:0.9] to be simpler and easier to use.  Users of Trac 0.8 should skip down to the sections below covering the previous interface.
+
+=== Filters ===
+When you first go to the query page the default filters will display all open tickets, or if you're logged in it will display open tickets assigned to you.  Current filters can be removed by clicking the button to the right with the minus sign on the label.  New filters are added from the pulldown list in the bottom-right corner of the filters box.  Filters with either a text box or a pulldown menu of options can be added multiple times to perform an ''or'' of the criteria.
+
+You can use the fields just below the filters box to group the results based on a field, or display the full description for each ticket.
+
+Once you've edited your filters click the ''Update'' button to refresh your results.
+
+=== Navigating Tickets ===
+Clicking on one of the query results will take you to that ticket.  You can navigate through the results by clicking the ''Next Ticket'' or ''Previous Ticket'' links just below the main menu bar, or click the ''Back to Query'' link to return to the query page.  
+
+You can safely edit any of the tickets and continue to navigate through the results using the ''Next/Previous/Back to Query'' links after saving your results.  When you return to the query any tickets you edited will be displayed with italicized text.  If one of the tickets was edited such that it no longer matches the query criteria the text will also be greyed.  The query results can be refreshed and cleared of these status indicators by clicking the ''Update'' button again.
+
+=== Saving Queries ===
+You may want to save some queries so that you can come back to them later.  You can do this by making a link to the query from any Wiki page.  First, select the criteria from the URL line in your web browser, starting at the "?" to the end of the line.  This can be pasted into a Wiki link in the following format:
+
+{{{
+[query:?status=assigned&group=owner&order=priority Assigned Tickets by Owner]
+}}}
+
+Which is displayed as:
+
+[query:?status=assigned&group=owner&order=priority Assigned Tickets by Owner]
+
+
+== Previous Interface for 0.8 ==
+
+=== Query Form ===
 
 A form will be presented, letting you select or enter values for any of the ticket properties (both built-in and custom). Any value selected/entered in this form will be used to constrain the set of tickets displayed. Only tickets where properties match the criteria will be displayed.
 
-== Results Display ==
+=== Results Display ===
 
 After executing the search, a list of tickets meeting the selected criteria will show. By default, the list is sorted by priority. You can change the sorting to any other visible column by clicking on the corresponding column header. Clicking the same header again will reverse the sort order.
 

wiki-default/TracStandalone

 
 Tracd is a lightweight stand-alone Trac server. In most cases it's easier to setup and runs faster than trac.cgi.
 
-'''Note: tracd is still experimental.'''
 
 == Pros ==
 
 
  * Less features: Tracd implements a very simple web-server and is not as configurable as apache.
  * Only htdigest authentication: Tracd can currently only authenticate users against apache-htdigest files.
- * No native https support: [http://www.rickk.com/sslwrap/ sslwrap] can be used instead.
+ * No native https support: [http://www.rickk.com/sslwrap/ sslwrap] can be used instead,
+   or [http://lists.edgewall.com/archive/trac/2005-August/004381.html STUNNEL].
 
 == Usage examples ==
 
 
 == Tracd on Windows ==
 
-tracd also works on Windows. But on that platform, 
-the sensitivity on multithread issues is high.
-tracd is not (yet!) very robust in multithread mode,
-see for example #1401 and #1721 for some of the issues...
-
-I recently found out that all the occasional problems 
-(i.e. crashes) I had can be avoided by telling tracd 
-to operate in single-threaded mode:
+tracd also works on Windows. 
+But on that platform, the sensitivity on multithreading issues is high,
+and you ''might'' have problems (i.e. crashes of the Python interpreter).
+If this happens, you can force tracd to operate in single-threaded mode:
 {{{
 #!text/x-diff
 Index: trac/web/standalone.py
      projects = None
 }}}
 
+Please also report any such issue, as they are believed to be fixed by now.
+
+
 == Generating passwords on Windows ==
 
 If you don't have Apache available, you can use this Python script to generate your passwords (code borrowed heavily from #845):

wiki-default/TracSupport

 
 There is also an [http://projects.edgewall.com/trac/wiki/IrcChannel IRC channel], where people might be able to help out. Much of the 'live' development discussions also happen there.
 
+Before you start a new support query, make sure you've done the appropriate searching:
+ * in the project's [http://projects.edgewall.com/trac/wiki/TracFaq FAQ]
+ * in past messages to the Trac [http://blog.gmane.org/gmane.comp.version-control.subversion.trac.general?set_user_css=http%3A%2F%2Fwww.edgewall.com%2Fcss%2Fgmane.css&do_set_user_css=t Mailing List]
+ * in Trac tickets, using either the [search:?q=&ticket=on&wiki=on Search] or the [query:"?summary=~&keywords=~somekeyword" Query] modules
+
+
 ----
-See also: [http://projects.edgewall.com/trac/wiki/MailingList MailingList], 
+See also: [http://projects.edgewall.com/trac/wiki/MailingList MailingList]

wiki-default/TracUnicode

 === Bulgarian ===
 Българският език работи ли?
 
+=== Česky ===
+Čeština v kódování UTF-8, žádný problém.
+
 === Chinese ===
 Traditional: ''繁體中文, 許功蓋會育''; Simplified: ''简体中文,许功盖会育''
 
 ''Il est possible d'écrire en Français : à, ç, û, ...''
 Voir aussi TracTermsFr
 
+=== German ===
+Trac-Wiki muß auch deutsche Umlaute richtig anzeigen: ö, ä, ü, ...
+
 === Greek ===
 Τα Ελληνικά υποστηρίζονται επαρκώς επίσης.
 
 Проверка русского языка: кажется работает...
 See also TracTermsRu
 
+=== Serbian ===
+Podržan, uprkos činjenici da se za njegovo pisanje koriste чак два алфабета.
+
+=== Slovenian ===
+Ta suhi škafec pušča vodo že od nekdaj!
+
 === Spanish ===
 Esto es un pequeño texto en Español, ahora una con acentó
 

wiki-default/TracUpgrade

 
  '''Note''': ''Environment upgrades are not necessary for minor version releases unless otherwise noted. For example, there's no need to upgrade a Trac environment created with (or upgraded) 0.8.0 when installing 0.8.4 (or any other 0.8.x release).''
 
-== Upgrade Synopsis ==
+== General Instructions ==
 
-A typical upgrade looks like the following: 
+Typically, there are four steps involved in upgrading to a newer version of Trac:
 
- 1. You upgrade the Trac source code - from an offical release or from a source checkout.
- 2. You run the `trac-admin upgrade` command to bring the database up-to-date with the new Trac code. The table structure changes over time, but it is versioned. The upgrade command find the current version of the DB and the version required by the code, and performs an upgrade if required.
- 3. Optionally, you can run the `wiki upgrade` command to bring the default Wiki pages up-to-date. Your `WikiStart` page will be left intact, of course.
+=== Update the Trac Code ===
+
+Get the new version of Trac, either by downloading an offical release package or by checking it out from the [http://projects.edgewall.com/trac/wiki/SubversionRepository Subversion repository].
+
+If you have a source distribution, you need to run
+{{{
+python setup.py install
+}}}
+
+to install the new version. If you've downloaded the Windows installer, you execute it, and so on.
+
+In any case, if you're doing a major version upgrade (such as from 0.8 to 0.9), it is ''highly'' recommended that you first remove the existing Trac code. To do this, you need to delete the `trac` directory from the Python `lib/site-packages` directory. You may also want to remove the Trac `cgi-bin`, `htdocs` and `templates` directories that are commonly found in a directory called `share/trac` (the exact location depends on your platform).
+
+=== Upgrade the Trac Environment ===
+
+Unless noted otherwise, upgrading between major versions (such as 0.8 and 0.9) involves changes to the database schema, and possibly the layout of the [wiki:TracEnvironment environment directory]. Fortunately, Trac provides automated upgrade scripts to ease the pain. These scripts are run via [wiki:TracAdmin trac-admin]:
+{{{
+trac-admin /path/to/projenv upgrade
+}}}
+
+This command will do nothing if the environment is already up-to-date. [[BR]]
+
+=== Update the Trac Documentation ===
+
+Every [wiki:TracEnvironment Trac environment] includes a copy of the Trac documentation for the installed version. As you probably want to keep the included documentation in sync with the installed version of Trac, [wiki:TracAdmin trac-admin] provides a command to upgrade the documentation:
+{{{
+trac-admin /path/to/projenv wiki upgrade
+}}}
+
+Note that this procedure will of course leave your `WikiStart` page intact.
+
+=== Restart the Web Server ===
+
+In order to reload the new Trac code you will need to restart your web server (note this is not necessary for plain old CGI, although CGI is discouraged for performance reasons).
+
+== Specific Versions ==
+
+The following sections discuss any extra actions that may need to be taken to upgrade to specific versions of Trac.
 
 == From 0.8.x to 0.9 ==
 
-The database schema was changed between 0.8.x and 0.9. Existing environments must be upgraded before they can be used with Trac 0.9.
+If you're using [wiki:TracCgi CGI] you will want to update your `Alias` to the Trac htdocs static resources.  See the documentation on [wiki:TracCgi#MappingStaticResources mapping static resources] for an example on how to configure this.
 
-The following command will automatically perform the upgrade:
-{{{
- $ trac-admin /path/to/projectenv upgrade
-}}}
+[wiki:TracFastCgi FastCGI] and [wiki:TracModPython mod_python] users can safely remove any `Alias`es to the Trac htdocs folder since this is no longer used by default.
 
-Trac environments are created with a default set of wiki pages. It's recommended to update these pages on existing environments whenever Trac is upgraded to get up-to-date documentation and additional functionality. The following command will perform the update:
-{{{
- $ trac-admin /path/to/projectenv wiki upgrade
-}}}
-
-If you're using [wiki:TracModPython mod_python], you will need to change the name of the mod_python handler in the Apache HTTPD configuration:
+[wiki:TracModPython mod_python] users will also need to change the name of the mod_python handler in the Apache HTTPD configuration:
 {{{
    from: PythonHandler trac.ModPythonHandler
    to:   PythonHandler trac.web.modpython_frontend
 }}}
 
-== From 0.7.x to 0.8 ==
+If you have [http://initd.org/tracker/pysqlite PySQLite] 2.x installed, Trac will now try to open your SQLite database using the SQLite 3.x file format. The database formats used by SQLite 2.8.x and SQLite 3.x are incompatible. If you get an error like ''“file is encrypted or is not a database”'' after upgrading, then you must convert your database file.
 
-The database schema was changed between 0.7.x and 0.8. Existing environments
-must be upgraded before they can be used with Trac 0.8.
-
-The following command will automatically perform the upgrade:
+To do this, you need to have both SQLite 2.8.x and SQLite 3.x installed (they have different filenames so can coexist on the same system). Then use the following commands:
 {{{
- $ trac-admin /path/to/projectenv upgrade
+ $ mv trac.db trac2.db
+ $ sqlite trac2.db .dump | sqlite3 trac.db
 }}}
 
-Trac environments are created with a default set of wiki pages. It's 
-recommended to update these pages on existing environments whenever
-Trac is upgraded to get up-to-date documentation and additional functionality.
-The following command will perform the update:
-{{{
- $ trac-admin /path/to/projectenv wiki upgrade
-}}}
+After testing that the conversion was successful, the `trac2.db` file can be deleted. For more information on the SQLite upgrade see http://www.sqlite.org/version3.html.
+
+== From 0.7.x to 0.8 ==
 
 0.8 adds a new roadmap feature which requires additional permissions. While a
 fresh installation will by default grant ROADMAP_VIEW and MILESTONE_VIEW
  $ trac-admin /path/to/projectenv permission add anonymous ROADMAP_VIEW
 }}}
 
-== Upgrading SQLite from 2.x to 3.x ==
-
-The database formats used by SQLite 2.x and sqlite 3.x are incompatible. If you upgrade your SQLite version (this can  also happen implicitly if you upgrade from PySQLite 1.0.x to 1.1.x or 2.x), then you must convert your database. 
-
-To do this, install both SQLite 2.8 and SQLite 3.x  (they have different filenames so can coexist in the same directory). Then use the following commands (Windows):
-{{{
- $ mv trac.db trac2.db
- $ sqlite trac2.db .dump | sqlite3 trac.db
-}}}
-
-Then when you're happy with the conversion and tested everything  you can delete the trac2.db file.
-
-For more information see http://www.sqlite.org/version3.html
-
 -----
 See also: TracGuide, TracInstall

wiki-default/WikiFormatting

 = WikiFormatting =
 [[TracGuideToc]]
 
-Wiki markup is a core feature in Trac, tightly integrating all the other parts of Trac into flexible and powerful whole.
+Wiki markup is a core feature in Trac, tightly integrating all the other parts of Trac into a flexible and powerful whole.
 
-Trac has a built in small and powerful wiki rendering engine. This wiki engine implements an ever growing subset of the commands from other popular Wikis especially [http://moinmoin.wikiwikiweb.de/ MoinMoin]. 
+Trac has a built in small and powerful wiki rendering engine. This wiki engine implements an ever growing subset of the commands from other popular Wikis,
+especially [http://moinmoin.wikiwikiweb.de/ MoinMoin]. 
+
 
 This page demonstrates the formatting syntax available anywhere WikiFormatting is allowed.
 
+
 == Font styles ==
 
-The Trac wiki supports the following font styles: '''bold''', ''italic'', '''''bold italic''''',
-__underline__, {{{monospace}}}, ~~strike-through~~, ^superscript^ and ,,subscript,,.
+The Trac wiki supports the following font styles:
+{{{
+ * '''bold'''
+ * ''italic''
+ * '''''bold italic'''''
+ * __underline__
+ * {{{monospace}}} or `monospace`
+ * ~~strike-through~~
+ * ^superscript^ 
+ * ,,subscript,,.
+}}}
 
-{{{
-The Trac wiki supports the following font styles: '''bold''', ''italic'', '''''bold italic''''',
-__underline__, {{{monospace}}}, ~~strike-through~~, ^superscript^ and ,,subscript,,.
-}}}
+Display:
+ * '''bold'''
+ * ''italic''
+ * '''''bold italic'''''
+ * __underline__
+ * {{{monospace}}} or `monospace`
+ * ~~strike-through~~
+ * ^superscript^ 
+ * ,,subscript,,.
+
 
 
 == Heading ==
 
-You can create heading by starting a line with one up to five ''equal'' '=' characters
+You can create heading by starting a line with one up to five ''equal'' "=" characters
 followed by a single space and the headline text. The line should end with a space 
 followed by the same number of ''equal'' characters. 
 
-''Note: As of writing, headings cannot contain TracLinks.''
-
-=== Example: ===
+Example:
 {{{
 = Heading =
 == Subheading ==
+=== About ''this'' ===
 }}}
 
+Display:
+= Heading =
+== Subheading ==
+=== About ''this'' ===
+
 
 == Paragraphs ==
 
 
   Text paragraphs can be indented by starting the lines with two or more spaces.
 
+
 == Lists ==
+
 The wiki supports both ordered/numbered and unordered lists.
-(Note: there must be a space preceding the star (*) or number (1.), or nothing will happen.)
+There must be a space preceding the star "*" or number "1.", or nothing will happen.
 
 Example:
 {{{
    1. Item 1.1
  1. Item 2
 
+
+== Definition lists ==
+
+The wiki also supports definition lists.
+
+Example:
+{{{
+ llama::
+   some kind of mammal, with hair
+ ppython::
+   some kind of reptile, without hair
+   (can you spot the typo?)
+}}}
+
+Display:
+ llama::
+   some kind of mammal, with hair
+ ppython::
+   some kind of reptile, without hair
+   (can you spot the typo?)
+
+Note that you need a space in front of the defined term.
+
+
 == Preformatted text ==
-Block quotes, preformatted text, are suitable for source code snippets, notes and examples. Use three ''curly braces'' wrapped around the text to define a block quote:
+
+Block quotes, preformatted text, are suitable for source code snippets, notes and examples. Use three ''curly braces'' wrapped around the text to define a block quote.
   
 Example:
 {{{
      print "Hello World"
 }}}
 
+
 == Tables ==
 
 Simple tables can be created like this:
 ||Cell 1||Cell 2||Cell 3||
 ||Cell 4||Cell 5||Cell 6||
 }}}
+
 Display:
 ||Cell 1||Cell 2||Cell 3||
 ||Cell 4||Cell 5||Cell 6||
 
+Note that more complex tables can be created using
+[wiki:WikiRestructuredText#BiggerReSTExample reStructuredText].
+
 == Links ==
 
-!Hyperlinks are automatically created for WikiPageNames and urls. !WikiPageLinks can be disabled by
-prepending an exclamation mark (!) character, such as {{{!WikiPageLink}}}.
+Hyperlinks are automatically created for WikiPageNames and urls. 
+!WikiPageLinks can be disabled by
+prepending an exclamation mark "!" character, such as {{{!WikiPageLink}}}.
 
-Examples:
+Example:
+{{{
+ TitleIndex, http://www.edgewall.com/, !NotAlink
+}}}
 
- TitleIndex, http://www.edgewall.com/.
+Display:
+ TitleIndex, http://www.edgewall.com/, !NotAlink
 
 Links can be given a more descriptive title by writing the link followed by
-a space and a title and all this inside square brackets. Like this:
+a space and a title and all this inside square brackets. 
+If the descriptive title is omitted, then the explicit prefix is disguarded,
+unless the link is an external link. This can be useful for wiki pages
+not adhering to the WikiPageNames convention.
+
+Like this:
 {{{
  * [http://www.edgewall.com/ Edgewall Software]
  * [wiki:TitleIndex Title Index]
+ * [wiki:ISO9000]
 }}}
+
 Display:
-
  * [http://www.edgewall.com/ Edgewall Software]
  * [wiki:TitleIndex Title Index]
+ * [wiki:ISO9000]
+
 
 === Trac Links ===
 
 Wiki pages can link directly to other parts of the Trac system.
 Pages can refer to tickets, reports, changesets, milestones, source files and
 other Wiki pages using the following notation:
- * Tickets: '''!#1''' or '''!ticket:1'''
- * Reports: '''!{1}''' or '''!report:1'''
- * Changesets: '''![1]''' or '''!changeset:1'''
- * Wiki pages: '''CamelCase''' or '''!wiki:CamelCase'''
- * Milestones: '''!milestone:1.0'''
- * Files: '''!source:trunk/COPYING'''
- * A specific file revision: '''!source:/trunk/COPYING#200'''
+{{{
+ * Tickets: #1 or ticket:1
+ * Reports: {1} or report:1
+ * Changesets: r1, [1] or changeset:1
+ * Revision Logs: r1:3, [1:3] or log:branches/0.9-stable#1:3
+ * Wiki pages: CamelCase or wiki:CamelCase
+ * Milestones: milestone:1.0 or milestone:"End-of-days Release"
+ * Files: source:trunk/COPYING
+ * A specific file revision: source:/trunk/COPYING#200
+ * A filename with embedded space: source:"/trunk/README FIRST"
+}}}
+
 Display:
  * Tickets: #1 or ticket:1
  * Reports: {1} or report:1
- * Changesets: [1] or changeset:1
+ * Changesets: r1, [1] or changeset:1
+ * Revision Logs: r1:3, [1:3] or log:branches/0.8-stable#1000:2000
  * Wiki pages: CamelCase or wiki:CamelCase
- * Milestones: milestone:1.0
+ * Milestones: milestone:1.0 or milestone:"End-of-days Release"
  * Files: source:trunk/COPYING
  * A specific file revision: source:/trunk/COPYING#200
+ * A filename with embedded space: source:"/trunk/README FIRST"
 
 See TracLinks for more in-depth information.
 
-== Escaping Links and WikiNames ==
-You may avoid making hyperlinks out of TracLinks by preceding an expression with a single '!' (exclamation mark).
+
+== Escaping Links and WikiPageNames ==
+
+You may avoid making hyperlinks out of TracLinks by preceding an expression with a single "!" (exclamation mark).
 
 {{{
  !NoHyperLink
  !NoHyperLink
  !#42 is not a link
 
+
 == Images ==
 
-Urls ending with .png, .gif or .jpg are automatically interpreted as image links, and converted to IMG tags.
+Urls ending with `.png`, `.gif` or `.jpg` are automatically interpreted as image links, and converted to `<img>` tags.
 
 Example:
 {{{
 http://www.edgewall.com/gfx/trac_example_image.png
 }}}
+
 Display:
 
 http://www.edgewall.com/gfx/trac_example_image.png
 
+
 == Macros ==
-Macros are ''custom functions'' to insert dynamic content in a page. See WikiMacros for usage.
+
+Macros are ''custom functions'' to insert dynamic content in a page. 
+See WikiMacros for usage.
 
 Example:
 {{{
  [[Timestamp]]
 }}}
+
 Display:
  [[Timestamp]]
 
+
 == Processors ==
-Trac supports alternative markup formats using WikiProcessors. For example, processors are used to write pages in [wiki:WikiRestructuredText reStructuredText] or [wiki:WikiHtml HTML]. 
+
+Trac supports alternative markup formats using WikiProcessors. 
+For example, processors are used to write pages in 
+[wiki:WikiRestructuredText reStructuredText] or [wiki:WikiHtml HTML]. 
 
 See WikiProcessors for more information.
 
 &lt;h1 style="text-align: right; color: blue"&gt;HTML Test&lt;/h1&gt;
 }}}</pre>
 }}}
+
 Display:
 {{{
 #!html
    Test()
 }}}</pre>
 }}}
+
 Display:
 {{{
 #!python
    Test()
 }}}
 
+
 == Miscellaneous ==
 
 Four or more dashes will be replaced by a horizontal line (<HR>)
 
+Example:
 {{{
  ----
 }}}
 Display:
 ----
 
----
+
 ----
--
+
 See also: TracLinks, TracGuide, WikiHtml, WikiMacros, WikiProcessors, TracSyntaxColoring.
 
 ----

wiki-default/WikiStart

-= Welcome to Trac 0.9b1 =
+= Welcome to Trac 0.9b2 =
 
 Trac is a '''minimalistic''' approach to '''web-based''' management of
 '''software projects'''. Its goal is to simplify effective tracking and handling of software issues, enhancements and overall progress.

wiki-default/checkwiki.py

  "TracLinks",
  "TracLogging",
  "TracModPython",
- "TracMultipleProjects",
  "TracNotification",
  "TracPermissions",
  "TracPlugins",
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.