Άλλα APIs και πρωτόκολλα
SIP2
Το SIP2 (Session Initiation Protocol) είναι ένα πρωτόκολλο επικοινωνίας μεταξύ συσκευών.
Στο πλαίσιο του Koha, το SIP2 χρησιμοποιείται για την επικοινωνία μεταξύ των μηχανημάτων Self Check (SC), δηλαδή των μηχανημάτων αυτόματης πληρωμής, και του συστήματος αυτόματης κυκλοφορίας (επίσης γνωστό ως ACS, το οποίο στην προκειμένη περίπτωση είναι ο διακομιστής που εκτελεί το Koha).
Οι επικοινωνίες SIP2 αποτελούνται από αιτήματα και απαντήσεις.
Τα μηχανήματα αυτόματης πληρωμής είναι «ανόητα» και έτσι στέλνουν αιτήματα στον διακομιστή Koha, ο οποίος εκτελεί λογική που καθορίζει ένα συγκεκριμένο αποτέλεσμα, το οποίο αποστέλλεται ως μήνυμα απάντησης πίσω στο μηχάνημα αυτόματης πληρωμής του πελάτη, το οποίο στη συνέχεια μεταφέρεται στον χρήστη.
Προειδοποίηση
Ειδοποίηση ασφαλείας σχετικά με τη χρήση της υπηρεσίας SIP2: Για να διασφαλίσετε ότι η κυκλοφορία SIP2 είναι ασφαλής καθώς περνάει από το διαδίκτυο, πρέπει να βεβαιωθείτε ότι χρησιμοποιείτε VPN ή stunnel.
Ρύθμιση του SIP2
Πρακτική συμβουλή
Χρήσιμες συμβουλές μπορείτε να βρείτε στο wiki της Koha:
Εγκατάσταση του διακομιστή SIP2 της Koha και Διαμόρφωση του SIP2.
Αν εγκαταστήσατε το Koha χρησιμοποιώντας πακέτα Debian, τότε η εγκατάσταση του SIP2 είναι εύκολη, απλά ακολουθήστε αυτά τα βήματα:
1. In your terminal (in the root Koha directory) write in: sudo koha-enable-sip <instancename>
2. Now you need to configure the SIP2 settings, to do this you need to edit the SIPconfig.xml file which exists in the /etc/koha/sites/<instancename>/ directory. You will need to edit this file as root because it contains passwords (to do so write ‘sudo’ at the start of your command).
π.χ. sudo vi /etc/koha/sites/<instancename>/SIPconfig.xml
Σημείωση
Σημαντική σημείωση: Υπάρχουν τρεις περιοχές ενδιαφέροντος στο αρχείο SIPconfig.xml που πρέπει να αλλάξετε. Αυτές είναι: service, account και institution.
Service
2.1 Αλλάξτε την τιμή της θύρας κοντά στην κορυφή του αρχείου SIPconfig.xml (που αναγνωρίζεται από τον αριθμό 1 στην παρακάτω εικόνα οθόνης), ώστε να έχει την ίδια διεύθυνση IP που έχει οριστεί πιο κάτω στο αρχείο SIPconfig.xml που αναγνωρίζεται από το 2.
Σημείωση
Βεβαιωθείτε ότι οι δύο τιμές θύρας δεν έχουν τον ίδιο αριθμό θύρας, καθώς δεν μπορείτε να έχετε την ίδια θύρα να ακούγεται από δύο διαφορετικές υπηρεσίες. Όταν αποφασίζετε για τον αριθμό θύρας, βεβαιωθείτε ότι είναι ένας υψηλός αριθμός (π.χ. πάνω από 1000), επειδή όλες οι θύρες κάτω από 1000 απαιτούν δικαιώματα root.
Account
Οι λογαριασμοί που ορίζετε στο αρχείο SIPconfig.xml είναι απλώς οι λογαριασμοί που επιτρέπεται να χρησιμοποιούν την υπηρεσία SIP2, δηλαδή ορίζετε ποιος μπορεί να στέλνει και να λαμβάνει εντολές SIP2.
Προειδοποίηση
Οι πληροφορίες λογαριασμού που γράφετε εδώ πρέπει επίσης να υπάρχουν στη βάση δεδομένων Koha, δηλαδή πρέπει να δημιουργήσετε έναν προστάτη στο περιβάλλον εργασίας του προσωπικού Koha με το ίδιο όνομα χρήστη, τον ίδιο κωδικό πρόσβασης (φροντίζοντας να του εκχωρήσετε το αδεια κυκλοφορίας) με το λογαριασμό χρήστη που γράφετε στο αρχείο SIPconfig.xml.
Σημείωση
Συνιστάται ιδιαίτερα να γράφετε μόνο σε λογαριασμούς χρηστών Koha με το δικαίωμα circulate permission.
Ο λόγος για τον οποίο θέλουμε οι χρήστες του SIP2 να έχουν μόνο το δικαίωμα circulate permission και όχι το δικαίωμα superlibrarian permission είναι για να μειώσουμε την πρόσβαση που έχουν οι χρήστες του SIP2 σε εμπιστευτικά δεδομένα πελατών σε περίπτωση παραβίασης του συστήματος.
Εάν το ACS ή το SC παραβιάζονταν, τότε το να έχουν όλοι οι χρήστες του SIP2 μόνο το δικαίωμα circulate permission σημαίνει ότι ένας εισβολέας θα μπορούσε να έχει πρόσβαση στα δεδομένα των πελατών μόνο μέσω του τερματικού και όχι μέσω της διαδικτυακής διεπαφής (η οποία θα ήταν διαθέσιμη με το δικαίωμα superlibrarian permission). Επομένως, είναι απλώς θέμα προστασίας των χρηστών σας.
Ορισμοί παραμέτρων Account:
Login id: Αυτό είναι το όνομα χρήστη του λογαριασμού. - Τροποποιήστε το αναλόγως
Password: Κωδικός πρόσβασης λογαριασμού - Τροποποιήστε τον ανάλογα
Delimiter: Αφήστε το ως προεπιλεγμένο
error-detect - Αφήστε το ως προεπιλογή
Institution: Αυτός είναι ο κωδικός του υποκαταστήματος της βιβλιοθήκης στην οποία ανήκει ο χρήστης. ΣΗΜΕΙΩΣΗ: Αυτό το ίδρυμα πρέπει να οριστεί πιο κάτω στην περιοχή ίδρυμα του αρχείου SIPconfig.xml και πρέπει επίσης να υπάρχει στη βάση δεδομένων Koha. δηλ. πρέπει να δημιουργήσετε μια βιβλιοθήκη με τον ίδιο κωδικό κλάδου στο περιβάλλον εργασίας προσωπικού Koha.
encoding: Είναι το πρότυπο που χρησιμοποιείται για την κωδικοποίηση των δεδομένων του λογαριασμού
Terminator: Αυτό πρέπει να ταιριάζει με την τιμή τερματισμού του διακομιστή SIP2. - Τροποποιήστε το εάν γνωρίζετε την τιμή τερματισμού του διακομιστή SIP2.
Είναι επίσης δυνατό να προσθέσετε προσαρμοσμένα χαρακτηριστικά προστάτη σε προφίλ SIP2 χρησιμοποιώντας τη μορφή όπως:
<patron_attribute field=»XX» code=»CODE1» /> <patron_attribute field=»XY» code=»CODE2» /> <patron_attribute field=»XZ» code=»CODE3» />
Institution
Οι πληροφορίες για το ίδρυμα που ορίζετε εδώ πρέπει να ταιριάζουν με μια βιβλιοθήκη που δημιουργήθηκε στο περιβάλλον εργασίας του προσωπικού της Koha.
Προειδοποίηση
Πρέπει να βεβαιωθείτε ότι όλα τα ιδρύματα στα οποία αντιστοιχίζονται οι λογαριασμοί στο αρχείο SIPconfig.xml ορίζονται επίσης στην περιοχή ίδρυμα του ίδιου αρχείου.
Ορισμοί για το ίδρυμα ( institution ) :
1. Institution id: The branchcode of the library. - Modify this accordingly. Must be the same as created in Koha and the account area.
Εφαρμογή: Καθορίζει τον κώδικα που θα εκτελεστεί. - Αφήστε το ως προεπιλεγμένο
3. Policy: Policy defines the permitted SIP2 commands allowed from SC’s in this institution. For example: renewal=”true” means that SC’s at that institution have permission to send renewal item SIP2 commands.
4. Starting SIP2 Simply write in the command: sudo koha-start-sip <instancename>
Σημείωση
Τώρα έχετε έναν λειτουργικό διακομιστή SIP2.
Σημείωση
Προαιρετικά, μπορείτε να ρυθμίσετε τη συμπεριφορά των κάδων διαλογής, χρησιμοποιώντας τις προτιμήσεις συστήματος UseLocationAsAQInSIP και SIP2SortBinMapping.
Χρήση του SIP2
Το SIP2 είναι ένα πρωτόκολλο επικοινωνίας. Τα μηνύματα που αποστέλλονται στο SIP2 είναι είτε αιτήματα είτε απαντήσεις. Τα SC στέλνουν μηνύματα αιτήματος στο ACS, το οποίο εκτελεί κάποια λογική και στέλνει πίσω την τιμή που προκύπτει στο SC ως μήνυμα απάντησης.
Τα μηνύματα αίτησης περιέχουν ορίσματα, τα οποία είναι τιμές δεδομένων που χρησιμοποιούνται από το ACS στις λειτουργίες του για την εκτέλεση της απαιτούμενης εργασίας, όπως η ανανέωση στοιχείων.
Εντολές SIP2
Αν θέλετε να χρησιμοποιήσετε/δοκιμάσετε χειροκίνητα το SIP2, τότε θα γράφετε και θα λαμβάνετε μηνύματα μέσω του τερματικού του Linux.
Για να μπορείτε να στέλνετε και να λαμβάνετε μηνύματα με τον διακομιστή SIP2 πρέπει να χρησιμοποιήσετε το telnet για να ανοίξετε μια σύνδεση SIP2. Πρέπει να καθορίσετε τον αριθμό θύρας που θέλετε να χρησιμοποιεί το telnet.
Για να βρείτε αυτή την πληροφορία, κοιτάξτε την περιοχή υπηρεσιών στην κορυφή του αρχείου SIPconfig.xml (αναζητήστε τον αριθμό θύρας, όπως δείχνει το βέλος στο παρακάτω στιγμιότυπο οθόνης).
Γράψτε στο τερματικό
telnet localhost <portnumber>
π.χ. telnet localhost 8023
Τώρα γράψτε το όνομα χρήστη και τον κωδικό πρόσβασης που έχουν οριστεί σε έναν από τους λογαριασμούς στο αρχείο SIPconfig.xml.
Τώρα που είστε συνδεδεμένοι με τον διακομιστή SIP2 μπορείτε να αρχίσετε να γράφετε και να στέλνετε εντολές αίτησης. Η σύνδεση με το διακομιστή SIP2 λήγει γρήγορα, οπότε αν δεν έχετε ολοκληρώσει τη συγγραφή και τη λήψη εντολών απλά γράψτε:
telnet localhost <portnumber>
για να επανεκκινήσετε τη σύνδεση SIP2.
Σύνταξη εντολών SIP2
Κάθε εντολή SIP2 έχει ένα διψήφιο αριθμητικό πρόθεμα που καθορίζει τι κάνει η εντολή.
π.χ. Για να λάβετε πληροφορίες σχετικά με έναν προστάτη ξεκινάτε την εντολή σας με το πρόθεμα: 63. Η απάντηση από τον διακομιστή έχει επίσης ένα αντίστοιχο αριθμητικό πρόθεμα.
Παρακάτω παρατίθεται ένα παράδειγμα μηνύματος αίτησης SIP2 για να ζητηθούν πληροφορίες προστάτη (σε αυτό το παράδειγμα έχει δημιουργηθεί ένας λογαριασμός προστάτη Koha με το όνομα χρήστη «joe», τον κωδικό πρόσβασης «joes» και τον αριθμό κάρτας «y76t5r43» στη διεπαφή προσωπικού Koha).
Επιπλέον, έχει δημιουργηθεί μια βιβλιοθήκη με κωδικό κλάδου «WEL» στη διεπαφή προσωπικού Koha και έχει επίσης οριστεί στην περιοχή ίδρυμα του αρχείου SIPconfig.xml):
Έτσι, η μορφή αυτού του μηνύματος αίτησης SIP2 είναι:
Σημείωση
Η συνοπτική τιμή είναι μια τιμή 10 χαρακτήρων. Εάν για τη συνοπτική τιμή γραφτεί ένα Υ, τότε θα μπορείτε να λάβετε τόσο μια συνοπτική όσο και μια πιο λεπτομερή πληροφοριακή έξοδο.
Η τιμή στη διεύθυνση <YYYYMMDD> <HHMMSS> είναι η τρέχουσα ημερομηνία, αφήνοντας ένα κενό 4 διαστημάτων μεταξύ του YYYYMMDD και του HHMMSS υποδεικνύει ότι θέλετε να χρησιμοποιήσετε τοπική ώρα και όχι UTC.
Σημείωση
Στο παρόν εγχειρίδιο χρησιμοποιούνται κωδικοί γραμμάτων για τα διάφορα πεδία, όπου είναι δυνατόν, για την περιγραφή των πεδίων του μηνύματος SIP2, π.χ. AO<institutionid>.
Αυτοί οι κωδικοί γραμμάτων μπορούν να γραφτούν στις εντολές SIP2 στο τερματικό του Linux, αλλά βεβαιωθείτε ότι όταν αντικαθιστάτε τιμές στα πεδία (τιμές μέσα στο <>) δεν γράφετε μέσα στις αγκύλες <>.
Μηνύματα SIP2:
Block patron
Χρησιμοποιείται το πρόθεμα 01 για τα μηνύματα αίτησης και 24 για τα μηνύματα απάντησης.
Μήνυμα αίτησης:
Σημείωση
Το πεδίο «Card retained» είναι ένα πεδίο ενός μόνο χαρακτήρα με «Y» ή «N», το οποίο δηλώνει στο ACS ότι μια κάρτα έχει κρατηθεί από το μηχάνημα αυτόματης πληρωμής.
Μήνυμα απάντησης:
Σημείωση
<patronstatus> είναι μια τιμή 14 χαρακτήρων. Η τιμή Y στη συμβολοσειρά σημαίνει true. Κάθε θέση σε αυτή τη συμβολοσειρά (ξεκινώντας από το 0) έχει μία μόνο αντίστοιχη τιμή (Y ή N) στη συμβολοσειρά.
π.χ. ένα Y στη θέση 1 (η δεύτερη τιμή στη συμβολοσειρά) σημαίνει ότι τα δικαιώματα ανανέωσης των πατρόνων είναι αρνητικά.
Τεκμήρια check-in
Αυτό χρησιμοποιεί το πρόθεμα 09 του μηνύματος αίτησης (μηνύματα που αποστέλλονται στο ACS) και το πρόθεμα 10 της απάντησης (που αποστέλλεται στο SC).
Μήνυμα αίτησης:
Σημείωση
<no block (Offline)> είναι ένα πεδίο ενός μόνο χαρακτήρα με “Y” ή “N” που δηλώνει αν η συναλλαγή εκτελείται εκτός σύνδεσης. Καθώς οι συναλλαγές χωρίς σύνδεση δεν υποστηρίζονται, πρέπει να γράψετε “N” εάν δοκιμάζετε αυτό το μήνυμα με το χέρι.
<transactiondate> πρόκειται για ένα πεδίο 18 χαρακτήρων με τη μορφή της ημερομηνίας: YYYYMMDDZZZZHHMMSS.
Το ZZZZ είναι η ζώνη ώρας, αν θέλετε να την ορίσετε σε τοπική ώρα πρέπει να αφήσετε 4 κενά, αλλά αν θέλετε να την ορίσετε σε UTC (Συντονισμένη Παγκόσμια Ώρα) τότε πρέπει να γράψετε 3 κενά και ένα Z.
Μήνυμα απάντησης:
Σημείωση
Ο τύπος ειδοποίησης μπορεί να έχει μία από διάφορες τιμές: 00 : Άγνωστος 01: τοπική κράτηση 02: απομακρυσμένη κράτηση 03: μεταφορά ILL 04: μεταφορά 99: Άλλο
Εάν ένα αντικείμενο έχει επανααισθητοποιηθεί, τότε η τιμή του <resensitize> θα πρέπει να είναι Y, διαφορετικά θα πρέπει να είναι N. Η επανααισθητοποίηση των αντικειμένων γίνεται για να διασφαλιστεί ότι εάν κάποιος προσπαθήσει να κλέψει το αντικείμενο θα εντοπιστεί.
Τεκμήρια Checkout
Αυτό χρησιμοποιεί το πρόθεμα του μηνύματος αίτησης 11 και το πρόθεμα του μηνύματος απάντησης 12. Έχει παρόμοια σύνταξη με την εντολή check-in, που περιγράφεται παραπάνω, εκτός από τα διαφορετικά προθέματα.
Κράτηση - Ενδέχεται να μην υποστηρίζεται ακόμη σε ορισμένα συστήματα. Το αριθμητικό πρόθεμα του μηνύματος αίτησης είναι 15 και το πρόθεμα του μηνύματος απάντησης είναι 16.
Μήνυμα αίτησης:
Σημείωση
<holdmode> είναι μια τιμή ενός χαρακτήρα. + σημαίνει προσθήκη κράτησης, - σημαίνει διαγραφή κράτησης και * σημαίνει αλλαγή κράτησης.
Μήνυμα απάντησης:
Σημείωση
<ok> είναι μια τιμή απλού μήκους, η οποία είναι είτε 0 (η κράτηση δεν επιτρέπεται ή δεν ήταν επιτυχής) είτε 1 (η κράτηση επιτρέπεται και ήταν επιτυχής).
<available> το Y σημαίνει ότι το τεκμήριο βρίσκεται αυτή τη στιγμή στη βιβλιοθήκη, ενώ το N σημαίνει ότι το τεκμήριο βρίσκεται υπό δανεισμό/κάποιος άλλος έχει δημιουργήσει κράτηση για το τεκμήριο.
Πληροφορίες στοιχείου: Αυτό χρησιμοποιεί το πρόθεμα εντολής αίτησης 17 και το πρόθεμα εντολής απάντησης 18
Μήνυμα αίτησης:
Σημείωση
Ανατρέξτε στην εντολή check-in items (που περιγράφεται παραπάνω) για να μάθετε ποια είναι η τιμή <xact_date>.
Ο κωδικός πρόσβασης τερματικού είναι προαιρετικός.
Μήνυμα απάντησης:
Ενημέρωση κατάστασης στοιχείου Χρησιμοποιείται το πρόθεμα μηνύματος αίτησης 19 και το πρόθεμα μηνύματος απάντησης 20
Μήνυμα αίτησης:
Σημείωση
<itemproperties> δεν είναι τιμή σταθερού μήκους και μπορείτε προαιρετικά να γράψετε τιμές όπως το μέγεθος του αντικειμένου και αυτές οι τιμές θα αποθηκευτούν στη βάση δεδομένων Koha για το αντικείμενο.
Μήνυμα απάντησης:
Σημείωση
<itempropertiesok> είναι μια τιμή χαρακτήρων απλού μήκους που είναι είτε 0 είτε 1. Το 1 δηλώνει ότι η τιμή <itemproperties> που ορίζεται στο μήνυμα αίτησης ενημέρωσης κατάστασης στοιχείου αποθηκεύτηκε επιτυχώς στη βάση δεδομένων Koha.
Κατάσταση Χρήστη
Αυτό χρησιμοποιεί το πρόθεμα μηνύματος αίτησης 23 και το πρόθεμα μηνύματος απάντησης 24.
Μήνυμα αίτησης:
Μήνυμα απάντησης:
Σημείωση
Η τιμή που εμφανίζεται για το <patronvalidity> είναι Y (έγκυρο) και N (άκυρο). Η τιμή στο <YYYYMMDD> < HHMMSS> είναι η τρέχουσα ημερομηνία/ώρα.
Ο λόγος για το κενό μεταξύ των δύο τιμών είναι για να ορίσετε ότι θέλετε να χρησιμοποιήσετε τον τοπικό χρόνο και όχι την UTC.
Ενεργοποίηση χρηστών - Αυτό δεν υποστηρίζεται ακόμη. Χρησιμοποιεί το πρόθεμα μηνύματος αίτησης 25 και το πρόθεμα μηνύματος απάντησης 26
Σημείωση
Αυτή η εντολή αναιρεί την εντολή block patron.
Μήνυμα αίτησης:
Μήνυμα απάντησης:
Ανανέωση Αυτό χρησιμοποιεί το πρόθεμα του μηνύματος αίτησης 29 και το πρόθεμα του μηνύματος απάντησης 30
Μήνυμα αίτησης:
Σημείωση
<thirdpartyallowed> είναι μια τιμή ενός μόνο χαρακτήρα που είναι είτε Y είτε N. Εάν είναι Y, τότε οι τρίτοι μπορούν να ανανεώσουν αντικείμενα.
<noblock> είναι μια τιμή ενός μόνο χαρακτήρα που είναι είτε Y είτε N. Εάν είναι Y, αυτό σημαίνει ότι το στοιχείο έγινε checkin/out όταν το ACS ήταν εκτός λειτουργίας.
<nbduedate> είναι η ημερομηνία συναλλαγής του checkin/checkout όταν το ACS ήταν εκτός σύνδεσης.
<feeacknowledged> είναι μια τιμή ενός μόνο χαρακτήρα που είναι είτε Y είτε N. Αυτό δείχνει αν ο χρήστης αποδέχεται το τέλος που σχετίζεται με το στοιχείο που ανανεώνει.
Μήνυμα απάντησης:
Σημείωση
<ok> είναι μια τιμή ενός χαρακτήρα που είναι είτε 0 είτε 1. Η τιμή 1 σημαίνει ότι το στοιχείο ανανεώθηκε επιτυχώς, ενώ η τιμή 0 σημαίνει ότι το στοιχείο δεν ανανεώθηκε επιτυχώς.
<renewalok> είναι μια τιμή ενός χαρακτήρα που είναι είτε Y είτε N. Η λογική για τον καθορισμό της τιμής του <renewalok> είναι ότι το Y τίθεται όταν το στοιχείο έχει ήδη πληρωθεί από τον χρήστη και επομένως θα πρέπει να απευαισθητοποιηθεί ανανεώνοντάς το, ενώ το N τίθεται εάν το στοιχείο δεν έχει ήδη πληρωθεί από τον πελάτη και επομένως δεν θα πρέπει να ανανεωθεί.
Με άλλα λόγια, μην αφήνετε τους πελάτες να ανανεώνουν βιβλία όταν δεν τους έχουν παραχωρηθεί επί του παρόντος.
<magneticmedia> είναι μια τιμή ενός χαρακτήρα που είναι είτε Y (για ναι), N ( για όχι), ή U (για άγνωστο).
<mediatype> είναι μια μεγάλη τιμή τριών αριθμητικών χαρακτήρων. Για έναν κατάλογο των τιμών επισκεφθείτε τη διεύθυνση: http://multimedia.3m.com/mws/media/355361O/sip2-protocol.pdf
Τέλος συνεδρίας
Αυτό χρησιμοποιεί το πρόθεμα του μηνύματος αίτησης 35 και το πρόθεμα του μηνύματος απάντησης 36
Μήνυμα αίτησης:
Μήνυμα απάντησης:
Σημείωση
<success_or_failure> είναι είτε Y για επιτυχία είτε N για αποτυχία.
Πληρωμή - Μπορεί να μην έχει εφαρμοστεί ακόμη. Αυτό χρησιμοποιεί ένα πρόθεμα μηνύματος αίτησης 37 και ένα πρόθεμα μηνύματος απάντησης 38
Μήνυμα αίτησης:
Σημείωση
<feetype> είναι μια τιμή δύο αριθμητικών χαρακτήρων που κυμαίνεται μεταξύ 01 και 99. Για να δείτε έναν κατάλογο τιμών τύπου τέλους μεταβείτε στη διεύθυνση http://multimedia.3m.com/mws/media/355361O/sip2-protocol.pdf
<paymenttype> είναι μια αριθμητική τιμή δύο χαρακτήρων μεταξύ 00 και 99. Το 00 είναι μετρητά, το 01 είναι Visa και το 02 είναι πιστωτική κάρτα.
<currencytype> είναι μια μακροσκελής τιμή 3 αλφαριθμητικών χαρακτήρων που προσδιορίζει το νόμισμα στο οποίο καταβλήθηκε η αμοιβή.
Μήνυμα απάντησης:
Σημείωση
<paymentaccepted> είναι μια τιμή με έναν μόνο αλφαριθμητικό χαρακτήρα, η οποία είναι είτε Y (η πληρωμή έχει γίνει αποδεκτή) είτε N (η πληρωμή δεν έχει γίνει αποδεκτή).
Πληροφορίες χρήστη
Αυτό χρησιμοποιεί το πρόθεμα του μηνύματος αίτησης 63 και το πρόθεμα του μηνύματος απάντησης 64
Μήνυμα αίτησης:
Μήνυμα απάντησης:
Σημείωση
<valid patron> είναι Υ για έγκυρο και Ν για μη έγκυρο.
Σημείωση
<hold itemcount><overdueitemcount><chargeditemscount><fienitemscount><recallitemscount><unavaliableholdscount> είναι όλες τιμές μήκους 4 αριθμητικών χαρακτήρων.
Ανανέωση όλων
Αυτό χρησιμοποιεί το πρόθεμα μηνύματος αίτησης 65 και το πρόθεμα μηνύματος απάντησης 66.
Μήνυμα αίτησης:
Μήνυμα απάντησης:
Σημείωση
<renewedcount> είναι μια μακροσκελής τιμή 4 αριθμητικών χαρακτήρων που δηλώνει τον αριθμό των στοιχείων που ανανεώθηκαν.
<unrenewedcount>, έχει την ίδια μορφή με το <renewedcount> αλλά δηλώνει τον αριθμό των στοιχείων που δεν ανανεώθηκαν.
Σύνδεση
Αυτό χρησιμοποιεί το πρόθεμα μηνύματος αίτησης 93 και το πρόθεμα μηνύματος απάντησης 94.
Μήνυμα αίτησης:
Σημείωση
<UIDalgorithm> και <PWDalgorithm> είναι τιμές ενός χαρακτήρα που υποδεικνύουν τον τύπο αλγορίθμου που θα χρησιμοποιηθεί για την κρυπτογράφηση του loginuserid και του loginpassword αντίστοιχα.
Η εγγραφή της τιμής 0 σημαίνει ότι οι τιμές αυτές δεν θα κρυπτογραφηθούν.
Μήνυμα απάντησης: 941 είναι μια επιτυχής σύνδεση. 940 είναι μια ανεπιτυχής σύνδεση [η σύνδεση έκλεισε από ξένο host.] είναι μια ανεπιτυχής σύνδεση
Επαναποστολή
Αυτό ζητά από τη συσκευή λήψης να στείλει εκ νέου το τελευταίο της μήνυμα.
SC -> ACS αίτημα επαναποστολής είναι 97
Το αίτημα επαναποστολής ACS -> SC είναι 96
Κατάσταση του ACS και του SC
Αυτό έχει το πρόθεμα μηνύματος αίτησης 99 και το πρόθεμα μηνύματος απάντησης 98.
Μήνυμα αίτησης:
Σημείωση
Ο κωδικός κατάστασης είναι μία από τις 3 τιμές. * 0: Το SC είναι εντάξει * 1: Το SC έχει ξεμείνει από χαρτί * 2: Το SC τερματίζει τη λειτουργία του max print width είναι μια τιμή 3 χαρακτήρων, η οποία είναι ο ακέραιος αριθμός χαρακτήρων που μπορεί να εκτυπώσει ο πελάτης Έκδοση πρωτοκόλλου είναι μια τιμή 4 χαρακτήρων με τη μορφή x.xx
Μήνυμα απάντησης:
Σημείωση
Εάν λάβετε το μήνυμα απάντησης “96”, αυτό σημαίνει ότι το μήνυμα αίτησης δεν είναι έγκυρο/κατανοητό.
Επίλυση προβλημάτων SIP2
Δεν μπορείτε να συνδεθείτε σε απομακρυσμένο υπολογιστή όταν γράφετε την εντολή telnet localhost <portnumber>
3 λύσεις για αυτό το θέμα που μπορείτε να δοκιμάσετε είναι:
Ελέγξτε ότι ο αριθμός θύρας που γράφετε στην παραπάνω εντολή είναι ο αριθμός θύρας που είναι γραμμένος στο αρχείο SIPconfig.xml στη θέση που υποδεικνύεται από τον αριθμό 1. π.χ. στο παρακάτω παράδειγμα, επειδή ο αριθμός θύρας είναι 6001, η σωστή εντολή θα ήταν: telnet localhost 6001.
Ελέγξτε αν κάποιο userid έχει γραφτεί περισσότερες από μία φορές στο αρχείο SIPconfig.xml. Το userid (το οποίο είναι απλώς το όνομα χρήστη του χρήστη Koha) πρέπει να είναι μοναδικό στο αρχείο SIPconfig.xml. Εάν έχετε το ίδιο userid πολλές φορές στο αρχείο SIPconfig.xml, αυτό θα προκαλέσει την αποτυχία της σύνδεσης με το SIP2 πριν προλάβετε να πραγματοποιήσετε τον έλεγχο ταυτότητας.
Ελέγξτε ότι ο λογαριασμός που ορίζεται στο αρχείο SIPconfig.xml υπάρχει επίσης στη βάση δεδομένων Koha με το ίδιο όνομα χρήστη, τον ίδιο κωδικό πρόσβασης και έχει την άδεια circulate permission. Εάν έχετε εγκαταλείψει και δημιουργήσει εκ νέου τη βάση δεδομένων Koha μετά τη δημιουργία του λογαριασμού προστάτη στο περιβάλλον εργασίας του προσωπικού Koha και στο αρχείο SIPconfig.xml, τότε ο λογαριασμός προστάτη δεν θα υπάρχει στη βάση δεδομένων Koha και έτσι θα πρέπει να τον δημιουργήσετε εκ νέου στο περιβάλλον εργασίας του προσωπικού Koha.
Για να αποκτήσετε πρόσβαση στα αρχεία καταγραφής SIP2 στον αρχικό σας κατάλογο Koha, μεταβείτε στον ακόλουθο κατάλογο: /var/log/koha/<instancename>
Στη συνέχεια, δείτε την έξοδο των αρχείων sip-error.log και sip-output.log, τα οποία παρέχουν λεπτομερέστερες πληροφορίες σχετικά με το σφάλμα SIP2.
cat sip-error.log
cat sip-output.log
Χρήσιμοι σύνδεσμοι για τις εντολές SIP2:
http://multimedia.3m.com/mws/media/355361O/sip2-protocol.pdf
LDAP
Η ρύθμιση του LDAP (Lightweight Directory Access Protocol) για το Koha σας επιτρέπει να αποθηκεύετε όλες τις πληροφορίες των χρηστών σε μια κεντρική βάση δεδομένων στην οποία έχει πρόσβαση τόσο η περίπτωση του Koha του οργανισμού σας όσο και οι χρήστες για την πιστοποίηση ταυτότητας σε άλλα υπάρχοντα συστήματα.
Το LDAP είναι ένα πρωτόκολλο που χρησιμοποιείται για τον εντοπισμό αρχείων μέσω δικτύων και την πιστοποίηση ταυτότητας δικτύου.
Οι ρυθμίσεις LDAP είναι ισχυρές και σας επιτρέπουν να προσαρμόσετε τον τρόπο με τον οποίο αλληλεπιδρούν το Koha και το LDAP. Το LDAP μπορεί να διαμορφωθεί έτσι ώστε νέοι λογαριασμοί που δημιουργούνται στο LDAP να συγχρονίζονται στη βάση δεδομένων Koha, επιπλέον οι ενημερώσεις του λογαριασμού χρήστη LDAP συγχρονίζονται στη βάση δεδομένων Koha.
Ωστόσο, το Koha δεν μπορεί να συγχρονίσει τα δεδομένα με τον διακομιστή LDAP, επομένως η κυκλοφορία δεδομένων κατά τη χρήση του LDAP είναι μονόδρομος.
Το Auth_By_Bind ορίζεται σε 1 όταν χρησιμοποιείται ένα σύστημα Microsoft Windows Active Directory στη βάση δεδομένων LDAP.
Πριν προχωρήσετε στα βήματα για τη διαμόρφωση του LDAP θα χρειαστείτε τις ακόλουθες πληροφορίες/ενέργειες από τον οργανισμό
Ο οργανισμός θα πρέπει να ανοίξει μια θύρα για να επιτρέψει την πρόσβαση στο AD του από τον διακομιστή.
Πληροφορίες σχετικά με την πρόσβαση στον διακομιστή AD (διεύθυνση IP/όνομα κεντρικού υπολογιστή, θύρα, πληροφορίες SSL)
Πληροφορίες σχετικά με τη διαμόρφωση του διακομιστή AD (σχετικές OUs, DCs, μορφές CN σε σχέση με τα ονόματα χρηστών)
Αντιστοίχιση μεταξύ πεδίων AD και πεδίων Koha, συμπεριλαμβανομένων των προεπιλογών
Προεπιλεγμένες τιμές για πράγματα που δεν παρέχονται από την AD (categorycode, branchcode για παράδειγμα)
Για να πιστοποιήσουμε έναν χρήστη, τον δεσμεύουμε ως χρήστη (φαίνεται να είναι κοινό για το AD) ή χρησιμοποιούμε έναν λογαριασμό και συνδεόμαστε με αυτόν και στη συνέχεια ελέγχουμε Εάν το δεύτερο, θα χρειαστούμε λεπτομέρειες για τον τρόπο σύνδεσης
Ταιριάζουν τα υπάρχοντα ονόματα χρήστη στο Koha με τα ονόματα χρήστη που θα χρησιμοποιήσουμε για να τα αναζητήσουμε στην AD Αν ναι, ωραία. Αν όχι, πώς θα αντιμετωπίσουμε τους διπλούς χρήστες
Βήματα για να ρυθμίσετε το LDAP με την περίπτωση Koha
1 Στο τερματικό του Linux μεταβείτε στον κατάλογο που περιέχει το αρχείο koha-conf.xml, το οποίο θα βρίσκεται είτε στο: * /etc/koha/sites/<instance-name>/ Ή * /etc/koha/
2 Ανοίξτε το αρχείο koha-conf.xml με δικαιώματα root: sudo vi koha-conf.xml
3 Μετακινηθείτε προς τα κάτω στη γραμμή που περιέχει το “<useldapserver>0</useldapserver>” και αλλάξτε το σε: <useldapserver>1</useldapserver>
4 Στη συνέχεια, στην επόμενη γραμμή παρακάτω γράψτε τις παρακάτω ρυθμίσεις LDAP:
<ldapserver id="<ldapserverid>">
<hostname><hostname></hostname>
<base>dc=<domaincontroller>,dc=<domaincontroller></base>
<user>cn=<nameofuser>, dc=<domaincontroller>,dc=<domaincontroller></user> <!--This is the username of user account with permissions to query the LDAP server -->
<pass><password></pass> <!-- This is password of the user account with permissions to query the LDAP server-->
<replicate><either0or1></replicate> <!-- add new users from LDAP to Koha database -->
<welcome><either0or1></welcome> <!-- send new users the welcome email when added via replicate -->
<update><either0or1></update> <!-- update existing users in Koha database -->
<auth_by_bind><either0or1></auth_by_bind> <!-- set to 1 to authenticate by binding instead of password comparison, e.g., to use Active Directory -->
<principal_name><principalname></principal_name> <!-- optional, for auth_by_bind: a printf format to make userPrincipalName from koha userid -->
<mapping> <!-- match koha SQL field names to your LDAP record field names-->
<firstname is="givenname"></firstname>
<surname is="sn"></surname>
<address is="postaladdress"></address>
<city is="l">Athens, OH</city> <!-- Athens,OH is the default value for
city of all users logging into Koha -->
<zipcode is="postalcode"></zipcode>
<branchcode is="branch">Central</branchcode>
<userid is="uid"></userid>
<password is="userpassword"></password>
<email is="mail"></email>
<categorycode is="employeetype">EM</categorycode>
<phone is="telephonenumber"></phone>
</mapping>
</ldapserver>
5 Αποθηκεύστε και βγείτε από το αρχείο koha-conf.xml
6 Ελέγξτε ότι η σύνδεση LDAP λειτουργεί γράφοντας:
ldapsearch -H ldaps://host.name -s base -x -w «» -d 1
Σημείωση
Σημείωση σχετικά με το όνομα κεντρικού υπολογιστή Το όνομα κεντρικού υπολογιστή μπορεί να είναι είτε ένα αλφαριθμητικό όνομα είτε η διεύθυνση IP του διακομιστή LDAP (η αναγραφή του αριθμού θύρας είναι προαιρετική). Από προεπιλογή, ο προεπιλεγμένος αριθμός θύρας του ldaps είναι 636, ενώ ο προεπιλεγμένος αριθμός θύρας του ldap είναι 389
Σημείωση
Σημείωση σχετικά με τα πεδία αντιγραφής και ενημέρωσης Το πεδίο διαμόρφωσης αντιγραφής LDAP για το LDAP στο αρχείο koha-conf.xml επιτρέπει στη βάση δεδομένων Koha να προστίθεται ένας νέος λογαριασμός δανειολήπτη κάθε φορά που ένας χρήστης συνδέεται στο Koha (είτε στο πρόγραμμα-πελάτη προσωπικού είτε στο OPAC) με το όνομα χρήστη LDAP και τον κωδικό πρόσβασής του (εφόσον το ίδιο όνομα χρήστη και ο ίδιος κωδικός πρόσβασης δεν υπάρχουν ήδη στη βάση δεδομένων Koha).
Ενώ το πεδίο update LDAP config (στο ίδιο αρχείο που επιτρέπει) επιτρέπει το συγχρονισμό των πληροφοριών χρήστη στη βάση δεδομένων LDAP με τη βάση δεδομένων Koha. π.χ. αν κάποιος παντρευτεί και αλλάξει το επώνυμό του, τότε το νέο επώνυμο χρειάζεται να ενημερωθεί μόνο στην υπάρχουσα βάση δεδομένων LDAP και αυτό θα συγχρονιστεί αυτόματα με τη βάση δεδομένων Koha, αν το update configuration έχει οριστεί σε 1.
Σχετικά με τα πεδία χαρτογράφησης (τα πεδία που επισημαίνονται με πράσινο χρώμα) <city is=»l»>Athens, OH</city>
Το αριστερό όνομα της στήλης (επισημασμένο με κίτρινο χρώμα) είναι το όνομα της στήλης στη βάση δεδομένων LDAP.
Το όνομα της στήλης μέσα σε εισαγωγικά (με ροζ χρώμα) είναι το όνομα της στήλης στη βάση δεδομένων Koha. ΣΗΜΕΙΩΣΗ: Αυτό μπορεί να συμπληρωθεί με οποιαδήποτε τιμή εάν δεν υπάρχει όνομα στήλης στη βάση δεδομένων Koha ισοδύναμο με αυτό που υπάρχει στη βάση δεδομένων LDAP.
Η τιμή που επισημαίνεται με κυανό χρώμα είναι η προεπιλεγμένη τιμή για τις καθορισμένες στήλες Koha και LDAP. Έτσι, στο παραπάνω παράδειγμα όλες οι εγγραφές χρηστών στις βάσεις δεδομένων Koha και LDAP θα έχουν από προεπιλογή την τιμή της πόλης “Athens, OH”.
Παράδειγμα των ρυθμίσεων LDAP:
<useldapserver>1</useldapserver><!-- see C4::Auth_with_ldap for extra configs you must add if you want to turn this on -->
<ldapserver id="ldapserver" listenref="ldapserver">
<hostname>ldaps://example.co.au</hostname>
<base>ou=employees,dc=companya,dc=com,dc=au</base>
<user></user> <!-- DN, if not anonymous -->
<pass></pass> <!-- password, if not anonymous -->
<auth_by_bind>1</auth_by_bind>
<replicate>1</replicate> <!-- add new users from LDAP to Koha database -->
<update>0</update> <!-- update existing users in Koha database -->
<principal_name>ou=employees,dc=companya,dc=com,dc=au</principal_name>
<mapping>
<userid is="uid" ></userid>
<cardnumber is="uid" ></cardnumber>
<email is="mail" ></email>
<surname is="sn" ></surname>
<firstname is="givenname" ></firstname>
<categorycode is="1">EM</categorycode>
<branchcode is="1">SYD</branchcode>
</mapping>
</ldapserver>
Οι τιμές στην περιοχή αντιστοίχισης δεν είναι πάντα οι ίδιες και εξαρτάται από το τι υπάρχει στη βάση δεδομένων LDAP του οργανισμού σας. Για παράδειγμα, ορισμένοι οργανισμοί δεν χρησιμοποιούν το <userid>, αλλά κάθε χρήστης αναγνωρίζεται μόνο από το πεδίο <email> και έτσι δεν γράφεται το <userid>.
Επίλυση προβλημάτων LDAP
Το αρχείο καταγραφής στο οποίο εκτυπώνονται τα σφάλματα LDAP εξαρτάται από διάφορους παράγοντες:
Εάν το plack δεν είναι απενεργοποιημένο, τότε τα σφάλματα LDAP εμφανίζονται στο αρχείο plack-error.log Εάν το plack είναι απενεργοποιημένο, τότε η θέση στην οποία εκτυπώνονται τα σφάλματα LDAP είναι είτε το αρχείο opac-error.log (εάν ο χρήστης συνδέεται στο OPAC) είτε το αρχείο intranet-error.log (εάν ο χρήστης συνδέεται στον πελάτη προσωπικού) Και τα τρία αυτά αρχεία καταγραφής είναι προσβάσιμα στον ακόλουθο κατάλογο:
/var/log/koha/<instance>/