See the bug for a description of the problem.
This patch tries to restore searching for marcflavour != MARC21 as well as
allowing instances with different marcflavors to co-exist on the same server.
To test:
- Do a package install with e.g. the official squeeze-dev packages and create at
least two instances, with different marcflavours, e.g.:
sudo koha-create --create-db --marcflavor marc21 test1
sudo koha-create --create-db --marcflavor normarc test2
- Run through the web installers for both instances and add a couple of
records to each. Wait for the records to be indexed or run indexing manually
with
sudo koha-rebuild-zebra -f test1
sudo koha-rebuild-zebra -f test2
- Try searching for the records you added. It should work in test1 but not in
test2.
- Apply the patch and build packages with the build-git-snapshot script
- Install the new koha-common package
- Create two instances (because of Bug 9754 it is probably best to give the
instances different names than the ones you created above, or to do this on
a fresh VM or similar) and add records, as described above. Searching should
now work equally well for both instances.
Please note: Because of Bug 9752 you will have to set marcflavour = NORMARC
by hand before you do the searching, if you choose NORMARC as the marc flavour
on one of the instances you create.
Please note too: I am not confident that this is the perfect solution, so
merciless and thorough testing is necessary! ;-)
Signed-off-by: Mirko Tietgen <mirko@abunchofthings.net>
Works for me for GRS-1 (package installation out of the box). Could not figure out how to set up DOM indexing and eventually stopped caring about it.
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Build packages with the patch and checked that creating
instances and search within them works for both MARC21 and NORMARC.
All tests and QA script pass.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
When installing from the tarball, the OpenILS/QueryParser.pm file seems
to be missed because it is not included in Makefile.PL... sometimes.
To test:
1) Run Makefile.PL and make.
2) Look in blib/PERL_MODULE_DIR/ and check if the OpenILS directory is
there.
3) Apply patch.
4) Rerun Makefile.PL and make.
5) Confirm that OpenILS directory is now in blib/PERL_MODULE_DIR/
regardless of whether or not it was there during step (2).
6) Sign off.
Note: Confirmed that OpenILS directory is correctly installed in the lib dir,
in 'standard' install mode, and also 'single'.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Simple fix for a big problem.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
[This patch was split out from tcohen's excellent patches for bug 8519
--jcamins 2012/10/31]
Added a new koha-index-daemon-ctl.sh script that uses the
'koha-index-daemon' provided by Koha::Contrib::Tamil (install via CPAN)
to process the indexing queue ('zebraqueue' for now, 'indexqueue' in the
future I guess :-P).
This script could be easily modified in the future for using another
index queue processing script (a more abstract indexing script for both Solr
and Zebra, etc). I removed all zebra-ish stuff from it.
Documentation patches will be provided as followups, once Mark Tompsett's
docs are pushed to avoid continous rebasing.
Tested to work on an up-to-date Ubuntu 12.04.
Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: wajasu <matted-34813@mypacks.net>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
[This patch was split out from tcohen's excellent patches for bug 8519
--jcamins]
It removes the obsolete zebraqueue_daemon.pl and koha-zebraqueue-ctl.sh
obsolete scripts too.
Several files are modified to address te removal/addition of these files.
I didn't run the install procedure as I was working on my laptop with a dev
setup, just set the symlinks. Now fixed things as proposed by wajasu
on comment #4. Any other suggestion please let me know.
Tested to work on an up-to-date Ubuntu 12.04.
Asked by wajasu, remove remaining obsolete zebraqueue stuff.
Sponsored-by: Universidad Nacional de Córdoba
Signed-off-by: wajasu <matted-34813@mypacks.net>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Passed-QA-by: Mason James <mtj@kohaaloha.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Modify Makefile.PL and Zebra configuration files in order to parametrized
biblio record type returned by Zebra Z39.50 server.
How to test:
- Test with a MARC21 and a UNIMARC DB
- Do a new installation
- Search from OPAC
- Search from a Z39.50 client like yaz-client: syntax = MARC21/UNIMARC must be
choosed
- It was working for MARC21: it continues to work
- It wasn't working for UNIMARC: it works now, both in OPAC and from a Z39.50
client
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Works fine for MARC21. Frederic looked at UNIMARC. Magnus looked at NORMARC.
GRS1 works okay for me. I still have issues with DOM, but they are not directly related to changes in this patch.
A followup is still needed for packaging (debian/templates).
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Changed hardcoded path for a programmatic one. Basing it on:
grep /\/usr\/share\/perl\//, @INC;
And doing a:
push @version, ('/usr/share/perl/5.10') if !$version[0];
For a reasonable default otherwise. No more references to
/usr/share/perl/5.8
hardcoded into the output.
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This patch builds on work by Lars Wirzenius for the Koha packages.
To date, the only way for a Koha librarian to obtain a complete backup
of their system has been to log into the system via SSH (or FTP) to
download the mysqldump file. This patch makes it possible for
superlibrarians in properly configured systems to download night backups
via the staff client's Export tool.
Recognizing that this is functionality with potentially very grave
security implications, system administrators must manually enable these
features in the koha-conf.xml configuration file.
The following configuration settings have been added to the koha-conf.xml
file:
* backupdir => directory where backups should be stored.
* backup_db_via_tools => whether to allow superlibrarians to download
database backups via the Export tool. The default is disabled, and
there is no way -- by design -- to enable this option without manually
editing koha-conf.xml.
* backup_conf_via_tools => whether to allow superlibrarians to download
configuration backups via the Export tool (this may be applicable to
packages only). The default is disabled, and there is no way -- by
design -- to enable this option without manually editing koha-conf.xml.
This commit modifies the following scripts to make use of the new
backupdir configuration option:
* koha-dump and koha-run-backups in the Debian packages
* The sample backup script misc/cronjobs/backup.sh
Note that for security reasons, superlibrarians will not be allowed
to download files that are not owned by the web server's effective user.
This imposes a de facto dependency on ITK (for Apache) or running the
web server as the Koha user (as is done with Plack).
To test:
1. Apply patch.
2. Go to export page as a superlibrarian. Notice that no additional
export options appear because they have not been enabled.
3. Add <backupdir>$KOHADEV/var/spool</backup> to the <config> section
of your koha-conf.xml (note that you will need to adjust that so that
it is pointing at a logical directory).
4. Create the aforementioned directory.
5. Go to export page as a superlibrarian. Notice that no additional
export options appear because they have not been enabled.
6. Add <backup_db_via_tools>1</backup_db_via_tools> to the <config>
section of your koha-conf.xml
7. Go to the export page as a superlibrarian. Notice the new tab.
8. Go to the export page as a non-superlibrarian. Notice there is no
new tab.
9. Run: mysqldump -u koha -p koha | gzip > $BACKUPDIR/backup.sql.gz
(substituting appropriate user, password, and database name)
10. Go to the export page as a superlibrarian, and look at the "Export
database" tab. If you are running the web server as your Koha user,
and ran the above command as your Koha user, you should now see the
file listed as an option for download.
11. If you *did* see the file listed, change the ownership to something
else: sudo chown root:root $BACKUPDIR/backup.sql.gz
11a. Confirm that you no longer see the file listed when you look at the
"Export database" tab.
12. Change the ownership on the file to your web server (or Koha) user:
sudo chown www-data:www-data backup.sql.gz
13. Go to the export page as a superlibrarian, and look at the "Export
database" tab. You should now see backup.sql.gz listed.
14. Choose to download backup.sql.gz
15. Confirm that the downloaded file is what you were expecting.
If you are interested, you can repeat the above steps but replace
<backup_db_via_tools> with <backup_conf_via_tools>, and instead of
creating an sql file, create a tar file.
To test packaging: run koha-dump, confirm that it still creates a
usable backup.
------
This signoff contains two changes:
10-1. If no backup/conf files were present, then the message telling you
so doesn't appear and the download button does. Made them behave
correctly.
10-2. The test for a file existing required it to be owned by the
webserver UID. This change makes it so it only has to be readable.
Signed-off-by: Robin Sheat <robin@catalyst.net.nz>
Adds the necessary bits to enable DOM indexing for bib
records as an option during installation from source.
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Word search with multi-part facets works properly only with Zebra ICU
tokenization. This patch add a new question to Koha command line
installer:
Zebra has two methods to perform records tokenization
and characters normalization: CHR and ICU. ICU is
recommended for catalogs containing non-Latin
characters. (chr, icu) [chr]
How to test:
- perl ./Makefile.PL
- Try each possible value for new parameter
- Take a look at zebradb/etc/default.idx file.
Depending of the parameter you get this line:
icuchain words-icu.xml
or this one:
charmap word-phrase-utf.chr
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
(Note: This patch was previously associated with bug 3216; I moved it to a
separate bug because including ICU is a good idea independent of the fix for
the particular issue described in bug 3216)
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
The Koha namespace is for Perl modules that meet the following mandatory
conditions:
* use "strict" and "warning" pragmata
* include valid POD
* include complete and functioning documented test cases
* not create circular dependencies
* use Object Oriented (OO) style everywhere possible
* minimize exports
* maintain mod_perl, etc. compatibility
* separate data access methods from business logic
Modules in C4 can use (and are encouraged to use) routines in
the Koha namespace. Modules in Koha should not in general use C4
modules; any C4 module that is safe to be depended on by a Koha
module is a candidate for being renamed to Koha.
The advantage of carving out a new namespace is that it doesn't
require that we refactor the entirety of C4 to support persistance or
to untangle the dependency tree. Instead, the only C4 code we would
have to reimplement for the Koha namespace right away would be
authentication, basic session management, and basic output.
(Gratuitous use made of gmcharlt's recommendations found in the
post mentioned below.)
Related info:
http://lists.koha-community.org/pipermail/koha-devel/2011-March/035302.htmlhttp://wiki.koha-community.org/wiki/Namespace_QA_Rules
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
- XSLT for the OPAC
- Value_builders for lesder, 007 and 008
- Default NORMARC framework
- Reverse MARC logic of some subs, so MARC21 is default (and works for NORMARC)
- Add NORMARC as an option to the syspref marcflavour
- Add record.abs for NORMARC
- Add NORMARC and nb as options to Makefile.PL
- Add etc/zebradb/lang_defs/nb/sort-string-utf.chr
- Copy MARC21slim2OAIDC.xsl to NORMARCslim2OAIDC.xsl
Some things are still missing, e.g.:
- XSLT for Intranet
- More MARC21slim2*.xsl transformations
working through the master branch to eliminate all
podchecker warnings/errors
Actual improvement to the quality of the POD will
come later (hopefully with assistance of others)
Signed-off-by: Andrew Elwell <Andrew.Elwell@gmail.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
The Debian squeeze system has only 2.20, and the 2.21 does not
seem to be required for all tests to pass. Also, checked with
Galen Charlton and Henri-Damien LAURENT (who added the 2.21
dependency) on IRC that 2.21 did not have anything that was
required, compared to 2.20.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Missed the lines where dollar signs are quoted for DB_PASS and ZEBRA_PASS.
Don't need to quote (double-quote) those two lines now.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Make treats any $ as an internal variable except $$. So have Makefile.PL when
getting values turn any $ into $$.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
In one of my setups, "install-code.pl pt-PT" complained
about a missing "Locale::PO". So, I'm adding it to
Makefile.PL. I'm using the version 0.17 as minimum
required because it's the one that's available in
Debian 5.0.2. ("lenny").
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This patch adds a dependency requirement for Locale::Currency::Format
NOTE: It does not adjust kohaversion.pl and sets the dev version to XXX.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
[RM note: DOM is recommended for MARC21 authorities. As of
now, GRS-1 is the only mode supported for UNIMARC authorities.]
dom is the recommended authorities indexing mode in external docs
making it default accepts what appears to be the de facto preference
see Indexdata's documentation for more details on the options
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
A tweak to restore MSWin32 installation capability.
NOTE: Native MSWin32 support in Koha is for Strawberry Perl 5.10.1.0 or later.
There are some issues with GDBM_File.pm which prevent Koha from running without a bit of
a workaround. This will be resolved in the January 2010 release of Strawberry Perl. More
can be read concerning this in the INSTALL.MSWin32 file which will be forth-coming.
NOTE: There will be several other minor changes to other portions of the Koha code base
in order to fix misc issues when Koha is installed on MSWin32.
for exemple: when you use
install_misc/environment_Makefile.PL DESTDIR=$HOME by default but koha
is installed in $HOME/koha-dev that is not expected!
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Enables ppl to store their search history and delete the whole history
Adding Storable required by Opac-Search-History
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Now requiring at least 0.80, the oldest version available
from CPAN, because use_ok tests were not being properly
accounted for in the test plan before 0.73. This led
to a situation where a test script containing a use_ok test
that passes running under an earlier version of Test::More
would fail under a more recent one.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
After 2009-08-15, Amazon Web Services will expect that
all requests to the Product Advertising API, which is what
Koha uses for retrieving reviews and other enhanced content
from Amazon, include signatures. This patch and
subsequenct patches implement this functionality.
What this means in practice (assuming the user has elected
to use any enhanced content from Amazon) is that
[1] The user must get a Amazon Secret Access Key. This can
be done by logging in to the user's AWS account
at (e.g.) http://aws.amazon.com/, going to the 'Access Identifiers'
page, and from there retrieving and/or creating a new Secret
Access Key.
[2] The contents of the Secret Access Key should then be
entered into the new AWSPrivateKey system preference.
Once that is done, grabbing reviews and table of contents from Amazon
should work as normal. If the user doesn't do this before 2009-08-15,
reviews and TOCs will no longer be supplied from Amazon, although there
should be no crashes - the content will simply not show up.
Note that the requirement to sign requests does *NOT* appear to apply
to simply displaying book covers from Amazon.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
This enhances the web installer so that messages from updatedatabase.pl will
be displayed to the user running a database update. Messages printed to STDOUT
will be displayed as the update report, while messages printed to STDERR will
be displayed as update errors.
This patch introduces a new module dependency, IPC::Cmd.
IPC::Cmd lets one run an external program such as updatedatabase.pl and easily
capture STDERR and STDOUT for further munging. IPC::Cmd is core in Perl 5.10
and stable in Perl 5.8.
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
The Offline Circ tool by Kyle Hall uses PHP's SQLite, which is SQLite
v2. Gnope, which Kyle links, ships with libSQLite v2.
Let's not count on libsqlite3 not being installed for perl. If it is
installed DBD::SQLite will use it, where DBD::SQLite2 will not.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
Add the ofline_circ directory to Makefile.PL as needing to be installed.
Add calls to barcodedecode() on issueing and returning.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
As rss.pl is not a CGI script, moved it to join the
other cronjobs. Full documentation of the script
is in misc/cronjobs/rss/rss.pl, but to summarize:
[1] rss.pl is run on the command line to produce
an RSS XML document. The output should be
placed in a directory accessible to the OPAC
(or staff) web interface so that users can download
the RSS feed. An example of usage:
misc/cronjobs/rss.pl lastAcquired.conf
Normally rss.pl should be run periodically (e.g., daily)
to keep the feed up-to-date.
[2] The configuration file (e.g., lastAcquired.conf) lists
* name of the template file to use
* path of output file
* SQL query
rss.pl runs the SQL query, then feeds the output of the
query through the template to produce the output file.
[3] The template file (e.g., lastAcquired.tmpl) uses
HTML::Template syntax like any of the HTML
templates for the web interface.
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>