KOHA
Podaci na korisničkim karticama: Revision 3

Ova stranica opisuje postupak koji prolaze podaci da bi novootvoreni korisnici preko Koha sučelja
a) dobili članski broj (broj kartice)
b) pojavili se u SafeQ sustavu.

SafeQ sustav povlači podatke o korisnicima iz Kohe preko LDAP-a. LDAP je implementiran direktno na podacima u Kohi (vidi SafeQ integration), ali SafeQ ne može pročitati broj korisnika sa kartice, nego samo serijski broj kartice koji koristi RFID protokol (SID).

Taj broj postoji jedino u log datotekama 3M sustava, a kako računalo na kojem se programiraju čipovi za sad nije spojeno na mrežu, cijela procedura ipak ovisi o povremenom presnimavanju podataka na server.

U razvoju je zamjena za cijelu ovu proceduru koja bi omogućila printanje novih isprogramiranih kartica odmah nakon što se korisnik prvi puta ulogira u Kohu (tj. odmah čim aktivira članstvo u knjižnici).



Generiranje brojeva kartica

Prvi korak je dodjeljivanje brojeva kartica u obliku 200908240042 gdje su prve znamenke datum a zadnje četiri redni broj korisnika u tom danu. To je jedinstveni broj korisnika koji koriste svi ostali servisi (npr. 3M Selfcheck) ali ne i SafeQ-a!

Generiranje brojeva kartica

ovaj korak radi se na produkcijskoj bazi

dpavlin@koha:/srv/koha-rfid$ ./generate-cardnumber.pl

provjeriti ispis i pokrenuti ponovo sa --commit da bi se promjene zapisale u bazu

generira također backup borrowers tablice

Import 3M log datoteka

ovo se radi na development bazi

Kopiranje borrowers tablice s produkcije na development

dpavlin@koha-dev:/srv/koha-rfid$ ./update-borrowers.sh

Ovo će stvoriti borrowers2 tablicu na developmentu i prekopirati sve nove korisnike u borrowers tablicu

rename

*.LOG datoteke iz 3M softwarera se kopiraju u /srv/koha-rfid/log

dpavlin@t61p:/mnt/usb$ scp -r TraceLog koha-dev.rot13.org:/srv/koha-rfid/log/

... i preimenuju u intervale koje pokrivaju:

dpavlin@koha-dev:/srv/koha-rfid$ make rename
find log/ -name "*.LOG" | xargs -i ./rename-log.sh {}
dpavlin@koha-dev:/srv/koha-rfid$ ls -al log/
total 17256
drwxr-xr-x 9 dpavlin dpavlin   4096 2009-07-14 16:41 .
drwxr-xr-x 5 dpavlin dpavlin   4096 2009-08-24 21:29 ..
-rw-r--r-- 1 dpavlin dpavlin 524488 2008-11-11 08:58 20080922-20081111.log
-rw-r--r-- 1 dpavlin dpavlin 524334 2008-10-24 16:15 20081015-20081024.log
-rw-r--r-- 1 dpavlin dpavlin 524606 2008-11-03 11:17 20081024-20081103.log
-rw-r--r-- 1 dpavlin dpavlin 524322 2008-10-27 12:12 20081027-20081027.log

provjera novih podataka

cd log
git status
git add *.log
git commit -m 'new data'

parse log

dpavlin@koha-dev:/srv/koha-rfid$ make rfid

...

wc -l rfid.txt
12196 rfid.txt
echo "`cat rfid.txt | cut -d, -f2 | sort -u | wc -l` different tags"
11243 different tags
echo "`cat rfid.txt | cut -d, -f2- | grep ',20' | sort -u | wc -l` card tags"
4151 card tags

update kohe

(pokreće sam i parsanje log dataoteka)

dpavlin@koha-dev:/srv/koha-rfid$ make rfid2koha

trenutno stanje u Kohi

(ovo je komanda za dobivanje trenutnog stanja, ne stvarno trenutno stanje)

dpavlin@koha-dev:/srv/koha-rfid$ make
echo 'select count(*) as cards,min(card_issue_date),max(card_issue_date) from borrowers' | mysql --table koha
+-------+----------------------+----------------------+
| cards | min(card_issue_date) | max(card_issue_date) |
+-------+----------------------+----------------------+
|  5082 | 2009-03-23 18:53:31  | 2009-08-24 21:25:17  | 
+-------+----------------------+----------------------+