वेब सेवाएँ
कोहा कई एपीआई प्रदान करता है जो इसे डेटा और कार्यों तक पहुंच प्रदान करता है।
OAI-PMH
मेटाडेटा हार्वेस्टिंग (OAI-PMH) के लिए ओपन आर्काइव्स इनिशिएटिव-प्रोटोकॉल के लिए 'प्रतिभागियों' के दो समूह हैं: डेटा प्रदाता और सेवा प्रदाता। डेटा प्रदाता (खुले अभिलेखागार, रिपॉजिटरी) मेटाडेटा तक मुफ्त पहुंच प्रदान करते हैं, और हो सकता है, लेकिन जरूरी नहीं कि पूर्ण ग्रंथों या अन्य संसाधनों तक मुफ्त पहुंच प्रदान करें। OAI-PMH डेटा प्रोवाइडर्स के लिए एक आसान कार्यान्वयन, कम अवरोध समाधान प्रदान करता है। सेवा प्रदाता डेटा प्रोवाइडर्स के OAI इंटरफेस का उपयोग मेटाडेटा की कटाई और भंडारण के लिए करते हैं। ध्यान दें कि इसका मतलब है कि डेटा प्रदाताओं के लिए कोई लाइव खोज अनुरोध नहीं हैं; बल्कि, सेवाएं OAI-PMH के माध्यम से कटे हुए डेटा पर आधारित होती हैं।
वर्तमान में कोहा केवल डेटा प्रदाता के रूप में कार्य कर सकता है। यह अन्य रिपोजिटरी से कटाई नहीं कर सकता है। अन्य रिपॉजिटरी से कोहा की फसल के लिए सबसे बड़ी बाधा यह है कि मार्क एकमात्र मेटाडेटा प्रारूप है जो कोहा को मूल रूप से अनुक्रमित करता है। कैसे OAI-PMH काम करता है के आरेख के लिए http://www.oaforum.org/tutorial/english/page3.htm पर जाएं।
डिफ़ॉल्ट रूप से कोहा में ओएआई-पीएमएच परिणाम सेट में आइटम जानकारी शामिल नहीं होगी, लेकिन इन्हें शामिल कॉन्फ़िगरेशन फ़ाइल में include_items विकल्प का उपयोग करके जोड़ा जा सकता है OAI-PMH:ConfFile.
ओएआई-पीएमएच के बारे में और जानें: http://www.openarchives.org/pmh/
कोहा में ओएआई-पीएमएच को सक्षम करने के लिए इसे संपादित करें :ref:`ओएआई-पीएमएच' वरीयता। एक बार सक्षम होने पर आप अपनी फ़ाइल देखने के लिए http: //YOURKOHACATALOG/cgi-bin/koha/oai.pl पर जा सकते हैं।
नमूना ओएआई Conf फ़ाइल
format:
vs:
metadataPrefix: vs
metadataNamespace: http://veryspecial.tamil.fr/vs/format-pivot/1.1/vs
schema: http://veryspecial.tamil.fr/vs/format-pivot/1.1/vs.xsd
xsl_file: /usr/local/koha/xslt/vs.xsl
marcxml:
metadataPrefix: marxml
metadataNamespace: http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim
schema: http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd
include_items: 1
oai_dc:
metadataPrefix: oai_dc
metadataNamespace: http://www.openarchives.org/OAI/2.0/oai_dc/
schema: http://www.openarchives.org/OAI/2.0/oai_dc.xsd
xsl_file: /usr/local/koha/koha-tmpl/intranet-tmpl/xslt/UNIMARCslim2OAIDC.xsl
एसआरयू सर्वर
कोहा यूआरएल (एसआरयू) प्रोटोकॉल के माध्यम से खोज / पुनर्प्राप्ति लागू करता है। प्रोटोकॉल के बारे में अधिक जानकारी http://www.loc.gov/standards/sru/ पर मिल सकती है। लागू संस्करण संस्करण 1.1 है।
योजनाएँ
यदि आप किसी दिए गए सर्वर पर एसआरयू के कार्यान्वयन के बारे में जानकारी चाहते हैं, तो आपको बिना किसी पैरामीटर के सर्वर के अनुरोध का उपयोग करके स्पष्टीकरण फ़ाइल तक पहुंच प्राप्त करनी चाहिए। Http://myserver.com:9999/biblios/ की तरह। सर्वर से प्रतिक्रिया एक एक्सएमएल फ़ाइल है जो निम्न की तरह दिखनी चाहिए और आपको एसआरयू सर्वर की डिफ़ॉल्ट सेटिंग्स के बारे में जानकारी देगी।
<zs:explainResponse>
<zs:version>1.1</zs:version>
<zs:record>
<zs:recordSchema>http://explain.z3950.org/dtd/2.0/</zs:recordSchema>
<zs:recordPacking>xml</zs:recordPacking>
<zs:recordData>
<explain xml:base="zebradb/explain-biblios.xml">
<!--
try stylesheet url: http://./?stylesheet=docpath/sru2.xsl
-->
<serverInfo protocol="SRW/SRU/Z39.50">
<host>biblibre</host>
<port>9999</port>
<database>biblios</database>
</serverInfo>
<databaseInfo>
<title lang="en" primary="true">Koha 3 Bibliographic SRU/SRW/Z39.50 server</title>
<description lang="en" primary="true">Koha 3 Bibliographic Server</description>
<links>
<sru>http://biblibre:9999</sru>
</links>
</databaseInfo>
<indexInfo>
<set name="cql" identifier="info:srw/cql-context-set/1/cql-v1.1">
<title>CQL Standard Set</title>
</set>
<index search="true" scan="true" sort="false">
<title lang="en">CQL Server Choice</title>
<map>
<name set="cql">serverChoice</name>
</map>
<map>
<attr type="1" set="bib1">text</attr>
</map>
</index>
<index search="true" scan="true" sort="false">
<title lang="en">CQL All</title>
<map>
<name set="cql">all</name>
</map>
<map>
<attr type="1" set="bib1">text</attr>
</map>
</index>
<!-- Record ID index -->
<index search="true" scan="true" sort="false">
<title lang="en">Record ID</title>
<map>
<name set="rec">id</name>
</map>
<map>
<attr type="1" set="bib1">rec:id</attr>
<attr type="4" set="bib1">3</attr>
</map>
</index>
खोज
इस यूआरएल: http://myserver.com:9999/biblios?version=1.1&operation=searchRetrieve&query=reefs निम्नलिखित तत्वों से बना है:
एसआरयू सर्वर के आधार यूआरएल: http://myserver.com:9999/biblios?
3 आवश्यक पैरामीटर के साथ खोज भाग: संस्करण, संचालन और क्वेरी। खोज भाग के पैरामीटर कुंजी=मान फ़ॉर्म का होना चाहिए, और इसे और चरित्र के साथ जोड़ा जा सकता है।
कोई क्वेरी में वैकल्पिक पैरामीटर जोड़ सकता है, उदाहरण के लिए अधिकतम रिकॉर्ड्स सर्वर द्वारा लौटाए जाने वाले रिकॉर्ड्स की अधिकतम संख्या दर्शाता है। तो http://myserver.com:9999/biblios?version=1.1&operation=searchRetrieve&query=reefs&maximumRecords=5 केवल सर्वर से पहले 5 परिणाम परिणाम प्राप्त करेंगे।
http://www.loc.gov/standards/sru/sru1-1archive/search-retrieve-operation.html खोज संचालन और विशेष रूप से खोज के लिए वैकल्पिक पैरामीटर की सूची के बारे में अधिक जानकारी देता है.
इस "operation"कुंजी के दो मान ले सकते हैं: स्कैन या खोजरिटराइव
यदि operation=searchRetrieve, तो खोज कुंजी क्वेरी होना चाहिए। जैसे की :operation=searchRetrieve&query=reefs
If operation=scan, तो खोज कुंजी स्कैनक्लोज होना चाहिए। जैसे की :operation=scan&scanClause=reefs
etc/zebradb/biblios/etc/bib1.att defines Zebra/3950 अनुक्रमित है कि अपने सिस्टम पर मौजूद परिभाषित करता है। उदाहरण के लिए कि देखेंगे कि हमारे पास इस विषय और शीर्षक के लिए अनुक्रमण है: att 21 विषय और att 4 शीर्षक क्रमशः।
etc/zebradb/pqf.properties के अंतर्गत स्थित pqf.properties फ़ाइल में मैं देखता हूं कि एक एक्सेस पॉइंट पहले से ही मेरे विषय सूचकांक ((index.dc.subject = 1=21) का उपयोग करता है जबकि दूसरा मेरा शीर्षक अनुक्रमणिका (index.dc.title = 1=4) मुझे पता है कि यह मेरा विषय सूचकांक है क्योंकि जैसा कि मैंने अपनी bib1.att फ़ाइल में पहले देखा है, इसे Z3950 में = 1 = 21 के साथ बुलाया गया है: इसलिए index.dc.subject = 1 = 21 सही ढंग से मेरे लिए इंगित करता है विषय सूचकांक और शीर्षक को 1 = 4 के साथ बुलाया गया था इसलिए index.dc.title = 1=4 मेरे शीर्षक सूचकांक को सही ढंग से इंगित करता है। अब मैं अपनी क्वेरी का निर्माण कर सकता हूं जैसे कि मैं एक खोज बॉक्स में, बस "क्वेरी" कुंजी से पहले: query=Subject=reefs और Title=coral खोज में "रीफ्स" और शीर्षक में "कोरल" खोजता हूं। पूरा यूआरएल http://myserver.com:9999/biblios?version=1.1&operation=searchRetrieve&query=Subject=reefs और Title=coral यदि मैं परिणाम सेट को केवल 5 रिकॉर्ड तक सीमित करना चाहता हूं, तो मैं कर सकता हूं http://myserver.com:9999/biblios?version=1.1&operation=searchRetrieve&query=Subject=reefs and Title=coral&maximumRecords=5
मैं भी ट्रंकेट, संबंधों, आदि वे भी मेरे pqf.properties फाइल में परिभाषित कर रहे हैं के साथ खेल सकते हैं। मैं उदाहरण के लिए स्थिति संपत्तियों के रूप में परिभाषित देख सकते हैं:
position.first = 3=1 6=1
# "first in field"
position.any = 3=3 6=1
# "any position in field"
तो उदाहरण के तौर पर यदि मैं शीर्षक की शुरुआत में "कोरल" होना चाहता हूं, तो मैं यह प्रश्न कर सकता हूं:http://myserver.com:9999/biblios?version=1.1&operation=searchRetrieve&query=Title=coral first
वापस निकालना
मेरी खोज के लिए http://univ_lyon3.biblibre.com:9999/biblios?version=1.1&operation=searchRetrieve&query=coral reefs&maximumRecords=1 सिर्फ रिकॉर्ड पर पुनर्प्राप्त करता है। प्रतिक्रिया इस तरह दिखती है:
<zs:searchRetrieveResponse>
<zs:version>1.1</zs:version>
<zs:numberOfRecords>1</zs:numberOfRecords>
<zs:records>
<zs:record>
<zs:recordPacking>xml</zs:recordPacking>
<zs:recordData>
<record xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/ standards/marcxml/schema/MARC21slim.xsd">
<leader> cam a22 4500</leader>
<datafield tag="010" ind1=" " ind2=" ">
<subfield code="a">2-603-01193-6</subfield>
<subfield code="b">rel.</subfield>
<subfield code="d">159 F</subfield>
</datafield>
<datafield tag="020" ind1=" " ind2=" ">
<subfield code="a">FR</subfield>
<subfield code="b">00065351</subfield>
</datafield>
<datafield tag="101" ind1="1" ind2=" ">
<subfield code="c">ita</subfield>
</datafield>
<datafield tag="105" ind1=" " ind2=" ">
<subfield code="a">a z 00|y|</subfield>
</datafield>
<datafield tag="106" ind1=" " ind2=" ">
<subfield code="a">r</subfield>
</datafield>
<datafield tag="100" ind1=" " ind2=" ">
<subfield code="a">20091130 frey50 </subfield>
</datafield>
<datafield tag="200" ind1="1" ind2=" ">
<subfield code="a">Guide des récifs coralliens / A Guide to Coral Reefs</subfield>
<subfield code="b">Texte imprimé</subfield>
<subfield code="e">la faune sous-marine des coraux</subfield>
<subfield code="f">A. et A. Ferrari</subfield>
</datafield>
<datafield tag="210" ind1=" " ind2=" ">
<subfield code="a">Lausanne</subfield>
<subfield code="a">Paris</subfield>
<subfield code="c">Delachaux et Niestlé</subfield>
<subfield code="d">cop. 2000</subfield>
<subfield code="e">impr. en Espagne</subfield>
</datafield>
<datafield tag="215" ind1=" " ind2=" ">
<subfield code="a">287 p.</subfield>
<subfield code="c">ill. en coul., couv. ill. en coul.</subfield>
<subfield code="d">20 cm</subfield>
</datafield>
......
<idzebra>
<size>4725</size>
<localnumber>2</localnumber>
<filename>/tmp/nw10BJv9Pk/upd_biblio/exported_records</filename>
</idzebra>
</record>
</zs:recordData>
<zs:recordPosition>1</zs:recordPosition>
</zs:record>
</zs:records>
</zs:searchRetrieveResponse>
ILS-DI
लेखन के रूप में, ILS-DI का स्व-दस्तावेजीकरण सबसे पूर्ण इंटरफ़ेस है और इसके वर्णन के बाद इसे सक्षम किया गया है ILS-DI सिस्टम प्राथमिकताएँ अनुभाग में दस्तावेज़ीकरण उपलब्ध होना चाहिए https://YOURKOHACATALOG/cgi-bin/koha/ilsdi.pl
जेएसओएन रिपोर्ट सेवा
कोहा का उपयोग करके सहेजी गई प्रत्येक रिपोर्ट के लिए जेएसओएन रिपोर्ट सेवा लागू करता है :ref:`निर्देशित रिपोर्ट विज़ार्ड <guided-report-wizard-label>' या :ref:`एसक्यूएल <report-from-sql-label>' फीचर्स से रिपोर्ट करें।
डिफ़ॉल्ट रिपोर्ट द्वारा गैर-सार्वजनिक और प्रमाणित उपयोगकर्ताओं द्वारा केवल पहुंच योग्य होगा। यदि कोई रिपोर्ट स्पष्ट रूप से * सार्वजनिक * पर सेट की गई है तो यह किसी के द्वारा प्रमाणीकरण के बिना पहुंच योग्य होगी। इस सुविधा का केवल तभी उपयोग किया जाना चाहिए जब डेटा सुरक्षित रूप से साझा किया जा सके, जिसमें कोई संरक्षक जानकारी न हो।
निम्नलिखित यूआरएल का उपयोग करके रिपोर्टों का उपयोग किया जा सकता है:
सार्वजनिक रिपोर्ट
OpacBaseURL/cgi-bin/koha/svc/report?id=REPORTID
गैर-सार्वजनिक रिपोर्ट
StaffBaseURL/cgi-bin/koha/svc/report?id=REPORTID
कुछ अतिरिक्त पैरामीटर भी उपलब्ध हैं:
रिपोर्ट द्वारा रिपोर्ट तक पहुंचने के बजाय आप रिपोर्ट के नाम का भी उपयोग कर सकते हैं:
.../cgi-bin/koha/svc/report?name=REPORTNAME
आसान विकास के लिए डेटा के एनोटेटेड आउटपुट उत्पन्न करने का विकल्प भी है। यह हैश की एक सरणी उत्पन्न करेगा जिसमें फ़ील्ड नाम कुंजी के रूप में शामिल होंगे।
.../cgi-bin/koha/svc/report?name=REPORTNAME&annotated=1
संस्करणित रीस्टफुल एपीआई प्रयास
ओपनएपीआई मानक का उपयोग करके दस्तावेज किए गए आधुनिक रीस्टफुल एंडपॉइंट्स के एक संस्करण संस्करण में उपरोक्त एपीआई को एकजुट करने के लिए एक सतत प्रयास है और डिफ़ॉल्ट रूप से उपलब्ध है https://YOURKOHACATALOG/api/v1/
OAuth2 क्लाइंट प्रमाण-पत्र अनुदान
कोहा OAuth2 क्लाइंट क्रेडेंशियल अनुदान को अन्य सिस्टम से मौजूदा उद्योग मानकों का पालन करने के लिए एपीआई सुरक्षित करने के साधन के रूप में अनुदान देता है। OAuth2 क्लाइंट क्रेडेंशियल्स मानक मानक प्रदान करने के बारे में अधिक जानकारी यहां मिल सकती है <https://auth0.com/docs/api-auth/grant/client-credentials>`_.
संरक्षक के लिए एपीआई कुंजी प्रबंधन इंटरफ़ेस
संरक्षक के लिए एपीआई कुंजी बनाने के लिए, सिस्टम वरीयता RESTOAuth2ClientCredentials जरूर संरक्षक रिकॉर्ड में शामिल होने के विकल्प के लिए सक्षम होना चाहिए।
एक संरक्षक रिकॉर्ड पर नेविगेट करें और *अधिक> एपीआई कुंजी प्रबंधित करें *
यदि संरक्षक के लिए कोई एपीआई कुंजी मौजूद नहीं है तो क्लाइंट आईडी / गुप्त जोड़ी उत्पन्न करने के लिए एक संदेश होगा
क्लाइंट आईडी / गुप्त जोड़ी के लिए विवरण दर्ज करें और सहेजें पर क्लिक करें
कोहा अन्य क्लाइंट आईडी सिस्टम से कोहा से कनेक्ट करने के लिए एक अधिकृत आईडी के रूप में उपयोग करने के लिए क्लाइंट आईडी / गुप्त जोड़ी उत्पन्न करेगा
एपीआई क्रेडेंशियल जोड़ी के बगल में रिवोक बटन पर क्लिक करने से प्रतिक्रिया प्राप्त होने तक विशिष्ट क्रेडेंशियल जोड़ी निष्क्रिय हो जाएगी
बारकोड छवि जनरेटर
कोहा स्टाफ इंटरफ़ेस और सार्वजनिक इंटरफ़ेस दोनों पर एक बारकोड छवि जनरेटर प्रदान करता है। दोनों को सेवा का उपयोग करने के लिए तीसरे पक्ष द्वारा दुरुपयोग को रोकने के लिए एक उपयोगकर्ता की आवश्यकता होती है।
- उदाहरण के लिए:
/cgi-bin/koha/svc/barcode?barcode=123456789&type=UPCE
ऊपर URL बारकोड "123456789" के लिए एक बारकोड छवि उत्पन्न करेगा, UPCE बारकोड प्रारूप का उपयोग करेगा।
उपलब्ध बारकोड प्रकार हैं: * Code39 * UPCE * UPCA * QRcode * NW7 * Matrix2of5 * ITF * Industrial2of5 * IATA2of5 * EAN8 * EAN13 * COOP2of5
यदि कोई प्रकार निर्दिष्ट नहीं है, तो कोड39 का उपयोग किया जाएगा।
डिफ़ॉल्ट रूप से, बारकोड छवि में बारकोड का पाठ भी शामिल होगा। यदि यह वांछित नहीं है, तो इस व्यवहार को दबाने के लिए "नोटटेक्स" पैरामीटर पारित किया जा सकता है।
- उदाहरण के लिए:
/cgi-bin/koha/svc/barcode?barcode=123456789¬ext=1
इसके नीचे "123456789" पाठ के बिना एक बारकोड छवि 123456789 उत्पन्न करेगा।
इस सेवा का उपयोग बारकोड छवियों को ब्राउज़र से मुद्रित स्लिप और नोटिस में और अन्य संभावनाओं के बीच ओपेक में संरक्षक कार्डनंबर को एम्बेड करने के लिए किया जा सकता है।