Chapter 37. Kid’s OPAC Configuration

Table of Contents

XML Configuration File
Skin Configuration
Considerations for Community Adoption
Outstanding Development (Unsponsored)



The KPAC is already included and ready to be used with new Evergreen installs. So you only need to change the apache config if you need to change template locations or if you want to use a different kpac.xml config file. The defaults for the KPAC are set in /etc/apache2/eg_vhosts.conf.

<Location /eg/kpac>
    PerlSetVar OILSWebContextLoader "OpenILS::WWW::EGKPacLoader"
    PerlSetVar KPacConfigFile "/openils/conf/kpac.xml.example"

XML Configuration File

  • The XML configuration file defines the layout of the kid’s OPAC.
  • It is read with each restart/reload of the Apache web server.
  • The file lives by default at /openils/conf/kpac.xml.example
  • There are two top-level elements: <pages> and <layout>.
  • The layout defines the owning org unit and the start page, both by ID.
  • At runtime, the layout is determined by the context org unit. If no configuration is defined for the context org unit, the layout for the closest ancestor is used.
<layout owner="1" page="1"/>
  • The pages section is a container for <page> elements.
  • Each page defines an ID, the number of columns to display for the page, the page name, and an icon.
<page id="1" columns="5" name="Home" img="/images/home.jpg">
  • Each page is a container of cells
  • Each cell defines

    • type (topic, search, link)
    • name
    • icon
    • content
  • The content for type="topic" cells is the ID of the page this topic jumps to. The name and img for the referenced page is used as the display content.
<cell type="topic">12</cell>
  • The content for type="search" cells is the search query. The name and img are used for the display content.
<cell name="Piano" img="category.png" type="search">su:piano</cell>
  • The content for type="link" cells is the URL. The name and img are used for the display content.
<cell name="Clarinet" img="category.png"

Skin Configuration

The following example enables you to configure the alternate skin (Monster Skin, kpac2) for the Kids Catalog.

You should be familiar with how the Evergreen TPAC handles template folders before you make these changes.

If you already have a custom template directory setup you can copy the Open-ILS/examples/web/templates/kpac files to that directory instead, and then skip any Apache config changes.

% cp -r Open-ILS/examples/web/css/skin/kpac2 /openils/var/web/css/skin/
% cp -r Open-ILS/examples/web/images/kpac/* /openils/var/web/images/kpac/ #does not clobber
% mkdir /openils/var/templates_kpac2
% cp -r Open-ILS/examples/web/templates/kpac /openils/var/templates_kpac2/
% cp -r /openils/var/web/css/skin/default/kpac/fonts /openils/var/web/css/skin/kpac2/kpac

Then set up 443/80 vhosts for serving the alternate skin in eg.conf, something along the lines of:

<VirtualHost *:80>
    DocumentRoot /openils/var/web/
    DirectoryIndex index.html index.xhtml
    Include eg_vhost.conf
    <Location /eg/kpac>
        #Point to a different kpac.xml config file if needed
        #PerlSetVar KPacConfigFile "/openils/conf/kpac.xml.example"
        PerlAddVar OILSWebTemplatePath "/openils/var/templates_kpac2"