How do you remove members from a public conference room through the IM API?

I am writing a Java app to sync some conference room memberships based on roles in LDAP. I have it mostly working but I do not know how to remove a member from a public conference room via the IM API. I could not figure it out based on the netbeans Shell tool code.Help.
[284 byte] By [bkdaniela] at [2007-11-26 17:02:42]
# 1
If you have the MANAGE privilege of the conference room, then you can use below method:setPrivilege(java.lang.String uid, int accessLevel) of Conference APIfor any user & set the accessLevel as NONE, the user will be kicked out the conference room.
Amit.Bakhrua at 2007-7-8 23:30:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Instant Messaging...
# 2
Yes, I am currently setting the priviledge to NONE. But, what I want to do is completely remove the user from the access control list. Is there a way to do this through the API. I can do it from the GUI.
bkdaniela at 2007-7-8 23:30:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Instant Messaging...
# 3

Is your intention to make sure the user never joins again ?

In which case you can make him an outcast to the room - which is what the client does in its ui.

You can reconfigure the room with access of NONE for the user and he should not be able to join again.

If the intention is that other than a whitelisted set of people, no one else can join - then you can set default access to the room as NONE and explictly add users who are allowed in

Regards,

Mridul

MridulMa at 2007-7-8 23:30:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Instant Messaging...
# 4

Yes, I do not want the user to be able to join again. The conference room is set to default access of NONE and the user is set to priviledge of NONE. However, the user name is still in the access list (just with a priviledge of NONE). I want the user name to be removed completely from the access list. From the GUI I can select the user and click the remove button. However, I do not know how to do this from the command line API. I have a script that syncs access to the conference room with roles in the LDAP. If the user was originally in the conference room but his/her role has been changed so that he/she no longer has access to the room, I want the name to be removed from the access list not just a priviledge set to NONE. It will make my script more efficient to just check and see if the user is in the access list instead of having the additional check to see what their permission is if they are found in the access list.

Thanks.

bkdaniela at 2007-7-8 23:30:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Instant Messaging...
# 5

By cli you mean Shell ?

If yes, I see what you mean - there is a way to set the individual previlage for a user, but none for removing the previlage and revert to default ....

The client uses conference.setPrivileges(map) to achieve this functionality ....

I will file a bug for adding this in next version.

In the meantime, if you want, I can send you diff's which would solve your problem - you will need to maintain this locally on your workspace until we fix this in Shell though (the same will be in next major version).

Regards,

Mridul

MridulMa at 2007-7-8 23:30:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Instant Messaging...
# 6

Yes, cli means Shell which uses the API. It would be great to have the beta code with the updated calls to remove the user from the access list. I am currently using the conference.setPrivileges() function when I add members to the access list to give them READ, WRITE, or MANAGE privileges. The ability to remove the member from the list completely would be great. Please email me the "diffs" (danielbk@ornl.gov). I will maintain them in a local workspace.

Thanks.

bkdaniela at 2007-7-8 23:30:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Instant Messaging...
# 7

Hi Daniel,

Apologies for the long delay in getting back to you on this.

I have checked in to the trunk to fix this issue (refer http://collab.netbeans.org/source/browse/collab/service/src/org/netbeans/lib/co llab/tools/Shell.java?r1=1.7&r2=1.8).

If you have a private version of the source, applying this diff to Shell will get the functionality you require working.

You can use access value 'remove' (case insensitive) to remove a jid from the affiliation list for a conference.

This will be part of the next release.

Regards,

Mridul

MridulMa at 2007-7-8 23:30:28 > top of Java-index,E-Mail, Calendar, & Collaboration,Sun Java System Instant Messaging...