The TeamForge 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 Restful API from TeamForge to fetch user group information. All group information is cached, so further group expansion requests won't make unnecessary calls to the TeamForge server.

This component is based on the Simple Group Expander

TeamForge Group Expansion (Aspire 2)
Factory Name com.searchtechnologies.aspire:aspire-teamforge-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 TeamForge repostory.
passwordstringN/APassword used to authenticate against TeamForge repostory.
urlstring
The TeamForge repostory url used to authenticate.
maxRetriesint3The number of maximum retries for the connection before it throws error.


Example Configurations

    <!--Group Expansion -->
    <component name="GroupExpansionScheduler" subType="default"
      factoryName="aspire-scheduler">
      <debug>${debug}</debug>
      <schedules>
        <schedule name="GECache" enabled="true">
          <cron>${geSchedule}</cron>
          <event>onGECache</event>
          <job>
            <![CDATA[
              <doc actionProperties="cacheGroups">
                <routingTable>
                  <${app.name}>
                    <properties>
                      <connectorSource>
                        <url>${url}/</url>
                        <username>${username}</username>
                        <password>${password}</password>
                      </connectorSource>
                    </properties>
                  </${app.name}>
                </routingTable>
                <displayName>Teamforge</displayName>
              </doc>
            ]]>
          </job>
        </schedule>
      </schedules>
      <branches>
        <branch event="onGECache" pipelineManager="Main" />
      </branches>
    </component>

    <component name="GroupExpansionPipelineManager" subType="pipeline"
      factoryName="aspire-application">
      <debug>${debug}</debug>
      <gatherStatistics>${debug}</gatherStatistics>
      <pipelines>
        <pipeline name="group-expansion-pipeline" default="true">
          <stages>
            <stage component="IncomingJobLogger" />
            <stage component="TeamforgeGroupExpansion" />
          </stages>
        </pipeline>
      </pipelines>
      <components>
        <component name="IncomingJobLogger" subType="jobLogger"
          factoryName="aspire-tools">
          <debug>${debug}</debug>
          <logFile>log/${app.name}/GroupExpansionPipelineManager/incoming.jobs
          </logFile>
        </component>
        <component name="TeamforgeGroupExpansion"
          subType="expansionClient" factoryName="aspire-simple-group-expander">
          <debug>${debug}</debug>
          <server>../Main/Scanner</server>
        </component>
      </components>
    </component>
  • No labels