ORPD – Źródła danych i zasilanie danymi - POL-on
Transkrypt
ORPD – Źródła danych i zasilanie danymi - POL-on
Ogólnopolskie Repozytorium Prac Dyplomowych System Informacji o Szkolnictwie Wyższym POL-on Źródła danych i sposób zasilania, formaty i aspekty organizacyjne 1 Spis treści 1. Źródła danych ................................................................................................................... 2 2. Wprowadzanie za pomocą interfejsu WWW ...................................................................... 2 3. Wprowadzanie danych za pomocą interfejsu typu 'PUSH'................................................. 2 3.1.Słownik pojęć ............................................................................................................. 2 3.2.Żądanie/Request ........................................................................................................ 2 3.2.1.Punkt dostępu, nagłówki, uwierzytelnianie .......................................................... 2 3.2.2.Request body ...................................................................................................... 3 3.3.Odpowiedź/Response................................................................................................. 4 3.3.1.Nagłówki odpowiedzi ........................................................................................... 4 3.3.2.Response body ................................................................................................... 4 3.4.Symulacja/ testy ......................................................................................................... 5 4. Wprowadzanie danych poprzez udostępnienie serwera OAI ............................................. 5 4.1.Ogólne zasady............................................................................................................ 5 4.2.Uwierzytelnianie ......................................................................................................... 5 4.3.Metadane ................................................................................................................... 5 4.3.1.Treść prac ........................................................................................................... 6 1 Źródła danych 1. Ogólnopolskie Repozytorium Pracy dyplomowych jest zasilane wyłącznie pracami dyplomowymi przez uczelnie. Uczelnie mają do wyboru trzy zasadnicze metody wprowadzania danych: poprzez interfejs WWW poprzez interfejs REST Push Poprzez udostępnienie serwera OAI-PMH Wprowadzanie za pomocą interfejsu WWW 2. W przypadku wprowadzania danych przez interfejs WWW operator uczelni bezpośrednio za pomocą interfejsu WWW. W ramach tego zadania pracownik tworzy nowy wpis w bazie, uzupełnia wymagane pola i wprowadza pliki pracy dyplomowej zgodne z wymaganiami wskazanymi przez ministerstwo. Użytkownik może wprowadzić nową pracę lub też zaktualizować starą. W przypadku aktualizacji możliwe jest uzyskanie dostępu do poprzednich wersji. 3. Wprowadzanie danych za pomocą interfejsu typu 'PUSH' ORPD udostępnia programowe api do składowania prac dyplomowych jako web service typu REST. Jeśli deponowana praca jest już w systemie, wtedy zostanie ona nadpisana nową wersją. 3.1. Słownik pojęć [system] APD = uczelniane archiwum = repozytorium prac dyplomowych 3.2. Żądanie/Request 3.2.1. Punkt dostępu, nagłówki, uwierzytelnianie Adres: https://crpd.nauka.gov.pl/institutions/{institutionCode}/theses/{thesisExternalNumber} institutionCode - kod jednostki podstawowej, do której należy praca dyplomowa thesisExternalNumber - unikalny numer pracy dyplomowej w systemie APD Akcja/metoda:PUT Content-Type: application/zip Uwierzytelnianie/autoryzacja: HTTP Basic W nagłówku http Authorization należy wysłać jako username - kod instytucji, a jako password wygenerowane dla niej hasło. Hasło dla instytucji musi wygenerować na stronie orpd ([domena]/institutions/tokens) osoba posiadająca odpowiednie 2 uprawnienia (admin repozytorium instytucji). Należy pamiętać o zakodowaniu pary username:password algorytemem base64. Uwaga: instytucja, której dane służą do uwierzytelnienia musi być albo instytucją, do której jest przypisywana deponowana praca dyplomowa, albo instytucją w stosunku do niej nadrzędną. Np. jeśli system APD jest ogólnouczelniany (co na ogół ma miejsce), wtedy do uwierzytelniania deponowania prac można wykorzystać parę kod_uczelni:hasło_uczelni dla prac z wszystkich jednostek uczelni (nie trzeba generować specyficznych haseł dla każdej jednostki oddzielnie). 3.2.2. Request body Jako treść żądania należy wysłać plik zip, w którym znajdzie się plik o nazwie thesisMetadata.xml zawierający metadane deponowanej pracy dyplomowej (opis niżej) pliki z treścią pracy, załącznikami itd. (np. pdf, png) Uwaga: plik zip nie może zawierać żadnych podkatalogów. thesisMetadata.xml Plik ten musi być zgodny ze zdefiniowaną schemą: CrpdDeposit.xsd (załączona w dokumentacji, element depositRequestThesisMetadata). Wymagane kodowanie znaków: UTF-8. Przykład: <depositRequestThesisMetadata xmlns="http://www.icm.edu.pl/crpd/deposit" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.icm.edu.pl/crpd/deposit crpdDeposit.xsd "> <title>Życie i twórczość Myszki Miki</title> <defenceDate>2011-02-02</defenceDate> <author> <firstName>Wolfgang</firstName> <lastName>Rumburak</lastName> </author> <supervisor> <firstName>Adam</firstName> <lastName>Mackiewicz</lastName> </supervisor> <supervisor> <firstName>Aleksander</firstName> 3 <lastName>Frodo</lastName> </supervisor> <reviewer> <firstName>Juliusz</firstName> <lastName>Głowacki</lastName> </reviewer> <reviewer> <firstName>Maria</firstName> <lastName>Monopnicka</lastName> </reviewer> </depositRequestThesisMetadata> 3.3. Odpowiedź/Response 3.3.1. Nagłówki odpowiedzi Kody odpowiedzi (Http status code): 200 OK 400 Bad request (gdy np. format thesisMetadata.xml niepoprawny) 401 Unauthorized (gdy np. błędne hasło) 403 Forbidden (gdy dana zautentykowana instytucja nie ma uprawnień do deponowania prac instytucji przypisanej do pracy) 404 Not found (gdy np. nie znaleziono instytucji o podanym w adresie url kodzie) ContentType application/xml 3.3.2. Response body Format treści odpowiedzi na żądanie zdeponowania pracy jest określony przez schemę xsd: File:CrpdDeposit.xsd (element depositResponse). Przykład: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <depositResponse xmlns="http://www.icm.edu.pl/crpd/deposit"> <status>OK</status> <message>thesis succesfully deposited: /institutions/10011xxdLMVWn/theses/123</message> </depositResponse> Możliwe odpowiedzi: 4 access denied authentication failed unsupported http method type unsupported http content type no institution with the given code found not a basic organizational unit not a zip content empty thesis data the size of the zip thesis content exceeds the max allowed size no thesis metadata file found incorrect xml format no subdirectories allowed thesis content files missing internal server error occurred 3.4. Symulacja/ testy Deponowanie prac przez APD można zasymulować narzędziem curl. Przykład wywołania: curl https://crpd-test.icm.edu.pl/institutions/10011xxdLMVWn/theses/123 -u 10011xxdLMVWn:4JbjCA4bTaaEdLl -k -X PUT -v -H "Content-Type: application/zip" --databinary "@C:\temp\depositData.zip" 10011xxdLMVWn - kod jednostki podstawowej, do której jest przypisana praca oraz (akurat w tym przypadku) kod jednostki, na którą się uwierzytelniamy 4JbjCA4bTaaEdLl - hasło dla jednostki wygenerowane w orpd przez admina repozytorium uczelnianego k - pomiń sprawdzanie certyfikatu serwera 4. Wprowadzanie danych poprzez udostępnienie serwera OAI 4.1. Ogólne zasady Uczelniane archiwa prac dyplomowych moga opcjonalnie udostępniać ORPD metadane i treść prac używając protokołu OAI-PMH (http://www.openarchives.org/pmh/) i standardu OAI-ORE (http://www.openarchives.org/ore/). W takim przypadku ORPD łączy się z takimi repozytoriami periodycznie i pobiera nowe prace. Uczelniany operator archiwum własnoręcznie wskazuje w systemie za pomocą interfejsu WWW informacje o lokalizacji archiwum. 5 4.2. Uwierzytelnianie W przypadku pobierania prac z archiwum uczelnianego używana jest autoryzacja wg. Numerów IP, uczelnia uzyskuje informację z jakiego IP będzie łączyć się ORPD i umożliwia mu korzystanie ze swoich zasobów. 4.3. Metadane Obecnie rozumianym przez ORPD formatem metadanych jest DSpace Intermediate Metadata Format (https://wiki.duraspace.org/display/DSPACE/DSpaceIntermediateMetadata). RPD oczekuje, że dane w tym formacie będą udostępnione w odpowiedzi na zapytania OAIPMH z parametrem metadataPrefix=dim. W tym formacie winny być wypełnione następujące pola (wraz z obowiązkowymi kwalifikatorami) element qualifier znaczenie identifier apd wewnętrzny identyfikator pracy w źródłowym APD tytuł pracy title contributor author autor pracy contributor advisor promotor pracy contributor reviewer recenzent pracy contributor departmentbycode kod POL-on podstawowej jednostki organizacyjnej date defence data obrony pracy (rrrr-mm-dd) Wartości pól zawierających imiona i nazwiska osób muszą być podane w formacie: Nazwisko, Imię (nazwisko i imię oddzielone przecinkiem i spacją). Jeśli praca ma więcej niż jednego autora, promotora lub recenzenta odpowiednie pole musi wystąpić wielokrotnie. 4.3.1. Treść prac Dla każdej pracy oprócz metadanych APD musi też udostępnić jej treść. W tym celu musi w odpowiedzi na zapytania z parametrem metadataPrefix=ore udostępniać mapy zasobów w formacie Atom zgodne ze specyfikacją OAI-ORE (http://www.openarchives.org/ore/). Mapa dla każdej pracy musi agregować (zawierać odnośniki z parametrem rel="http://www.openarchives.org/ore/terms/aggregates") dostępne dla ORPD za pomocą protokołu HTTP pliki z treścią pracy (we wszystkich formatach w jakich APD przekazuje treść danej pracy do ORPD) i tylko takie pliki. 6