|
发表于 2006-12-10 18:31:28
|
显示全部楼层
看看你要的是不是这个:
http://ejabberd.jabber.ru/shared-roster-all
All Users in a Shared Roster Group
Submitted by badlop on Tue, 2005-10-11 16:53.
The ability to add all registered users to everyone's roster is one of the most requested features for ejabberd. Especially small enterprises are itching to see everybody in everyone's roster. This feature is available since ejabberd 1.0.0.
Wishes for this Feature
The feature to see all users in everybody's roster has been discussed on:
* Ejabberd in a local network
* Automatic Roster
* "See all online"
* How shared roster?
* Wildcards in shared roster
Previous Solutions
Some partial and experimental solutions have been contributed since a while:
* Pushroster patch for ejabberd_ctl
* ACLpopulateSR patch for mod_shared_roster
New Solution
As of version 1.0.0, ejabberd allows the administrator to add all users on a virtual host to a shared roster group. When he creates a shared roster group on a virtual host, and specifies the members, he can put @all@, and ejabberd will add all users on the current virtual host.
This feature requires internal authentication. If you use external authentication, LDAP... then adding @all@ to a shared roster group will do nothing.
Example 1: everybody can see everybody else
1. Login on the web interface and go to 'Virtual Hosts' -> 'server' -> 'Shared Roster'
2. Create a new Shared Roster, with identifier 'everybody'. Click on 'Add new'.
3. Fill the formulary with this:
* Name: EveryBody
* Description: This group contains everybody
* Members: @all@
* Displayed Groups: everybody
4. Click on Submit.
5. When any user logins, he will have a new group in his roster, called EveryBody, and containing all the other users registered on the server.
Example 2: some people (boy and boby) have everybody else on their roster
Important: note that boy and boby will not see presence from the other people. They will be on the roster, but always offline.
1. Login on the web interface and go to 'Virtual Hosts' -> 'server' -> 'Shared Roster'
2. Create a new Shared Roster, with identifier 'everybody'. Click on 'Add new'.
3. Fill the formulary with this:
* Name: Everybody
* Description: This group contains everybody
* Members: @all@
* Displayed Groups:
4. Click on Submit.
5. Create a new Shared Roster, with identifier 'badboys'. Click on 'Add new'.
6. Fill the formulary with this:
* Name: Badboys
* Description: Those ppl can see everybody else
* Members: boy@server boby@server
* Displayed Groups: everybody
7. Click on Submit.
8. When boy or boby login, he will have as contacts everybody else registered on the server, but they will not have him on their rosters.
Example 3: everybody has 'weatherman' and 'governor' on their roster
Important: note that people will see weatherman and governor offline, even if they are logged.
1. Login on the web interface and go to 'Virtual Hosts' -> 'server' -> 'Shared Roster'
2. Create a new Shared Roster, with identifier 'publicppl'. Click on 'Add new'.
3. Fill the formulary with this:
* Name: Public_people
* Description: This group contains public people
* Members: weatherman@server governor@server
* Displayed Groups:
4. Click on Submit.
5. Create a new Shared Roster, with identifier 'spectators'. Click on 'Add new'.
6. Fill the formulary with this:
* Name: Spectators
* Description: The spectators can see public people
* Members: @all@
* Displayed Groups: publicppl
7. Click on Submit.
8. When any user logins, he will have the public person on his roster.
More About Shared Roster Groups
* Release notes - ejabberd 0.9 (2005-04-18)
* mod_shared_roster in the guide
* Shared Roster Groups Screenshots
Related Links
* Problem with shared roster and presence |
|