Example plugin from www.edgewall.com

Description

A component that handles HTTP requests and extends the navigation bar.

More information at edgewall.com.

Bugs/Feature Requests

N/A, example.

Download

Copy and paste this.

Installing

Authoritative instructions here, but reproduced below:

trac:TracPlugins are packaged as Python Eggs. You can use setuptools to make a setup.py script that will produce a Python Egg for your plugin.

The egg file needs to have a file named trac_plugin.txt in its EGG-INFO directory. This file should contain the names of all modules that need to be imported by Trac to register your components.

Note that this will change in the very near future: setuptools 0.6 will introduce the concept of “entry points”, which will be used instead of the trac_plugin.txt descriptor.. See trac:TracPlugins for details.

A plugin can either be deployed globally, or only for a specific environment. Global deployment is done by installing the plugin:

$ cd /path/to/pluginsource
$ python setup.py install

To deploy a plugin only to a specific Trac environment, copy the egg file into the plugins directory of that environment:

$ cd /path/to/pluginsource
$ python setup.py bdist_egg
$ cp dist/*.egg /path/to/projenv/plugins

During development of a plugin, it is inconvenient to have to install it in either of the ways described above. Instead, you should use the setuptools develop command:

$ cd /path/to/pluginsource
$ python setup.py develop --install-dir=/path/to/projenv/plugins

You can omit the --install-dir argument to make the development version of your plugin available globally.

This will install an .egg-link file instead of the actual egg. That file is basically a link to the source directory of your plugin, so that Trac will always see the latest version of your code.

A tutorial to build your own plugins is available here: EggCookingTutorial

Author/Contributors

Author: trac:TracTeam

Thanks!!