Open Source im professionellen Einsatz

© sxc.hu

Softwareprojekte verwalten mit Trac

Guter Teamgeist

Größere Softwareprojekte bedeuten Teamarbeit - doch die will koordiniert sein. Trac, ein Python-basiertes Framework, vereinigt alle nötigen Komponenten unter einer gemeinsamen Weboberfläche.

Viele Softwareprojekte setzen Subversion, ein Webinterface zum SVN-Repository, Bugzilla und ein Wiki-System wie Mediawiki ein, um Code zu verwalten und zu dokumentieren. Die Nachteile beim Einsatz unabhängiger Komponenten sind der hohe Administrationsaufwand und die mangelnde Integration der Einzelanwendungen: Der Bugtracker weiß nichts von den Versionen in SVN und im Wiki lassen sich keine Links auf den Bugtracker setzen.

Dieser Artikel stellt eine Alternative vor, deren einzelne Komponenten aufeinander abgestimmt sind: Trac [1] integriert ein Wiki-Modul, ein Ticketsystem, einen Sourcecode-Browser sowie eine Timeline- und eine Roadmap-Funktion. Trac lässt sich auch durch Plugins erweitern.

Voraussetzungen

Die Installation von Trac erfordert einige Vorarbeit: Voraussetzungen sind Python, Subversion, die Python-Subversion-Bindings, das Templating-System Clearsilver [2] und - je nachdem, welche Datenbank eingesetzt werden soll - SQLite oder PostgreSQL mit zugehörigen Python-Bindings. Dennoch gelingt die Installation leichter als bei Bugzilla. Das Trac-Manual [3] enthält eine genaue Installationsanleitung.

Trac kann seine Dienste über vier verschiedene Methoden im Netz anbieten: über den mitgelieferten Webserver Tracd, im Apache über das »mod_python« sowie als Fast-CGI- oder herkömmliches CGI-Skript. Für den Produktiveinsatz sind »mod_python« oder Fast-CGI zu empfehlen, von der Benutzung des CGI-Interface ist aus Performancegründen abzuraten. Tracd ist performant, bietet allerdings weniger Features als der Apache-Webserver. Beispielsweise fehlt eine SSL-Unterstützung.

Neue Projekte legt der jeweilige Projektverwalter mit dem Kommandozeilentool »trac-admin« [4] an. Hier lassen sich unter anderem Zugriffsrechte für Nutzer vergeben, Konfigurationen für das Ticketmodul vornehmen, Milestones verwalten und Backups erstellen oder frühere Zustände einspielen.

Die Zugriffsrechte regelt Trac auf Komponenten-Ebene. Im Ticketsystem existieren zum Beispiel folgende Rechte: »TICKET_VIEW«, »TICKET_CREATE«, »TICKET_APPEND«, »TICKET_CHGPROP«, »TICKET_MODIFY«, »TICKET_ADMIN«. Auch die anderen Komponenten stellen auf die jeweilige Funktionalität zugeschnittene Zugriffslevel bereit. Mit »_ADMIN« steht ein Platzhalter für alle möglichen Rechte eines Moduls zur Verfügung. Benutzer, die nicht eingeloggt sind, arbeiten mit den Rechten des Users »anonymous«.

Das Wiki

Das Wiki in Trac (Abbildung 1) unterstützt die meisten von anderen Wiki-Systemen bekannten Features. Eine Besonderheit des Trac-Wiki sind Links auf andere Trac-Komponenten: »ticket:153« verweist auf Ticket 153 im Ticketsystem. Links auf Dateien im Subversion-Repository sind mit »source:/ Pfad« leicht zu realisieren. Auch in Commitmessages des Versionskontrollsystems und in Ticketkommentaren des Bugtracker lassen sich Links zu den anderen Trac-Komponenten herstellen. Diese Verzahnung der Komponenten ist der größte Vorteil der Trac-Projektverwaltung.

Abbildung 1: Alle Komponenten unter einer einheitlichen Oberfläche: Die Startseite des Trac-Wiki nach der Einrichtung eines Projekts.

Abbildung 1: Alle Komponenten unter einer einheitlichen Oberfläche: Die Startseite des Trac-Wiki nach der Einrichtung eines Projekts.

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook