Component Instance: conf

The Conferencing component is a service that provides group chat facilities in a Jabber environment. Rooms can be created and people can join and chat, similarly to the way they do in IRC (Internet Relay Chat) channels. The component instance described by the configuration XML in Example 4-17 is shown in diagram form in Figure 4-13.

Example 4-17. jabber.xml configuration for the conf component instance

<service id='conf'>

  <host>conference.yak</host>

  <load>
    <conference>./conference-0.4.1/conference.so</conference>
  </load>

  <conference xmlns="jabber:config:conference">
    <public/>
    <vCard>
      <FN>yak Chatrooms</FN>
      <DESC>This service is for public chatrooms.</DESC>
      <URL>http://yak/chat</URL>
    </vCard>
    <history>20</history>
    <notice>
      <join> has become available</join>
      <leave> has left</leave>
      <rename> is now known as </rename>
    </notice>
    <room jid="kitchen@conference.yak">
      <name>The Kitchen</name>
      <notice>
        <join> has entered the cooking melee</join>
        <leave> can't stand the heat</leave>
        <rename> now answers to </rename>
      </notice>
    </room>
  </conference>

</service>

Diagram view of conf component instance
Figure 4-13. Diagram view of conf component instance

The component acts as a sort of third party, and all interaction between room participants is through this third party. This makes it possible to support privacy (such as using nicknames to hide users’ real JIDs) and other features.

Get Programming Jabber now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.