[JDEV] Conferencing Module and Jabber Server 1.2

Keith Minkler keith at digix.dyndns.org
Sat Nov 18 22:32:20 CST 2000


Hello Everyone,

    I've seen a lot of messaging back and forth about getting the conferencing module working in the 1.2 Jabber Server.  and I would like to set everything straight, for the record... 

    First of all, The build system in the conferencing module is non-existant.  it will only compile on Linux most likely.. I am FAR from being a build expert, and was hoping temas would fix this (*nudge* *nudge*)

    Second, The jabberd_groupchat.xml is in there just as an example of how to run the conferencing module from an exec'd jabberd.  This method is only desirable if you have a (suspected) buggy component, that you want to run safely in a child jabberd.. what will happen is that the main jabberd will fork, and exec a second jabberd, with the second config file, and they will talk to each other via STDIN and STDOUT.  

    You can avoid this method, and load the conferencing module very simply from the main jabberd by using this service tag:

    <service id="conference.jabber.org">
        <load><groupchat>/path/to/groupchat.so</groupchat></load>
    </service>

    put that in your main jabberd, and you are good to go.

    now, about the groupchat protocol.. I mentioned earlier, while talking about irc-transport, that there are two versions of the groupchat protocol.  the "old" or "1.0" version being what was originally developed foro groupchat, and the protocol that has the most client support. and the "new" protocol being developed after most clients already supported the former, but being a more robust protocol, wrt nick name management. (something that was needed for irc-transport, and being on multiple groups/servers, or mutliple resources, etc).. 

    for some time, there had been two versions of groupchat (and irc-transport) in CVS, one for the "old" gc protocol, and one for the "new".  the conferencing groupchat component supports *both* of these protocols at the same time, so there is no need to worry about which version of the protocol you are using.  People can join the same groups, but talk different protocols, and it all works fine (barring any major bugs =]).


    also, with more recent versions of the groupchat agent, I included the message history feature.. where when you log into groupchat, you see the last x number of messages that were sent to the group, this way you aren't walking in in the middle of the conversation... this can be set in the config section in jabberd for the number of messages in the history:


    <service id="conference.jabber.org">
        <load><groupchat>/path/to/groupchat.so</groupchat></load>
        <config xmlns="jabberd:gc:config">
            <history>20</history>
        </config>
    </service>

    where "20" is the number of messages a user will see in their hsitory.. (NOTE, future versions of groupchat will use the jabber:config:groupchat namespace, NOT the jabberd:gc:config namespace.. although I will accept both during a transition phase)... 

    NOTE also, that <config/> doesn't have to be named config, it could be named foo or gcconfig, or anything you want, as long as the xmlns is correct.

    I was experimenting with the history in this last version of groupchat, I wanted to make the history message look different than the normal messages from the group, so I made them server messages, this turned out to look dumb, and I will fix that in future versions of groupchat.



Well, that should about cover all the issues I can think of.. any further questions, feel free to mail them to this group (jdev at jabber.org)

-Keith Minkler




More information about the JDev mailing list