About Site Map Submit Contact Us Log in | Create an account
Create an account Log In
Average Rating
User Rating:
Visitors Rating:
My rating:

Write review
See full specifications

linux default iconpbp.recipe.trac Publisher's description

Expert Python Programming - ZC Buildout recipe that installs and configures a Trac server.

This recipe will help you setup a full-featured Trac instance via buildout.

It allows you to automate the creation and management of multiples Trac instances. It provides sensible default to the trac.ini configuration file. It also takes care of instance upgrades, Wiki documentation updates and source code repository resynchronization.

It currently supports Trac 0.11.x only, as for all future release of pbp.recipe.trac v0.3.x. Support of Trac 0.12.x is planned for pbp.recipe.trac v0.4.

Supported options

The recipe supports the following options:

project-name (required)

Name of the Trac instance. This name will also be used as the default value for the smtp-from-name option. Default value: My project.


Description of the project. This description will also be used as the alternative text to the header logo.


This URL will be used as the link on the header logo. Default value: http://example.com.

repos-type (required)

Supported values: svn for Subversion, hg for Mercurial.

repos-path (required)

Location, on the local file system, of your code repository.


If set, this will enable and configure the Subversion Location plugin. This only works for Subversion repositories.


If set to True, this will trigger the internal Trac upgrade process on the current instance, even if Trac don't think it's needed. Default value: False.


If set to True, this will force the resynchronization of Trac against the source code repository. Default value: False.


If set to True, this will upgrade the default wiki pages embedded in the current Trac instance. As said in Trac 0.11 documentation, this will not remove deprecated wiki pages that were previously part of a Trac release. Default value: False.


If set to False, this will not remove the default milestones and components added by Trac when creating a brand new instance. Default value: True.


List of all custom milestones to create. You can add several custom parameters, one per line. Example:

milestones = 0.1


List of components for which we can attached Trac tickets to. The syntax must follow the Component name | Component owner scheme. Example:

components = The application itself | kevin
Build tools | cecile


List of custom permissions to set. Both users and groups are supported. Example:

permissions = cecile | REPORT_ADMIN
anonymous | STATS_VIEW

A list of permissions can be found on Trac's wiki.


Location of the logo that will replace the default Trac logo at the top of each page. The file will be copied by the recipe to the htdocs directory of your Trac instance.


The bottom right-aligned text displayed on each page displayed by Trac. HTML can be used here. Default value This Trac instance was generated by <a href="http://pypi.python.org/pypi/pbp.recipe.trac">pbp.recipe.trac</a>..


Email address(es) to always send notifications to, addresses do not appear publicly (Bcc:).


Email address(es) to always send notifications to, addresses can be seen by all recipients (Cc:).


Default host/domain to append to address that do not specify one


Enable SMTP (email) notification.


Sender address to use in notification emails.


Sender name to use in notification emails. Default value: project-name option value.


Password for SMTP server.


SMTP server port to use for email notification.


Reply-To address to use in notification emails.


SMTP server hostname to use for email notifications.


Text to prepend to subject line of notification emails. If the setting is not defined, then the value of project-name is used as prefix. If no prefix is desired,then specifying an empty option will disable it.


Username for SMTP server.


This will use the NavAdd plugin to add new menu entries in Trac's top navigation toolbar. The syntax must respect the following scheme: Title | Url. You can specify multiple menu entries as shown in the following example:

additional-menu-items = Buildbot | http://localhost:9080/
Demo instance | http://trac.edgewall.org/demo-0.13


If set to enabled, will activate the Estimation and Time Tracking plugin. Default value: disabled.


If set to enabled, will activate the TracStats plugin. Default value: disabled.


In case a Trac parameter is not natively supported by this recipe, you can use this to add your own. The syntax must respect the following scheme: Section | Parameter | Value. You can add several custom parameters, one per line. Example:

trac-ini-additional = attachment | max_size | 52428800
notification | always_notify_owner | true
logging | log_level | DEBUG

This option is applied just before writing the final trac.ini generated by this recipe. So thanks to trac-ini-additional, you always have a way to fix your trac.ini even if this recipe breaks it.

And to get more informations on all the trac.ini parameters, see: http://trac.edgewall.org/wiki/0.11/TracIni

Example usage

We'll start by creating a buildout that uses the recipe:

>>> write('buildout.cfg',
... """
... [buildout]
... parts = trac
... index = http://pypi.python.org/simple
... [trac]
... recipe = pbp.recipe.trac
... project-name = My project
... project-url = http://example.com
... repos-type = hg
... repos-path = sqlite:${buildout:directory}/var/svn
... header-logo = ${buildout:directory}/my_logo
... smtp-server = localhost
... smtp-port = 25
... smtp-from = tarek@ziade.org
... smtp-replyto = tarek@ziade.org
... """)

Let's run the buildout:

>>> res = system(buildout)

This creates a trac instance:

>>> ls(join(sample_buildout, 'parts', 'trac'))
d attachments
d conf
d db
d htdocs
d log
d plugins
d templates

With a trac.ini file. Let's check its content:

>>> f = join(sample_buildout, 'parts', 'trac', 'conf', 'trac.ini')
>>> from ConfigParser import ConfigParser
>>> parser = ConfigParser()
>>> null = parser.read([f])
>>> parser.get('trac', 'repository_type')
>>> parser.get('trac', 'repository_dir')
>>> parser.get('project', 'descr')
'My example project'
>>> parser.get('project', 'name')
'My project'
>>> parser.get('project', 'url')
>>> parser.get('components', 'tracext.hg.*')


What's New in This Release:

В· Let's make this release based on Trac 0.12. [kdeldycke]
В· Rework the milestones and components system to work with Trac 0.12. [kdeldycke]
В· Always transform permissions to upper strings. [kdeldycke]
В· Allow custom components to have no owner. [kdeldycke]
В· Let's install the Babel package which add support of i18n to Trac. [kdeldycke]
В· Add initial support for multiple repositories. [kdeldycke]
В· Remove the TracSubversionLocation plugin as its features are now implemented by Trac itself. [kdeldycke]
В· Add an option to set the default repository. [kdeldycke]
В· Apply custom permissions at the end of the instance creation to let a chance to plugins to register their custom permissions. [kdeldycke]

System Requirements:

No special requirements.
Program Release Status:
Program Install Support: Install and Uninstall

pbp.recipe.trac Tags:

Click on a tag to find related softwares

Is pbp.recipe.trac your software?

Manage your software

Most Popular

linux default icon GDB 7.4
GDB, the GNU Project debugger, allows you to see what is going on `inside' another program while it... Read more
linux default icon Coral 0.9.1
Coral is a tool and a development platform to create and transform models and modeling languages.
linux default icon Forum Paid Plus Script 6.1
Forum Paid Pay Per Post Exchange is targeted at forum owners who wish to...
linux default icon sdo 0.6.5
Converts oracle SDO_GEOMETRY objects to WKT and GeoJSON.
linux default icon Get Paid Plus Script 6.1
Get Paid Plus Script

Related Category

» Other (877)
» Tools & Editors (359)
» Web Development (146)