XMPP Instant Messaging - Group Rosters
NOTE: Okay, so this doesn't actually appear to work on my (original poster) server. It seems like it should, but it doesn't. If anyone has suggestions on how to make it work, please share! -Jeremy.
As of ZCS 6.0, it's not possible to create group rosters (where the IM Buddy List is pre-populated with all the members of a group) through the admin web interface. This functionality is slated for ZCS 7.0. However, it is possible to do so via the IM SOAP API.
The following bash script, which should be run from the CLI as the zimbra user, will reciprocally add all members of a Distribution List (defined in the admin web interface). It's not elegant, but it works.
#!/bin/bash if [ "$#" == "1" ] then members=$(zmsoap --type admin --verbose --zadmin \ GetDistributionListRequest/dl="$1" @by="name" | \ grep dlm | sed -e 's/.*<dlm>\(.*\)<\/dlm>/\1/g') for member in $members do for target in $members do if [ $member != $target ] then uname=$(zmmailbox -z -m $target gid -v | \ grep zimbraPrefFromDisplay | \ sed -e 's/.*: "\(.*\)",/\1/') zmsoap --type im --verbose --zadmin \ --mailbox $member IMSubscribeRequest \ @addr=$target @name="$uname" @op="add" zmsoap --type im --verbose --zadmin \ --mailbox $target IMAuthorizeSubscribeRequest \ @addr=$member @authorized="true" fi done done else echo "$0 usage: $0 group@zimbra.domain.edu" fi