The Eroom Group Expansion accepts group expansion request containing a username and provides a list of groups to which the user belongs in a group expansion result.

This component uses the SOAP/XML API from eroom to fetch user group information. Multiple calls are made - one for the incoming user and one for the groups from eroom. All group information is cached, so further group expansion requests won't make unnecessary calls to the eroom server.

Additionally, if LDAP Group Expansion was performed before this component, Eroom Group Expansion will attempt to fetch group information for any LDAP groups. LDAP (or Active Directory) groups can be stored in Eroom as regular groups.

This component is based on the Simple Group Expander

ERoom Group Expansion (Aspire 2)
Factory Name com.searchtechnologies.aspire:aspire-eroom-scanner
subType groupExpansion
Inputs A Job containing a group expansion request
Outputs A Job containing a group expansion result

Configuration

ElementTypeDefaultDescription
usernamestring
Username used to authenticate against eroom.
passwordstringN/APassword used to authenticate against eroom.
urlstring
The eroom url used to authenticate.


Example Configurations

<!--Group Expansion -->
<component name="GroupExpansionScheduler" subType="default" factoryName="aspire-scheduler">
  <debug>${debug}</debug>
  <schedules>
    <schedule name="GECache" enabled="true">
      <cron>0 0 * * * ?</cron>
      <event>onGECache</event>
      <job>
      <![CDATA[
        <doc actionProperties="cacheGroups">
          <routingTable>
            <EroomConnector>
              <properties>
                <connectorSource>
                  <url>www.server/eroom/facilities/facility1/rooms/room1</url>
                  <username>Admin</username>
                  <password>encrypted:B39D6E9181FBBEBDF7C880CBEF98F</password>                    
                </connectorSource>
              </properties>
            </EroomConnector>
          </routingTable>
          <displayName>Eroom</displayName>
        </doc>
      ]]>
      </job>
    </schedule>
  </schedules>
  <branches>
    <branch event="onGECache" pipelineManager="Main" />
  </branches>
</component>

<component name="GroupExpansionPipelineManager" subType="pipeline" factoryName="aspire-application">
  <debug>true</debug>
  <gatherStatistics>true</gatherStatistics>
  <pipelines>
    <pipeline name="group-expansion-pipeline" default="true">
      <stages>
        <stage component="IncomingJobDebug" />
        <stage component="EroomGroupExpansion" />
      </stages>
    </pipeline>
  </pipelines>
  <components>
    <component name="IncomingJobDebug" subType="jobLogger"
      factoryName="aspire-tools">
      <debug>true</debug>
      <logFile>log/eroom/GroupExpansionPipelineManager/incoming.jobs
      </logFile>
    </component>
    <component name="EroomGroupExpansion" subType="expansionClient"
      factoryName="aspire-simple-group-expander">
      <debug>true</debug>
      <usesDomain>true</usesDomain>        
      <server>../Main/EroomScanner</server>
    </component>
  </components>
</component>
  • No labels