SynchronizeGroups
As described in Groups, it is sometimes necessary for a connector to provide group membership information to a group server.
OmniGroupServer might be configured to store group information from a repository with the following settings:
[MyRepository] GroupServerJobType=Connector ConnectorHost=localhost ConnectorPort=1234 ConnectorTask=MyFetchTask
When OmniGroupServer needs to get the latest group membership information for the “MyRepository” repository, it sends a SynchronizeGroups fetch action to the connector listening at localhost:1234.
To implement the SynchronizeGroups fetch action, a connector implementation must override the synchronizeGroups method in ConnectorBase, as illustrated in this sample code:
public void synchronizeGroups(SynchronizeGroupsTask task) throws Exception
{
task.getGroupServer().addMemberUser("Editors", "Samantha");
task.getGroupServer().addMemberUser("Editors", "George");
task.getGroupServer().addMemberUser("Viewers", "Samantha");
task.getGroupServer().addMemberUser("Viewers", "Henry");
task.getGroupServer().finish();
}
The SynchronizeGroupsTask passed in to the synchronizeGroups method has a GroupServer member getGroupServer() - [MyRepository] repository.
When the connector has updated the group server with all of the group membership information from the repository, the SynchronizeGroups task is complete.