Download Firefox: WindowsMac OS X
logo       
Google Custom Search
    AddThis Social Bookmark Button

Re: customize unique book id: msg#00019

Subject: Re: customize unique book id
Hiya Christoffer,

Christoffer Landtman wrote:

Jerry Leahy wrote:

Hi Guys,

Just installed 1.2-alpha over the weekend and am hoping to use it in our (small) school library in Santa Cruz, Bolivia. Took me a day and a half to get it going. I recorded my (mis)steps in a HTML file that you may find interesting. I installed on Suse 9.0.


Hello,

I would most certainly be interested in the file. Could You send me a copy so that I could look at it and maybe use it when setting up some sort of FAQ.

See attached..


Some questions:

  1. Can we customize the book ID so that it starts from a certain
     value?  Say 200001 for books?  If not, could we add a barcode
     field to a book ID?


In the database, there is a table called "control" which contains Emilda internal values. For the time being it only contains the control number of the last added item. There is currently no tool present to customize the Item ID of a book, but there certainly exists a demand for this. I will file this as an enhancement and see if we still can get this into 1.2.

Could You describe a bit more why the id has to start from e.g. 200000 so that I may use this as a bait to implement the issue =)

I am planning on using 6-digit numeric barcodes for books and Student ID's. I'd like the students to start at 100000 and the books to start at 200000. We are a small school with a small library and I don't see us needing more than 800,000 item numbers.

  2. Can we customize the fields that are shown on the Item information
     screen so that the book ID / barcode field would be visible?


Could You be more specific exactly where You would like this information to be visible?

On the edit Item/copy page. Might it be possible to change the item ID or barcode no.?


This is interesting because the "ID/barcode" information is not always available. This needs some clarification.

Emilda uses a linkage of Item information from within MARC data with the administrative, item specific data in MySQL. What this implies is that if You have more than one copy of an item, the "Information" of the item still is only present once. An example;

Say You have an item with the Author: "Tove Jansson" and the title "Farlig Midsommar". This means that You have a MARC record in the Zebra database with this information with some unique ID, called the control number. When adding this item, Emilda also adds an item into MySQL, shich however only contains the Item ID of that particular copy, and the control number of the MARC record that is linked to this item. As such, when e.g. searching in Quick Search, You are not searching in the MySQL database but in the Zebra database which contains all "Information" about the items. Bearing this in mind, You can see that it is not just one Item ID that might be associated with the information displayed, and thus it would be ambiguous to display the ids at the same time as displaying the information.

When using the "Book Information"-page e.g. in conjunction with search, it is possible to see all items associated with that particular "catalog post", or MARC record.

  3. How could I access the book information (e.g. author, title) of a
     book ID from a MySQL client?  I had a look in the emilda database
     and couldn't see any info there so I'm guessing it's all in
     Zebra.  I'm thinking of writing a little Python app to generate
     our barcodes and would need to get at the book info to print the
     Title on the barcode.


What You need from each item to access the data is the control number that links the item to a MARC record in the Zebra database. After this, You can use any Z39.50 compatible search client to search for information.

If You need more help on using Z39.50 clients or setting up scripts to do this, please drop me a note.

A python wrapper around a Z39.50 client sounds like what I need.
Maybe this will do the trick?
http://www.panix.com/~asl2/software/PyZ3950/

Thanks for all your work.
We are really excited about the possibility of using Emilda and hope that we can help out with it's development.


Hoping that the issues will work out ;-)

Regards,

Thanks again,

Jerry.


Yours,

Jerry.
_______________________________________________
Emilda mailing list
Emilda@xxxxxxxxxxxxxxxxxx
http://lists.realnode.com/mailman/listinfo/emilda



