Programmer's Guide:
Using Site and Server Provisioning

The site is the topmost level of the eRoom architecture. A site contains communities. A community contains facilities, and a facility contains eRooms. From the site, you can set properties globally that apply to all of the lower levels. However some of those properties can still be overridden at the lower levels.

In addition, the site can be a central place for locating items and members. There are two lookup methods for members - GetMemberFromLoginName and GetMember. The first returns an IERUMember interface pointer for the member with the given loginname and the second returns the IERUMember interface pointer for the member with the given ID. GetBuiltInGroup allows you to retrieve interface pointers for any of the permission groups listed in the ERUBuiltinGroup enumeration. You can search for items anywhere on the site by retrieving the IERUSiteSearch interface through the Searcher property. You can retrieve properties about the site, including the name, domain, and unique ID.

Managers for setting global properties

For every manager listed below there is an accessor for retrieving its interface pointer from the site. The table describes the purpose for each. Follow the link to the interface description to learn more.

 

Interface

Description

IERUSiteSettings

Setting properties that range from member management to usage reporting to provisioning. Enable or disable such features as the plugin, XML requests, WebDAV.

IERUCommunityManager

Set community admin and new user permissions;  create, delete, import, and export communities;  set community properties like privacy, allowing local users, and allowing online meetings.

IERUAccountPolicies

Set non permission properties on accounts, like password rules, tolerance for failed logins, and session timeouts.

IERUProvisioning

Create and delete provisioning groups and set automatic provisioning.

IERULicenseManager

Manage licenses on the site, including retrieving how many are available and trial facility information.

IERUMailSpooler

Set properties on mail spooler, like the SMTP server and the inbox address format.

IERURealTimeManager

Set the password and URL prefix for the Realtime server, test the connection, and retrieve statistics.

IERUDayManager

Set the holiday schedule for Project Schedules.

IERUUsageReportManager

Enable usage reporting and retrieve logs.

IERUFulltextIndexer

Enable full text indexer and rebuild the index.

IERUExtensionSettingManager

Get a list of installed extensions, remove extensions, and enable extensions for the site.

IERUDocumentumSettings

Create connections to a Documentum docbase, set login name and password, and set properties like URL for Webtop.

 

Servers

Multiple servers can be connected to an eRoom Site. You can assign different functions to each server. The choice of options is listed in the ERUSiteServerType enumeration. You must add and remove servers through the eRoom Administration Tool. This function is not exposed through SAAPI. However, you can retrieve which servers have been assigned to a particular function, using the SiteServers property.

Provisioning

Provisioning refers to the method by which it is decided where a newly-created room or facility will reside. There is manual and automatic provisioning. With manual provisioning, the user who is creating the facility is prompted for the eRoom, file, and database server to use for the facility. Room creators are asked in which facility and community to create the room, assuming the user has permission to create rooms in more than one community. With automatic provisioning, the facility is created on the server with the least load and the room is created in the community that the room creator specifies in the facility with the least load. The site admin can enable automatic provisioning through the UseAutoProvisioning property on the IERUProvisioning interface.

Provisioning groups are a way of designating that a particular eRoom server, database server, file server, and index server should be used to serve particular types of rooms. Create a provisioning group by providing a name and optionally a description to the CreateProvGroup method off of IERUProvisioning. That method returns an IERUProvisioningGroup interface. The following properties must be set on a Provisioning Group:  name, nickname, a collection of one or more servers that handle the four required functions, and at least one community. Call AddSiteServer to add servers to the provisioning group that can support the four required functions. Call AddCommunity to add one or more communities to the provisioning group.

When you create a facility, you can either call CreateFacilityProvisioned off the IERUCommunity interface in which you only specify the provisioning group and eRoom creates it in the least loaded servers assigned to this provisioning group. Alternatively you could create the facility manually using CreateFacility and specify individually the server that will function as the eRoom server, database server, file server, and index server.