3 Feel free to contact me via e-mail to dpavlin@rot13.org if those instructions
6 1. You will need RDBMS (relational database management system) for index
7 files. PostgreSQL and SQLite are tested and supported.
9 Using any other database is quite easy, and involves editing of
10 dbi_* parameters in global.conf [global] section (which you want
11 to do anyway to specify user and password to connect to database).
13 If you use PostgreSQL, you have to first create database:
18 If using SQLite, just specify file which SQLite will use (in global.conf)
22 dbi_dsn=dbname=/data/webpac/index.sqlite
24 Tables for index(es) will be created automatically on first run. If you
25 change data for index often, you might want to drop and re-create database
26 to erase tables for indexes which are removed.
28 SQLite can be quite faster than PostgreSQL (for reference see SQLite
29 site: http://www.hwaci.com/sw/sqlite/speed.html). Since WebPAC doesn't
30 use advanced database facilities of PostgreSQL you would probably be
31 better off with SQLite if you don't have PostgreSQL already installed.
33 If you are using SQLite, there is no need to specify dbi_user or dbi_pass.
34 So, just leave them like this:
39 If you specify dbi_user and than try to index using different user,
40 you won't be able to write into database.
42 2. Use CPAN shell to install modules used:
45 cpan> install module_name
47 Modules which are needed:
49 Text::Unaccent version 1.02 or higher, you might need
51 http://savannah.nongnu.org/projects/unac/
53 DBD::Pg or some other DBD driver like DBD::SQLite
59 SWISH::Fork and of course, swish-e executable
63 HTML::Entities (part of HTML::Parser)
65 CPAN shell will also download some more modules to satisfy dependencies.
68 If you plan to use M$ Excel files for import (type=excel), you will need:
70 Spreadsheet::ParseExcel
72 If you plan to use import from MARC files you will also need
77 2.1 Installation on Debian GNU/Linux
79 You will need following packages to get started:
84 and all additional packages which are dependencies.
86 You also don't have to install all CPAN modules manually. Just use
87 following Debian packages:
90 libconfig-inifiles-perl
91 libdbd-pg-perl or some other DBD driver
92 libdbd-sqlite-perl like DBD::SQLite
96 tdb-dev (for TDB_File module later)
99 and install following packages by hand from CPAN
100 because they are not part of Debian distribution:
108 and optionally some of those modules:
110 Spreadsheet::ParseExcel
113 For compilation of OpenIsis in next step, you will also need following
120 3. You will need OpenIsis if you are using ISIS as an import format.
121 Currently, WebPAC uses OpenIsis 0.9.0 which *HAVE TO BE PATCHED*
122 with special patch so that perl module OpenIsis.pm have close call
123 (because there is hard-limit of 32 ISIS files in OpenIsis.pm, and that
124 is too low for our use).
126 You can do that yourself, or if you did checkout of our subversion repository
127 you will already have latest OpenIsis in webpac/openisis/ directory.
129 If you want to do it yourself, first get OpenIsis from:
130 http://openisis.org/Doc/GetIt
132 Then get patch for close from:
133 http://www.rot13.org/~dpavlin/projects/openisis-0.9.0-perl_close.diff
135 Unpack OpenIsis archive and apply patch -p0 to source tree.
137 Eater way, now you got OpenIsis 0.9.0 with close support for perl. So,
138 first compile C parts:
142 And then compile perl module and install it:
148 Since you need development tools on target machine to compile OpenIsis,
149 you might want to compile it on another machine and just copy perl module.
151 4. Edit global.conf and all2xml.conf to suit your needs. Comments inside
152 those files should help get you started.
154 5. All perl code will use locale to do sorting. That also include indexes
155 which, while being RDBMS-based, also use perl sorting (because each
156 entry has ordinal number created by perl). So, be sure that LC_COLLATE
157 environment variable is configured for your locale (which also has to
158 be enabled, check dpkg-reconfigure locales if you are using Debian).