Installing Emilda 1.2-alpha on Suse 9.0

  1. Start following instructions here. This document is my experience of following these instructions.

  2. Install Main Applications:

    1. Download libyaz, libyaz-devel and yaz from here. Redhat RPM's installed fine for me.

    2. Download idzebra tar.gz from here. After untarring it, cd to the directory and:

      1. ./configure –with-perl

      2. Make wouldn't work for me :-(

        1. 1st complained about 'cannot find -lssl'. I didn't have openssl-devel installed. If you need the latest Openssl versions, try download the ones for Suse 9.1 here.

        2. Next complained about 'cannot find -lwrap'. I didn't have tcp wrappers. Installed the tcpd rpm. That did it.

      3. make

      4. Install the Zebra Perl library:

        1. In the idzebra tarball directory:
          cd perl

        2. vi Makefile
          Search for 'MakeMaker const_loadlibs section'. Move the '-lexpat' from the end of the line to just before the '-lxml2'. Line should read '.. -L/usr/lib -lexpat -lxml2 ... '

        3. perl Makefile.PL
          make

        4. 'make test' had a few failures for me. Don't know yet if this is critical.

        5. make install (installs Zebra module)

      5. make install (installs Zebra server)

    3. Install MySQL

      1. I had MySQL 4.0 installed so I downloaded 4.1.x from here.

      2. I installed all the RPM's with 'rpm -uvh –nodeps MySQL*.rpm'. Needed the nodeps because MySQL needed libcrypto.so.0.9.6 and I had openssl-0.9.7d-15 installed from 3.1.1 above. Haven't had problems – yet ;-)

    4. Install gd. It's on the Suse DVD.

    5. Install PHP downloaded from here.

      1. Untar the tarball. PHP needs Apache. I installed apache2-2.0.47-63 from the Suse DVD.

      2. Install flex from the Suse DVD. Install openldap2-client, openldap2-devel, cyrus-sasl-devel (openldap2-devel depends on this) if you want LDAP support.

      3. ./configure –with-apxs2=/usr/sbin/apxs2 –with-mysql –with-zlib –with-yaz –with-gd –with-gettext –with-ldap

      4. make install. Problems for me.

        1. Install was searching for /etc/apache2/httpd2-prefork.conf. Made a link from /etc/apache2/httpd.conf to this file.

        2. Install script couldn't find a LoadModule directive in the httpd.conf file. These were being included from /etc/apache2/sysconfig.d/loadmodule.conf. This file was being automatically generated from /etc/sysconfig/apache2. I removed the php4 at the end of the APACHE_MODULES line. Then added a line just after the
          'Include /etc/apache2/sysconfig.d/loadmodule.conf'
          in httpd.conf to:
          LoadModule php4_module /usr/lib/apache2/libphp4.so

        3. Now 'make install' ran OK. Go back to /etc/apache2/httpd.conf and remove the extra 'LoadModule php4_module' line that the install script added.

        4. Make sure Apache still runs.

  3. Perl Libraries

    1. I used the CPAN-shell in perl but needed to install the following to get it going:

      1. Install unzip, lynx, ncftp. All from the Suse DVD.

    2. perl -MCPAN -e shell

      1. install Net::Z3950

      2. install MARC::Record

      3. exit

    3. My steps are a bit muddled here. I had to manually make the Perl HTML::HDMLDoc module after downloading but this may be because the install failed initially since I didn't have HtmlDoc installed. Try this and see if it works.

      1. Download HtmlDoc from http://www.easysw.com/htmldoc/software.php.

      2. ./configure

      3. make; make install

    4. perl -MCPAN -e shell

      1. install HTML::HTMLDoc

      2. install GD::Barcode

      3. install DBD::mysql

      4. exit

  4. MySQL Configuration

    1. Log on to MySQL with
      mysql --user=root –password='rootpass'

    2. create database emilda;

    3. grant all privileges on emilda.* to emilda@localhost identified by 'password';

    4. exit;

  5. Directories Setup. Install Emilda from here:

    1. Download Emilda 1.2.x from here. Untar it, cd to the directory and, assuming you're Apache2 files are in /srv/www/htdocs:

      1. cp -R src /srv/www/htdocs/emilda

  6. System Configuration

    1. cd /srv/www/htdocs/emilda/src/perl

    2. ./read_Lint.pl

    3. Here is how I configured my Apache2. I wanted to type 'emilda' in a browser and have it go directly to Emilda. I created an alias in my name server so that 'emilda' went to the webserver.

      1. Added this line to /etc/apache2/httpd.conf
        NameVirtualHost myIPaddress

      2. Created a /etc/apache2/vhosts.d/default.conf to create a virtual host for the default Apache install:
        <VirtualHost myIPaddress>
        ServerName myServer
        DocumentRoot “/srv/www/htdocs”
        </VirtualHost>

      3. Create a /etc/apache2/vhosts.d/emilda.conf file that looked like this:
        <VirtualHost yourIPaddress>
        DocumentRoot "/srv/www/htdocs/emilda"
        ServerName emilda
        <FilesMatch ^(.*\.inc|.*\.pm|config|site_config|page_config)$>
        deny from all
        </FilesMatch>
        AddHandler cgi-script .cgi .pl
        php_value include_path .:lib
        Options ExecCGI FollowSymLinks
        # needed this line for Emilda Perl scripts
        <Directory /srv/www/htdocs/emilda/perl>
        Options ExecCGI
        </Directory>
        </VirtualHost>

      4. Restart Apache2 with 'rcapache2 restart'

  7. Configuration

    1. From the Emilda tarball folder:
      cp -R sql /srv/www/htdocs/emilda

    2. Access the setup.php with:
      http://<webserver>/emilda/setup.php

    3. Follow the instructions and run the Self Test.

    4. Copy the sample configuration file with:
      cp /srv/www/htdocs/emilda/config.example /srv/www/htdocs/emilda/config

    5. Edit /srv/www/htdocs/emilda/config to suit your setup.

  8. Browse to http://emilda (it you set it up like I did....) and Login.
    username: admin
    password: test

  9. Zebra Configuration

    1. Download the Zebra folder from here. Untar it and copy the zebra directory to the /srv/www/htdocs/emilda folder.

    2. Assuing Apache is running as User wwwrun:
      chown -R wwwrun.it /srv/www/htdocs/emilda/zebra

  10. Problems

    1. Permissions on /srv/www/htdocs/emilda/perl – needed to explicitly <Directory> with Options ExecCGI

    2. Perl MySQL connection not working.

      1. Looks like my Perl MySQL module hadn't installed correctly. I had MySQL 4.1.3 and DBD::MySQL 2.9.003. Found this http://lists.mysql.com/perl/3077 post on the MySQL web site that fixed it for me:

        1. cpan

        2. get DBD::MySQL

        3. exit

        4. cd /root/.cpan/build/DBD-mysql-2.9003 (or wherever CPAN is downloading your modules to)

        5. cp mysql.xs mysql.xs.org (just in case ;-)

        6. vi mysql.xs. Goto line 100, change it to:
          result = mysql_shutdown(sock,SHUTDOWN_DEFAULT);

        7. make

        8. make install

    3. Permissions problem still on zebra-root (/srv/www/htdocs/emilda/zebra). Did a
      'chown -R wwwrun.www /srv/www/htdocs/emilda/zebra'
      and I am now able to add books.




<Prev in Thread] Current Thread [Next in Thread>