... is a version control system, intended as THE replacement for cvs.
mod_python in Apache.
Als backend steht mittlerweile neben sqlite auch PostgreSQL zur Auswahl.
Everybody likes use cases! Well how do we use our tools?
Bei den bisherigen Living Reviews journals werden Artikel in LaTeX (und BibTeX) eingereicht. Diese files (und zusätzliches Material) wird in ein subversion repository eingecheckt. Das allein ermöglicht bereits gleichzeitiges, verteiltes Arbeiten an diesen sources. Im Gegensatz zu CVS, das vorher im Einsatz war, wird aber jetzt auch das Umbennen von files versioniert und ein Aufblähen des repository durch wiederholte commits von binären Daten wie Bilder oder Videos wird begrenzt.
In trac wird für jeden artikel ein Milestone angelegt, dem dann tickets zugeordnet werden, die die einzelnen Bearbeitungsschritte beschreiben. Die Flexibilität dieses Modells genenüber einem festgeschriebenen workflow kommt der Realität unserer Arbeit sehr entgegen.
The web content of each journal is stored in a subversion repository, too.
Mit subversion und trac hat jeder in unserem Projekt zu tun, vom technical editor über managing editors zu Entwicklern. Dadurch ist es leicht, gemeinsames know-how aufzubauen.
Verschiedene Dienste in unserem Projekt sind zugangsbeschränkt - z.B. der upload von web content, das Bearbeiten von Manuskripten von Artikeln, etc. Die beschriebene Verwendung von trac und subversion ermoglicht es uns, für alle diese Dienste denselben persönlichen Apache user account zu benutzen.
Da python die Programmiersprache der Wahl im Living Reviews Projekt ist, kommt es uns entgegen, daß subversion per python bindings auch programmatisch benutzt werden kann - etwa als versioniertes file system backend für unser Editorial Information Management System. trac ist sogar komplett in python geschrieben, was es uns erleichtert, mit immer wieder einmal auftretenden sicherheitsrelevanten bugs umzugehen.
Die Tatsache, daß trac open source und liberal lizensiert ist, erlaubt es uns, das user interface - mit dem in unserem Projekt ja alle vertraut sind - auch für Eigenentwicklungen zu verwenden. Auch der plugin Mechanismus von trac könnte in Zukunft ein Kandidat für eine "Übernahme" sein.
Die Benutzeroberfläche von trac gefällt uns so gut, dass wir sie für eine unserer Applikationen übernommen haben.
Der screenshot zeigt das von trac "inspirierte" user interface der EIMS Komponente unserer ePubTk software. Insbesondere die Aufteilung der Navigation in die drei horizontalen Bereiche Metanavigation, Hauptnavigation und kontextspezifische Navigation sollte jedem trac-Nutzer sofort vertraut sein.