How to display when users come online

I have installed Wildfire as well as Spark and have been trying to figure out how to get users to show up in the user listing when they log on. I have sucessfully been able to get LDAP working with windows AD and can log on using Spark and Jabber Clients. What is not happening is when a user logs on the user listing is not updating and showing everyone when someone logs on or off. When you change your status it does not update other users clients about your status. Is this a Wildfire server issue or a client issue? I have looked around the Spark and Wildfire forums and apparently missing something. I don’'t see any documentation about how this is done.

Would someone direct me in the right way on how to do this? What am I missing?

Also I have been trying to understand what the purpose of SMACK API and XIFF API and how they would intergerate with either the server or the client but have not been able to understand this. These two I would like to understand but the docuemtnation to me is unclear.

Any help in both of these areas would be greatly appreciated.

You will need to set up the Group in Wildfire to show everyone in users’’ rosters. It won’'t happen by default. You should be able to do that through the Group Summary page (or links from there).

Hi,

are you using rosters, and where are they stored?

Can you give a small example with user A, B. For example “A is logged on and has B in his roster, B logs on. Then A sees B still offline.”

Could you try to use a xmpp debug window (F12 for Spark)?

SMACK API and XIFF API

Smack http://www.jivesoftware.org/smack/ is used within Spark, it does handle the xmpp connection and formats the packets etc.

XIFF is Flash client API, http://www.jivesoftware.org/xiff/ contains more information.

If you want to write your own client and have questions (after or while reading the supplied documentation) about the API please ask in the appropriate forum.

LG

To answer grimsy’'s question, Yes I have a group setup pulling from the active directory. This appears to work fine as all users in the group are showing up in the ‘‘Offline Group’’

User A logs on. All users are showing up in the ‘‘Offline Group’’. User B logs on and sees User A is in the ‘‘Online’’ group. User A does not see User B. No notice pops up to announce User B has logged in.

User A logs off, User B still shows User A in the ‘‘Online’’ group.

User A logs back on and can now see User B in ‘‘Away due to Idle’’ which is correct at this particular moment.

User B comes back ‘‘Online’’ but User A does not see User B as being Online.

Looking at the xmpp debug window on both users will show a presence change being sent but never shows anything in the recieve window.

The Information window show the following at this moment.

IQ Rec: 17 Sent: 17

Message Rec: 0 Sent 0

Presence Rec: 1 Sent 6

Other Rec: 0 Sent 0

As I change my status the Presence Sent increments each time.

Is the Annoucements of users coming on and off line a Server function? Client tells server status and server tells all connected clients? If so do I have something wrong on the server?


So the SMACK API and the XIFF API are used for customization above and beyond the basic Spark Package or if you are trying to write your own software? But not needed for Wildfire or Spark to function correctly?

Hi,

I don’'t use LDAP so I can only image that Wildfire does not proper handle the group. As presence packets are only exchanged between users with a subscription or in the same group it seems that Wildfire does not recognize that the users are in the same group. As you did use the xmpp debugger I wonder how one could confirm that Wildfire has a problem with this LDAP group.

LG

PS: Both API’‘s are for client development, so you don’'t need to implement the network / xmpp layer. They “only” allow to use simple methods like XMPPConnection.login(user, password) instead of creating a jabber xml stream manually.

Well when looking at the Wildfire Server Console under sessions I see all of my users listed there. They all show Authenticatd in the same Resource. There is a Lock by the word Authenticated. Not sure what that means.

Are you sure the server is not seeing these users? They are showing up in the ‘‘Online’’ Group. Right now I show 4 online when I log out of my client and re-log in.

Open question to anyone: Under the Group Options of the Server, is there any relationship to the Group Name and LDAP? I currently have the Group name the same as the whats in my Active Directory Security Group. Also, what would be the proper sharing method?

  1. Show group in all users’’ rosters.

  2. Show group in group member’'s rosters

  3. Show group to members’’ rosters of these groups: (Group Name listed)


Open question to anyone: In the Administration Console under Registration Properties, Should any of these settings be set for an Active Directory configuration?


I have noticed that when looking in the Administration Console, User/Groups, User Options/User Properties that there is the word ‘‘None’’ for the ‘‘Groups:’’ for each user. Is this correct?

Here is a copy of my LDAP section in my wildfire.xml file. Is my <![CDATA[

(&

(sAMAccountName=)
(|
(memberOf=CN=WildFireServer,OU=IMGroups,DC=domain,DC=com)
)
)
]]> cn member description <![CDATA[
(&
(cn=)

(|

(cn=*WildFireServer)

)

)

]]>

Thank you for any suggestions.

Message was edited by: tkoehn

There is a Lock by the word Authenticated. Not sure what that means.

The users are using SSL or TLS. That’'s just fine.

Are you sure the server is not seeing these users?

Sorry, my wording was not very clear. The server sees the users but I assume that somewhere the link between the users in this group is missing. So it seems the server does not publish the presence events within the group while we assume that it should do this. And for normal server groups not using LDAP this works fine.

LG

Ah ha. You said the magic words. “The server sees the users but I assume that somewhere the link between the users in this group is missing. So it seems the server does not publish the presence events within the group while we assume that it should do this.”

I went back and took a look at my config again. I saw another post on someone else having LDAP problems. I noticed his was very simple. So I modified my Group Search and BINGO. Things now work. My SearchFilter now looks like this:

cn member description <![CDATA[
 (&
   (member=)

(&

(objectClass=group)

(sAMAccountName=WildFireServer)

)

)

]]>


If someone sees something wrong with the above, please let me know. But for today this is working.


So at the end of the day, the users must be found in the Groups in order for the Wildfire server to annouce who is online. I did notice that If I changed the line

(sAMAccountName=WildFireServer)

to

(sAMAccountName=*)

all of your groups will show up in the Groups Summary section on the Wildfire Server. It will also show the user in the AD group on the client. So if you want your users showing up in different groups like accounting, engineering, tech support then you could use something like this or similar to show users in their particular department or groups. I did not test this but it does seem logical.

For those of you needing to know. The above is working on a Windows 2003 Server AD. SBS Server to be exact. I have Security Group called WildFireServer and have placed all users in this group that will use the Wildfire Server.

Dont forget to restart Wildfire Server when changing the config file.

I hope this helps someone and thanks to those who responded.

Message was edited by: tkoehn

Hey Tony,

LG is right. As you noticed in the user properties page ther are no groups listed for the users. Moreover, if you go to the group details page you will see that that user is not present in the group. This problem is usually related to 1) bad configuration of your XML file or 2) there are some “invalid” characters in the DN of those users. Could you post the DN and username of those users having this problem?

Thanks,

– Gato