Instrukcja hurtowego importowania autorów

Hurtowy import autorów jest przydatny w przypadku, gdy chcemy zaimportować większą liczbę rekordów do systemu bez potrzeby ręcznego wypełniania formularza dodawania nowego rekordu.

W tym celu należy wygenerować pojedynczy plik XML o schemacie zgodnym z polami przedstawionymi w pliku XSD. W poniższej instrukcji zawarto niezbędne informacje jak utworzyć takowy plik a następnie wgrać go do systemu.

Wygenerowanie pliku XML zgodnego z Omegą może zostać przeprowadzone w dowolnym języku programowania lub technologii.

Generowanie pliku XML

Główny schemat typu author wygląda następująco (ograniczony do podstawowych pól przydatnych przy imporcie):

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 <?xml version="1.0" encoding="UTF-8" ?> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ii.pw.edu.pl/lib" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" jaxb:version="2.1" xmlns:tns="http://ii.pw.edu.pl/lib" xmlns:fw="http://ii.pw.edu.pl/lib/framework" jaxb:extensionBindingPrefixes="fw" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"> <include schemaLocation="affiliation.xsd" /> <include schemaLocation="authorprofile.xsd" /> <include schemaLocation="term.xsd" /> <include schemaLocation="field.xsd" /> <include schemaLocation="authordiscipline.xsd"/> <complexType name="author"> <element name="id" type="ID"></element> <element name="recordStatus" minOccurs="0" default="completed"> <simpleType> <restriction base="string"> <enumeration value="partial"></enumeration> <enumeration value="completed"></enumeration> <enumeration value="verified"></enumeration> </restriction> </simpleType> </element> <element name="active" type="boolean" /> <element name="status" fw:required="true" default="ZEWNETRZNY"> <simpleType> <restriction base="string"> <enumeration value="PRACOWNIK"></enumeration> <enumeration value="DOKTORANT"></enumeration> <enumeration value="PRACOWNIK-DOKTORANT"></enumeration> <enumeration value="DYPLOMANT"></enumeration> <enumeration value="EMERYT"></enumeration> <enumeration value="GOSC"></enumeration> <enumeration value="ZEWNETRZNY"></enumeration> <enumeration value="NIEZYJACY"></enumeration> </restriction> </simpleType> </element> <element name="belonging2N" type="boolean" /> <element name="name" type="string" fw:defaultFormatter="true" fw:required="true"> <simpleType> <restriction base="string"> <minLength value="2"></minLength> <maxLength value="1024"></maxLength> </restriction> </simpleType> </element> <element name="surname" type="string" fw:defaultFormatter="true" fw:required="true"> <annotation> <appinfo> <fw:unique required="false" /> </appinfo> </annotation> <simpleType> <restriction base="string"> <minLength value="2"></minLength> <maxLength value="1024"></maxLength> </restriction> </simpleType> </element> <element name="otherName" type="string" minOccurs="0" maxOccurs="unbounded" /> <element name="email" type="string"> <annotation> <appinfo> <fw:unique required="true" /> </appinfo> </annotation> <simpleType> <restriction base="string"> <pattern value="^[A-Za-z0-9!#$%'*-/=?^_`{|}~\+]+(\.[A-Za-z0-9!#$%'*-/=?^_`{|}~\+]+)*@[A-Za-z0-9!#$%'*-/=?^_`{|}~\+]+(\.[A-Za-z0-9!#$%'*-/=?^_`{|}~\+]+)*(\.[A-Za-z]{2,})$" id="email"></pattern> </restriction> </simpleType> </element> <element name="otherEmail" type="string" minOccurs="0" maxOccurs="unbounded"></element> <element ref="tns:affiliation" fw:defaultFormatter="true" tns:editable="false"></element> <element type="tns:authordiscipline" name="activityDiscipline" minOccurs="0" maxOccurs="unbounded" tns:suggest="false" /> <element type="tns:term" name="staffGroup" tns:editable="false" /> <element ref="tns:authorprofile" fw:defaultFormatter="true" tns:selectable="false"> <annotation> <appinfo> <fw:maxNest value="1" /> </appinfo> </annotation> </element> <element ref="tns:field" minOccurs="0" maxOccurs="unbounded"></element> </complexType> <element name="author" type="tns:author"></element> </schema>

Należy zadbać o wypełnienie pól dla których atrybut required jest true.

Szczegółowe informacje o dostępnych polach w typie author

Pole

Opis

Przykładowa wartość

Pole

Opis

Przykładowa wartość

id

Wymagane do aktualizacji istniejących rekordów - dla nowych system automatycznie generuje. W przypadku autorów można wygenerować ID jako konkatenacja akronimu instytucji + ID z systemu kadrowego.

UAM0123456789

recordStatus

Ustala kompletność rekordu - domyślnie jest kompletny, jeśli brakuje pewnych danych na etapie importu można ustawić wartość partial.

completed

active

Czy autor ma się pokazywać w wyszukiwarce pracowników Omegi (wersja publiczna)

false

status

Aktualny status (status zatrudnienia) autora. Wartość ze słownika dostępnego w schemacie.

ZEWNETRZNY

belonging2N

Czy autor jest zaliczany do N

true

name

Imię (imiona) autora

Jan Amadeusz

surname

Nazwisko autora

Nowak

otherName

Inne formy imienia i nazwiska autora (opcjonalne, powtarzalne)

Jan Inny

email

Adres email autora

author@example.com

otherEmail

Inne adresy email autora (opcjonalne, powtarzalne)

author@exemplary.com

affiliation

Aktualna przypisana jednostka zatrudnienia autora (złożony obiekt typu affiliation). Należy podać wartość accronymPL jako ID rekordu afiilacji po którym system automatycznie dopasuje poprawny rekord podczas importu. Afiliacja musi wcześniej być zarejestrowana w Omedze w słowniku jednostek.

<affiliation><accronymPL>PW</accronymPL>
</affiliation>

activityDiscipline

Dyscypliny 2.0 autora wraz z procentami - obiekt złożony, powtarzalny typu authordiscipline. Dla pracowników naukowych niezbędny. Dyscyplina to numer z klasyfikacji rozszerzonej OECDX.

<activityDiscipline>
<discipline> <systemName>6.2</systemName></discipline>

<activityPercentage>100</activityPercentage>

</activityDiscipline>

staffGroup

Grupa zatrudnienia pracownika - obiekt dynamicznego słownika typu term. Podobnie jak w przypadku afiliacji wystarczy podać zagnieżdzony identyfikator - systemName. W zależności od instytucji grupy zatrudnienia mogą być różne.

<staffGroup>
<systemName>LEKARZ</systemName>
</staffGroup>

authorprofile

Złożony obiekt z dodatkowym opisem autora jako pracownika uczelni.

Opis z przykładami poniżej

field

Dodatkowe pola typu klucz wartość opisujące autora. Prosty obiekt złożony typu field, powtarzalny.

<field>
<key>GENDER</key>
<value>M</value>
</field>

Szczegółowe informacje o dostępnych polach w typie authorprofile

Należy pamiętać, że obiekt typu authorprofile nie może być samodzielnym rekordem i zawsze musi być włączony w rekord typu author.

Pole

Opis

Przykładowa wartość

Pole

Opis

Przykładowa wartość

pesel

Nr PESEL danej osoby o długości 11 znaków

00000000000

birthDate

Data urodzenia

01-01-1980

extid

Lista identyfikatorów pracownika w systemach zewnętrznych. Pole złożone typu Termfield, powtarzalne. Typ pola musi być wcześniej zarejestrowany w Omedze. Aktualnie dostępne są typy o systemName równym:

  • ScopusId

  • ORCID

  • personnalPSB

  •  

<extid>
<value>ID_ZEWN</value>
<idtype>
<systemName>
ORCID
</systemName>
</idtype>
</extid>

possitionPL

Nazwa stanowiska autora w języku polskim

Adiunkt

possitionEN

Nazwa stanowiska autora w języku angielskim

Assistant Professor

prefixPL

Tytuł autora w formie przedrostka w języku polskim.

mgr inż.

prefixEN

Tytuł autora w formie przedrostka w języku angielskim.

PhD

phone

Nr telefonu autora (publiczny - który może być umieszczony na stronie publicznej Omegi)

000-000-000

descriptionPL

Bio autora w języku polski

Tekst bio autora.

descriptionEN

Bio autora w języku angielskim

Author bio text.

supervisor

Opiekun naukowy autora (przydatne dla doktorantów) - obiekt opiekuna powinien wcześniej istnieć w systemie.

<supervisor>
<id>UAM0123456789</id>
</supervisor>

language

Języki komunikacji, którymi autor się posługuje.

<language>
<code>pl</code>
</language>

Import w Omedze

Po zalogowaniu się w serwisie Omegowym należy rozwinąć panel redaktora i znaleźć Funkcję pomocniczą o nazwie Import (ostatnia na panelu).

Aby zalogowany użytkownik miał dostęp do funkcji importowania należy zapewnić mu odpowiednie uprawnienia w systemie.

Na ekranie importowania należy wybrać przycisk Prześlij plik XML i tym samym wgrać uprzednio wygenerowany. System będzie informował na bieżąco o postępie procesu importowania.

Domyślna konfiguracja dla importowania nowych rekordów jest zwykle wystarczająca. Przydatna może być opcja Forsuj status rekordu jeśli na etapie importowania chcemy testowo zaimportować rekordy jako niekompletne.

Po zaimportowaniu autorów można wejść w moduł Autorzy i pracownicy w Funkcjach pomocniczych i przefiltrować listę po dacie utworzenia aby łatwiej odnaleźć właśnie zaimportowane rekordy do systemu.