About

The TargetCategoriesPlugin retrieves the target categories assigned to the authenticated user's realm (organization/library) in the Torus.

Target categories are used to group search targets in order for the end user to restrict searches to given group(s) of targets.

Depending on the configuration, this plug-in can exclude empty categories, that is, categories without any targets assigned.

Protocol

The request syntax would be ?command=categories.

Example:

  /service-proxy/?command=categories

Response:

  <categories realm="mk_demo">
   <category>
    <categoryName>Subscription Databases</categoryName>
    <categoryId>id_subscription</categoryId>
   </category>
   <category>
    <categoryName>Open Access</categoryName>
    <categoryId>id_openaccess</categoryId>
   </category>
   <category>
    <categoryName>Library Catalogs</categoryName>
    <categoryId>id_lib</categoryId>
   </category>
  </categories>

Limit results to a category:

The syntax for limiting search results to targets of a given category is:

  /service-proxy/?command=search&query=water&filter=category=id_openaccess

Configuration

This plug-in is configured in service-proxy.properties or equivalent as follows:

Registration

plugins.categories = com.indexdata.serviceproxy.plugins.TargetCategoriesPlugin

Mandatory properties

# The URL at which to find the categories. Mandatory.
categories.TORUS_BASEURL = http://some-server/torus2/
   
# Can also be set to 'http://{thisHost}/torus/cat' if the Torus and the 
# Service Proxy share the same host.
         
# The Torus URL to use when looking for targets assigned to a given category.
# This property is mandatory when EXCLUDE_EMPTY_CATEGORIES is true 
# (which is the default).
categories.TORUS_BASEURL_SEARCHABLE = http://some-server/torus2/
   
# Can also be set to 'http://{thisHost}/torus2/' if the Torus and the 
# Service Proxy share the same host.   
   

Optional properties

# Determines whether a category without any targets assigned should be excluded   
categories.EXCLUDE_EMPTY_CATEGORIES = true   # Optional: Default true    
      
categories.CACHE_CATEGORIES_ON_SESSION = true # Specifies if categories should 
                                              # be looked up only once for the 
                                              # duration of the HTTP session
                                              # Optional: Default true