Trac – systém pro správu projektů 3. – doplňky
Po instalaci Tracu máme k disposici výborný systém pro správu projektu. Ne každému však budou základní schopnosti dostačovat, pro rozšiřování možností nabízí Trac podporu zásuvných modulů.
Pluginy
Pro získání informací o dostupných doplňcích jsou nejlepším místem adresy Trac Plugin list a výborné stránky věnované úpravám Tracu Trac-Hacks. Dále budou uvedeny příklady některých pluginů z kategorie „musíte mít“. Cílem textu je zejména seznámit se způsobem instalace doplňků.
WebAdmin
V Tracu se nastavení provádí z příkazové řádky a konfiguračního souboru. Většinu častých administrátorských operací přímo z prostředí Tracu lze provádt pomocí pluginu WebAdmin. Ač je v distribuci Gentoo tento doplněk obsažen, lepší bude vytvořit plugin z čerstvých zdrojových kódů získaných z SVN repositáře.Ve verzi Tracu 0.11, která je momentálně dokončována, je tento doplněk již obsažen a nebude tedy třeba instalovat jej zvlášť.
- stažení zdrojových kódů
-
svn export http://svn.edgewall.com/repos/trac/sandbox/webadmin/
-
- sestavení pythonovského balíčku
-
python setup.py bdist_egg
-
Každý doplněk může být nainstalován globálně pro všechny projekty, nebo pro konkrétní projekt. Pokud má být plugin nainstalován jen pro projekt je třeba zkopírovat vytvořený egg soubor (vytvořený předchozím příkazem v adresáři dist) do projektového podadresáře project/plugins. Při globální instalaci se použije skript easy_install z balíčku dev-python/setuptools.
Doplněk WebAdmin je dobré mít instalován ve všech projektech, bude tedy použita globální instalace. Stejně tak je možné nakopírovat ručně vytvořený egg soubor do adresáře /usr/share/trac/plugins/.
-
easy_install TracWebAdmin-0.1.2dev-py2.4.egg
Povolení pluginů se provádí v souboru conf/trac.ini v adresáři projektu. V sekci [components] (pokud v souboru ještě není, je třeba ji založit) se v případě pluginu WebAdmin uvede webadmin.* = enabled.
Posledním krokem je přidělení práv pro spuštění pluginu. O právech a nastavení bude pojednávat následující díl, tak tedy jen ve stručnosti. Z příkazové řádky spusťte:
-
trac-admin /var/trac/project permission add USER TRAC_ADMIN
Kde /var/trac/project je cesta k projektu a USER uživatelské jméno uživatele, který se bude o nastavení Tracu starat.
PermRedirect
V reálném projektu je často potřeba nastavení, kdy nepřihlášený uživatel nemá právo ani na prohlížení informací o projektu. Zbavit povinnosti klepat na položku Login si dal za úkol tento plugin.
Způsob instalace je shodný s většinou ostatních pluginů:
- stažení zdrojových kódů přes SVN, nebo přímo
- spuštění python setup.py bdist_egg
- instalace vytvořeného egg souboru z adreáře dist
- easy_install TracPermRedirect-1.0.1-py2.4.egg
- povolení pluginu v souboru trac.ini
-
[components]permredirect.*=enabled
-
Po restartu Tracu bude provedeno přesměrování na přihlašovací stránku vždy, když se objeví chyba „Přístup odmítnut”.
RestrictedAreaPlugin
Pokud je potřebné na projektu vyčlenit určité stránky, které nemají být přístupné komukoli, kdo má přístup k wiki stránkám, lze použít tento plugin. Po obvyklé instalaci je třeba plugin povolit a definovat, jaké URL bude přístupné jen uživatelům s právem RESTRICTED_AREA_ACCESS.
-
[components]restrictedarea.* = enabled[restrictedarea]paths = /wiki/tajne, /wiki/duverne
Pokud nebude sekce restrictedarea v konfiguračním souboru uvedena, budou filtrovány URL začínající /wiki/restricted. Stránky je poté nutno vytvářet např. jako wiki:tajne/tajnydokument1.
MavenTrac
Maven je v poslední době stále oblíbenější systém na sestavování a správu projektů. Jednou ze schopoností Mavenu je vytvářet dokumentaci spolu s různými reporty. Doplněk MaveTrac umožňuje vložit takto generovnou dokumentaci přímo do Tracu. Zajímavou možností je např. nechat Maven generovat UML diagramy, jak je popsáno na stránkách firmy SoftEU a zobrazovat tyto diagramy přímo na wiki stránkách.
Mimo pouhé prohlížení je možné odkazovat jednotlivé stránky z Mavenu – není tedy např. problém odkázat JavaDoc generovaný Mavenem ze stránky věnované konkrétní třídě.
Instalace probíhá podobně jako u předchozích pluginů.
- stažení zdrojových kódů
-
svn co https://svn.rectang.com/maventrac
-
- kompilace a instalace
-
python setup.py bdist_eggeasy_install MavenTrac-0.0.1-py2.4.egg
-
- povolení pluginu v konfiguračním souboru trac.ini
-
[components]maventrac.* = enabled[maven]site-path = /var/trac/project/maven-site
-
Pokud vznikne potřeba zobrazovat obrázky generované Mavenem, je dobré vytvořit link z adresáře s dokumenty (/var/trac/project/maven-site) do adresáře /var/trac/project/htdocs. Z adresáře htdocs si Trac bere zdroje pro tag htdocs: Toto řešení je pružnější než pouhé umístění generovaných stránek do adresáře htdocs – např. při potřebě kombinovat více výstupů z projektu Maven.
Na straně Mavenu je dobré, ne-li nezbytné změnit skin generované dokumentace tak, aby zapadla do Tracu. V adresáři s pluginem je třeba vsoupit do adresáře skin a spustit mvn install. Do souboru site.xml v Mavenu je třeba přidat konfiguraci skinu:
<skin>
<groupId>com.rectang.maventrac</groupId>
<artifactId>maventrac-skin</artifactId>
<version>1.0-SNAPSHOT</version>
</skin>
Posledním krokem je nastavení správného kopírování dokumentace z Mavenu. V konfiguraci projektu v Mavenu je třeba nastavit distributionManagement, jak je popsáno v příručce Mavenu.

