Group Expansion Router (Aspire 2)

From wiki.searchtechnologies.com
Jump to: navigation, search

For Information on Aspire 3.1 Click Here


Group Expansion Router (Aspire 2)
Factory Name  com.searchtechnologies.aspire:aspire-simple-group-expander
subType  router
Inputs  A Job containing a group expansion request
Outputs  A Job containing a group expansion result
Feature only available with Aspire Enterprise

The Group Expansion Router component is configured as a pipeline stage and is responsible for taking a single group expansion request and forwarding it to one or more group expansion stages (such as the SharePoint Group Expansion), combining the results and then returning the combined list back to the requestor. All communication is performed by group expansion requests and group expansion results.

On startup, the component reads a list of default routes from the configuration. However, routes for a specific group expansion request may be included with that request and these will override the default.

For each route, a sub-job is created, a new group expansion request attached and the job routed. The component then waits for the result of these requests (timing out after a configurable period) before combining the groups returned by the expansion components, removing any duplicates and returning the group expansion result.

Expansion Requests containing routes

If you wish to add the expansion routes to the group expansion request, this can be done using the addExpanders(AspireObject doc, List<String> expanderComponents) method. The request will then have the following form:

 <doc type="groupExpansion">
   <username dn="CN=Steve Denny,CN=Users,DC=search,DC=local">Steve Denny</username>
   <groupExpander>
     <expanders>
       <route>/SharePointConnector</route>
       <route>/DocumentumConnector</route>
     </expanders>
   </groupExpander>
 </doc>

Configuration

Element Type Default Description
expanders/route String Default routes for group expansion, should routes not be specified on the request (optional & multiples allowed).
defaultPipelineManager string The name of a pipeline manager that will be added (if specified) to the given routes before the job is published. This allows the routes to be specified as top level components or applications only, with the actual request being routed to a pipeline manager under that (optional).
timeout int 15000
(=15s)
The timeout applied when waiting for the routed jobs to complete. Expansion results received after this time will not be added to the result returned.

Branch Configuration

The Group Expansion Router publishes requests to a pipeline manager on the onGroupExpansion event, so you must configure a branch for the onGroupExpansion event. However, as routing is used to direct the jobs, the pipeline may contain no functional stages.

 <branches>
   <branch event="onGroupExpansion" pipelineManager="pipelineManager" pipeline="dummyPipeline" />
 </branches>

Example Configuration

No default routes

 <component name="expansionRouter" factoryName="aspire-simple-group-expander" subType="router">
   <defaultPipelineManager>GroupExpansionPipelineManager</defaultPipelineManager>
   <debug>true</debug>
   <branches>
     <branch event="onGroupExpansion" pipeline="dummy-for-routing" pipelineManager="."/>
   </branches>
 </component>

With default routes

 <component name="expansionRouter" factoryName="aspire-simple-group-expander " subType="router">
   <expanders>
     <route>/SharePointConnector</route>
     <route>/DocumentumConnector</route>
   </expanders>
   <defaultPipelineManager>GroupExpansionPipelineManager</defaultPipelineManager>
   <debug>true</debug>
   <branches>
     <branch event="onGroupExpansion" pipeline="dummy-for-routing" pipelineManager="."/>
   </branches>
 </component>