Table of Contents
Organization / Policy Editing
Overview
After installing Evergreen, you will want to make configuration changes to reflect the organizational hierarchy and the policies of your library or libraries. The information provided here will assist you in making these changes. Some examples of what can be configured using the CGI scripts described here include adding a branch library, changing circulation rules for an existing library, and adding a new staff position or user group.
During the installation process you were asked to provide a location to install the Bootstrapping CGI scripts that aid in configuring Evergreen's policies. We will assume you have set up Apache to serve this directory and you have protected it from the World™. The interface for making changes to these policies should be located on your server at http://your.domain.com/cgi-bin/config.cgi which you can open in your web browser. Before you start making changes though, be sure to read through at least the "Before You Edit" section below.
Before You Edit
Before changing anything, be sure to think through all consequences of your action. Have a good backup. If in any doubt whatsoever, e-mail open-ils-dev@list.georgialibraries.org. The developers will help you try to plan out the consequences of your actions.
Luckily, Postgres will not allow the deletion of item records (IE: policies) if anything is attached to them. For example, you cannot delete a user group if users are assigned to this group. Currently, the error for this isn't nice, but this is being worked on (12/05). However, a well-planned change shouldn't result in these errors. If you do have these errors, contact open-ils-dev for assistance in seeing whether there is a dependency you may've forgotten. The error looks like this:
ERROR: update or delete on "org_unit_type" violates foreign key constraint "org_unit_ou_type_fkey" on "org_unit" DETAIL: Key (id)=(5) is still referenced from table "org_unit".
Configuration Options
- Organizational Unit Types – Library hierarchy layout
- Organizational Units – Adding, editing and removing Libraries in the Consortium
- User groups and group permissions – Adding, editing and removing Groups
- Copy Statuses – Editing core Copy Statuses, and adding, editing and removing custom Copy Statuses
- Circulation/Hold Rules – Defining and editing Circulation and Hold Rules for use by the Circ Chains and Hold Chains scripts
- System Permission Editing – Developers only!
Applying the Changes
When modifying the Organizational Unit configuration (Organizational Unit Types or Organizational Units themselves), you must run the autogen script before the new configuration will be applied.
As user opensrf:
/openils/bin/autogen.sh -c /openils/conf/opensrf_core.xml -u
Security
Remember, the configuration file/directory at http://your.domain.com/cgi-bin/config.cgi should be strictly secured. Protection for this file is NOT done by default in Open-ILS. Instead, you will need to make the additions to your apache configuration to protect this directory (preferrably by IP address AND username/password). If the wrong person can access this file, you may come in the next day to find a dozen new libraries added to your consortium ;)
Troubleshooting
Note: If you have installed the gateway Apache modules (mod_ils_gateway and mod_ils_rest_gateway, the "opensrf_gateway" or "opensrf_all" build targets), then Apache's httpd.conf file will have been edited by the install process to load the "ils_gateway_module" and "ils_rest_gateway_module" modules. When Apache is started with these modules loaded, it will cause problems if the jabber server the modules must connect to is not running. The suggested workaround is to comment out the lines in Apache's httpd.conf file which loads these modules (LoadModule mod_ils_gateway_module, etc.) if you wish to use Apache before the system is fully running. Once running, you can safely un-comment theses lines.
Note: You may encounter errors that look similar to this:
ERROR: update or delete on "org_unit_type" violates foreign key constraint "org_unit_ou_type_fkey" on "org_unit" DETAIL: Key (id)=(5) is still referenced from table "org_unit".
That is normal and expected. The error is telling you that the object you are attempting to remove is still in use by the system. You will need to remove anything referecing the object you are attempting to delete before you can remove it. This is a database restriction that protects the data from becoming corrupt by creating orphanned objects. [author note – Better error messages to come, I promise!]