Trac statt CRM – ein Erfahrungsbericht
Software für das Customer Relation Management, kurz CRM und zur Koordinierung von Neukundenakquisen gibt es in vielerlei Varianten. Aber manchmal muss es gar keine spezielle Software sein. Auch Software, die eigentlich für einen anderen Zweck geschrieben wurde, kann diese Aufgabe gut und effizient erfüllen. So geschehen auch im folgenden geschilderten Fall, wo Trac, eine Webanwendung, welche eigentlich in der Softwareentwicklung zu Hause ist, erfolgreich zur Koordination und Dokumentation einer Neukundenakquise-Aktion genutzt wurde.
Trac installieren und konfigurieren
Wie bereits erwähnt gestaltet sich die Installation von Trac sehr einfach, im vorliegenden Fall wurde die (zum Zeitpunkt der Installation) aktuelle Version 0.11 verwendet.
Voraussetzung für den Betrieb ist nur eine Python-Version zwischen 2.4 und 2.7 – eine Voraussetzung, die selbst alte Linux-Distributionen ohne Weiteres erfüllen. Da Trac standardmäßig SQLite als Datenbank nutzt, muss dieses ebenfalls installiert werden. SQLite ist in Python ab Version 2.5 bereits enthalten, so dass hier keine manuelle Installation mehr notwendig ist.
Um die Installation zu vereinfachen, sollten ebenfalls die Python Setup-Tools installiert sein. Diese lassen sich ebenfalls über die Paketverwaltung der meisten Linux-Distributionen nachinstallieren.
Sind diese beiden Voraussetzung erfüllt, so bringt der Befehl easy_install trac die aktuellste stabile Version von Trac auf das System, allerdings ohne Lokalisierung, d.h. »nur« in Englisch. Wer das System lokalisieren möchte, der muss vorher noch Babel installieren.
Danach muss noch eine neues Projekt angelegt werden, im Rahmen von Trac »Environment« genannt. Dies geschieht auch über die Kommandozeile:
# trac-admin /var/www/meinprojekt initenv # chown -R www-data /var/www/meinprojekt
Damit wären die Vorbereitungen abgeschlossen – Trac kann jetzt gestartet werden. Dazu dient der Befehl:
# su www-data -c "tracd --port 8000 /var/www/meinprojekt"
Noch ein Hinweis: Wer Trac nur in einem geschlossenen Netzwerk testen möchte, der kann das Environment auch einfach im eigenen Home-Verzeichnis anlegen und den Trac-Daemon (siehe unten) mit Nutzerrechten starten. Davon ist aber für den Produktivbetrieb natürlich dringend abzuraten.
Trac läuft jetzt mit den Voreinstellungen, d.h. alle Nutzer können aktuell nur lesend auf das System zugreifen. Da sich die Konfiguration des Ticket-Systems aber bequem über die Weboberfläche erledigen lässt, muss noch ein Benutzer angelegt werden, der Admin-Rechte hat:
# trac-admin /var/www/meinprojekt permission add jochen TRAC_ADMIN
Damit werden dem Benutzer jochen die vollen Rechte eingeräumt. Trac kennt eine Reihe von verschiedenen Rechten, so dass sich diese recht detailliert einstellen lassen.
Der letzte Schritt ist, dass alle Nutzer, die mehr als lesenden Zugriff haben sollen, in einer Passwort-Datei hinterlegt werden, die beim Start der Trac-Instanz eingelesen wird. Trac benutzt damit »normale« htpasswd-Dateien, wie sie auch die verschiedenen Webserver einsetzen.
# htdigest -c /var/www/meinprojekt/.htpass projekt jochen
Damit Trac die Datei beim Starten auch einliest, muss folgender Befehl verwendet werden:
# su www-data "tracd --port 8000 --auth "meinprojekt,/var/www/meinprojekt/.htpass,projekt" /var/www/meinprojekt/"
Nun ist die Weboberfläche unter localhost:8000/meinprojekt erreichbar.
Außer dem angelegtem Benutzer jochen, welcher Admin-Rechte hat, sind keinerlei Anpassungen erfolgt. Wer Trac produktiv betreiben möchte, sollte einen weiteren Blick in die Dokumentation werfen, in der viele weitere mögliche Konfigurationen und Anpassungen beschrieben sind. Ein Teil der Einstellungen kann auch in der Weboberfläche im Adminstrationsmenü unter dem Punkt vorgenommen werden, wenn man sich mit Admin-Rechten eingeloggt hat.
Ticketsystem konfigurieren
Jeder angelegte Nutzer kann sich nun durch einen Klick auf in der Weboberfläche anmelden. War dies erfolgreich und hat man Admin-Rechte, erscheint in der Menüleiste ganz rechts eine Schaltfläche mit der Beschriftung . Hierüber gelangt man ins Adminstrationsmenü, in dem auch das Ticketsystem individuell anpassbar ist.
Im hier beschriebenen Fall wurden die Felder wie folgt belegt:
Components- Industriezweig, in dem der potentielle Kunde tätig ist
Milestones- aktueller Status, also z.B. »Angebot gemacht«, »bemustern«, »erste Bestellung wird erwartet« usw.
Priorities- Priorität, die das Ticket hat, also z.B. »niedrig«, »mittel«, »hoch«
Resolutions- beschreibt, wie das Ticket geschlossen wurde, also z.B. »akquiriert«, »kein Interesse«, »braucht das Produkt nicht« usw.
Severities- wird im beschriebenen Fall nicht genutzt
Tickettypes- beschreibt, ob in der Vergangenheit schon einmal Kontakt mit dem Kunden bestand oder ob es ein Neukontakt ist. Die Werte für dieses Feld sind also »neuer Kontakt« oder »erneuter Kontakt«.
Die Änderungen werden sofort wirksam, d.h. es können direkt Tickets angelegt werden.
Der Software ist es letztendlich egal, wie man welches Feld benennt, da es für Trac »nur« Felder in einer Datenbank sind. Es ist beim Anlegen jedoch ratsam, darauf zu achten, dass man in den Standardansichten (Queries, siehe folgender Abschnitt) eine brauchbare und übersichtliche Zusammenfassung erhält.
Einige Ticketfelder sind nicht konfigurierbar. Diese sind:
Summary- Titel des Tickets
Reporter- wer hat das Ticket erstellt
Description- ein Textfeld für die ausführliche Beschreibung
Owner- wem wird/ist das Ticket zugeordnet, also z.B. der Name des Kundenbetreuers oder Vertreters
Keywords- Schlüsselworte, können z.B. später zur Suche verwendet werden.
Im vorliegenden Fall wurde vereinbart, dass in das Feld Summary immer der Kundenname eingetragen wird. Dies hat sich im laufenden Betrieb auch als sehr zweckmäßig erwiesen, da dieses Feld in allen Reports immer als erstes angezeigt wird.

