Support for multiple PAC interfaces by URL RFC

From Koha Wiki
Jump to navigation Jump to search

Support for multiple PAC interfaces based on the url accessed.

Implementation Status

commit ca5e412c1b5ceeb6928469e6e5f33214259ea585
Author: Ryan Higgins <>
Date:   Wed May 27 10:31:47 2009 -0500

    bug 3244: Support for multiple PAC interfaces.
    Adds three env vars allowing url-specific search limits, and defining
    how the limit interacts with 'SearchMyLibraryFirst'.
    Signed-off-by: Galen Charlton <>


This RFC describes small changes to Koha's opac to simplify maintaining css and template changes between different libraries in a single Koha installation, allowing css overrides per branch location depending on the URI used to access the PAC.


This feature is implemented via the web server's capacity to pass environment variables to CGI. Three environment variables are defined:

  • opac_css_override : defines a css file to apply after opaclayoutstylesheet and opaccolorstylesheet
  • opac_search_limit : defines a search limit to associate with this url.
  • opac_limit_override : defines how the opac_search_limit query terms interact with branch limits imposed by the searchmylibraryfirst system preference.

The cascade is thus:

  • opaclayoutstylesheet
    • In most cases this will be the stock koha stylesheet.
  • opaccolorstylesheet
    • System-wide styles overriding the stock koha stylesheet.
  • opac_css_override
    • CSS applied only if Koha is accessed via a specific url.

Search Limits:

  • opac_search_limit
    • a ccl query limit to add to all searches in this opac interface. common examples:
      • branch: each library in the Koha installation can have its own PAC, with scoped searches.
      • audience: in school libraries, one may wish to have define interfaces based on audience. The css can replace icons with a kid-friendly set, and opac_search_limit add audience-specific search limits.
      • itemtype / collection: a library may wish to offer a separate interface for materials that are available electronically. By cataloging those materials as a specific itemtype or ccode ( or any other ccl-indexed field ), a separate user interface can be built to provide access to these materials.
  • opac_limit_override
    • a boolean value describing how the opac_search_limit variable should interact with the searchmylibraryfirst system preference.
      • true : the searchmylibraryfirst branch limit will be ignored, and not applied to searches in this interface.
      • false : the opac_search_limit will be ANDed with the searchmylibraryfirst branch limit.

Database changes:


API Changes: will pass these vars from CGI to templates.

System Preferences:

none; this feature is enabled by creating the env vars in web server configuration.

Interaction with other Koha features:

This feature potentially conflicts with the searchmylibraryfirst sytem preference. If the opac_search_limit is a branch limit, opac_limit_override should be set to true.