Datasink

This project is being discontinued. Use at your own risk! 😉

Datasink is an implementation of JEP-0136 (Message Archiving) written in perl (what else?).

JEP-0136 defines a storage protocol and common disk format for archiving of messages.

Datasink uses MySQL as storage backend. It’s been written mainly for having a chat history with JWChat as it can’t save to a local disk itself due to security restrictions (I guess it makes sense for a web client to store anything at the server side anyway) but can be used with any other client too (well, actually I don’t think there is any supporting this).

Important Note: This implementation is not in sync with the JEP at the moment. I’m trying to fix this for both, datasink and jwchat ASAP.

Download:

10 Responses to Datasink »»


Comments

  1. Comment by Steve | 2005/10/20 at 22:24:30

    In order to make datasink work with XMPP compliant servers that do SASL Authentication like ejabberd or jive messenger you’ll have to patch XML::Stream. To do so please edit XML/Stream.pm and comment out line 3097 that says

    $stream .= “version=’1.0′ “;

    and change it to

    # $stream .= “version=’1.0′ “;

  2. Comment by YeYo | 2005/10/31 at 11:27:39

    where can i get sample config.xml file? That one from this site is not present 🙁

  3. Comment by Steve | 2005/10/31 at 12:49:44

    Sure it is, check your browser settings. But just in case, here’s its content:


    <config>
    <server>
    <connectiontype>accept</connectiontype>
    <hostname>localhost</hostname>
    <port>5261</port>
    <secret>secret</secret>
    </server>
    <component>
    <name>datasink.localhost</name>
    <connectattempts>-1</connectattempts><!-- '-1' loops forever -->
    <connectsleep>5</connectsleep><!-- seconds to sleep before new connection attempt -->
    </component>
    <mysql>
    <dbname>datasink</dbname>
    <username>datasink</username>
    <password>secret</password>
    </mysql>
    <debug>1</debug>
    </config>

  4. Comment by rudra | 2006/01/19 at 12:05:33

    Dear sir,

    I’m running wild fire chatt server with JWChatt.I want to integrate DataSink with it.Kindly help me in order to do that.On the web site there is no document I found regarding how install and configure datasink.

    best
    rudra

  5. Comment by Steve | 2006/01/23 at 09:40:51

    Installation instructions can be found at the head of http://zeank.in-berlin.de/download/datasink. For information how to connect external components to your jabber server please refer to the documentation that came with your jabber server!

  6. Comment by Chris Carlin | 2006/01/24 at 10:21:00

    Do you have any advise on how hard this would be to use with postgresql?

    And also, have you considered using an xml database? It seems like this is a task that would be exceptionally well served by something like the xml version of BerkeleyDB (see http://sleepycat.com/products/bdbxml.html I have no relation to them, just a toy I like to play with occasionally).

  7. Comment by Phani | 2007/03/08 at 17:02:20

    Hi
    I am also trying to integrate Wildfire Jwchat and datasink i saw the installation intructions at http://zeank.in-berlin.de/download/datasink but can u please provide some information on how to install the following perl modules
    install required perl modules
    # – Net::Jabber
    # – DBI
    # – Data::Dumper
    # – Digest::MD5
    # – Getopt::Long

  8. Comment by Steve | 2007/03/09 at 09:40:04

    Phani, either check if those modules are available pre-packaged for your operation system or use CPAN to install them.

    Please note that there is an alternative Implementation of this XEP called MabberMessageLogger which implements a more recent version of XEP-0136. If you’re using JWChat from CVS use this one to get message archiving working.

  9. Comment by Mike | 2008/01/10 at 22:24:58

    Does datasink log MUC messages?

  10. Comment by Steve | 2008/01/11 at 12:07:39

    Mike, datasink doesn’t log messages automatically. It logs whatever you forward to be logged. Thus to answer your question: Yes, it can be used to log MUC messages.


Leave a Reply »»