Snodderly, Matthew wrote:
Hi --
I'm in the process of evaluating software for a library that is about
implement an online catalog system for the first time (currently there
are about 3000 records ready to use in MARC format and 2-3 times that
many left to convert.) I'm hoping to have an initial system up and
running within the next couple weeks..
Emilda would be my first choice at this point, except that the ability
to search by subject is an absolutly non-negotiable requirement. I saw
a reference somewhere that this would be in version 1.2, but I don't see
the ability in the 1.2a demo -- is there any estimate as to when that
feature will be added? Alternatively, what, and how much effort, would
be involved in hacking in a subject searching feature myself?
Thanks,
Matt
Hello Matt,
As of version 1.1 of Emilda, it is possible to manage and search each
field defined in the MARC standard just by adding some few lines to a
config. If You are using version 1.1, this would be the MARC_config
file, in conjunction with the MARCsyn_config file. If You however are
using 1.2-alpha, which is the favourable version for new and testing
environments, all these have been combined and moved into MySQL for
easier management.
For the sake of ease, I will describe the main steps to take using
1.2-alpha, as this is hopefully the version that You will be using. That
said, these steps, excluding the configuration of Zebra, will be
possible to do within Emilda by the stable release of Emilda 1.2.
Step 1: Identify which field You would like to use as the subject field.
It is of course possible to have numerous fields, however, with the
current management layout, it is not possible to simultaneously search
many fields, giving just one criteria. The subject "logics" is still in
its very early stages in Emilda 1.2 and we have plans to put some more
effort in making the system compatible with all the numerous subject
fields defined in the MARC standard.
Step 2: Tell Emilda of the field that You want to use as the primary
subject field. We have been using field 653 as our primary field to
retrieve subjects from records retireved via Z39.50, but this is of
course customizeable. If You on the demo site, or possibly on Your own
system goto the "Book Edit"-page, You will see a text-area of all
subjects added to this record in that field (This text-area has of
course not yet been committed into CVS, so You will not see it but it is
similar to the one on "Book Add", which You can test e.g. on the Demo site.)
Step 3: Make the field searchable, possibly also editable in the
"standard manner". In 1.2-alpha the tool for adding fields into the MARC
configuration table has not yet been implemented, so if You in 1.2-alpha
want to extend the set of fields, You will have to do it manually in
MySQL. By issuing this command You add a new field into the "awareness"
of Emilda;
--- START MYSQL ---
INSERT INTO marc_configuration SET marc_field="653",
marc_default="Uncontrolled Subject", marc_format="a",
marc_identifier="book_unc_subject", marc_display="Uncontrolled Subject",
marc_editable=0, marc_searchable=1;
--- END MYSQL ---
This probably needs some clarification. This command will add field 653
into the database, make it searchable but not editable (will explain
this below *), give it the identifier book_unc_subject and name it
"Uncontrolled Subject".
(*) By editable i mean not showing up in the "editables"-list as all
other fields in "Book edit".
Now Emilda per say is ready to search by subject (Uncontrolled Subject
has appeared in the drop-down in Q-search), but Zebra is probably not
indexed to support searching by this field. So what we need to still do
is to reindex the Zebra database with this field added into the register.
Step 4: Go into the zebra folder (where ever You have put it, e.g.
/var/www/emilda/zebra/) and open tab/usmarc.abs and add the following lines:
--- START usmarc.abs ---
elm 653 Uncontrolled-subject -
elm 653/? Uncontrolled-subject !:w
elm 653/?/a Uncontrolled-subject !:w,!:p,!:s
--- END usmarc.abs ---
After this, open tab/bib1.att and add the following line:
--- START bib1.att ---
att 1039 Uncontrolled-subject
--- END bib1.att ---
Now field 653 is associated with the use-attribute 1039, and is as such
searchable. If You choose to use some other attribute, please remember
to change the value in step 6 also.
To finnish off this step, reindex Zebra and start the zebrasrv-process.
This is done by the following command:
--- START CMD ---
zebraidx init && zebraidx -g emilda update records && zebraidx commit &&
zebrasrv
--- END CMD ---
Step 6: We still need to tell Emilda which attribute we associated with
field 653. To do this, add the following key-value pair into the
$YAZ_attributes array in lib/MARC.inc
--- START PHP ---
"653" => "1=1039 t=3"
--- END PHP ---
Last, we need to give this field a CCL-name, so that the CCL-generator
can generate the correct RPN-query. This is done by adding the following
key-value pair into the $CCL_names array in lib/MARC.inc
--- START PHP ---
"653" => "subject"
--- END PHP ---
Now we have a working system where it is possible to search for subjects
from field 653, or some other field specified. If You want to add more
fields, just follow the same procedure. What You however need to bear in
mind is that it with the current setup is not possible to manage more
than one field with the text-area widget from e.g. "Book Add".
This might on first sight seem a bit complicated, but by the stable
release of Emilda 1.2, most of this will be automated. The step that
however cannot be automated, at least within the near future, is the
Zebra update and reindex process.
I hope this rather lengthly answer at least to some extent tragets Your
issue, and answers Your question. If there still is something You
wonder, please ask, and I'll try to answer it to my best knowledge.
Regards,
_______________________________________________
Emilda mailing list
Emilda@xxxxxxxxxxxxxxxxxx
http://lists.realnode.com/mailman/listinfo/emilda
--
Christoffer Landtman
Oy Realnode Ab
Partner, Sales
+358 (0)41 510 1073
landtman@xxxxxxxxxxx
www.realnode.fi
|