Programmer's Guide:
Using Communities

What is a Community?


An eRoom community is the center of administration and access for a set of facilities and eRooms. Each community is responsible for many high-level tasks, such as:

  • Managing a list of members and authenticating members when they attempt to log into the community.

  • Managing licenses, which legitimize those members.

  • Keeping track of the eRooms within the community and presenting a customized directory of those rooms to users.

  • Coordinating its member list with external user directories.

SAAPI programs interact with community objects through their IERUCommunity  interface. Common tasks include generating reports that contain member information, populating the member list based on information retrieved from another source, and creating new Rooms.

Opening a Community from a Community Manager


To get a community from a community Manager, use the GetCommunity or GetCommunityByID methods, defined in the IERUCommunityManager interface:

Dim App
Dim CMgr IERUCommunityManager
Dim Cmty IERUCommunity
Set App = CreateObject("eRoom.Application")
Set CMgr = App.Site.CommunityManager
' Simple way, using GetCommunity (By Name)
Set Cmty = CMgr.GetCommunity("mycommunity")
' Alternate way, using GetFacilityByID with Community ID
Set Cmty = CMgr.GetCommunityByID(5)
' Get a community with internal id of 5

Note that the Community Manager allows you to retrieve a community by specifying a community name with the GetCommunity method, but also allows you to retrieve a community by specifying a Community ID with the GetCommunityByID method.

Community Membership


One of a community's primary responsibilities is to manage a list of members. In eRoom, member refers generically to users and groups. A user is a named individual; a group is a named collection of users or other groups.

The members of a community form a pool from which room coordinators can draw when they add members to their rooms. All room members are members of the community that contains the room, but not all community members are members of all rooms in the facility. In fact, some members of the community may not be members of any rooms in the community.

To work with the members of a community, use the methods and properties of the IERUMemberManager interface of the community object.

Settings for Community Administrator Privileges


The IERUPermissionManager interface contains several properties that set privileges for community administrators. In addition, the IERUCommunityManager interface also contains properties that allow you to specify default settings for new community members.

Property

Description

CommunityAdminCanAddRemoveGuests

Whether the community administrator can add or remove guests. Otherwise only the site administrator can perform the operation.

CommunityAdminCanChangeRoomSizeLimit

Whether the community administrator can change room size limits. Otherwise only the site administrator can perform the operation.

CommunityAdminCanCreateDirConnection

Whether the community administrator are allowed to create directory connections. Otherwise only the site administrator can perform the operation.

CommunityAdminCanCreateFacility

Whether the community administrator can create (or import) facilities. Otherwise only the site administrator can perform the operation.

CommunityAdminCanDefineDocumentumConnection

Whether the community administrator can define a connection to Documentum. Otherwise only the site administrator can perform the operation.

CommunityAdminCanRebuildIndex

Whether community administrator can rebuild the full text index. Otherwise only the site administrator can perform the operation.

CommunityAdminCanRenameFacility

Whether community administrator can rename the facility. Otherwise only the site administrator can perform the operation.

Turning off notification of changes


Another community administrative option is to control whether members can monitor changes in email change reports. Normally, the only reason to turn this feature off is to improve performance on a slow server with a large number of members and eRooms on it. The AllowEmailNotification property is on the IERUCommunitySettings interface.

Property

Description

AllowEmailNotification

Indicates whether a Facility has email notification enabled. When AllowEmailNotification is set to FALSE, no email notifications of updates to eRooms in the Facility are sent, even if members select "EMail notification" in the eRoom Monitor.

External directories


Communities can be associated with external directory services, such as NT domains or LDAP directories. This allows "bulk importing" and scheduled updating of the community's member list from the associated directory.

To associate a community with an external directory, you set the directory Type and DirectoryName properties of a Directory Connection object. By default, directory Type is initialized to erDirTypeNone. To connect to an NT domain, set it to erDirTypeNTDomain. Then set DirectoryName to the name of your NT domain. To connect to the Server Member List, set DirectoryType to erDirTypeServerMemberList. To connect to an LDAP directory, set DirectoryType to erDirTypeLDAP. To connect to multiple external directory types, set DirectoryType to erDirTypeMultiple.