From e3e1bf80e144c4b82a54b35de55bfb26fef756cb Mon Sep 17 00:00:00 2001 From: Robert Soulliere <rsoulliere@FE-soulliere-nb.(none)> Date: Wed, 2 Jun 2010 09:59:06 -0400 Subject: [PATCH] add root.xml and admin directory --- 1.6/admin/AdminMisc.pdf | Bin 0 -> 19555 bytes 1.6/admin/AdminMisc.xml | 193 +++++ 1.6/admin/Upgrading-Evergreen_1.6.pdf | Bin 0 -> 15105 bytes 1.6/admin/Upgrading-Evergreen_1.6.xml | 289 +++++++ 1.6/admin/indexedfieldweighting.xml | 233 ++++++ 1.6/admin/migratingdata.xml | 12 + 1.6/admin/serveradministration.pdf | Bin 0 -> 101336 bytes 1.6/admin/serveradministration.xml | 1440 +++++++++++++++++++++++++++++++++ 1.6/admin/troubleshooting.pdf | Bin 0 -> 14044 bytes 1.6/admin/troubleshooting.xml | 199 +++++ 1.6/root.xml | 80 ++ 11 files changed, 2446 insertions(+) create mode 100644 1.6/admin/AdminMisc.pdf create mode 100644 1.6/admin/AdminMisc.xml create mode 100644 1.6/admin/Upgrading-Evergreen_1.6.pdf create mode 100644 1.6/admin/Upgrading-Evergreen_1.6.xml create mode 100644 1.6/admin/indexedfieldweighting.xml create mode 100644 1.6/admin/migratingdata.xml create mode 100644 1.6/admin/serveradministration.pdf create mode 100644 1.6/admin/serveradministration.xml create mode 100644 1.6/admin/troubleshooting.pdf create mode 100644 1.6/admin/troubleshooting.xml create mode 100755 1.6/root.xml diff --git a/1.6/admin/AdminMisc.pdf b/1.6/admin/AdminMisc.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4b0bc90b11555f14c967ce5476de17a5ceeba4df GIT binary patch literal 19555 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 literal 0 HcmV?d00001 diff --git a/1.6/admin/AdminMisc.xml b/1.6/admin/AdminMisc.xml new file mode 100644 index 0000000000..ce2b571727 --- /dev/null +++ b/1.6/admin/AdminMisc.xml @@ -0,0 +1,193 @@ +<?xml version='1.0' encoding='UTF-8'?> +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:id="adminmisc"> + <info> + + <title>Server Operations and Maintenance</title> + <abstract> + <para>This chapter deals with basic server operations such as starting and stopping Evergreen as well wall security, backing up and troubleshooting Evergreen.</para> + </abstract> + </info> + <section xml:id="startingopensrf"> + <title>Starting, Stopping and Restarting</title> + <para>Occasionally, you may need to restart Evergreen. It is imperative that you understand the basic + commands to stop and start the Evergreen server. You can start and stop Evergreen from the command line of + the server using the <filename >osrf_ctl.sh</filename> script located in the + <filename class="directory">openils/bin</filename> directory.</para> + <note><para>The osrf_ctl.sh script must be run as the <emphasis>opensrf</emphasis> user.</para></note> + <para>To view help on <filename>osrf_ctl.sh</filename> and get all of its options, + run:</para> + <screen>osrf_ctl.sh -h</screen> + <para>To start Evergreen, run:</para> + <screen>osrf_ctl.sh -l -a start_all</screen> + <para>The -l flag is used to indicate that Evergreen is configured to use <emphasis>localhost</emphasis> as + the host. If you have configured opensrf.xml to use your real hostname, do not use the -l flag. The -a + option is required and indicates the <emphasis>action</emphasis> of the command. In this case + <emphasis>start_all</emphasis>. + </para> + <note> + <para>If you receive the error message bash: osrf_ctl.sh: + command not found, then your environment variable PATH does not include the + <filename class="directory">/openils/bin</filename> directory. + You can set it using the following command:</para> + <screen>export PATH=$PATH:/openils/bin</screen> + <para>If you receive the error message Can't locate OpenSRF/System.pm in @INC ⦠BEGIN + failedâcompilation aborted, then your environment variable <emphasis>PERL5LIB</emphasis> does not + include the <filename class="directory">/openils/lib/perl5</filename> directory. You can set it + using the following command:</para> + <screen>export PERL5LIB=$PERL5LIB:/openils/lib/perl5</screen> + </note> + <para>It is also possible to start a specific service. For example:</para> + <screen>osrf_ctl.sh -l -a start_router</screen> + <para>will only start the router service.</para> + <caution> + <para>If you decide to start each service individually, you need to start them in a specific order + for Evergreen to start correctly. Run the commands in this exact order:</para> + <screen>osrf_ctl.sh -l -a start_router</screen> + <screen>osrf_ctl.sh -l -a start_perl</screen> + <screen>osrf_ctl.sh -l -a start_c</screen> + </caution> + <para>After starting or restarting Evergreen, it is also necessary to restart the Apache web server for the + OPAC to work correctly.</para> + <para>To stop Evergreen, run:</para> + <screen>osrf_ctl.sh -l -a stop_all</screen> + <para>As with starting, you can choose to stop one service</para> + <para>To restart Evergreen, run:</para> + <screen>osrf_ctl.sh -l -a restart_all</screen> + </section> + <section xml:id="backingup"> + <title>Backing Up</title> + <para>Backing up your system files and data is a critical task for server and database adminstrators. + Having a strategy for backing up and recovery could be the difference between a minor annoyance for users and + a a complete catastrophy.</para> + <simplesect> + <title>Backing up the Evergreen Database</title> + <para>Most of the critical data for an Evergreen system â patrons, bibliographic records, holdings, + transactions, bills â is stored in the PostgreSQL database. You can therefore use normal PostgreSQL + backup procedures to backup this data. For example, the simplest method of backing up the Evergreen + database is to use the pg_dump command to create a live backup of the database without having to + interrupt any Evergreen services as follows:</para> + <screen># pg_dump -U [username] -h [hostname] -f [output-file] [database-name]</screen> + <screen>pg_dump -U evergreen -h localhost -f evergreen_db.backup evergreen</screen> + <para>To restore the backed up database into a new database, create a new database using the + template0 database template and the UTF8 encoding, and run the psql command, specifying the new + database as your target:</para> + <screen>createdb -T template0 -E UTF8 -U evergreen -h localhost new_evergreen</screen> + <screen>psql -U evergreen -h localhost -f evergreen_db.backup new_evergreen</screen> + <note> + <para>This method of backup is only suitable for small Evergreen instances. Larger sites + should consider implementing continuous archiving (also known as âlog shippingâ) to provide + more granular backups with lower system overhead. More information on backing up PostgreSQL + databases can be found in the official PostgreSQL documentation.</para> + </note> + </simplesect> + <simplesect> + <title>Backing up Evergreen Files</title> + <para>When you deploy Evergreen, you will probably customize many aspects of your system includung + the system configuration files, Apache configuration files, OPAC and Staff Client. In order to + protect your investment of time, you should carefully consider the best approach to backing up + files.</para> + <para>There are a number of ways of tackling this problem. You could create a script that regularly + creates a time-stamped tarball of all of these files and copies it to a remote server - but that + would build up over time to hundreds of files. You could use rsync to ensure that the files of + interest are regularly updated on a remote server - but then you would lose track of the changes to + the files, should you make a change that introduces a problem down the road.</para> + <para>Perhaps one of the best options is to use a version control system like Bazaar, git, + Subversion, or CVS to regularly push updates of the files you care about to a repository on a + remote server. This gives you the advantage of quickly being able to run through the history of the + changes you made, with a commenting system that reminds you why each change was made, combined with + remote storage of the pertinent files in case of disaster on site. In addition, your team can create + local copies of the repository and test their own changes in isolation from the production + system. Using a version control system also helps to recover system customizations after an + upgrade.</para> + </simplesect> + <simplesect> + <title>Full System Backup</title> + <para>A full system backup archives every file on the file system. Some basic methods require you + to shut down most system processes; other methods can use mirrored RAID setups or SAN storage to + take âsnapshotâ backups of your full system while the system continues to run. The subject of how + to implement full system backups is beyond the scope of this documentation.</para> + </simplesect> + </section> + <section xml:id="security"> + <title>Security</title> + <para>As with an ILS and resource accessible from the world wilde web careful consideration needs to be + given to the security of your Evergreen servers and database. While it is impossible to cover all aspects + of security, it is important to take several percautions when setting up production Evergreen site.</para> + <orderedlist> + <listitem> + <para>Change the Evergreen <emphasis>Admin</emphasis> password and keep it secure. The + default Admin password is known by anyone who has installed Evergreen. It is not a secret + and needs to be changed by the Administrator. It should also only be shared by those who + need the highest level access to Evergreen.</para> + </listitem> + <listitem> + <para>Create strong passwords using a combination of numerican and alphatbetical characters + for all of the Administrative passwords used by Evergreen including the Evergreen + postgresql user, opensrf linux account, and Admin evergreen users, and of course, any + superusers on your server.</para> + </listitem> + <listitem> + <para>Open ports in the firewall with Caution - It is necessary to open some ports to the + server such as port 80 for http and 443 for ssl, and it can be helpful to open ports for + remote access to the database or staff client. It is also critical for an administrator to + understand the concepts of network security and take precautions to not allow the server to + be vulnerable to the outside world. + </para> + </listitem> + <listitem> + <para>Use permissions and permission groups wisely - it is important to understand the + purpose of the permissions and to only give users the level of access that they require. + </para> + </listitem> + </orderedlist> + </section> + <section xml:id="logfiles"> + <title>Managing Log Files</title> + <para>Evergreen comes with a sophisticated logging system, but it is important to manage the OpenSRF and Evergreen logs. This section will provide a couple of log management techniques + and tools.</para> + <simplesect> + <title>Using the Log Rotate Utility to Manage Log Size</title> + <para>Fortunately, this is not a new problem for Unix administrators, and there are a number of ways of keeping your logs under control. On Debian and Ubuntu, for example, + the logrotate utility controls when old log files are compressed and a new log file is started. logrotate runs once a day and checks all log files that it knows about to see if a + threshold of time or size has been reached and rotates the log files if a threshold condition has been met.</para> + <para>To teach logrotate to rotate Evergreen logs on a weekly basis, or if they are > 50MB in size, create a new file <filename>/etc/logrotate.d/evergreen</filename> with the + following contents: </para> + <screen>compress</screen> + <screen>/openils/var/log/*.log {</screen> + <screen> # keep the last 4 archived log files along with the current log file</screen> + <screen> # log log.1.gz log.2.gz log.3.gz log.4.gz</screen> + <screen> # and delete the oldest log file (what would have been log.5.gz)</screen> + <screen>rotate 5</screen> + <screen># if the log file is > 50MB in size, rotate it immediately</screen> + <screen> size 50M</screen> + <screen> # for those logs that don't grow fast, rotate them weekly anyway</screen> + <screen> weekly</screen> + <screen>}</screen> + </simplesect> + <simplesect> + <title>Chaning Logging Level for Evergreen</title> + <para>Change the Log Levels in your config files. Changing the level of logging will help + narrow down errors.</para> + <tip> + <para>A high logging level is not wise to do in a production environment since it + will produce vastly larger log files and thus reduce server performance.</para> + </tip> + <para>Change logging levels by editing the configuration file + <filename>/openils/conf/opensrf_core.xml</filename></para> + <para>you will want to search for lines containing <loglevel>.</para> + <para> the default setting for loglevel is 3 which will log <emphasis>errors</emphasis>, + <emphasis>warnings</emphasis> and <emphasis>information</emphasis>.</para> + <para>The next level is 4 which is for debugging and provides additional information + helpful for the debugging process.</para> + <para>Thus, lines with:</para> + <screen><loglevel>3</loglevel></screen> + <para>Should be changed to:</para> + <screen><loglevel>4</loglevel></screen> + <para>to allow debugging level logging</para> + <para>Other logging levels inclide <emphasis>0</emphasis> for no logging, + <emphasis>1</emphasis> for logging errors and <emphasis>2</emphasis> for logging warnings + and errors.</para> + </simplesect> + </section> +</chapter> diff --git a/1.6/admin/Upgrading-Evergreen_1.6.pdf b/1.6/admin/Upgrading-Evergreen_1.6.pdf new file mode 100644 index 0000000000000000000000000000000000000000..baf36ab9b0ab258fc824bb48fcbb7fa1d59efec7 GIT binary patch literal 15105 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 L3yah(X}tdf7JJBT literal 0 HcmV?d00001 diff --git a/1.6/admin/Upgrading-Evergreen_1.6.xml b/1.6/admin/Upgrading-Evergreen_1.6.xml new file mode 100644 index 0000000000..334889ead5 --- /dev/null +++ b/1.6/admin/Upgrading-Evergreen_1.6.xml @@ -0,0 +1,289 @@ +<?xml version='1.0' encoding='UTF-8'?> +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:id="upgradingevergreen"> + <info> + <title>Upgrading Evergreen from 1.4 to 1.6</title> + <abstract> + <para>This Chapter will explain the step-by-step process of upgrading <application>Evergreen + </application> from version 1.4 to 1.6, including steps to upgrade <application>OpenSRF</application>. Before + upgrading, it is important to carefully plan an upgrade strategy to minimise system downtime and + service interruptions. All of the steps in this chapter are to be completed from the command line.</para> + </abstract> + </info> + <procedure> + <step> + <para>Stop Evergreen and back up data.</para> + <procedure> + <step> + <para>As <emphasis>root</emphasis>, stop the <application>Apache</application> + web server.</para> + </step> + <step> + <para>As the <emphasis>opensrf</emphasis> user, stop all + <application>Evergreen</application> + and <application>OpenSRF</application> services:</para> + <screen>osrf_ctl.sh -l -a stop_all</screen> + </step> + <step> + <para>Back up of the <filename class='directory'>/openils</filename> + directory.</para> + </step> + <step> + <para><link linkend="backupevergreendatabase">Back up the <application>evergreen + </application> database</link>.</para> + </step> + </procedure> + </step> + <step> + <para>Upgrade OpenSRF to 1.2</para> + <procedure> + <step> + <para>As the opensrf user, download and extract the source files for OpenSRF + 1.2:</para> + <screen>wget \ + http://open-ils.org/downloads/OpenSRF-1.2.2.tar.gz</screen> + <screen>tar xzf OpenSRF-1.2.2.tar.gz</screen> + <para>A new directory OpenSRF-1.2.2 will be created</para> + <note><para>For the latest edition of OpenSRF, check the Evergreen download page at + <ulink url="http://www.open-ils.org/downloads.php" />. + </para></note> + </step> + <step> + <para>As the root user, install the software prerequisites using the automatic + prerequisite installer.</para> + <screen>aptitude install make</screen> + <screen>cd /home/opensrf/OpenSRF-1.2.2</screen> + <para>Replace <emphasis>[distribution]</emphasis> below with the following value + for your distribution:</para> + <itemizedlist> + <listitem> + <para><emphasis>debian-etch</emphasis> for Debian Etch (4.0)</para> + </listitem> + <listitem> + <para><emphasis>debian-lenny</emphasis> for Debian Lenny (5.0)</para> + </listitem> + <listitem> + <para><emphasis>ubuntu-hardy</emphasis> for Ubuntu Hardy Heron (8.04)</para> + </listitem> + <listitem> + <para><emphasis>ubuntu-intrepid</emphasis> for Ubuntu Intrepid Ibex + (8.10)</para> + </listitem> + <listitem> + <para><emphasis>ubuntu-jaunty</emphasis> for Ubuntu Jaunty Jackalope + (9.04)</para> + </listitem> + <listitem> + <para><emphasis>ubuntu-karmic</emphasis> for Ubuntu Karmic Koala + (9.10)</para> + </listitem> + </itemizedlist> + <screen>make -f src/extras/Makefile.install <emphasis>[distribution]</emphasis> + </screen> + <para>This will install a number of packages required by OpenSRF on your system, + including some Perl modules from CPAN. You can say ânoâ to the initial CPAN + configuration prompt to allow it to automatically configure itself to download + and install Perl modules from CPAN. The CPAN installer will ask you a number of + times whether it should install prerequisite modules - say âyesâ.</para> + </step> + <step> + <para>As the opensrf user, configure and compile OpenSRF:</para> + <note>You can include the âenable-python and âenable-java configure options if + you want to include support for Python and Java, respectively.</note> + <screen>cd /home/opensrf/OpenSRF-1.2.2</screen> + <screen>./configure --prefix=/openils --sysconfdir=/openils/conf</screen> + <screen>make</screen> + </step> + <step> + <para>As the root user, return to your OpenSRF build directory and install + OpenSRF:</para> + <screen>cd /home/opensrf/OpenSRF-1.2.2</screen> + <screen>make install</screen> + </step> + <step> + <para>As the root user, change the ownership of the installed files to the opensrf + user:</para> + <screen>chown -R opensrf:opensrf /openils</screen> + </step> + <step> + <para>Restart and Test OpenSRF</para> + <screen>osrf_ctl.sh -l -a start_all</screen> + <screen>/openils/bin/srfsh</screen> + <screen>srfsh# request opensrf.math add 2 2</screen> + <para>You should see output like:</para> + <screen>Received Data: 4</screen> + <screen></screen> + <screen>------------------------------------</screen> + <screen>Request Completed Successfully</screen> + <screen>Request Time in seconds: 0.007519</screen> + <screen>------------------------------------</screen> + <screen></screen> + <screen>srfsh#</screen> + <para>If test <emphasis>Completed Successfully</emphasis> move onto next section. + If not, refer to <link linkend="troubleshooting">troubleshooting</link> section + of this documentation.</para> + </step> + </procedure> + </step> + <step> + <para>Upgrade <application>Evergreen</application> to 1.6</para> + <procedure> + <step> + <para>As the <emphasis>opensrf</emphasis> user, download and extract Evergreen 1.6 + </para> + <screen>wget \</screen> + <screen>http://evergreen-ils.org/downloads/Evergreen-ILS-1.6.0.3.tar.gz</screen> + <screen>tar xzf Evergreen-ILS-1.6.0.3.tar.gz</screen> + <note><para>For the latest edition of Evergreen check the Evergreen download page at + <ulink url="http://www.open-ils.org/downloads.php" /></para></note> + </step> + <step> + <para>As the <emphasis>root</emphasis> user, install the prerequisites:</para> + <screen>cd /home/opensrf/Evergreen-ILS-1.6.0.3</screen> + <para>On the next command, replace <emphasis>[distribution]</emphasis> with one of + these values for your distribution of Debian or Ubuntu:</para> + <itemizedlist> + <listitem> + <para><emphasis>debian-etch</emphasis> for Debian Etch (4.0)</para> + </listitem> + <listitem> + <para><emphasis>debian-lenny</emphasis> for Debian Lenny (5.0)</para> + </listitem> + <listitem> + <para><emphasis>ubuntu-hardy</emphasis> for Ubuntu Hardy Heron + (8.04)</para> + </listitem> + <listitem> + <para><emphasis>ubuntu-intrepid</emphasis> for Ubuntu Intrepid Ibex + (8.10)</para> + </listitem> + <listitem> + <para><emphasis>ubuntu-jaunty</emphasis> for Ubuntu Jaunty Jackalope + (9.04)</para> + </listitem> + <listitem> + <para><emphasis>ubuntu-karmic</emphasis> for Ubuntu Karmic Koala + (9.10)</para> + </listitem> + </itemizedlist> + <screen>make -f Open-ILS/src/extras/Makefile.install <emphasis>[distribution]</emphasis></screen> + </step> + <step> + <para>As the <emphasis>opensrf</emphasis> user, configure and compile + <application>Evergreen</application>:</para> + <screen>cd /home/opensrf/Evergreen-ILS-1.6.0.3</screen> + <screen>./configure --prefix=/openils --sysconfdir=/openils/conf</screen> + <screen>make</screen> + </step> + <step> + <para>As the <emphasis>root</emphasis> user, install + <application>Evergreen</application>:</para> + <screen>make STAFF_CLIENT_BUILD_ID=rel_1_6_0_3 install</screen> + </step> + <step> + <para>Change to the <application>Evergreen</application> installation + directory:</para> + <screen>cd /home/opensrf/Evergreen-ILS-1.6.0.3</screen> + </step> + <step> + <para>As the <emphasis>root</emphasis> user, build live-db-setup.pl for the cgi-bin + bootstrapping scripts and offline-config.pl for the offline staff client data + uploader:</para> + <screen>perl Open-ILS/src/support-scripts/eg_db_config.pl \</screen> + <screen>--create-bootstrap --create-offline --user evergreen \</screen> + <screen>--password evergreen --hostname localhost --port 5432 \</screen> + <screen>--database evergreen</screen> + </step> + <step> + <para>As the <emphasis>root</emphasis> user, change all files to be owned by the + <emphasis>opensrf</emphasis> user and group:</para> + <screen>chown -R opensrf:opensrf /openils</screen> + </step> + <step> + <para>Update the Evergreen database</para> + <screen>psql -U evergreen -h localhost \</screen> + <screen>-f Open-ILS/src/sql/Pg/1.4.0.5-1.6.0.0-upgrade-db.sql evergreen</screen> + <screen>psql -U evergreen -h localhost \</screen> + <screen>-f Open-ILS/src/sql/Pg/1.6.0.0-1.6.0.1-upgrade-db.sql evergreen</screen> + <screen>psql -U evergreen -h localhost \</screen> + <screen>-f Open-ILS/src/sql/Pg/1.6.0.1-1.6.0.2-upgrade-db.sql evergreen</screen> + <screen>psql -U evergreen -h localhost \</screen> + <screen>-f Open-ILS/src/sql/Pg/1.6.0.2-1.6.0.3-upgrade-db.sql evergreen</screen> + <screen>psql -U evergreen -h localhost \</screen> + <screen>psql -U evergreen -h localhost -f 1.6.0-mmbxs-cleanup.sql \ + evergreen</screen> + </step> + <step> + <para>As the <emphasis>opensrf</emphasis> user, + copy /openils/conf/oils_web.xml.example to /openils/conf/oils_web.xml + (needed for acquisitions templates).</para> + <screen>cp /openils/conf/oils_web.xml.example \ + /openils/conf/oils_web.xml</screen> + </step> + <step> + <para>Update opensrf_core.xml and opensrf.xml by copying the new example files (/ + openils/conf/opensrf_core.xml.example and /openils/conf/opensrf.xml).</para> + <screen>cp /openils/conf/opensrf_core.xml.example \</screen> + <screen>/openils/conf/opensrf_core.xml</screen> + <screen>cp /openils/conf/opensrf.xml.example /openils/conf/opensrf.xml</screen> + </step> + <step> + <para>Update opensrf.xml with the database connection info:</para> + <screen>perl Open-ILS/src/support-scripts/eg_db_config.pl \</screen> + <screen>--update-config --service all --user evergreen \</screen> + <screen>--password evergreen --hostname localhost --port 5432 \</screen> + <screen>--database evergreen</screen> + </step> + <step> + <para>Update /etc/apache2/startup.pl by copying the example from + Open-ILS/examples/apache/startup.pl.</para> + </step> + <step> + <para>Update /etc/apache2/eg_vhost.conf by copying the example from + Open-ILS/examples/apache/eg_vhost.conf.</para> + </step> + <step> + <para>Update /etc/apache2/sites-available/eg.conf by copying the example from Open-ILS/ + examples/apache/eg.conf.</para> + </step> + <step> + <para>Recover customizations you have made to the <application>Apache</application> + configuration files. For example, if you purchased an SSL certificate, you + will need to edit eg.conf to point to the appropriate SSL certificate files.</para> + </step> + </procedure> + </step> + <step> + <para>Restart Evergreen and Test</para> + <procedure> + <step> + <para>As the <emphasis>opensrf</emphasis> user, start all + <application>Evergreen</application> and <application>OpenSRF</application> + services:</para> + <screen>osrf_ctl.sh -l -a start_all</screen> + </step> + <step> + <para>As the <emphasis>opensrf</emphasis> user, run autogen to refresh the static + organizational data files:</para> + <screen>cd /openils/bin</screen> + <screen>./autogen.sh -c /openils/conf/opensrf_core.xml -u</screen> + </step> + <step> + <para>Start srfsh and try logging in using your <application>Evergreen</application> + username and password:</para> + <screen>/openils/bin/srfsh</screen> + <screen>srfsh% login <emphasis>username password</emphasis></screen> + </step> + <step> + <para>Start the <application>Apache</application> web server.</para> + </step> + </procedure> + </step> + </procedure> + <note> + <title>Troubleshooting:</title> + <para>If you encounter errors, refer to the <link linkend="troubleshooting">troubleshooting + section</link> of this documentation for tips + on finding solutions and seeking further assistance from the Evergreen community.</para> + </note> +</chapter> diff --git a/1.6/admin/indexedfieldweighting.xml b/1.6/admin/indexedfieldweighting.xml new file mode 100644 index 0000000000..565a5021c9 --- /dev/null +++ b/1.6/admin/indexedfieldweighting.xml @@ -0,0 +1,233 @@ +<?xml version='1.0' encoding='UTF-8'?> +<section xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:id="indexedfieldweighting"> + <title>Indexed-Field and Matchpoint Weighting</title> + <info> + <abstract> + <para>This chapter describes indexed field weighting and matchpoint weighting, which + control relevance ranking in Evergreen catalog search results.</para> + <para> + <tip> + <para>In tuning search relevance, it is good practice to make incremental + adjustments, capture search logs, and assess results before making further + adjustments. </para> + </tip> + </para> + </abstract> + </info> + <section> + <title>Indexed-field Weighting</title> + <para>Indexed-field weighting is configured in the Evergreen database in the weight column + of the config.metabib_field table, which follows the other four columns in this table: + field_class, name, xpath, and format. </para> + <para>The following is one representative line from the config.metabib_field table:</para> + <para> author | conference | + //mods32:mods/mods32:name[@type='conference']/mods32:namePart[../mods32:role/mods32:roleTerm[text()='creator']] + | mods32 | 1 ) </para> + <para>The default value for index-field weights in config.metabib_field is 1. Adjust the + weighting of indexed fields to boost or lower the relevance score for matches on that + indexed field. The weight value may be increased or decreased by whole integers. </para> + <para>For example, by increasing the weight of the title-proper field from 1 to 2, a search + for <emphasis role="bold">jaguar</emphasis> would double the relevance for the book + titled <emphasis role="italic">Aimee and Jaguar</emphasis> than for a record with the + term <emphasis role="bold">jaguar</emphasis> in another indexed field. </para> + </section> + <section> + <title>Matchpoint Weighting</title> + <para> Matchpoint weighting provides another way to fine-tune Evergreen relevance ranking, + and is configured through floating-point multipliers in the multiplier column of the + search.relevance_adjustment table.</para> + <para> Weighting can be adjusted for one, more, or all multiplier fields in + search.relevance_adjustment. </para> + <para>You can adjust the following three matchpoints:</para> + <itemizedlist> + <listitem> + <para><indexterm> + <primary>first_word</primary> + </indexterm> boosts relevance if the query is one term long and matches the + first term in the indexed field (search for <emphasis role="bold" + >twain</emphasis>, get a bonus for <emphasis role="bold">twain, + mark</emphasis> but not <emphasis role="bold">mark twain</emphasis>)</para> + </listitem> + <listitem> + <para><indexterm> + <primary>word_order</primary> + </indexterm> increases relevance for words matching the order of search terms, + so that the results for the search <emphasis role="bold">legend + suicide</emphasis> would match higher for the book <emphasis role="italic" + >Legend of a Suicide</emphasis> than for the book, <emphasis role="italic" + >Suicide Legend</emphasis></para> + </listitem> + <listitem> + <para><indexterm> + <primary>full_match</primary> + </indexterm> boosts relevance when the full query exactly matches the entire + indexed field (after space, case, and diacritics are normalized). So a title + search for <emphasis role="italic">The Future of Ice</emphasis> would get a + relevance boost above <emphasis role="italic">Ice Ages of the + Future</emphasis>.</para> + </listitem> + </itemizedlist> + <para> Here are the default settings of the search.relevance_adjustment table: </para> + <table xml:id="search.relevance"> + <title>search.relevance_adjustment table</title> + <tgroup cols="4"> + <thead> + <row> + <entry>field_class</entry> + <entry>name</entry> + <entry>bump_type</entry> + <entry>multiplier</entry> + </row> + </thead> + <tbody> + <row> + <entry>author</entry> + <entry>conference</entry> + <entry>first_word</entry> + <entry>1.5</entry> + </row> + <row> + <entry>author</entry> + <entry>corporate</entry> + <entry>first_word</entry> + <entry>1.5</entry> + </row> + <row> + <entry>author </entry> + <entry>other </entry> + <entry>first_word</entry> + <entry>1.5</entry> + </row> + <row> + <entry>author</entry> + <entry>personal</entry> + <entry>first_word</entry> + <entry>1.5</entry> + </row> + <row> + <entry>keyword</entry> + <entry>keyword</entry> + <entry>word_order</entry> + <entry>10</entry> + </row> + <row> + <entry>series</entry> + <entry>seriestitle</entry> + <entry>first_word</entry> + <entry>1.5</entry> + </row> + <row> + <entry>series</entry> + <entry>seriestitle</entry> + <entry>full_match</entry> + <entry>20</entry> + </row> + <row> + <entry>title</entry> + <entry>abbreviated</entry> + <entry>first_word</entry> + <entry>1.5</entry> + </row> + <row> + <entry>title</entry> + <entry>abbreviated</entry> + <entry>full_match</entry> + <entry>20</entry> + </row> + <row> + <entry>title</entry> + <entry>abbreviated</entry> + <entry>word_order</entry> + <entry>10</entry> + </row> + <row> + <entry>title</entry> + <entry>alternative</entry> + <entry>first_word</entry> + <entry>1.5</entry> + </row> + <row> + <entry>title</entry> + <entry>alternative</entry> + <entry>full_match</entry> + <entry>20</entry> + </row> + <row> + <entry>title</entry> + <entry>alternative</entry> + <entry>word_order</entry> + <entry>10</entry> + </row> + <row> + <entry>title</entry> + <entry>proper</entry> + <entry>first_word</entry> + <entry>1.5</entry> + </row> + <row> + <entry>title</entry> + <entry>proper</entry> + <entry>full_match</entry> + <entry>20</entry> + </row> + <row> + <entry>title</entry> + <entry>proper</entry> + <entry>word_order</entry> + <entry>10</entry> + </row> + <row> + <entry>title</entry> + <entry>translated</entry> + <entry>first_word</entry> + <entry>1.5</entry> + </row> + <row> + <entry>title</entry> + <entry>translated</entry> + <entry>full_match</entry> + <entry>20</entry> + </row> + <row> + <entry>title</entry> + <entry>translated</entry> + <entry>word_order</entry> + <entry>10</entry> + </row> + <row> + <entry>title</entry> + <entry>uniform</entry> + <entry>first_word</entry> + <entry>1.5</entry> + </row> + <row> + <entry>title</entry> + <entry>uniform</entry> + <entry>full_match</entry> + <entry>20</entry> + </row> + <row> + <entry>title</entry> + <entry>uniform</entry> + <entry>word_order</entry> + <entry>10</entry> + </row> + </tbody> + </tgroup> + </table> + </section> + <section> + <title>Combining Index Weighting and Matchpoint Weighting</title> + <para>Index weighting and matchpoint weighting may be combined. The relevance boost of the + combined weighting is equal to the product of the two multiplied values. </para> + <para>If the relevance setting in the config.metabib_field were increased to 2, and the + multiplier set to 1.2 in the search.relevance_adjustment table, the resulting matchpoint + increase would be 240%. </para> + <note> + <para>In practice, these weights are applied serially -- first the index weight, then + all the matchpoint weights that apply -- because they are evaluated at different + stages of the search process.</para> + </note> + </section> +</section> diff --git a/1.6/admin/migratingdata.xml b/1.6/admin/migratingdata.xml new file mode 100644 index 0000000000..ebc5be0e20 --- /dev/null +++ b/1.6/admin/migratingdata.xml @@ -0,0 +1,12 @@ +<?xml version='1.0' encoding='UTF-8'?> +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" + xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:id="migratingdata" > + +<info> + + <title>Migrating Data</title> + <abstract> + <para>Robert edited this at 3:06 (Eastern time) Repke changed back, Friday at 19.21 (GMT +1) This is a test 2 by rob</para> + </abstract> + </info> +</chapter> diff --git a/1.6/admin/serveradministration.pdf b/1.6/admin/serveradministration.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f72af00b71637ce1845f8a8dc8f945d846da0af3 GIT binary patch literal 101336 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 literal 0 HcmV?d00001 diff --git a/1.6/admin/serveradministration.xml b/1.6/admin/serveradministration.xml new file mode 100644 index 0000000000..d04cb64d21 --- /dev/null +++ b/1.6/admin/serveradministration.xml @@ -0,0 +1,1440 @@ +<?xml version='1.0' encoding='UTF-8'?> +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" +xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:id="serveradministration"> + <info> + <title>Server Administration</title> + <abstract> + <para>Administration of Evergreen involves configuration done from both the Staff Client as well a + the command line. The goal of this chapter is to provide you with the procedures to help + you optimize your Evergreen system.</para> + </abstract> + </info> + <section xml:id="orgtyes"> + <title>Organizational Unit Types and Organizational Units</title> + <section> + <title>Organizational Unit Types</title> + <para>Organizational Unit Types are the terms used to refer to levels in the hierarchy of your + library system(s). Examples could include>All-Encompassing Consortium, Consortium Within a + Consortium, Library System, Branch, Bookmobile, Sub-Branch, Twig, etc.</para> + <para>You can add or remove organizational unit types, and rename them as needed to match the + organizational hierarchy that exists in reality for the libraries using your installation of + Evergreen. Evergreen can support organizations as simple as a single library with one or more + branches or as complex as a consortium composed of many independently governed library + systems. Organizational unit types should never have proper names since they are only generic types .</para> + <para>The fields in the organizational unit type record include:</para> + <itemizedlist> + <listitem>Type Name - The name of the organization unit type.</listitem> + <listitem>Opac Label - This is the label displayed in the OPAC to describe the search + range and the copy count columns for results. They are <emphasis>range + relative</emphasis> labels.</listitem> + + <listitem>Parent Type - The parent organizational unit type of this type.</listitem> + <listitem>Can Have Volumes - Flag that allows an organizational unit of this type to contain + Volumes/Call Numbers and thus Copies.</listitem> + <listitem>Can Have Users - Flag that allows an Organizational unit of this type to be home to + Users.</listitem> + </itemizedlist> + <para>An organizational unit type can be added, edited, or removed using the staff client.</para> + <para>To navigate to the <emphasis>Organization Unit Types</emphasis> from the staff client select + <menuchoice> + <guimenu>Admin</guimenu> + <guisubmenu>Server Administration</guisubmenu> + <guisubmenu>Organization Types</guisubmenu> + </menuchoice> + </para> + <procedure> + <title>Adding Organization Types</title> + <step><para>Select an organization type from the organization type tree on the left and + click <guibutton>New Child</guibutton>.</para></step> + <step><para>Make sure your new type is selected and edit the <guilabel>Type Name</guilabel>, + <guilabel>OPAC Label</guilabel> and <guilabel>Parent Type</guilabel>.</para></step> + <step><para>Change the <guilabel>Parent Type</guilabel> if necessary.</para></step> + <step><para>Check the <guilabel>Can Have Volumes and Copies</guilabel> checkbox if the + organization units of this type will have volumes and copies assigned to it.</para></step> + <step><para>Check the <guilabel>Can Have Users</guilabel> checkbox if you will allow users + to be have the organization units of this type as their home unit.</para></step> + <step><para>Click <guibutton>Save</guibutton> to save your new organization type. + </para></step> + </procedure> + <procedure> + <title>Deleting Organization Types</title> + <step><para>Select the <emphasis>organization type</emphasis> from the <emphasis>Organization Type</emphasis> + tree.</para></step> + <step><para>Click <guibutton>Delete</guibutton>.</para></step> + <step><para>Click <guibutton>OK</guibutton> on the warning alert box.</para></step> + <note> + <para>You will not be able to delete organization types if organization units are + assigned to that type. Before you can delete the organization + Type, you must change the organization type of the units associated with the type + or delete the units.</para> + </note> + </procedure> + <procedure> + <title>Editing Organization Types</title> + <step><para>Select the <emphasis>organization type</emphasis> you wish to edit from the + organization type tree.</para></step> + <step><para>Make the changes in the right pane.</para></step> + <step><para>Click <guibutton>Save</guibutton> to save your changes.</para></step> + </procedure> + </section> + </section> + <section xml:id="orgunits"> + <title>Organizational Units</title> + <abstract> + <para>Organizational Units are the specific instances of the organization unit types that + make up your library's hierarchy. These can include consortia, systems, branches, + etc. The organizational units should have distictive proper names such as + <emphasis>Main Street Branch</emphasis> or <emphasis>Townsville Campus</emphasis>.</para> + </abstract> + <para>To navigate to the organizational units adminstration page in the staff client select + <menuchoice> + <guimenu>Admin</guimenu> + <guisubmenu>Server Administration</guisubmenu> + <guisubmenu>Organizational Units</guisubmenu> + </menuchoice> + </para> + <procedure> + <title>Adding Organizational Units</title> + <step><para>Select an <emphasis>Organizational Unit</emphasis> from the organizational unit tree on the left and click + <guibutton>New Child</guibutton>.</para></step> + <step><para>Make sure your new unit is selected and edit the <guilabel>Organizational Unit + Name</guilabel>, <guilabel>Organizational Unit Policy Code</guilabel>, + <guilabel>Main Email Address</guilabel> and <guilabel>Main Phone Number</guilabel>.</para> + <note> + <para>The <emphasis>Organizational Unit Name</emphasis> is the name that will appear in the + OPAC. The <emphasis>Policy Code</emphasis> is used by the system to associate policies and + copies with the unit.</para> + </note> + </step> + <step><para>Select the <guilabel>Organization Unit Type</guilabel> and + <guilabel>Parent Organization Unit</guilabel>.</para></step> + <step><para>Check the <guilabel>Can Have Volumes and Copies</guilabel> checkbox if the + organization units of this type will have volumes and copies assigned to it.</para></step> + <step><para>Check the <guilabel>OPAC Visible</guilabel> checkbox if you want this location to be + visible in the OPAC for searching.</para></step> + <step><para>Click <guibutton>Save</guibutton> to save your new organizational unit.</para></step> + </procedure> + <procedure> + <title>Deleting Organizational Units</title> + <step><para>Select the <emphasis>organizational unit</emphasis> you wish to delete from the organzational unit tree in the left pane.</para></step> + <step><para>Click<guibutton>Delete</guibutton>.</para></step> + <step><para>Click <guibutton>OK</guibutton> on the warning alert box.</para></step> + <note> + <para>You will not be able to delete organizational units if you have + users, workstations or copies assigned to the unit. Before you can delete the + organizational unit, you must move its users, workstations, copies and other associated resources to other + organizational units units.</para> + </note> + </procedure> + <procedure> + <title>Editing Organizational Units</title> + <step><para>Select the organizational unit you wish to edit from the + organizational unit tree in the left pane.</para></step> + <step><para>Edit the fields in the right pane.</para></step> + <step><para>Click <guibutton>Save</guibutton> to save your changes.</para></step> + </procedure> + </section> + <section xml:id="relevancyrankings"> + <title>Adjusting Search Relevancy Rankings</title> + <info> + <abstract> + <para>This section describes indexed field weighting and matchpoint weighting, which + control relevance ranking in Evergreen catalog search results. Adjusting relavancy can only be completed through access to the Evergreen database as of version 1.6.</para> + <tip> + <para>In tuning search relevance, it is good practice to make incremental + adjustments, capture search logs, and assess results before making further + adjustments. </para> + </tip> + </abstract> + </info> + <section> + <title>Indexed-field Weighting</title> + <para>Indexed-field weighting is configured in the Evergreen database in the weight column + of the config.metabib_field table, which follows the other four columns in this table: + field_class, name, xpath, and format.</para> + <para>The following is one representative line from the config.metabib_field table:</para> + <para> author | conference | //mods32:mods/mods32:name[@type='conference']/mods32:namePart[../mods32:role/mods32:roleTerm[text()='creator']] | mods32 | 1 ) </para> + <para>The default value for index-field weights in config.metabib_field is 1. Adjust the + weighting of indexed fields to boost or lower the relevance score for matches on that + indexed field. The weight value may be increased or decreased by whole integers. </para> + <para>For example, by increasing the weight of the title-proper field from 1 to 2, a search + for <emphasis role="bold">jaguar</emphasis> would double the relevance for the book titled + <emphasis role="italic">Aimee and Jaguar</emphasis> than for a record with the term + <emphasis role="bold">jaguar</emphasis> in another indexed field. </para> + </section> + <section> + <title>Matchpoint Weighting</title> + <para> Matchpoint weighting provides another way to fine-tune Evergreen relevance ranking, + and is configured through floating-point multipliers in the multiplier column of the + search.relevance_adjustment table.</para> + <para> Weighting can be adjusted for one, more, or all multiplier fields in + search.relevance_adjustment.</para> + <para>You can adjust the following three matchpoints:</para> + <itemizedlist> + <listitem> + <para><indexterm><primary>first_word</primary></indexterm> boosts relevance if the query is + one term long and matches the first term in the indexed field (search for <emphasis + role="bold">twain</emphasis>, get a bonus for <emphasis role="bold">twain, mark</emphasis> + but not <emphasis role="bold">mark twain</emphasis>)</para> + </listitem> + <listitem> + <para><indexterm><primary>word_order</primary></indexterm> increases relevance for words + matching the order of search terms, so that the results for the search <emphasis + role="bold">legend suicide</emphasis> would match higher for the book <emphasis + role="italic">Legend of a Suicide</emphasis> than for the book, + <emphasis role="italic">Suicide Legend</emphasis></para> + </listitem> + <listitem> + <para><indexterm><primary>full_match</primary></indexterm> boosts relevance when the full + query exactly matches the entire indexed field (after space, case, and diacritics are + normalized). So a title search for <emphasis role="italic">The Future of Ice</emphasis> + would get a relevance boost above <emphasis role="italic">Ice>Ages of the + Future</emphasis>.</para> + </listitem> + </itemizedlist> + <para> Here are the default settings of the search.relevance_adjustment table: </para> + <table xml:id="search.relevance"> + <title>search.relevance_adjustment table</title> + <tgroup cols="4"> + <thead> + <row> + <entry>field_class</entry> + <entry>name</entry> + <entry>bump_type</entry> + <entry>multiplier</entry> + </row> + </thead> + <tbody> + <row> + <entry>author</entry> + <entry>conference</entry> + <entry>first_word</entry> + <entry>1.5</entry> + </row> + <row> + <entry>author</entry> + <entry>corporate</entry> + <entry>first_word</entry> + <entry>1.5</entry> + </row> + <row> + <entry>author </entry> + <entry>other </entry> + <entry>first_word</entry> + <entry>1.5</entry> + </row> + <row> + <entry>author</entry> + <entry>personal</entry> + <entry>first_word</entry> + <entry>1.5</entry> + </row> + <row> + <entry>keyword</entry> + <entry>keyword</entry> + <entry>word_order</entry> + <entry>10</entry> + </row> + <row> + <entry>series</entry> + <entry>seriestitle</entry> + <entry>first_word</entry> + <entry>1.5</entry> + </row> + <row> + <entry>series</entry> + <entry>seriestitle</entry> + <entry>full_match</entry> + <entry>20</entry> + </row> + <row> + <entry>title</entry> + <entry>abbreviated</entry> + <entry>first_word</entry> + <entry>1.5</entry> + </row> + <row> + <entry>title</entry> + <entry>abbreviated</entry> + <entry>full_match</entry> + <entry>20</entry> + </row> + <row> + <entry>title</entry> + <entry>abbreviated</entry> + <entry>word_order</entry> + <entry>10</entry> + </row> + <row> + <entry>title</entry> + <entry>alternative</entry> + <entry>first_word</entry> + <entry>1.5</entry> + </row> + <row> + <entry>title</entry> + <entry>alternative</entry> + <entry>full_match</entry> + <entry>20</entry> + </row> + <row> + <entry>title</entry> + <entry>alternative</entry> + <entry>word_order</entry> + <entry>10</entry> + </row> + <row> + <entry>title</entry> + <entry>proper</entry> + <entry>first_word</entry> + <entry>1.5</entry> + </row> + <row> + <entry>title</entry> + <entry>proper</entry> + <entry>full_match</entry> + <entry>20</entry> + </row> + <row> + <entry>title</entry> + <entry>proper</entry> + <entry>word_order</entry> + <entry>10</entry> + </row> + <row> + <entry>title</entry> + <entry>translated</entry> + <entry>first_word</entry> + <entry>1.5</entry> + </row> + <row> + <entry>title</entry> + <entry>translated</entry> + <entry>full_match</entry> + <entry>20</entry> + </row> + <row> + <entry>title</entry> + <entry>translated</entry> + <entry>word_order</entry> + <entry>10</entry> + </row> + <row> + <entry>title</entry> + <entry>uniform</entry> + <entry>first_word</entry> + <entry>1.5</entry> + </row> + <row> + <entry>title</entry> + <entry>uniform</entry> + <entry>full_match</entry> + <entry>20</entry> + </row> + <row> + <entry>title</entry> + <entry>uniform</entry> + <entry>word_order</entry> + <entry>10</entry> + </row> + </tbody> + </tgroup> + </table> + </section> + <section> + <title>Combining Index Weighting and Matchpoint Weighting</title> + <para>Index weighting and matchpoint weighting may be combined. The relevance boost of the combined + weighting is equal to the product of the two multiplied values. </para> + <para>If the relevance setting in the config.metabib_field were increased to 2, and the multiplier + set to 1.2 in the search.relevance_adjustment table, the resulting matchpoint increase would be + 240%. </para> + <note> + <para>In practice, these weights are applied serially -- first the index weight, then all + the matchpoint weights that apply -- because they are evaluated at different stages of the + search process.</para> + </note> + </section> + <section> + <title>Adjusting Relevancy for Keyword Searches</title> + <para> Searching the out of the box <emphasis>keyword</emphasis> does not boost the ranking for terms appearing in, the title or subject fields since there is just one + keyword index which does not distinguish terms that appear in the title field from those in the notes field for example. In comparison, the title index is actually composed of + a number of separate indexes: title|proper, title|uniform, title|alternative, title|translated, etc, that collectively form the title index. You can see this in the + config.metabib_field table. The following procedure will add a keyword|title index so that terms found in the title field of an item are given more weight than terms in + other fields. </para> + <procedure> + <step> + <para>From the command line, access the PorstgreSQL command line interface</para> + <screen>psql -U evergreen</screen> + </step> + <step> + <para>Clone the title|proper index to create a keyword|title index</para> + <para>6 = the title|proper index</para> + <screen>INSERT INTO config.metabib_field + (field_class, name, xpath, weight,</screen> + <screen>format, search_field, facet_field)</screen> + <screen>SELECT 'keyword', 'title', xpath, weight, format,</screen> + <screen>search_field, facet_field</screen> + <screen>FROM config.metabib_field</screen> + <screen>WHERE id = 6;</screen> + </step> + <step> + <para>Populate the keyword|title index with a set of index entries cloned from the metabib.title_field_entry table;</para> + <para>6 = the title|proper index</para> + <screen>INSERT INTO metabib.keyword_field_entry (source, field, value)</screen> + <screen>SELECT source, 17, value (the field value, 17, field be different + in your database so you may need to check the + <emphasis>config.metabib_field</emphasis> for the id of your new index).</screen> + <screen>FROM metabib.title_field_entry</screen> + <screen>WHERE field = 6;</screen> + </step> + <step> + <para>Bump the relevance when the first search term appears first in the title in a keyword search.</para> + <para>17 = our new keyword|title index (This may be different in your database so you may need to check the <emphasis>config.metabib_field</emphasis> for the id + of your new index).</para> + <screen>INSERT INTO search.relevance_adjustment + (active, field, bump_type, multiplier)</screen> + <screen>VALUES (true, 17, 'first_word', 5); </screen> + </step> + <step> + <para>Boost the relevance for search terms appearing in the title in general</para> + <para>17 = our new keyword|title index (This may be different in your database so you may need to check the <emphasis>config.metabib_field</emphasis> for the id + of your new index).</para> + <screen>UPDATE config.metabib_field</screen> + <screen>SET weight = 10</screen> + <screen>WHERE id = 17;</screen> + </step> + </procedure> + </section> + </section> + <section xml:id="grouppermissions"> + <title>User and Group Permissions</title> + <abstract> + <para>It is essential to understand how user and group permissions can be used to allow staff + to fulfil their roles while ensuring that they only have access to the appropriate level.</para> + <para>Permissions in <application>Evergreen</application> are applied to a specific location and system depth based on the home + library of the user. The user will only have that permission within the scope provided by the + <emphasis>Depth</emphasis> field in relation to his/her working locations.</para> + <para>Evergreen provides group application permissions in order to restrict which staff members + have the ability to assign elevated permissions to a user, and which staff members have the ability + to edit users in particular groups.</para> + </abstract> + <section> + <title>User Permissions</title> + <tip><para>Ihe User permissions editor allows an administrator to set up permission fopr an individual user. However, In most cases, permissions can be controlled more + efficiently at the group level with individuals being assigned to specific groups based on their roles in the library.</para></tip> + <para>To open the user permission editor, select <menuchoice><guimenu>Admin</guimenu> + <guisubmenu>User Permission Editor</guisubmenu></menuchoice>. Type the user's barcode when prompted.</para> + <section> + <title>Working Locations</title> + <para>The first section of the User Permission Editor is the the Working Locations + section. You may select more than one working location for a user. This will effect + the availability of certain permissions which are dependent on the user having the working location.</para> + </section> + <section> + <title>User Permission Settings</title> + <para>Below the working locations is the long list of all the permissions available on your + system. For each permission you can apply it by checking the + <emphasis>Applied</emphasis> check box. You can also select a depth to which the + permission is applied and also make the permission <emphasis>grantable</emphasis>, allowing + the user the ability to grant the permission to others.</para> + </section> + </section> + <section> + <title>Group Permissions</title> + <para>Most permissions should be assigned at the group level. Here you can create new + groups based on the roles and responsibilities of the users in your system. Staff will be able to + assign users to these groups when they register patrons.</para> + <tip><para>It is a good idea to create your groups soon after creating your organizational units. + It is also imprtaant to give careful consideration to the hierarchy of your groups to make + permission assignment as efficient as possible.</para></tip> + <para>To enter the <emphasis>Group Permission</emphasis> module from the staff client menu, select + <menuchoice><guimenu>Admin</guimenu> <guisubmenu>Server Administration</guisubmenu> + <guisubmenu>Permission Groups</guisubmenu></menuchoice></para> + <procedure> + <title>Adding Groups</title> + <step><para>Select the <guibutton>Group Configuration</guibutton> tab if not + already selected in the right pane</para></step> + <step><para>Click <guibutton>New Child</guibutton></para></step> + <step><para>Enter a unique <guilabel>Group Name</guilabel></para></step> + <step><para>Enter a <guilabel>Description</guilabel></para></step> + <step><para>Select a <guilabel>Permission Interval</guilabel>. This will determine the + default expiry date of user account when you register patrons and select + their groups</para></step> + <step><para>Selecting an <guilabel>Editing Permission</guilabel> will determine the group level the user will have for editing other users.</para></step> + <step><para>Select the <guilabel>Parent Group</guilabel> for the group.</para> + <note><para>The group will inherit its parent group's permissions so it is unecessary to assign permissions already inherited from its parent.</para></note></step> + <step><para>Click the <guibutton>Save</guibutton> button.</para></step> + </procedure> + <procedure> + <title>Deleting Groups</title> + <step><para>Select the group you wish to delete from the group tree on + left pane.</para></step> + <step><para>Click the <guibutton>Delete</guibutton> button.</para></step> + <step><para>Click on <guibutton>OK</guibutton>to verify.</para></step> + </procedure> + <procedure> + <title>Editing Groups</title> + <step><para>Select the group you wish to edit from the group tree on left pane.</para></step> + <step><para>Edit the fields you wish to change in the right pane.</para></step> + <step><para>Click on <guibutton>Save</guibutton> to save changes.</para></step> + </procedure> + <procedure> + <title>Adding Group Permissions</title> + <step><para>Select the <guibutton>Group Permissions</guibutton> tab on the right + pane</para></step> + <step><para>Click on <guibutton>New Mapping</guibutton>.</para></step> + <step><para>Select the permission you would like to add from the + <guibutton>Permission</guibutton> Select box.</para></step> + <step><para>Select the <guibutton>Depth</guibutton> you wish to set the + permission. This will determine if the group has the permission at a local level or across a + system, or consortium, or other organizational unit type.</para></step> + <step><para>check the <guibutton>Grantable</guibutton> check box to allow the user to + grant the permission to others.</para></step> + <step><para>Click <guibutton>Add Mapping</guibutton> to add the permission to the + group</para></step> + </procedure> + <procedure> + <title>Deleting Group Permissions</title> + <step><para>Select the group permission you wish to delete.</para></step> + <step><para>Click the <guibutton>Delete Selected</guibutton> button.</para></step> + <step><para>Click on <guibutton>OK</guibutton> to verify</para></step> + </procedure> + <procedure> + <title>Editing Group Permissions</title> + <step><para>Click on the <guilabel>Depth</guilabel> or <guilabel>Grantable</guilabel> + field for the permission setting you wish to change.</para></step> + <step><para>Make changes to other permissions in the same way.</para></step> + <step><para>Click <guibutton>Save Changes</guibutton> when you are finished all + the changes.</para></step> + </procedure> + </section> + <section> + <title>Permissions</title> + <table xml:id="permissiondescriptions"> + <title>Permissions Table</title> + <tgroup cols="2"> + <thead> + <row> + <entry>Permission Name</entry> + <entry>Permission Description</entry> + </row> + </thead> + <tbody> + <row> + <entry>ABORT_REMOTE_TRANIST</entry> + <entry>Allows user to abort a copy transit if the user is not at + the transit source or destination</entry> + </row> + <row> + <entry>ABORT_TRANSIT</entry> + <entry>Allows user to abort a copy transit if the user is at the + transit destination or source</entry> + </row> + <row> + <entry>ASSIGN_WORK_ORG_UNIT </entry> + <entry>Allows user to define where another staff member's + permissions apply via the Permissions Editor interface.</entry> + </row> + <row> + <entry>BAR_PATRON</entry> + <entry>Allows user to bar a patron</entry> + </row> + <row> + <entry>CANCEL_HOLDS</entry> + <entry>Allows user to cancel holds</entry> + </row> + <row> + <entry>CIRC_CLAIMS_RETURNED.override</entry> + <entry>Allows user to check in/out an item that is claims + returned</entry> + </row> + <row> + <entry>CIRC_EXCEEDS_COPY_RANGE.override</entry> + <entry>Allows user to override the copy exceeds range event</entry> + </row> + <row> + <entry>CIRC_OVERRIDE_DUE_DATE</entry> + <entry>Allows user to change due date</entry> + </row> + <row> + <entry>CIRC_PERMIT_OVERRIDE</entry> + <entry>Allows user to bypass the circ permit call for i + checkout</entry> + </row> + <row> + <entry>COPY_ALERT_MESSAGE.override</entry> + <entry>Allows user to check in/out an item that has an alert + message</entry> + </row> + <row> + <entry>COPY_BAD_STATUS.override</entry> + <entry>Allows user to check out an item in a non-circulatable + status</entry> + </row> + <row> + <entry>COPY_CHECKIN</entry> + <entry>Allows user to check in a copy</entry> + </row> + <row> + <entry>COPY_CHECKOUT</entry> + <entry>Allows user to check out a copy</entry> + </row> + <row> + <entry>COPY_CIRC_NOT_ALLOWED.override</entry> + <entry>Allows user to checkout an item that is marked as + non-circ</entry> + </row> + <row> + <entry>COPY_HOLDS</entry> + <entry>Allows user to place a hold on a specific copy</entry> + </row> + <row> + <entry>COPY_IS_REFERENCE.override</entry> + <entry>Allows user to override the copy_is_reference event</entry> + </row> + + <row> + <entry>COPY_NOT_AVAILABLE.override</entry> + <entry>Allows user to force checkout of Missing/Lost type + items</entry> + </row> + <row> + <entry>COPY_STATUS_LOST.override</entry> + <entry>Allows user to remove the lost status from a copy</entry> + </row> + <row> + <entry>COPY_STATUS_MISSING.override</entry> + <entry>Allows user to change the missing status on a copy</entry> + </row> + <row> + <entry>COPY_TRANSIT_RECEIVE</entry> + <entry>Allows user to close out a transit on a copy</entry> + </row> + <row> + <entry>CREATE_BILL</entry> + <entry>Allows user to create a new bill on a transaction</entry> + </row> + <row> + <entry>CREATE_CONTAINER</entry> + <entry>Allows user to create containers owned by other users + (containers are Item Buckets, Volume Buckets, and Book Bags)</entry> + </row> + <row> + <entry>CREATE_CONTAINER_ITEM</entry> + <entry>Allows user to place an item in a container (even if the + container is owned by other users).</entry> + </row> + <row> + <entry>CREATE_COPY</entry> + <entry>Allows user to create a new copy object</entry> + </row> + <row> + <entry>CREATE_COPY_LOCATION</entry> + <entry>Allows user to create a new copy location</entry> + </row> + <row> + <entry>CREATE_COPY_NOTE</entry> + <entry>Allows user to create a new copy note</entry> + </row> + <row> + <entry>CREATE_COPY_STAT_CAT</entry> + <entry>Allows user to create a statisitcal category for + copies</entry> + </row> + <row> + <entry>CREATE_COPY_STAT_CAT_ENTRY</entry> + <entry>Allows user to create a new entry for a copy statistical + category</entry> + </row> + <row> + <entry>CREATE_COPY_STAT_CAT_ENTRY_MAP</entry> + <entry>Allows user to link a copy to a statistical category + (i.e., allows user to specify the appropriate entry for a copy and + given statistical category)</entry> + </row> + <row> + <entry>CREATE_COPY_TRANSIT</entry> + <entry>Allows user to create a transit</entry> + </row> + <row> + <entry>CREATE_DUPLICATE_HOLDS</entry> + <entry>Allows user to create duplicate holds (e.g. two holds on the + same title)</entry> + </row> + <row> + <entry>CREATE_HOLD_NOTIFICATION</entry> + <entry>Allows user to create new hold notifications</entry> + </row> + <row> + <entry>CREATE_IN_HOUSE_USE</entry> + <entry>Allows user to create a new in-house-use</entry> + </row> + <row> + <entry>CREATE_MARC</entry> + <entry>Allows user to create new MARC records</entry> + </row> + <row> + <entry>CREATE_MY_CONTAINER</entry> + <entry>Allows user to create containers for self (containers are + Item Buckets, Volume Buckets, and Book Bags).</entry> + </row> + <row> + <entry>CREATE_NON_CAT_TYPE</entry> + <entry>Allows user to create a new non-cataloged item type</entry> + </row> + <row> + <entry>CREATE_PATRON_STAT_CAT</entry> + <entry>Allows user to create a new patron statistical + category</entry> + </row> + <row> + <entry>CREATE_PATRON_STAT_CAT_ENTRY</entry> + <entry>Allows user to create a new possible entry for patron + statistical categories</entry> + </row> + <row> + <entry>CREATE_PATRON_STAT_CAT_ENTRY_MAP</entry> + <entry>Allows user to link another user to a stat cat entry (i.e., + specify the patron's entry for a given statistical category)</entry> + </row> + <row> + <entry>CREATE_PAYMENT</entry> + <entry>Allows user to record payments in the Billing + Interface</entry> + </row> + <row> + <entry>CREATE_TITLE_NOTE</entry> + <entry>Allows user to create a new title note</entry> + </row> + <row> + <entry>CREATE_TRANSACTION</entry> + <entry>Allows user to create new billable transactions (these + include checkouts and transactions created via the Bill Patron + operation)</entry> + </row> + <row> + <entry>CREATE_TRANSIT</entry> + <entry>Allows user to place item in transit</entry> + </row> + <row> + <entry>CREATE_USER</entry> + <entry>Allows user to create another user</entry> + </row> + <row> + <entry>CREATE_USER_GROUP_LINK</entry> + <entry>Allows user to add other users to permission groups</entry> + </row> + <row> + <entry>CREATE_VOLUME</entry> + <entry>Allows user to create a volume</entry> + </row> + <row> + <entry>CREATE_VOLUME_NOTE</entry> + <entry>Allows user to create a new volume note</entry> + </row> + <row> + <entry>DELETE_CONTAINER</entry> + <entry>Allows user to delete containers (containers are Item Buckets, + Volume Buckets, and Book Bags).</entry> + </row> + <row> + <entry>DELETE_CONTAINER_ITEM</entry> + <entry>Allows user to remove items from buckets and bookbags</entry> + </row> + <row> + <entry>DELETE_COPY</entry> + <entry>Allows user to delete a copy</entry> + </row> + <row> + <entry>DELETE_COPY_LOCATION</entry> + <entry>Allows user to delete a copy location</entry> + </row> + <row> + <entry>DELETE_COPY_NOTE</entry> + <entry>Allows user to delete copy notes</entry> + </row> + <row> + <entry>DELETE_COPY_STAT_CAT</entry> + <entry>Allows user to delete a copy statistical category</entry> + </row> + <row> + <entry>DELETE_COPY_STAT_CAT_ENTRY</entry> + <entry>Allows user to delete an entry for a copy statistical + category</entry> + </row> + <row> + <entry>DELETE_COPY_STAT_CAT_ENTRY_MAP</entry> + <entry>Allows user to delete a copy stat cat entry map</entry> + </row> + <row> + <entry>DELETE_NON_CAT_TYPE</entry> + <entry>Allows user to delete a non cataloged type (the user still + cannot deleted a non-cat type if any items of that type have + circulated).</entry> + </row> + <row> + <entry>DELETE_PATRON_STAT_CAT</entry> + <entry>Allows user to delete a patron statistical category</entry> + </row> + <row> + <entry>DELETE_PATRON_STAT_CAT_ENTRY</entry> + <entry>Allows user to delete an entry for patron statistical + categories</entry> + </row> + <row> + <entry>DELETE_PATRON_STAT_CAT_ENTRY_MAP</entry> + <entry>Allows user to remove a patron's entry for a given + statistical category</entry> + </row> + <row> + <entry>DELETE_RECORD</entry> + <entry>Allows user to delete a bib record</entry> + </row> + <row> + <entry>DELETE_TITLE_NOTE</entry> + <entry>Allows user to delete title notes</entry> + </row> + <row> + <entry>DELETE_USER</entry> + <entry>Allows user to mark a user as deleted</entry> + </row> + <row> + <entry>DELETE_VOLUME</entry> + <entry>Allows user to delete a volume</entry> + </row> + <row> + <entry>DELETE_VOLUME_NOTE</entry> + <entry>Allows user to delete volume notes</entry> + </row> + <row> + <entry>DELETE_WORKSTATION</entry> + <entry>Allows user to remove an existing workstation so a new one + can replace it</entry> + </row> + <row> + <entry>EVERYTHING</entry> + <entry> Every permssion is granted (for sysadmins and developers + only!)</entry> + </row> + <row> + <entry>HOLD_EXISTS.override</entry> + <entry>Allows users to place multiple holds on a single + copy/volume/title/metarecord (depending on hold type)</entry> + </row> + <row> + <entry>IMPORT_MARC</entry> + <entry>Allows user to import a MARC record via the z39.50 + interface</entry> + </row> + <row> + <entry>ITEM_AGE_PROTECTED.override</entry> + <entry>Allows user to place a hold on an age-protected item</entry> + </row> <row> + <entry>ITEM_ON_HOLDS_SHELF.override</entry> + <entry>Allows user to check out an item that is on holds shelf for a + different patron</entry> + </row> + <row> + <entry>MAX_RENEWALS_REACHED.override</entry> + <entry>Allows user to renew an item past the maximun renewal + count</entry> + </row> + <row> + <entry>MERGE_BIB_RECORDS</entry> + <entry>Allows user to merge bib records and their associated data + regardless of their bib/volume/copy level perms (in theory - as of + 1.2.2, users still must have VOLUME_UPDATE and UPDATE_VOLUME in + order to merge records.</entry> + </row> + <row> + <entry>MR_HOLDS</entry> + <entry>Allows user to create a metarecord holds</entry> + </row> + <row> + <entry>OFFLINE_EXECUTE</entry> + <entry>Allows user to process an offline/standalone script + batch</entry> + </row> + <row> + <entry>OFFLINE_UPLOAD </entry> + <entry>Allows user to upload an offline/standalone script</entry> + </row> + <row> + <entry>OFFLINE_VIEW</entry> + <entry>Allows user to view uploaded offline script information</entry> + </row> + <row> + <entry>OPAC_LOGIN</entry> + <entry>Allows user to login to the OPAC</entry> + </row> + <row> + <entry>patron_exceeds_checkout_count.override</entry> + <entry>Allow user to override checkout count failure</entry> + </row> + <row> + <entry>patron_exceeds_fines .override</entry> + <entry>Allow user to override fine amount checkout failure</entry> + </row> + <row> + <entry>patron_exceeds_overdue_count .override</entry> + <entry>Allow user to override overdue count failure</entry> + </row> + <row> + <entry>REGISTER_WORKSTATION</entry> + <entry>Allows user to register a new workstation</entry> + </row> + <row> + <entry>REMOTE_Z3950_QUERY</entry> + <entry>Allows user to perform z3950 queries against remote + servers</entry> + </row> + <row> + <entry>REMOVE_USER_GROUP_LINK</entry> + <entry>Allows user to remove other users from permission + groups</entry> + </row> + <row> + <entry>RENEW_CIRC</entry> + <entry>Allows user to renew items</entry> + </row> + <row> + <entry>RENEW_HOLD_OVERRIDE</entry> + <entry>Allows user to continue to renew an item even if it is + required for a hold.</entry> + </row> + <row> + <entry>REQUEST_HOLDS</entry> + <entry>Allows user to create holds for another user (if true, we + still check to make sure they have permission to make the type of + hold they are requesting, e.g. COPY_HOLDS)</entry> + </row> + <row> + <entry>RUN_REPORTS</entry> + <entry>Allows user to view the Reports Interface, create templates, + and run reports</entry> + </row> + <row> + <entry>SET_CIRC_CLAIMS_RETURNED</entry> + <entry>Allows user to mark an item as claimed returned</entry> + </row> + <row> + <entry>SET_CIRC_LOST</entry> + <entry>Allows user to mark an item as lost</entry> + </row> + <row> + <entry>SET_CIRC_MISSING</entry> + <entry>Allows user to mark an item as missing</entry> + </row> + <row> + <entry>SHARE_REPORT_FOLDER</entry> + <entry>Allows user to share Template/Report/Output folders via the + Reporting Interface</entry> + </row> + <row> + <entry>STAFF_LOGIN</entry> + <entry>Allows user to login to the staff client</entry> + </row> + <row> + <entry>TITLE_HOLDS</entry> + <entry> Allows user to place a hold at the title level</entry> + </row> + <row> + <entry>UNBAR_PATRON</entry> + <entry> Allows user to un-bar a patron</entry> + </row> + <row> + <entry>UPDATE_BATCH_COPY</entry> + <entry>Allows user to edit copies in batch</entry> + </row> + <row> + <entry>UPDATE_CONTAINER</entry> + <entry>Allows user to update another users Buckets or Book + Bags</entry> + </row> + <row> + <entry>UPDATE_COPY</entry> + <entry>Allows user to edit a copy</entry> + </row> + <row> + <entry>UPDATE_COPY_LOCATION</entry> + <entry>Allows user to edit a copy location</entry> + </row> + <row> + <entry>UPDATE_COPY_STAT_CAT</entry> + <entry>Allows user to change a copy statistical category</entry> + </row> + <row> + <entry>UPDATE_COPY_STAT_CAT_ENTRY</entry> + <entry>Allows user to change a copy statistical category entry</entry> + </row> + <row> + <entry>UPDATE_HOLD</entry> + <entry>Allows user to edit holds (such as change notification phone + number or pickup library, as well as retarget the hold and capture + an item for hold or pickup)</entry> + </row> + <row> + <entry>UPDATE_MARC</entry> + <entry>Allows user to edit a marc record</entry> + </row> + <row> + <entry>UPDATE_NON_CAT_TYPE</entry> + <entry>Allows user to update a non cataloged type</entry> + </row> + <row> + <entry>UPDATE_ORG_SETTING</entry> + <entry>Allows user to update an org unit setting</entry> + </row> + <row> + <entry>UPDATE_ORG_UNIT</entry> + <entry>Allows user to change org unit settings</entry> + </row> + <row> + <entry>UPDATE_PATRON_STAT_CAT</entry> + <entry>Allows user to change a patron statistical category (such as + renaming the category)</entry> + </row> + <row> + <entry>UPDATE_PATRON_STAT_CAT_ENTRY</entry> + <entry>Allows user to change a patron stat cat entry(such as + renaming the entry)</entry> + </row> + <row> + <entry>UPDATE_RECORD</entry> + <entry>Allows user to undelete a MARC record</entry> + </row> + <row> + <entry>UPDATE_USER</entry> + <entry>Allows user to edit a user's record</entry> + </row> + <row> + <entry>UPDATE_VOLUME</entry> + <entry>Allows user to edit volumes - needed for merging records. + This is a duplicate of VOLUME_UPDATE; user must have both + permissions at appropriate level to merge records.</entry> + </row> + <row> + <entry>VIEW_CIRCULATIONS</entry> + <entry>Allows user to see what another user has checked out</entry> + </row> + <row> + <entry>VIEW_CONTAINER</entry> + <entry>Allows user to view buckets and bookbags</entry> + </row> + <row> + <entry>VIEW_COPY_CHECKOUT_HISTORY</entry> + <entry>Allows user to view which users have checked out a given + copy</entry> + </row> + <row> + <entry>VIEW_COPY_NOTES</entry> + <entry>Allows user to view notes attached to a copy</entry> + </row> + <row> + <entry>VIEW_HOLD</entry> + <entry>Allows user to view another user's holds</entry> + </row> + <row> + <entry>VIEW_HOLD_NOTIFICATION</entry> + <entry>Allows user to view notifications attached to a hold</entry> + </row> + <row> + <entry>VIEW_HOLD_PERMIT</entry> + <entry>Allows user to see if another user has permission to place a + hold on a given copy</entry> + </row> + <row> + <entry>VIEW_PERM_GROUPS</entry> + <entry>Allows user to view permission groups.</entry> + </row> + <row> + <entry>VIEW_PERMISSION</entry> + <entry>Allows user to view user permissions within the user + permissions editor</entry> + </row> + <row> + <entry>VIEW_PERMIT_CHECKOUT</entry> + <entry>Allows user to see if another user can check out an item + (should be true for all staff)</entry> + </row> + <row> + <entry>VIEW_REPORT_OUTPUT</entry> + <entry>Allows user to view report output</entry> + </row> + <row> + <entry>VIEW_TITLE_NOTES</entry> + <entry>Allows user to view all notes attached to a title</entry> + </row> + <row> + <entry>VIEW_TRANSACTION</entry> + <entry>Allows user to see another users grocery/circ transactions + in the Bills Interface</entry> + </row> + <row> + <entry>VIEW_USER</entry> + <entry>Allows user to view another user's Patron Record</entry> + </row> + <row> + <entry>VIEW_USER_FINES_SUMMARY</entry> + <entry>Allows user to view bill details</entry> + </row> + <row> + <entry>VIEW_USER_TRANSACTIONS</entry> + <entry>*same as VIEW_TRANSACTION (duplicate perm)</entry> + </row> + <row> + <entry>VIEW_VOLUME_NOTES</entry> + <entry>Allows user to view all notes attached to a volume</entry> + </row> + <row> + <entry>VIEW_ZIP_DATA</entry> + <entry>Allows user to query the zip code data method</entry> + </row> + <row> + <entry>VOID_BILLING</entry> + <entry>Allows user to void a bill</entry> + </row> + <row> + <entry>VOLUME_HOLDS</entry> + <entry> Allows user to place a volume level hold</entry> + </row> + + <row> + <entry>actor.org_unit.closed_date.create</entry> + <entry>Allows user to create a new closed date for a location</entry> + </row> + <row> + <entry>actor.org_unit.closed_date.delete</entry> + <entry>Allows user to remove a closed date interval for a given + location</entry> + </row> + <row> + <entry>actor.org_unit.closed_date.update</entry> + <entry>Allows user to update a closed date interval for a given + location</entry> + </row> + <row> + <entry>group_application.user</entry> + <entry>Allows user to add/remove users to/from the User group</entry> + </row> + <row> + <entry>group_application.user.patron</entry> + <entry>Allows user to add/remove users to/from the Patron + group</entry> + </row> + <row> + <entry>group_application.user.sip_client</entry> + <entry>Allows user to add/remove users to/from the SIP-Client + group</entry> + </row> + <row> + <entry>group_application.user.staff</entry> + <entry>Allows user to add/remove users to/from the Staff + group</entry> + </row> + <row> + <entry>group_application.user.staff.admin.global_admin</entry> + <entry>Allows user to add/remove users to/from the GlobalAdmin + group</entry> + </row> + <row> + <entry>group_application.user.staff.admin.lib_manager</entry> + <entry>Allows user to add/remove users to/from the LibraryManager + group</entry> + </row> + <row> + <entry>group_application.user.staff.admin.local_admin</entry> + <entry>Allows user to add/remove users to/from the LocalAdmin + group</entry> + </row> + <row> + <entry>group_application.user.staff.cat</entry> + <entry>Allows user to add/remove users to/from the Cataloger group</entry> + </row> + <row> + <entry>group_application.user.staff.cat.cat1</entry> + <entry>Allows user to add/remove users to/from the Cat1 group</entry> + </row> + <row> + <entry>group_application.user.staff.circ</entry> + <entry>Allows user to add/remove users to/from the Circulator + group</entry> + </row> + <row> + <entry>group_application.user.staff.supercat</entry> + <entry>Allows user to add/remove users to/from the Supercat + group</entry> + </row> + <row> + <entry>group_application.user.vendor</entry> + <entry>Allows user to add/remove users to/from the Vendor + group</entry> + </row> + <row> + <entry>money.collections_tracker.create</entry> + <entry>Allows user to put someone into collections</entry> + </row> + <row> + <entry>money.collections_tracker.delete</entry> + <entry>Allows user to take someone out of collections</entry> + </row> + </tbody> + </tgroup> + </table> + </section> + </section> + <section xml:id="copystatus"> + <title>Copy Status</title> + <para>To navigate to the copy status editor from the staff client menu, select + <menuchoice><guimenu>Admin</guimenu> <guisubmenu>Server Administration</guisubmenu> + <guisubmenu>Copy Statuses </guisubmenu></menuchoice></para> + <para>The Copy Status Editor is used to Add, edit and delete statuses of copies in your system.</para> + <para>Evergreen comes pre-loaded with a number of copy statuses.</para> + <table xml:id="copystatusestable"> + <title>Copy Status Table</title> + <tgroup cols="4"> + <thead> + <row> + <entry>ID</entry> + <entry>Name</entry> + <entry>Holdable - default setting</entry> + <entry>OPAC Visible - default setting</entry> + </row> + </thead> + <tbody> + <row> + <entry>0</entry> + <entry>Available</entry> + <entry>true</entry> + <entry>true</entry> + </row> + <row> + <entry>1</entry> + <entry>Checked out</entry> + <entry>true</entry> + <entry>true</entry> + </row> + <row> + <entry>2</entry> + <entry>Bindery</entry> + <entry>false</entry> + <entry>false</entry> + </row> + <row> + <entry>3</entry> + <entry>Lost</entry> + <entry>false</entry> + <entry>false</entry> + </row> + <row> + <entry>4</entry> + <entry>Missing</entry> + <entry>false</entry> + <entry>false</entry> + </row> + <row> + <entry>5</entry> + <entry>In process</entry> + <entry>false</entry> + <entry>true</entry> + </row> + <row> + <entry>6</entry> + <entry>In transit</entry> + <entry>true</entry> + <entry>true</entry> + </row> + <row> + <entry>7</entry> + <entry>Reshelving</entry> + <entry>true</entry> + <entry>true</entry> + </row> + <row> + <entry>8</entry> + <entry>On holds shelf</entry> + <entry>true</entry> + <entry>true</entry> + </row> + <row> + <entry>9</entry> + <entry>On order</entry> + <entry>true</entry> + <entry>true</entry> + </row> + <row> + <entry>10</entry> + <entry>ILL</entry> + <entry>true</entry> + <entry>false</entry> + </row> + <row> + <entry>11</entry> + <entry>Cataloging</entry> + <entry>true</entry> + <entry>false</entry> + </row> + <row> + <entry>12</entry> + <entry>Reserves</entry> + <entry>false</entry> + <entry>true</entry> + </row> + <row> + <entry>13</entry> + <entry>Discard/Weed</entry> + <entry>false</entry> + <entry>false</entry> + </row> + <row> + <entry>14</entry> + <entry>Damaged</entry> + <entry>false</entry> + <entry>false</entry> + </row> + <row> + <entry>15</entry> + <entry>On reservation shelf</entry> + <entry>true</entry> + <entry>false</entry> + </row> + </tbody> + </tgroup> + </table> + <para>It is possible to add, delete and edit copy statuses.</para> + <procedure> + <title>Adding Copy Statuses</title> + <step><para>In the <guilabel>New Status</guilabel> field, enter the name of the + new status you wish to add.</para></step> + <step><para>Click <guibutton>Add</guibutton>.</para></step> + <step><para>Locate you new status and check the <emphasis>Holdable</emphasis> check box + if you wish to all users to place holds on items in this status. Check + <emphasis>OPAC Visble</emphasis> if you wish for this status to appear in the public + OPAC.</para></step> + <step><para>Click <guibutton>Save Changes</guibutton> at the bottum of the screen to + save changes to the new status.</para></step> + </procedure> + <procedure> + <title>Deleting Copy Statuses</title> + <step><para>Highlight the statuses you wish to delete. Hold the + <keycap>Shift</keycap> to select more than one status.</para></step> + <step><para>Click <guibutton>Delete Selected</guibutton>.</para></step> + <step><para>Click OK to verify.</para> + <note><para>You will not be able to delete statuses if copies currently + exist with that status.</para></note> + </step> + </procedure> + <procedure> + <title>Editing Copy Statuses</title> + <step><para>Double click on a status name to change its name and enter the new + name.</para> <para>To change whether a status is visible in the OPAC, check or uncheck + the <emphasis>OPAC Visible</emphasis> check box.</para><para>To allow patrons the ability to + hold items in that status, check the <emphasis>Holdable</emphasis> check box. To prevent + users from holding items in that status, uncheck the <emphasis>Holdable</emphasis> + check box. </para></step> + <step><para>Once you have finished editing the statuses, remember to click + <guibutton>Save Changes</guibutton>.</para></step> + </procedure> + </section> + <section xml:id="billingtypes"> + <title>Billing Types</title> + <para>The billing types editor is used for creating, editing and deleting billing types.</para> + <para>To navigate to the billing types editor from the staff client menu, select + <menuchoice><guimenu>Admin</guimenu> <guisubmenu>Server Administration</guisubmenu> + <guisubmenu>Billing Types</guisubmenu></menuchoice></para> + <procedure> + <title>Adding Billing Types</title> + <step><para>Click <guibutton>New Billing Type</guibutton>.</para></step> + <step><para>Enter the name of the billing type.</para></step> + <step><para>Select the <emphasis>Org Unit</emphasis> to use this billing type.</para></step> + <step><para>Enter the <emphasis>Default Price</emphasis>. This is only the default since + the actual price of a specific billing can be adjusted when staff create + a billing</para></step> + <step><para>Click <guibutton>Save</guibutton> to save the new billing type.</para></step> + </procedure> + <procedure> + <title>Deleting Billing Types</title> + <step><para>Check the checkbox of the billing type(s) you wish to delete.</para></step> + <step><para>Click <guibutton>Delete Selected</guibutton>. + <warning><para>The selected billing types will be deleted without a + verification alert.</para></warning> + </para></step> + </procedure> + <procedure> + <title>Editing Billing Types</title> + <step><para>Double click on a billing types to open the editing window.</para></step> + <step><para>Make desired changes to the <emphasis>name</emphasis>, + <emphasis>Org Unit</emphasis> and <emphasis>Default Price</emphasis>.</para></step> + <step><para>Once you have finished editing, click + <guibutton>Save</guibutton>.</para></step> + </procedure> + + </section> + <section xml:id="circmodifiers"> + <title>Circulation Modifiers</title> + <para>The circulation modifier editor is used to create, edit and delete modifier categories to control + circulation policies on specific groups of items.</para> + <para>To navigate to the circulation modifiers editor from the staff client menu, select + <menuchoice> + <guimenu>Admin</guimenu> <guisubmenu>Server Administration</guisubmenu> + <guisubmenu>Circulation Modifiers</guisubmenu></menuchoice>. + </para> + <procedure> + <title>Adding Circulation Modifiers</title> + <step><para>Click <guibutton>New Circ Modifier</guibutton>.</para></step> + <step><para>Enter a <emphasis>Code</emphasis>, <emphasis>Name</emphasis> and + <emphasis>Description</emphasis>.</para></step> + <step><para>Select the <emphasis>SIP 2 Media Type</emphasis>.</para></step> + <step><para>Check the <guibutton>Magnetic Media</guibutton> check box if the item is magnetic media such as a casette + tape.</para></step> + <step><para>Click <guibutton>Save</guibutton> to save the new circulation + modifier.</para></step> + </procedure> + <procedure> + <title>Deleting Circulation Modifiers</title> + <step><para>Check the check box(es) next to the circulation modifiers(s) you wish to + delete.</para></step> + <step><para>Click <guibutton>Delete Selected</guibutton> near the top of the page. + <warning><para>The selected circulation modifiers will be deleted without a + verification alert.</para></warning> + </para></step> + </procedure> + <procedure> + <title>Editing Circulation Modifiers</title> + <step><para>Double click on the row of the cirlation modifier you wish to + edit.</para></step> + <step><para>Make desired changes.</para></step> + <step><para>Once you have finished editing, click + <guibutton>Save</guibutton>.</para></step> + </procedure> + </section> + <section xml:id="catalogingtemplates"> + <title>Cataloging Templates</title> + <para>Cataloging templates are essential for making the cataloguing process more efficient. Templates are used that that the basic structure of specific types of cataloguing records can loaded when the cataloguer adds a new record</para> + <procedure> + <title>Adding Cataloging Templates</title> + <step> + <para> + Create a marc template in the directory <filename class="directory">/openils/var/templates/marc/</filename>. It should be in xml format. + Here is an example file <filename>k_video.xml</filename>: + </para> + <para> + <mediaobject xml:id="cattemplate"> + <alt>Catalog Template Example</alt> + <imageobject> + <imagedata scalefit="0" fileref="../media/k_book_record.png"/> + </imageobject> + </mediaobject> + </para> + + </step> + <step> + <para>Add the template to the to the <emphasis>marctemplates</emphasis> list in the open-ils.cat section of the evergreen configuration file <filename>opensrf.xml</filename> </para> + </step> + <step> + <para>Restart perl services for changes to take effect.</para> + <screen>/openils/bin/osrf_ctl.sh -l -a restart_perl</screen> + </step> + </procedure> + </section> +</chapter> diff --git a/1.6/admin/troubleshooting.pdf b/1.6/admin/troubleshooting.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4ec3bf45429aa28055ab7baef86536488492bac3 GIT binary patch literal 14044 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 A@&Et; literal 0 HcmV?d00001 diff --git a/1.6/admin/troubleshooting.xml b/1.6/admin/troubleshooting.xml new file mode 100644 index 0000000000..f0536ddd15 --- /dev/null +++ b/1.6/admin/troubleshooting.xml @@ -0,0 +1,199 @@ +<?xml version="1.0" encoding="utf-8"?> +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" +xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:id="troubleshooting"> + <title>Troubleshooting System Errors</title> + <para>If you have Evergreen installed and are encountering systematic errors, here is the steps to find the + cause and solution to most problems. These instructions assume standard locations and file names for Evergreen + installations, and may also include commands for specific Linux distributions.</para> + <procedure> + <title>Systematic Evergreen Restart to isolate Errors</title> + <step> + <para>Stop Apache:</para> + <screen>/etc/init.d/apache2 stop</screen> + <para>or</para> + <screen>apache2ctl stop</screen> + </step> + <step> + <para>Stop OpenSRF:</para> + <screen>osrf_ctl.sh -l -a stop_all</screen> + <para>You should get either output resembling this:</para> + <screen>Stopping OpenSRF C process 12515...</screen> + <screen>Stopping OpenSRF C process 12520...</screen> + <screen>Stopping OpenSRF C process 12526...</screen> + <screen>Stopping OpenSRF Perl process 12471...</screen> + <screen>Stopping OpenSRF Router process 12466...</screen> + <para>Or, if services have already been stopped, output maay look like this:</para> + <screen>OpenSRF C not running</screen> + <screen>OpenSRF Perl not running</screen> + <screen>OpenSRF Router not running</screen> + <para>Occasionally osrf_ctl.sh fails to kill OpenSRF processes, so we should check to make + sure that none are still running with the command:</para> + <screen>ps -aef | grep OpenSRF</screen> + <para>You should manually kill any OpenSRF processes.</para> + <para>If you were unable to stop OpenSRF with the above methods, you could also try this + command:</para> + <screen>rm âR /openils/var/run/*.pid</screen> + <para>This will remove the temporary OpenSRF process files from the run directory which may + have been left over from a previous system boot cycle.</para> + </step> + <step> + <para>Restart Ejabberd and Memcached with the following commands:</para> + <screen>sudo /etc/init.d/ejabberd restart</screen> + <screen>sudo /etc/init.d/memcached restart</screen> + </step> + <step> + <para>Start the OpenSRF router and check for errors</para> + <screen>/openils/bin/osrf_ctl.sh -l -a start_router</screen> + <para>If the router started correctly, output will be:</para> + <screen>Starting OpenSRF Router</screen> + <para>If router does not start correcltly, you should check the router error log files + for error information.</para> + <para>Evergreen 1.6 uses two routers, a public one and a private one, with two different + logfiles:</para> + <para><filename >/openils/var/log/private.router.log</filename></para> + <para><filename >/openils/var/log/public.router.log</filename></para> + <para>A quick way to find error information in the logs is with the grep command.</para> + <screen>grep ERR /openils/var/log/*router.log</screen> + <para>As a final sanity check, look for router processes using the process status + command:</para> + <screen>ps -aef | grep Router</screen> + </step> + <step> + <para>Start the OpenSRF perl services and check for errors</para> + <screen>/openils/bin/osrf_ctl.sh -l -a start_perl</screen> + <para>You should see the following output:</para> + <screen>Starting OpenSRF Perl</screen> + <screen>* starting all services for norcrossfx.norcross.esi</screen> + <screen>* starting servivce pid=7484 opensrf.settings</screen> + <screen>* starting servivce pid=7493 open-ils.cat</screen> + <screen>* starting servivce pid=7495 open-ils.supercat</screen> + <screen>* starting servivce pid=7497 open-ils.search</screen> + <screen>* starting servivce pid=7499 open-ils.circ</screen> + <screen>* starting servivce pid=7501 open-ils.actor</screen> + <screen>* starting servivce pid=7502 open-ils.storage</screen> + <screen>* starting servivce pid=7509 open-ils.penalty</screen> + <screen>* starting servivce pid=7512 open-ils.collections</screen> + <screen>* starting servivce pid=7514 open-ils.ingest</screen> + <screen>* starting servivce pid=7517 open-ils.permacrud</screen> + <screen>* starting servivce pid=7522 open-ils.fielder</screen> + <screen>* starting servivce pid=7527 open-ils.vandelay</screen> + <screen>* starting servivce pid=7516 open-ils.reporter</screen> + <para>If the perl services do not start correclty or you receive errors, search for errors + in the following log files:</para> + <screen>/openils/var/log/router.log</screen> + <screen>/openils/var/log/osrfsys.log</screen> + <para>At this point you can use the <command>grep</command> command to find errors in + any of the Evrgreen log files:</para> + <screen>grep ERR /openils/var/log/*.log</screen> + <para>As a final sanity check, look for OpenSRF processes:</para> + <screen>ps -aef | grep -i opensrf</screen> + </step> + <step> + <para>Start the OpenSRF C services and check for errors:</para> + <screen>/openils/bin/osrf_ctl.sh -l -a start_c</screen> + <para>And output should be:</para> + <para>Starting OpenSRF C (host=localhost)</para> + <para>If the <emphasis>c</emphasis> service does not start, check for errors by grepping + the log files for errors:</para> + <screen>grep ERR /openils/var/log/*.log</screen> + <para>Check for OpenSRF processes:</para> + <screen>ps -aef | grep -i opensrf</screen> + </step> + <step> + <para>Smoke test with autogen.sh</para> + <para>The Autogen tool will take some dynamic information from the database and generate + static Javascript files for use by the OPAC and staff client. It is also able to refresh + the proximity map between libraries for the purpose of efficiently routing hold + requests.</para> + <para>As user opensrf, you invoke Autogen with the command:</para> + <screen>/openils/bin/autogen.sh -c /openils/conf/opensrf_core.xml -u</screen> + <para>If Autogen completes successfully, the output will be:</para> + <screen>Updating fieldmapper</screen> + <screen>Updating web_fieldmapper</screen> + <screen>Updating OrgTree</screen> + <screen>removing OrgTree from the cache...</screen> + <screen>Updating OrgTree HTML</screen> + <screen>Updating locales selection HTML</screen> + <screen>Updating Search Groups</screen> + <screen>Refreshing proximity of org units</screen> + <screen>Successfully updated the organization proximity</screen> + <screen>Done</screen> + <para>If Autogen does not complete its task and you recieve errors, use + <command>grep</command> to find errors in the log files:</para> + <screen>grep ERR /openils/var/log/*.log</screen> + </step> + <step> + <para>Connect to Evergreen using the srfsh command-line OpenSRF client</para> + <screen>/openils/bin/srfsh</screen> + <note> + <para>In order for you to connect using <command>srfsh</command>, you will need to + have set up the .srfsh.xml configuration file in your home directory as as + described in the installation chapter.</para> + </note> + <para>You will then see the <emphasis>srfsh</emphasis> prompt:</para> + <screen>srfsh#</screen> + <para>At the srfsh prompt, enter this command:</para> + <screen>login admin open-ils</screen> + <para>You should the request verification:</para> + <screen>Received Data: "6f63ff5542da1fead4431c6c280efc75"</screen> + <screen>------------------------------------</screen> + <screen>Request Completed Successfully</screen> + <screen>Request Time in seconds: 0.018414</screen> + <screen>------------------------------------</screen> + <screen></screen> + <screen>Received Data: {</screen> + <screen>"ilsevent":0,</screen> + <screen>"textcode":"SUCCESS",</screen> + <screen>"desc":" ",</screen> + <screen>"pid":7793,</screen> + <screen>"stacktrace":"oils_auth.c:312",</screen> + <screen>"payload":{</screen> + <screen>"authtoken":"28804ebf99508496e2a4d2593aaa930e",</screen> + <screen> "authtime":420.000000</screen> + <screen>}</screen> + <screen>}</screen> + <screen></screen> + <screen>------------------------------------</screen> + <screen>Request Completed Successfully</screen> + <screen> Request Time in seconds: 0.552430</screen> + <screen>------------------------------------</screen> + <screen> Login Session: 28804. Session timeout: 420.000</screen> + <screen>srfsh#</screen> + <para>If you encounter errors or if you are unable to connect, you should consult the + <filename>srfsh.log</filename> file. The location of this file is configured in your + <filename>.srfsh.xml</filename> configuration file and is + <filename>/openils/var/log/srfsh.log</filename> by default.</para> + <para>Pressing + <keycombo> + <keycap>Ctrl</keycap> + <keycap>D</keycap> + </keycombo> + or entering <quote>exit</quote> will terminate srfsh.</para> + </step> + <step> + <para>Start <application>Apache</application> and check for errors:</para> + <screen>/etc/init.d/apache2 start</screen> + <para>or</para> + <screen>apache2ctl start</screen> + <para>You should see output:</para> + <screen>* Starting web server apache2</screen> + <screen>...done.</screen> + <para>the Apache OpenSRF modules write to the + <filename>/openils/var/log/gateway.log</filename></para> + <para>However, you should check all of the log files for errors:</para> + <screen>grep ERR /openils/var/log/*.log</screen> + <para>Another place to check for erros is the <application>Apache</application> error logs + generally located in in the <filename class="directory">/var/log/Apapche2</filename> + directory</para> + <para>If you encounter errors with Apache, a common source of potential problems are the + Evergreen site configuration files <filename>/etc/apache2/eg_vhost.conf</filename> and + <filename>/etc/apache2/sites-available/eg.conf</filename></para> + </step> + <step> + <para>Try to authenticate with the staff client</para> + </step> + <step> + <para>Try to authenticate with the OPAC</para> + </step> + </procedure> +</chapter> diff --git a/1.6/root.xml b/1.6/root.xml new file mode 100755 index 0000000000..37ef683978 --- /dev/null +++ b/1.6/root.xml @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="utf-8"?> +<book xml:id="evergreen" xmlns="http://docbook.org/ns/docbook" + xmlns:xi="http://www.w3.org/2001/XInclude" version="5" xml:lang="EN" + xmlns:xlink="http://www.w3.org/1999/xlink"> + <info> + <title>Evergreen 1.6 Documentation</title> + <subtitle>Draft Version</subtitle> + + + + + <copyright> + <year>2010</year> + <holder>Evergreen Community</holder> + + </copyright> + <legalnotice> + <para><link xlink:title="Creative Commons license" + xlink:href="http://creativecommons.org/licenses/by-sa/3.0/"> + <inlinemediaobject> + <imageobject> + <imagedata scalefit="0" + fileref="http://i.creativecommons.org/l/by-sa/3.0/80x15.png" + /> + </imageobject> + </inlinemediaobject> + </link></para> + <para>This document was updated <?dbtimestamp format="Y-m-d"?>.</para> + </legalnotice> + </info> + +<part xml:id="intro"> + <info> + <title>Introduction</title> + </info> + </part> + +<part xml:id="catalog"> + <info> + <title>Public Access Catalog</title> + </info> + </part> + +<part xml:id="core_tasks"> + <info> + <title>Core Staff Tasks</title> + </info> + </part> + + + + + +<part xml:id="admin"> + <info> + <title>Administration</title> + </info> + <xi:include href="admin/serveradministration.xml"/> + <xi:include href="admin/AdminMisc.xml"/> + <xi:include href="admin/Upgrading-Evergreen_1.6.xml"/> + <xi:include href="admin/troubleshooting.xml"/> +</part> + +<part xml:id="software_integration"> + <info> + <title>Third Party System Integration</title> + </info> +</part> + <part xml:id="Development"> + <info> + <title>Development</title> + </info> +</part> +<part xml:id="Appendices"> + <info> + <title>Appendices</title> + </info> +</part> + +</book> -- 2.11.0