StatSVN reports for TYPO3
Some people around me have already heard about my holiday-coding project - and all the others might read it right now.
What's it all about?
Since a couple of months, we generated some statistical reports based on the data in the SVN repository. Of course we automated stuff with a cron job so that there was nothing to do to have the reports generated every night. But adding a project was a pain all the time! As the report was generated via an independent shell script (one per project), adding a new one was always a very stupid copy/paste and find/replace action.
And so the the idea to integrate this to TYPO3 came into my mind. For a few weeks, different ideas were in my head - but not time to implement it. But during the last holiday week, I took some hours to sit down and start coding - which was plain fun and resulted in a useable extension called tx_statsvn.
Features of the new extension
- Projects are stored as database records
- There is a CLI script (using cli_dispatch from TYPO3) that can be run every n minutes via a cron job
- it checks, which project needs to be processed right now
- it checks whether the SVN repository has been changed since the last run (and exits if not, just to save bandwith)
- if needed it checks out the current SVN version, generates the SVN log file and then generates the statistic report based on this
- There is a second CLI script which takes care of cleaning up the database from old log entries (will be enhanced in the future)
- There is a frontend plugin that shows a list of all the projects - and links to the report once it has been generated.
Live example
You can find a live example on my website that shows most of the projects I'm working on.
Looking for testers!
If you have your own projects in SVN and a TYPO3 based website to show off some cool statistics - just give it a try! All your feedback is very welcome!



Sonntag, 09-03-08 01:20
Neue Extension für TYPO3, welche das generieren von StatSVN-Reports vereinfacht indem für jedes Projekt nur noch ein Datenbankeintrag angelegt werden muss. Via CLI scripts und cronjobs wird der rest voll automatisiert.