| Trac Plugin Installation: |
Trac plugins are available to enhance Trac functionality.
The plugins require some Python infrastructure for installation.
Install the Python package "setuptools" which includes command "easy_install".
Red Hat/CentOS/Fedora installation: The "setuptools" package is available as an RPM on the installation DVD or via YUM: yum install python-setuptools
Debian/Ubuntu installation: apt-get install python-setuptools
Source installation: On older systems or distributions which do not include "setuptools", one can download and install it from source.
The following is an example for Red Hat Enterprise 4 / CentOS 4.
Use one of the following two methods to install the command "/usr/bin/easy_install":
- Python script:
- Download the Python script http://peak.telecommunity.com/dist/ez_setup.py
- Run: python ez_setup.py
This will download and run the script: setuptools-0.6c6-py2.3.egg
which installs "easy_install".
- Egg script:
- Download: http://cheeseshop.python.org/packages/2.4/s/setuptools/setuptools-0.6c6-py2.4.egg
- As root: chmod +x setuptools-0.6c6-py2.3.egg
- Run: ./setuptools-0.6c6-py2.3.egg
Documentation:
List Trac plugins installed: Select "Admin" tab + "Plugins"
-
This plugin for Trac will render graphviz drawings within a Trac wiki or ticket page.
Trac Graphviz Plugin
Installation:
Use the command:
easy_install http://trac-hacks.org/svn/graphvizplugin/0.13
Uses subversion. If required, set the proxy in your Subversion config file: ~/.subversion/servers
-
[global]
http-proxy-host = proxy.megacorp.com
http-proxy-port = 80
Install prerequisites:
Requires Graphviz RPMs and dependencies: http://www.graphviz.org/Download_linux_rhel.php
- graphviz
Graphviz dependencies (I installed both the i686 and x86_64 packages):
- gtkglarea
- gtkglarea2
- gtkglarea2-devel
- gtkglext-libs (RHEL6.1+ http://rpm.pbone.net/index.php3/stat/4/idpl/17458912/dir/centos_6/com/gtkglext-libs-1.2.0-11.el6.x86_64.rpm.html)
- freeglut (http://rpm.pbone.net/index.php3/stat/4/idpl/15160534/dir/redhat_el_6/com/freeglut-2.4.0-9.el6.x86_64.rpm.html)
- graphviz-devel
- graphviz-doc
- graphviz-gd
- graphviz-graphs
- graphviz-perl
- graphviz-python
- graphviz-tcl
- webdot
- gts
- gts-devel
- mod_python (Fast CGI for Python: Apache WSGI)
- python-clearsilver
Configuration:
-
Add the following to the Trac configuration file:
/srv/trac/projectx/conf/trac.ini
...
[graphviz]
cache_dir = /tmp/trac
cache_manager = yes
[components]
graphviz.* = enabled
...
|
Upgrade and restart:
- trac-admin /srv/trac/projectx upgrade
- service httpd restart
[Potential Pitfall]:
You may get an error during operation due to a lack of access to /tmp/trac
Fix:
-
mkdir /tmp/trac
chown apache.apache /tmp/trac
If the system removes this directory periodically, this may have to be added to a cron job.
-
Add the following cron job file:
/etc/cron.daily/trac-fix
#! /bin/sh
# Cron sjobs clean-up /tmp and delete a required
# directory for the Trac peer review plugin
if [ ! -d /tmp/trac ]; then
mkdir /tmp/trac
chown apache.apache /tmp/trac
fi
|
SELinux attributes: chcon system_u:object_r:bin_t:s0 /etc/cron.daily/trac-fix
Example of use:
-
Enter in Trac wiki markup within a Trac wiki page or Trac ticket posting:
...
{{{
#!graphviz
digraph G {
rankdir = "LR"
UserAction [ URL=UserActionWikiPage ]
App [
URL="http://www.yolinux.com/"
fontcolor=red
]
UserAction -> App
}
}}}
[[BR]]
{{{
#!graphviz
digraph G {Hello->World->Rules}
}}}
...
|
Note:
- The URL spacifies the link for the text "UserAction" and "App".
The URL UserActionWikiPage is the typical Trac camelcase link within Trac wiki markup to another wiki page.
- The specification of "LR" is Left to Right. Default is vertical, top to bottom.
Displays in Trac ticket page as:
| Trac "master tickets" plugin: |
Installation:
Install Graphviz and dot:
A consequence of installing the "Graphviz" plugin is that all of the graphviz pre-requisites are also installed. The "Graphviz" plugin is not required or used by the "master tickets" plugin. If Greaphviz and the dot command are not installed, install the following Linux packages:
Requires Graphviz RPMs and dependencies: http://www.graphviz.org/Download_linux_rhel.php
- graphviz
Graphviz dependencies (I installed both the i686 and x86_64 packages):
- gtkglarea
- gtkglarea2
- gtkglarea2-devel
- gtkglext-libs (RHEL6.1+ http://rpm.pbone.net/index.php3/stat/4/idpl/17458912/dir/centos_6/com/gtkglext-libs-1.2.0-11.el6.x86_64.rpm.html)
- freeglut (http://rpm.pbone.net/index.php3/stat/4/idpl/15160534/dir/redhat_el_6/com/freeglut-2.4.0-9.el6.x86_64.rpm.html)
- graphviz-devel
- graphviz-doc
- graphviz-gd
- graphviz-graphs
- graphviz-perl
- graphviz-python
- graphviz-tcl
- webdot
- gts
- gts-devel
- mod_python (Fast CGI for Python: Apache WSGI)
- python-clearsilver
Configuration:
Master ticket plugin:
-
Add the following to the Trac configuration file:
/srv/trac/projectx/conf/trac.ini
...
[mastertickets]
dot_path = /usr/bin/dot
graph_direction = TD
[ticket-custom]
blocking = text
blocking.label = Blocking
blockedby = text
blockedby.label = Blocked By
[graphviz]
cache_dir = /tmp/trac
cache_manager = yes
[components]
mastertickets.* = enabled
graphviz.* = enabled
...
|
TD options:
- TD = Top Down
- DT = Down Top
- LR = Left Right
- RL = Right Left
Upgrade and restart:
- trac-admin /srv/trac/projectx upgrade
- trac-admin /srv/trac/projectx wiki upgrade
- sudo service httpd restart
Note that the Agile plug-in Agilo breaks operation of this plug-in.
Useage:
- Assign/Define ticket dependency (blocking/blocked by):
- View ticket:
- Show ticket dependency graph: (select "Depgraph" link in upper right corner):
Dependancy graph color codes:
- Green: ticket is completed
- Red: ticket not complete
- Grey: ticket not part of dependency chain
| Trac "peer review" plugin: |
Installation:
Red Hat: available as RPM packages from Extra Packages for Enterprise Linux (EPEL)
Red Hat/CentOS/Fedora install: rpm -ivh trac-peerreview-plugin
Mint/Ubuntu/Debian: apt-get install trac-mastertickets trac-graphviz
Configuration:
-
Add the following to the Trac configuration file:
/srv/trac/projectx/conf/trac.ini
...
[components]
codereview.* = enabled
...
|
Upgrade and restart:
- trac-admin /srv/trac/projectx upgrade
- trac-admin /srv/trac/projectx wiki upgrade
- service httpd restart
- trac-admin /srv/trac/projectx permission add user1 CODE_REVIEW_MGR
(or for users CODE_REVIEW_DEV)
This generates a new item on the Trac toolbar: "Peer Review"
Note that the Agile plug-in Agilo breaks operation of this plug-ins.
| Trac "webadmin" plugin installation: |
This will no longer be required with Trac version 0.10 or later as it will be integrated into the Trac.
Installation:
- Use Subversion to download latest webadmin plugin software:
-
svn export http://svn.edgewall.com/repos/trac/sandbox/webadmin/
This will create the directory webadmin/ and its contents.
- cd webadmin
- Install Trac plugin: easyinstall .
If installing from an egg file:
- mv TracWebAdmin-0.1.2dev_r4240-py2.3.egg.zip TracWebAdmin-0.1.2dev_r4240-py2.3.egg
- easy_install TracWebAdmin-0.1.2dev_r4240-py2.3.egg
Direct Trac to employ the component "webadmin". Add to end of file: /srv/trac/ProjectX/conf/trac.ini
-
...
..
[components]
webadmin.* = enabled
|
Apache configuration modification. File: /etc/httpd/conf.d/trac.conf
-
<Location "/trac">
SetEnv TRAC_ENV "/srv/trac/projectX"
SetEnv PYTHON_EGG_CACHE /srv/trac/projectX/egg_cache
...
..
</Location>
|
Create cache directory:
- mkdir /srv/trac/ProjectX/egg_cache
- chown apache.apache /srv/trac/ProjectX/egg_cache
Restart apache: service httpd restart
Test to see if plugin has been installed: python -c "import webadmin"
The proper response is no output. Error response: "ImportError: No module named webadmin"
The final step is to add the Trac administrator privileges:
-
trac-admin /srv/trac/ProjectX permission add user1 TRAC_ADMIN
Users who have been given "TRAC_ADMIN" privileges, will see an
extra tab in the Trac toolbar interface labeled "Admin". Select this
tab to access the "webadmin" interface to Trac. This interface will
allow you to create components, associate components with roadmaps,
etc.
Books: |
-
|