Pode-workshop oppgave 1
Fra Biblab
Innhold |
[rediger] Applikasjon for å lage manuelle og ”automatiske” anbefalingslister
Manuelle lister kan for eksempel genereres ved å legge inn tittelnummer, velge antall som skal vises i lista og legge til unik listetittel. Wordpress’ RSS-widget tilbyr et enkelt grensesnitt for å håndtere RSS-strømmer. Vi tenker oss noe lignende for å lage disse listene.”Automatiske” lister kan for eksempel genereres ved å legge inn en søkestreng ”fossum, karin/fo” for å få alle bøker skrevet av Karin Fossum, eller ”astronomi/ke” for å få alt materiale med astronomi som emneord.
Applikasjonen skal være systemuavhengig, det vil si at ved å bytte ut adressen til bibliotekbasen i koden, så skal applikasjonen ta i mot den angitte basens spørrespråk. Bibliofil bruker for eksempel /fo for forfatter og /ke for emneord, mens Koha, Aleph, Bibsys og Micromarc bruker andre kvalifikatorer.
Lista skal vises med klikkbar tittel inn til katalogposten.
[rediger] Eksempler
Ta utgangspunkt i utstillinger laget i biblioteket i diverse anledninger. Eksempler fra Deichman er Astronomiåret 2009, Forfattere fra A-Å, Sverre Fehn og lignende.
[rediger] Dokumentasjon
- Wordpress RSS-widget: http://support.wordpress.com/widgets/rss-widget
- Biblab sin SRU-forklaring: SRU
- Magnus sitt yaz-eksempel: http://podedev.collib.info/yaz/sru/
[rediger] Løsning
Lenke til løsning: http://torfeus.deich.folkebibl.no/~gruppe1/skjema.php
Oppgaven deles i to; vi løser manuell innlegging av titler først. Vi lager en MySQL-base for å lagre tittel/ID på liste og tittelnummer, evt ISBN-nummer.
Vi spør via SRU, baseURL-en er http://torfeus.deich.folkebibl.no:9999/biblios.
Begrensninger: Foreløpig vil vi jobbe med ISBN-nummer, altså vil denne bare kunne bruke bøker med ISBN-nummmer.
Vi har laget en MySQL-database med tre tabeller: bok, liste, og lnk_liste_bok:
-- -- Database: `g1_anbefalinger` -- -- -------------------------------------------------------- -- -- Tabellstruktur for tabell `bok` -- CREATE TABLE `bok` ( `id` mediumint(8) unsigned NOT NULL auto_increment, `isbn` varchar(255) NOT NULL, `tnr` varchar(255) NOT NULL, `tittel` varchar(255) NOT NULL, `ansvar` varchar(255) NOT NULL, `lenke` varchar(255) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `isbn` (`isbn`), UNIQUE KEY `tnr` (`tnr`), UNIQUE KEY `lenke` (`lenke`) ) ENGINE=MyISAM -- -------------------------------------------------------- -- -- Tabellstruktur for tabell `liste` -- CREATE TABLE `liste` ( `id` mediumint(8) unsigned NOT NULL auto_increment, `navn` varchar(255) NOT NULL, `dato` timestamp NOT NULL default CURRENT_TIMESTAMP, `bruker` varchar(255) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `navn` (`navn`) ) ENGINE=MyISAM -- -------------------------------------------------------- -- -- Tabellstruktur for tabell `lnk_liste_bok` -- CREATE TABLE `lnk_liste_bok` ( `liste_id` mediumint(8) unsigned NOT NULL, `bok_id` mediumint(8) unsigned NOT NULL ) ENGINE=MyISAM
Det hele funker slik:
- En bruker taster inn ett ISBN-nummer.
- Systemet søker i katalogen, og returnerer tittel og forfatter
- Systemet putter dette sammen med ISBN-nummeret i aktuelle databaser.
- Man kan hente ut listen ved en spesiell URL med listenavn som parameter.
[rediger] TODO
- Lage webskjema. Bør ha mulighet for å legge til bøker, samt slette.
- Lage database
- Hente ut tittel og forfatter fra KOHA-basen med ISBN som input
- Hente ut tittel og forfatter fra listebasen og presentere den pent (opsjon: hente ut framsider og vise)
- støtte flere brukere: cookies?
[rediger] Ting som kan være nyttige mens vi jobber
Søk etter ISBN og tittelnummer i Deichman sin base kan foregå på denne måten (for å generere URL-er til basen):
- http://www.deich.folkebibl.no/cgi-bin/websok?mode=vt&st=p&cclsok=978-82-05-38827-7/IS
- http://www.deich.folkebibl.no/cgi-bin/websok?mode=vt&st=p&cclsok=tnr%3d848422
- ISBN-nummer vi vet vi har i Deichman-basen: 9788205388277 | 978-82-05-38827-7
- ISBN-nummer vi vet vi har i KOHA-basen: 82-458-0425-8 | 82-7643-198-4
[rediger] Andre idéer
- Automatisk gjenkjennelse av ISBN-nummer, slik at man kan taste/scanne inn ISBN-nummer for søk i et felles felt. Nå har vi et eget felt for tnr og ett for ISBN, slik at man kan velge hvilket man bruker.
- Ut-format kan være RSS eller fine html-ting
- Bør kanskje implementeres med YAZ, slik at det er enkelt å velge mellom z39.50 og SRU (dersom det går).
- Det kan være lurt å bruke DOM for å hente ut data fra XML-en som blir generert.
