Import Jabber-muc logs
This is a Perl script that formats and imports into Trac wiki a series of Jabber-muc logs, organised by chatrooms. Jabber is an IM service based on XMPP and one of the key nodes on the XMPP network.
If you have any issues, create a new ticket.
1 / 1
Download the zipped source from here.
Installation and Configuration
On a working Trac environment install and enable the TicketBackLinksMacro. Then you will need a Jabber server with logging enabled, for chatrooms, configured to be ordered by subdirectories (dates). Jabber with jcr and muc is known to work ok.
You'll have to configure j2t (config done from inside the script) to fit your needs, consisting of Trac's main location, conference server address etc. Run touch /etc/j2t.cfg. Then launch "j2t -c chatroom tracname" for each chatroom you want.
You can make a cron to launch j2t (without arguments) each time you want it to be updated.
Warning: This should be done at most once a day, otherwise it will make too much noise on your timelines.
Now, you'll have logs uploaded to wiki and shown in tickets' description. I recommend using TracFineGrainedPermissions to block undesired traffic to the conversations.
Chatrooms will not be created automatically, so, if they don't exists, you will have to join to them. A workaround for automating this is having a gozerbot doing that for you.
I've also built a gozerplug for this: j2t.py. You'll have to modify it a bit, since it's ready to get config trough ssh, and that might not be what you want. Also, you'll have to configure that user to don't require passwords if you use ssh, because of certificates.
If you wan't you can configure your bot nick inside j2t (botnick variable) so its messages won't be shown. Also, commands are not saved (!whatever strings) into wiki.
Check out my other gozerplugs: showticket and showrevision, for better integration with Trac: http://public.warp.es/trac-stuff/browser/tools/gozerplugs
I know there are gozerplugs already for Trac integration, but those are adapted for this system using j2t.cfg same way as j2t does, so it interact perfectly with them.