Podręcznik Administratora -...

93
Ω-Ψ R Uczelniana Baza Wiedzy Podręcznik Administratora Wersja 1.0 Wydział Elektroniki i Technik Informacyjnych Politechnika Warszawska

Transcript of Podręcznik Administratora -...

Page 1: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Ω-ΨR

Uczelniana Baza Wiedzy

Podręcznik Administratora

Wersja 1.0

Wydział Elektroniki i Technik Informacyjnych

Politechnika Warszawska

Page 2: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 2

Historia dokumentu

Numer

wersji

Data

wersji Opis zmian Autor

Page 3: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 3

Spis treści

1 Wstęp ............................................................................................................................ 4

2 Metadane ...................................................................................................................... 5

2.1 Obiekty ............................................................................................................................ 5

2.2 Struktury danych i relacje ............................................................................................... 16

2.3 Struktury pomocnicze – słowniki .................................................................................... 19

3 Narzędzia administratora ............................................................................................ 21

4 Model struktur danych ................................................................................................. 62

Page 4: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 4

1 Wstęp

Niniejsze opracowanie składa się z 4 rozdziałów. W Rozdziale 2 przedstawiono wyniki

analizy metadanych, pokazano powiązania pomiędzy poszczególnymi kategoriami

informacyjnymi uczelnianej bazy wiedzy. W Rozdziale 3 przedstawiono własności systemu

kluczowe z punktu widzenia administratora i konfiguracji systemu. Rozdział 4 stanowi

dokładną dokumentację struktur danych.

Page 5: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 5

2 Metadane

2.1 Obiekty

Analiza metadanych wykazała, że baza wiedzy i repozytorium cyfrowe Politechniki

Warszawskiej powinno obejmować opisy następujących obiektów:

1. Autorzy (pracownicy naukowi, doktoranci, studenci)

2. Publikacje (artykuły, książki, rozdziały w książkach)

3. Prace dyplomowe (prace dyplomowe inżynierskie, prace dyplomowe magisterskie,

prace dyplomowe doktorskie)

4. Inne dokumenty o charakterze naukowym (raporty, tłumaczenia, recenzje, ekspertyzy,

prezentacje)

5. Projekty

6. Czasopisma

7. Seryjne wydawnictwa książkowe

8. Konferencje

9. Struktura organizacyjna uczelni (afiliacje)

10. Instytucje (autorzy korporatywni)

11. Zasoby cyfrowe (płyty CD/DVD, multimedia)

12. Internetowe źródła informacji (strony WWW)

Z uwagi na dobre określenie wymagań oraz ustalone już w praktyce działania uczelni

struktury danych w zakresie obiektów 1-11, obiekty te zostały uwzględnione w

rozbudowywanym systemie REPO.

Baza autorów służy do utrzymywania opisów osób, którzy są autorami gromadzonych w

repozytorium publikacji i innych dokumentów. W bazie autorów występują również

dyplomanci (autorzy prac dyplomowych), promotorzy, kierownicy i wykonawcy projektów

itp.

W pierwszym rzędzie baza autorów zawiera opisy autorów, którzy są pracownikami uczelni,

gdyż większość gromadzonych opisów publikacji jest autorstwa lub współautorstwa

pracowników. Z tego powodu, baza ta może również być wykorzystywana jako baza

pracowników uczelni, przy czym zakłada się, że dane pracowników będą na bieżąco

aktualizowane przez jednostki niższego szczebla, aby zapewnić ich aktualność.

Page 6: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 6

Opis autora/pracownika/dyplomanta obejmuje następujące elementy:

Aktywny? Wskaźnik aktualnego zatrudnienia: zaznaczany, jeśli

dana osoba ma być widoczna w wyszukiwarce

pracowników na portalu WEiTI, co oznacza, ze możemy

dopuścić w wyszukiwarce możliwość odnalezienia

również emerytów, doktorantów, gości itp. (patrz pole

Status)

Status Pracownik Doktorant Dyplomant Gość

Osoba z zewnątrz

ustawiany zgodnie ze stanem faktycznym

Imię Imię osoby (dla pracowników koniecznie pełne, np.

Henryk, Kajetan M.)

Nazwisko Nazwisko osoby (pełne, np. Mossakowska-Wyszyńska)

Email Adres poczty elektronicznej

Afiliacja Instytut, w którym pracownik jest zatrudniony

(wybieramy z dostępnej tabelki pomocniczej)

Akronim jednostki organizacyjnej

(np. zakładu)

Skrót nazwy zakładu (lub biura), np. ZSI, ZTOiS, BOI

Stanowisko w języku polskim Stanowisko pracownika, np. Profesor zwyczajny,

Adiunkt, Starszy specjalista, Starszy referent

Stanowisko w języku angielskim Stanowisko pracownika w języku angielskim, np.

Tenured Professor, Associate Professor

Tekst przed nazwiskiem w języku

polskim

Tekst przed nazwiskiem w języku polskim (zwykle

tytuł, stopień naukowy lub tytuł zawodowy), np. prof. dr

hab. inż., dr hab. inż.. mgr inż., mgr

Page 7: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 7

Tekst przed nazwiskiem w języku

angielskim

Tekst przed nazwiskiem w języku angielskim (zwykle

tytuł, stopień naukowy lub tytuł zawodowy - w

konwencji angielskiej prezentowany po nazwisku), np.

Prof., PhD, MSc

Pokój Aktualny numer pokoju, w przypadku budynku innego

niż Gmach Elektroniki wskazujemy gmach, np. dla

Gmachu Elektrotechniki wpisujemy: GET, kl. A, pok.

240

Telefon Aktualny numer telefonu, faksu w konwencji

międzynarodowej, np. +48 22 234 7432, fax +48 22 234

6091. Poszczególne numery rozdzielamy przecinkiem

Strona domowa Adres strony domowej WWW, np.

http://www.ii.pw.edu.pl/~rbembeni/index.html

Konsultacje Terminy konsultacji, np. wtorek 13.00 - 15.00, środa

9.00 - 12.00

Opis w języku polskim Charakterystyka profilu zawodowego pracownika w

języku polskim

Opis w języku angielskim Charakterystyka profilu zawodowego pracownika w

języku angielskim

Zdjęcie Wstawiana jest fotografia pracownika (format

legitymacyjny)

Baza afiliacji służy do utrzymywania opisu struktury jednostki, dla której prowadzone jest

repozytorium. W przypadku uczelni struktura ta obejmuje podział na wydziały, z których

każdy może dzielić się na instytuty, bądź katedry, zakłady, pracownie itp. Struktura nie jest

sztywna, tj. można w niej zapisać dowolny nieregularny schemat organizacyjny. Docelowo

może być wykorzystana w modułach wspomagających jednostki uczelni (np. baza

pracowników, tablice walidacyjne wspomagające wprowadzanie danych bibliograficznych,

czy wreszcie nawigację po repozytoriach poszczególnych jednostek organizacyjnych oraz po

Page 8: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 8

repozytorium uczelni. Przykładem struktury do nawigacji w repozytorium uczelnianym

Politechniki Warszawskiej jest ekran na Rysunku 1.

Opis jednostki organizacyjnej obejmuje następujące pola:

Nazwa w jęz. polskim - pełna nazwa jednostki w jęz. polskim

Skrót w jęz. polskim - skrót nazwy jednostki w jęz. polskim

Nazwa w jęz. angielskim - pełna nazwa jednostki w jęz. angielskim

Skrót w jęz. angielskim - skrót nazwy jednostki w jęz. angielskim

Afiliacja nadrzędna - powiązanie do opisu jednostki nadrzędnej

Page 9: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 9

Rysunek 1 Fragment struktury uczelni

Page 10: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 1

0

Poza autorami indywidualnymi przewidziano też możliwość opisywania autorstwa

instytucjonalnego, przy czym baza instytucji obejmuje zarówno autorów korporatywnych

publikacji jak instytucje wykonawców projektów, instytucje zlecające projekty itp.

Opis autora instytucjonalnego obejmuje następujące pola:

Pełna nazwa - pełna nazwa instytucji

Skrót - skrót nazwa instytucji

Inne formy - inne formy nazwy instytucji

Opisy książek obejmują opis następujących typów jednostek opisu bibliograficznego

(poziom monograficzny):

Książki, monografie, podręczniki, skrypty, albumy, atlasy itp. (tzw. wydawnictwa

zwarte)

Książkowe wydawnictwa materiałów konferencyjnych (zwykle zbiór rozdziałów

poświeconych poszczególnym referatom)

Książkowe wydawnictwa seryjne (zwykle zbiór artykułów)

W przypadku zwykłych publikacji książkowych, opisanie książki kończy proces jej opisu.

Natomiast w pozostałych przypadkach utworzenie opisu książki nie jest wystarczające, gdyż

zwykle podstawowym zadaniem jest opisanie fragmentów zawartych w tym wydawnictwie

książkowym. Mamy tu do czynienia z opisem złożonym, najpierw należy utworzyć opis

wydawnictwa książkowego (poziom monograficzny), a następnie tworzymy opis

rozdziału/artykułu będącego elementem tego wydawnictwa książkowego (poziom

analityczny).

Opis książki obejmuje następujące elementy:

Punktacja Punktacja ministerialna wyliczana automatycznie (na

podstawie parametrów publikacji) lub nadawana ręcznie

przez Super Edytora

Page 11: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 1

1

Typ z importu Diagnostyczne pole systemowe (nie modyfikowalne)

Rodzaj publikacji Monografia Podręcznik akademicki Skrypt

Rola autora Redaktor Autor

Autor(zy) Autor lub kilku autorów książki

Tytuł Tytuł książki

Autor instytucjonalny Instytucja autorska wydawnictwa w przypadku braku

autora indywidualnego

Język Język publikacji

Data wydania Rok wydania książki

Wydawca Nazwa wydawcy

Adres Wydawcy Adres wydawcy

Paginacja Liczba stron, np. 374 (wpisujemy tylko liczbę - bez

słownych określników typu: s., ss., pages).

ISBN Numer ISBN (bez skrótu ISBN)

DOI Identyfikator wersji elektronicznej (ang. Digital Object

Identifier)

URL Adres WWW, pod którym można znaleźć opis książki

Plik Plik wersji cyfrowej książki

Okładka Plik graficzny zawierający obraz okładki książki

Dodatkowe dane opisu dotyczą następujących elementów:

Powiązanie z opisem serii (dla książek wydawanych w serii)

Powiązanie z opisem konferencja (dla materiałów konferencyjnych)

Tom

Numer

Streszczenie w języku polskim i angielskim.

Page 12: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 1

2

słowa kluczowe w języku polskim i angielskim.

Opisy artykułów obejmują opis następujących typów jednostek opisu bibliograficznego

(poziom analityczny):

Artykuły zawarte w czasopismach, które mogą również dotyczyć konferencji

(materiały konferencyjne)

Rozdziały zawarte w wydawnictwach książkowych, które mogą być dodatkowo

wydawnictwami ukazującymi się jako seria i/lub mogą dotyczyć konferencji

(materiały konferencyjne)

Nie wyróżniono specjalnego oznakowania materiałów konferencyjnych, dana publikacja jest

traktowana jako materiał konferencyjny, jeśli w jej opisie znajduje się opis (odniesienie do)

konferencji.

Podstawowe elementy opisu artykułu obejmują:

Rodzaj publikacji Artykuł z czasopisma Rozdział w książce

Punktacja Punktacja ministerialna wyliczana automatycznie (na

podstawie parametrów publikacji) lub nadawana ręcznie

przez Super Edytora

Typ z importu Diagnostyczne pole systemowe (nie modyfikowalne)

Rola autora Redaktor Autor

Autor(zy) Autor lub kilku autorów artykułu (rozdziału)

Tytuł Tytuł artykułu (rozdziału)

Język Język publikacji

DOI Identyfikator wersji elektronicznej (ang. Digital Object

Identifier)

URL Adres WWW, pod którym można znaleźć opis artykułu

(rozdziału)

Page 13: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 1

3

Plik Plik wersji cyfrowej artykułu (rozdziału)

Dodatkowe dane opisu dotyczą następujących elementów:

Powiązanie z opisem czasopisma/serii (dla artykułów w czasopiśmie)

Powiązanie z opisem konferencji (dla materiałów konferencyjnych)

Tom/Wolumin

Numer/Zeszyt danego egzemplarza

Data wydania.

Paginacja

Powiązanie z opisem książki (dla rozdziałów w książce)

Streszczenie w języku polskim i angielskim.

słowa kluczowe w języku polskim i angielskim.

Opis czasopisma obejmuje następujące pola:

Autor - autor serii

Skrócona nazwa - skrócona nazwa czasopisma

Pełna nazwa - pełna nazwa czasopisma

ISSN - ISSN czasopisma

Wydawca - wydawca czasopisma

Strona domowa - adres www strony domowej czasopisma

Język - podstawowy język czasopisma

Punktacja - liczba punktów nadana przez krajową jednostkę oceniającą

Impact Factor - wskaźnik prestiżu i siły oddziaływania czasopism naukowych,

ustalany przez Instytut Filadelfijski

Lista - kategoria listy kwalifikacyjnej

A – według wykazu MNiSzW – czasopisma występujące na liście JCR (13-40 pkt.)

B – według wykazu MNiSzW – czasopisma nie występujące na liście JCR (6-9 pkt.)

C – według wykazu MNiSzW – czasopisma występujące na liście JCR (1-2 pkt.)

Page 14: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 1

4

H – według wykazu MNiSzW – czasopisma wyróżnione przez European Reference

Index for the Humanities (10-20 pkt.)

D – według wykazu MNiSzW – czasopisma nie występujące na liście MNiSzW

Opis serii książkowej obejmuje następujące pola:

Autor - autor serii

Skrócona nazwa - skrócona nazwa serii

Tytuł serii - tytuł serii

Autor instytucjonalny - nazwa instytucji (jeśli jest to instytucja autorska)

ISSN - ISSN serii

Punktacja - ocean punktowa

Impact Factor - współczynnik oceny

Typ listy - typ listy oceny

Opis konferencji obejmuje następujące pola:

Skrócona nazwa - skrócona nazwa konferencji

Pełna nazwa - pełna nazwa konferencji

Lokalizacja - miejsce odbycia konferencji

Rok - rok (data) konferencji

Opisy prac dyplomowych obejmują:

Prace inżynierskie

Prace magisterskie

Rozprawy doktorskie

Dane opisu prac dyplomowych obejmują elementy przedstawione poniżej:

Page 15: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 1

5

Autor(zy) Autor lub kilku autorów pracy dyplomowej

Tytuł w języku polskim Tytuł pracy dyplomowej w języku polskim

Tytuł w języku angielskim Tytuł pracy dyplomowej w języku angielskim

Promotor Promotor pracy dyplomowej

Jednostka dyplomująca Jednostka dyplomująca

Język Język pracy dyplomowej

Status pracy W toku Zatwierdzona Zrecenzowana

Obroniona

Data rozpoczęcia Data rozpoczęcia pracy dyplomowej

Data obrony Data obrony pracy dyplomowej

Data zakończenia Data zakończenia procesu dyplomowania

Paginacja Liczba stron, np. 194 (wpisujemy tylko liczbę - bez słownych

określników typu: s., ss., pages).

Plik Plik wersji cyfrowej pracy dyplomowej

Recenzent zew. Recenzent zewnętrzny (spoza WEiTI)

Recenzent wew. Recenzent wewnętrzny (z WEiTI)

Klasyfikacja PKT Klasyfikacja PKT

Klasyfikacja KBN Klasyfikacja KBN

Klasyfikacja europejska Klasyfikacja europejska

Projekt Powiązanie do opisu projektu związanego z pracą dyplomową

Dodatkowo podaje się

Streszczenie w języku polskim i angielskim.

słowa kluczowe w języku polskim i angielskim.

Page 16: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 1

6

2.2 Struktury danych i relacje

Struktury danych wykorzystywane do reprezentowania obiektów wymienionych w

poprzednim punkcie opisano szczegółowo w punkcie 4.

Poniżej przedstawiono schematycznie relacje pomiędzy najważniejszymi obiektami

przechowywanymi w repozytorium.

Page 17: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 1

7

Rysunek 2 Relacje pomiędzy obiektami

AUTOR

PRACOWNIK

DYPLOMANT

STUDENT

INSTYTUCJA

Autor

korporatywny

KSIĄŻKA

ARTYKUŁ

SERIA

WYDAWNICZA

KSIĄŻKOWA

ROZDZIAŁ

JEDNOSTKA

ORGANIZACYJNA

CZASOPISMO

autorstwo

afiliacja

promotor

redakcja

PRACA

DYPLOMOWA

Inżynierska

Magisterska

Doktorska

PROJEKT

KONFERENCJA

jedn.nadrzędna

seria część

autorstwo

autorstwo

autor

promotor

jedn.dypl.

w ramach

projektu

w ramach

konferencji

w ramach

konferencji

redakcja

Page 18: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 1

8

Nieco bardziej złożone są relacje dotyczące projektu i dlatego zostały one przedstawione na

oddzielnym rysunku poniżej.

Rysunek 3 Relacje obiektu projekt

AUTOR

PRACOWNIK

DYPLOMANT

STUDENT

WYKONAWCA

INSTYTUCJA

Wykonawca

JEDNOSTKA

ORGANIZACYJNA

afiliacja

PROJEKT

kierownik

jedn. wykonująca

proj. poprzedzający

wykonawcy

inst. zlecająca proj. równoległy

proj. przed aneksowaniem

inst. wykonująca

zewnętrzna

partner

Page 19: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 1

9

2.3 Struktury pomocnicze – słowniki

W celu zapewnienia integralności danych i poprawnego funkcjonowania systemu bazy

wiedzy niezbędne jest zastosowanie struktur pomocniczych, które byłyby wykorzystywane

zarówno na etapie wprowadzania danych i ich walidacji jak również jako elementy

wspomagania użytkownika końcowego przy przeszukiwaniu zasobów bazy wiedzy.

Struktury te powinny obejmować wszelkie dane, które wymagają uporządkowania i

standaryzacji, w szczególności dotyczy to stosowanych kodów (np. języki, kraje, jednostki

organizacyjne uczelni), słownictwa kluczowego, hierarchicznej struktury organizacyjnej

uczelni, kategoryzacji i typologii projektów oraz ich źródeł finansowania, standaryzacji

innych podziałów, rodzajów, typów i klasyfikacji. Zastosowanie takich struktur

pomocniczych zapewnia:

- zwiększenie poziomu integralności danych

- znaczne poprawienie jakości i spójności danych

- wspomaganie użytkowników wprowadzających dane

- wspomaganie użytkowników końcowych

Opis języka obejmuje następujące pola:

Kod języka - kod języka, np. pl, en, de, fr,

Nazwa w jęz. polskim - nazwa języka w jęz. polskim

Nazwa w jęz. angielskim - nazwa języka w jęz. angielskim

Opis typu projektu obejmuje następujące pola:

Nazwa typu projektu - pełna nazwa typu projektu, np. Działalność statutowa,

Typ nadrzędny - powiązanie do opisu typu nadrzędnego

Struktury danych wykorzystywane do reprezentowania obiektów pomocniczych i słowników

opisano szczegółowo w punkcie Błąd! Nie można odnaleźć źródła odwołania..

Page 20: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 2

0

Page 21: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 2

1

3 Narzędzia administratora

3.1.1 Definiowanie struktur danych I formularzy

Typy danych definiuje się przy pomocy XSD (http://www.w3.org/XML/Schema), która jest

standardem w zakresie definicji struktury dokumentów XML.

Dane zgodne z zadeklarowanymi typami są następnie przechowywane w repozytorium

JCR(http://jcp.org/en/jsr/detail?id=283) w postaci XMLowej oraz w aplikacji jako obiekty

Java zmapowane dzięki technologii JAXB (http://jcp.org/en/jsr/detail?id=222).

Standard JAXB zdolny jest do mapowania standardowych typów XML na typy języka Java

(użytego do implementacji aplikacji) i odwrotnie.

Przykładowa definicja typu:

<complexType name="affiliation">

<annotation>

<documentation>

Reprezentuje afiliacje autorów i pracowników

</documentation>

</annotation>

<sequence>

<element name="id" type="ID"></element>

<element name="owner" type="ID"></element>

<element name="affiliationowner" type="ID"></element>

<element name="namePL" type="string" fw:defaultFormatter='true' fw:required='true'>

<annotation><appinfo><fw:unique required="true"/></appinfo></annotation>

</element>

<element name="nameEN" type="string" fw:required='true'>

<annotation><appinfo><fw:unique required="true"/></appinfo></annotation>

</element>

<element name="accronymPL" type="string" fw:required='true'>

<annotation><appinfo><fw:unique required="true"/></appinfo></annotation>

</element>

<element name="accronymEN" type="string" fw:required='true'>

<annotation><appinfo><fw:unique required="true"/></appinfo></annotation>

</element>

<element ref="tns:affiliation"></element>

</sequence>

</complexType>

Page 22: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 2

2

Na podstawie definicji danych XSD generowane są domyślne ekrany formularze w

szczególności ekrany:

Wyszukiwania

Edycji i dodawania

Podglądu

Formatowania wierszy w liście obiektów

Sortowania listy obiektów

Formularze generowane są z plików XSD do formatu xhtml (widoki w przeglądarce WWW)

za pomocą transformat XSLT.

Formularze generowane są do folderu o nazwie generated.

Każdy formularz może być dostosowany do specyficznych potrzeb, które to może odbywać

się:

na etapie generacji przez konfigurację plików XSD za pomocą rozszerzeń

po generacji, przez skopiowanie pliku widoku do folderu customized a następnie jego

edycję i stosowne modyfikacje z wykorzystaniem przygotowanej biblioteki

znaczników zapewniającą standardowy wygląd pól. Takie dostrajanie wystarcza przy

modyfikacjach polegających np. na zmianie kolejności pól, wprowadzeniu zakładek

etc.

Po generacji customized a następnie jego edycję i stosowne modyfikacje bez

wykorzystania przygotowanej biblioteki znaczników, zapewnia pełną elastyczność w

tworzeniu widoków

Page 23: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 2

3

Przykładowa struktura wygenerowanych widoków oraz folderu z dostosowaniami:

Page 24: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 2

4

Opis składowych widoku:

Nazwa składowej widoku Transformaty generujące widok zastosowanie

Confirm.xhtml confirm.xsl Ekran podsumowujący

edytowany rekord, przed

ostateczną akceptacją

Content.xhtml editContent.xsl

oneNestedEdit.xsl

multiNestedEdit.xsl

fileNestedEdit.xsl

simpleEdit.xsl

Zawartość formularza rekordu

edit.xhtml edit.xsl Otoczka formularza rekordu

List.xhtml list.xsl Tabela z wynikami

wyszukiwania

main.xhtml main.xsl Ekran startowy dla edytora tego

typu. Zawiera proste

wyszukiwanie oraz przycisk

„utwórz nowy”

Merge.xhtml merge.xsl Ekran do scalania kilku

rekordów w jeden.

preview.xhtml preview.xsl Ekran do oglądania zawartości

rekordu. Jak edit, ale bez

możliwości modyfikacji.

Search.xhtml search.xsl Formularz wyszukiwania

rowtemplates Folder zawierający szablony

wyglądu wierszy w tabeli

wyników

detailed defaultRowTemplate1.xsl Szablon używany do prezentacji

Page 25: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 2

5

szczegółowych danych

dotyczących rekordu

przeznaczonych dla

użytkownika końcowego.

plain defaultRowTemplate1.xsl Szablon używany do

wyświetlania krótkiego opisu

rekordu na ekranach

przeznaczonych do druku, np. w

raportach

simple defaultRowTemplate1.xsl Szablon używany do

wyświetlenia rekordu na

ekranach wyszukiwania. Krótki,

kilku liniowe opis rekordu.

sorttemplates Folder zawierający szablony

definicji sortowania tabeli

wyników

defaultsorttemplate1 defaultSortTemplate1.xsl Definicja jednego ze sposobów

sortowania danych.

defaultsorttemplate2 defaultSortTemplate2.xsl Definicja jednego ze sposobów

sortowania danych.

Tabela 1 Automaycznie generowane widoki i szablony

Na potrzeby funkcjonalności repozytorium wprowadzono rozszerzenia JAXB dodając

wsparcie dla niektórych natywnie wspieranych mechanizmów XSD a także rozszerzeń z

wykorzystaniem mechanizmu anotacji ze standardu XSD. Pozwoliło to na osiągnięcie

dodatkowych możliwości modelowania danych w kontekście ich zachowania w repozytorium

przy użyciu dodatkowych znaczników.

Listę standardowych elementów XSD, tych wymagających podania ich interpretacji w

systemie oraz rozszerzenia wraz z przykładowym użyciem zawarte są w tabeli. Opis

Page 26: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 2

6

standardowo wspieranego zachowania zawarte są w specyfikacji JAXB

http://jcp.org/en/jsr/detail?id=222

Nazwa Postać Przykład użycia

Zwykłe pole proste wg XSD, w

zależności od typu pole na

GUI będzie miało postać pola

tekstowego, przyciski radio,

kalendarz

<element

name="namePL"

type="string">

Możliwe inne typy

proste XSD

(int,decimal,date

, boolean I wiele

innych)

<complexType name="affiliation">

<element name="namePL"

type="string">

</complexType>

Typ z jednym polem prostym tekstowym

Odwołanie do pola złożonego,

system przechowuje kopie

rekordu podrzędnego w

strukturze pola nadrzędnego

(przechowywanie danych

historycznych)

Typy podrzędne są także

niezależnie przechowywane

na swojej liście gdzie

funkcjonują jako nadrzędne.

W GUI wypełnienie pola

złożonego odbywa się przez

jego wyszukanie przez pole

„podpowiadające”

autosuggest.

<element

ref="tns:affiliat

ion”>

W przypadku gdy

rekord zawiera

jedno pole typu

podrzędnego

<element

name="supervisor"

type="tns:author"

>

W przypadku wielu

pól tego samego

typu

<element name="phd">

<complexType>

<element name="affiliation"

type="string"/>

<element name="supervisor"

type="tns:author">

</complexType>

</element>

Pola złożone powtarzalne.

Rekord nadrzędny zawiera

listę obiektów typu

maxOccurs="unboun

ded"

<element name="supervisor"

type="tns:author" minOccurs="0"

maxOccurs="unbounded">

Page 27: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 2

7

podrzędnego

Unikalność wartości w skali

wszystkich rekordów danego

typu w repozytorium.

Przy niespełnionym warunku

system odmówi zapisu, lub

przekaże ostrzeżenie dając

możliwość skorygowania

danych

<fw:unique

required="true"/>

Bezwzględnie

wymagane

<fw:unique

required="false"/

>

Zalecane

wymaganie

<element name="namePL" type="string"

<annotation>

<appinfo>

<fw:unique required="true"/>

</appinfo>

</annotation>

</element>

Generowanie dokumentacji

do typu danych na podstawie

opisu

<annotation><docu

mentation>..</doc

umentation></anno

tation>

<complexType name="affiliation">

<annotation>

<documentation>

Reprezentuje afiliacje autorów i

pracowników

</documentation>

</annotation>

Umieszczenie pola na

domyślnie generowanym

wierszu reprezentującym

rekord na tabeli wyników lub

w rekordzie nadrzędnym

<fw:defaultFormat

ter='true’>

<element name="namePL" type="string"

fw:defaultFormatter='true'>

Wymagalność pola, skutkuje

błędem na niepoprawnie

wypełnionym formularzu.

Wymagalność można

stosować zarówno do typów

prostych jak i złożonych

<fw:required='tru

e'>

<elementname="namePL" type="string"

fw:required='true'>

Rekord będzie zawierał tylko

jedno z wskazanych podpól, w

ramach GUI wygeneruje się

<fw:choice

name="published"/

>

<choice id="published" minOccurs="0">

<element ref="tns:journalissue"

tns:selectable="false">

<annotation>

Page 28: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 2

8

pole wyboru determinujące

dalszą część formularza

<appinfo>

<fw:choice name="published"/>

</appinfo>

</annotation>

</element>

<element ref="tns:book"

fw:defaultFormatter='true'>

<annotation>

<appinfo>

<fw:choice name="published"/>

</appinfo>

</annotation>

</element>

</choice>

Typ wyliczeniowy, pola na GUI

przybierze postać listy wyboru

z wartościami podanymi w

typie wyliczeniowym XSD

Standardowa

konstrukcja XSD

<restriction>

<enumeration>

<element name="recordStatus"

minOccurs="0" default="completed">

<simpleType>

<restriction base="string">

<enumeration value="partial"/>

<enumeration

value="completed"/>

<restriction>

</simpleType>

</element>

Pole proste tylko do odczytu,

formularz blokuje kontrolkę

wprowadzania danych

fw:disabled='true

' (domyślnie

false)

<element name="orginalType"

fw:disabled='true'>

Określenie wielkości pola

tekstowego dla pola

formularza

fw:inputType="sma

ll”

fw:inputType="med

ium”

<element name="title"

fw:inputType="large">

Page 29: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 2

9

fw:inputType="lar

ge”

fw:inputType="hug

e”

Walidacja pola na podstawie

wyrażenia regularnego

Standardowa

konstrukcja XSD

<restriction<pattern>

<simpleType>

<restriction base="string">

<pattern value=".*[^\.]$"

id="NoDots">

</pattern>

</restriction>

</simpleType>

Walidacje długości pól

tekstowych. System zaaplikuje

walidator na GUI,

uniemożliwiając wpisanie

niepoprawnej wartości

Standardowa

konstrukcja XSD

<xs:minLength

value="5"/>

<xs:maxLength

value="8"/>

<xs:element name="password">

<xs:simpleType>

<xs:restriction base="xs:string">

<xs:minLength value="5"/>

<xs:maxLength value="8"/>

</xs:restriction>

</xs:simpleType>

</xs:element>

Wartość domyślna, system

dokona inicjalizacji pola

formularza a także obiektu

reprezentującego rekord

domyślną wartością

Zgodnie z XSD

default="ZEWNETRZ

NY"

<element name="status"

default="ZEWNETRZNY">

Wymuszenie aby obiekt był

zagnieżdzony w formularzu

obiektu nadrzędnego a nie

posiadał osobne okno do

wprowadzania

Dotyczy tylko pól złożonych.

tns:selectable="f

alse"

<element ref="tns:journalissue"

tns:selectable="false">

Ograniczenie głębokości

przechowywania danych w

<fw:maxNest

value="1"/>

<element ref="tns:authorprofile"

fw:defaultFormatter='true'

Page 30: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 3

0

obiektach zagnieżdżonych, tns:selectable="false">

<annotation>

<appinfo>

<fw:maxNest value="1"/>

</appinfo>

</annotation>

</element>

Oznaczenie iż obiekt będzie

występował tylko jako

podrzędny wobec innego, nie

będzie posiadał własnej

głównej listy

<element name="authorprofile">

<complexType>

<annotation><appinfo><fw:mainentity

value='false'/></appinfo></annotation

>

</complexType>

Wyłącza podpowiadanie pól

złożonych na formularzu.

zamiast tego będzie się

pojawiał przycisk dodaj nowy.

przydatne, gdy tworzone w

ten sposób obiekty nie trafiają

na główną listę. (np project-

projecttask). Dotyczy tylko pól

złożonych.

tns:suggest="fals

e"

domyślnie true,

<element

ref="tns:projectfinancialreport"

minOccurs="0" maxOccurs="unbounded"

tns:suggest="false"></element>

Blokada możliwości edycji

złożonego pola.

tns:editable="fal

se"

<complexType name="project">

<element type="tns:project"

name="previousProject" minOccurs="0"

maxOccurs="unbounded"

tns:editable="false">

</complexType>

Tabela 2 Przegląd własności pól możliwych do uzyskania przez modyfikację xsd.

Page 31: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 3

1

Fragment wygenerowanego formularza edycji:

<ui:composition xmlns:rich="http://richfaces.org/rich" xmlns:a4j="http://richfaces.org/a4j"

xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"

xmlns:c="http://java.sun.com/jstl/core" xmlns:ui="http://java.sun.com/jsf/facelets"

xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ii="http://ii.pw.edu.pl"

xmlns:tns="http://ii.pw.edu.pl/lib" xmlns:s="http://jboss.com/products/seam/taglib">

<ui:decorate template="#{selectable!='false' ? '/layout/editContent.xhtml' : (popup=='true' ?

'/layout/editContentPopups.xhtml' : '/layout/editContentInputs.xhtml')}">

<ui:param name="compnameentity" value="#{affiliationentity}"/>

<ui:param name="compname" value="affiliation"/>

<ui:param name="idpref" value="#{idpref}"/>

<ui:define name="inputs">

<s:decorate template="/layout/simpleField.xhtml" xmlns:fw="http://ii.pw.edu.pl/lib/framework"

xmlns:t="http://myfaces.apache.org/tomahawk">

<ui:param name="compname" value="affiliation"/>

<ui:param name="fieldname" value="id"/>

<ui:param name="type" value="ID"/>

<h:outputText disabled="#{mode=='preview'}" id="#{idpref}affiliation-id"

value="#{affiliationentity.id}" rendered="#{not s:hasRole('admin')}"/>

<rich:inplaceInput editEvent="#{mode=='preview' ? 'never' : 'onclick'}" id="#{idpref}affiliation-id-

edit" value="#{affiliationentity.id}" rendered="#{s:hasRole('admin')}"/>

</s:decorate>

<s:decorate template="/layout/simpleField.xhtml" xmlns:fw="http://ii.pw.edu.pl/lib/framework"

xmlns:t="http://myfaces.apache.org/tomahawk">

<ui:param name="compname" value="affiliation"/>

<ui:param name="fieldname" value="owner"/>

<ui:param name="type" value="ID"/>

<h:outputText disabled="#{mode=='preview'}" id="#{idpref}affiliation-owner"

value="#{affiliationentity.owner}" rendered="#{not s:hasRole('admin')}"/>

<rich:inplaceInput editEvent="#{mode=='preview' ? 'never' : 'onclick'}" id="#{idpref}affiliation-

owner-edit" value="#{affiliationentity.owner}" rendered="#{s:hasRole('admin')}"/>

</s:decorate>

<!—wyciety fragment

<ii:oneNested xmlns:fw="http://ii.pw.edu.pl/lib/framework" fieldname="affiliation"

fieldtypename="affiliation" compname="affiliation" selectable="" field="#{affiliationentity.affiliation}"

compnameentity="#{affiliationentity}" idpref="#{idpref}affiliation-" mode="#{mode}" editable="" suggest=""/>

</ui:define>

<ui:define name="popups">

<ii:popup xmlns:fw="http://ii.pw.edu.pl/lib/framework" selectable="" fieldname="affiliation"

fieldtypename="affiliation" compname="affiliation" idpref="#{idpref}affiliation6"

compnameentity="#{affiliationentity}" field="#{affiliationentity.affiliation}" mode="#{mode}"/>

</ui:define>

</ui:decorate>

</ui:composition>

Page 32: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 3

2

Wykorzystanie standardowych znaczników gwarantuje spójny wygląd aplikacji, identycznie

ulokowanie komunikatów błędów, kontrolek postępu i wielu innych.

Definicja najprostszego komponentu definiującego pole proste w otoczeniu komunikatu i

etykiety pola:

Opis przygotowanych standardowych znaczników z przykładami użycia zawiera poniższe

tabele.

Znacznik <ii:oneNested>

Opis Włączenie pola prostego niepowtarzalnego

Przykład

użycia

<ii:oneNested xmlns:fw="http://ii.pw.edu.pl/lib/framework"

fieldname="affiliation" fieldtypename="affiliation" compname="affiliation"

selectable="" field="#{affiliationentity.affiliation}"

compnameentity="#{affiliationentity}" idpref="#{idpref}affiliation-"

mode="#{mode}" editable="" suggest=""/>

<ui:composition xmlns="http://www.w3.org/1999/xhtml"

xmlns:ui="http://java.sun.com/jsf/facelets"

xmlns:h="http://java.sun.com/jsf/html"

xmlns:f="http://java.sun.com/jsf/core"

xmlns:s="http://jboss.com/products/seam/taglib">

<h:panelGrid columns="3" columnClasses="#{compname} editLabel,

#{compname} editValue"

rowClasses="#{compname} editRow" rendered="#{selectable!='false' or type!='ID'}">

<s:label>#{messages[compname.concat('.').concat(fieldname)]}</s:label>

<ui:insert />

<s:message styleClass="editErrors"/>

</h:panelGrid>

</ui:composition>

Page 33: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 3

3

Opis

parametró

w

Nazwa Parametru Opis

fieldname Nazwa pola

fieldtypename Nazwa typu pola

compname Nazwa typu w którym zadniezdzone jest

to pole

selectable Zgodnie z opisem rozszerzen XSD

field Wskazanie na pole w obiektcie,

przechowujące wartość dla danego pola

compnameentity Wskazanie na obiekt przechowujacy caly

formularz

idpref Umozliwia dokładanie prefixow do ID

komponentów widoku, zapewniając

prawidłowe działanie zlozonych

formularzy

mode Wskazanie na tryb edycji lub podglądu

editable Zgodnie z opisem rozszerzen XSD

suggest Zgodnie z opisem rozszerzen XSD

Tabela 3 Znacznik ii:oneNested

Znacznik <ii:multiNested>

Opis Włączenie pola prostego powtarzalnego

Przykład

użycia

<ii:multiNested xmlns:fw="http://ii.pw.edu.pl/lib/framework"

fieldname="author" fieldtypename="author" compname="article"

selectable="" field="#{articleentity.author}"

compnameentity="#{articleentity}" idpref="#{idpref}author-"

Page 34: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 3

4

mode="#{mode}" editable="" suggest="" required="#{mode=='edit'}"/>

Opis

parametró

w

Nazwa Parametru Opis

fieldname Nazwa pola

fieldtypename Nazwa typu pola

compname Nazwa typu w którym zadniezdzone jest

to pole

selectable Zgodnie z opisem rozszerzen XSD

field Wskazanie na pole w obiektcie,

przechowujące wartość dla danego pola

compnameentity Wskazanie na obiekt przechowujacy caly

formularz

idpref Umozliwia dokładanie prefixow do ID

komponentów widoku, zapewniając

prawidłowe działanie zlozonych

formularzy

mode Wskazanie na tryb edycji lub podglądu

editable Zgodnie z opisem rozszerzen XSD

suggest Zgodnie z opisem rozszerzen XSD

Tabela 4 Znacznik ii:mulitNested

Znacznik <ii:file>

Opis Włączenie pola będącego plikiem

Przykład <ii:file fieldname="file" fieldtypename="file" compname="article"

selectable="" field="#{articleentity.file}"

Page 35: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 3

5

użycia compnameentity="#{articleentity}" idpref="#{idpref}file-"

mode="#{mode}"/>

Opis

parametró

w

Nazwa Parametru Opis

fieldname Nazwa pola

fieldtypename Nazwa typu pola

compname Nazwa typu w którym zadniezdzone jest

to pole

selectable Zgodnie z opisem rozszerzen XSD

field Wskazanie na pole w obiektcie,

przechowujące wartość dla danego pola

compnameentity Wskazanie na obiekt przechowujacy caly

formularz

idpref Umozliwia dokładanie prefixow do ID

komponentów widoku, zapewniając

prawidłowe działanie zlozonych

formularzy

mode Wskazanie na tryb edycji lub podglądu

Tabela 5 Znacznik ii:file

Znacznik <ii:popup>

Opis Włączenie okna wyskakującego umożliwiającego edycję obiektów złożonych

Przykład <ii:popup xmlns:fw="http://ii.pw.edu.pl/lib/framework" selectable=""

fieldname="author" fieldtypename="author" compname="article"

Page 36: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 3

6

użycia idpref="#{idpref}author6" compnameentity="#{articleentity}"

field="#{articleentity.author}" mode="#{mode}"

required="#{mode=='edit'}"/>

Opis

parametró

w

Nazwa Parametru Opis

fieldname Nazwa pola

fieldtypename Nazwa typu pola

compname Nazwa typu w którym zadniezdzone jest

to pole

selectable Zgodnie z opisem rozszerzen XSD

field Wskazanie na pole w obiektcie,

przechowujące wartość dla danego pola

compnameentity Wskazanie na obiekt przechowujacy caly

formularz

idpref Umozliwia dokładanie prefixow do ID

komponentów widoku, zapewniając

prawidłowe działanie zlozonych

formularzy

mode Wskazanie na tryb edycji lub podglądu

editable Zgodnie z opisem rozszerzen XSD

suggest Zgodnie z opisem rozszerzen XSD

Tabela 6 Znacznik ii:popup

Znacznik <ii:filePopup>

Opis Włączenie okna wyskakującego umożliwiającego wgrywanie plików na serwer

Przykład <ii:filePopup fieldname="file" fieldtypename="file" compname="article"

Page 37: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 3

7

użycia selectable="" idpref="#{idpref}file6"

compnameentity="#{articleentity}" field="#{articleentity.file}"

mode="#{mode}"/>

Opis

parametró

w

Nazwa Parametru Opis

fieldname Nazwa pola

fieldtypename Nazwa typu pola

compname Nazwa typu w którym zadniezdzone jest

to pole

selectable Zgodnie z opisem rozszerzen XSD

field Wskazanie na pole w obiektcie,

przechowujące wartość dla danego pola

compnameentity Wskazanie na obiekt przechowujacy caly

formularz

idpref Umozliwia dokładanie prefixow do ID

komponentów widoku, zapewniając

prawidłowe działanie zlozonych

formularzy

mode Wskazanie na tryb edycji lub podglądu

editable Zgodnie z opisem rozszerzen XSD

suggest Zgodnie z opisem rozszerzen XSD

Tabela 7 Znacznik ii:filePopup

Znacznik <s:decorate template="/layout/simpleField.xhtml">

Opis Pole edycji pola prostego

Page 38: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 3

8

Przykład

użycia

<s:decorate template="/layout/simpleField.xhtml"

xmlns:fw="http://ii.pw.edu.pl/lib/framework"

xmlns:t="http://myfaces.apache.org/tomahawk">

<ui:param name="compname" value="article"/>

<ui:param name="fieldname" value="keywordsEN"/>

<ui:param name="type" value="string"/>

<h:inputText styleClass="edit inputText large"

disabled="#{mode=='preview'}" size="60" id="#{idpref}article-

keywordsEN" value="#{articleentity.keywordsEN}"/>

</s:decorate>

Opis

parametró

w

Nazwa Parametru Opis

fieldname Nazwa pola

type Nazwa typu pola

compname Nazwa typu w którym zadniezdzone jest

to pole

disabled Zgodnie z opisem rozszerzen XSD

value Wskazanie na pole w obiektcie,

przechowujące wartość dla danego pola

zawartość Właściwa kontrolka do wprowadzania

danych, umieszczana jest odpowiednio

w szablonie wyglądu. W Przykładzie

użyto <h:inputText> czyli

zwykłe pole tekstowe

Znacznik <s:decorate template="/layout/editContent.xhtml">

Opis Szablon głównego formularza. formularza w popupie i formularza nieedytowalnego.

Przykład

użycia

<ui:decorate template="#{selectable!='false' ?

'/layout/editContent.xhtml' : (popup=='true' ?

'/layout/editContentPopups.xhtml' :

'/layout/editContentInputs.xhtml')}">

<ui:param name="compnameentity" value="#{articleentity}"/>

Page 39: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 3

9

<ui:param name="compname" value="article"/>

<ui:param name="idpref" value="#{idpref}"/>

<ui:define name="inputs">

<!--

<ui:define name="popups">

<!--

</ui:define>

</ui:decorate>

</ui:composition>

Opis

parametró

w

Nazwa Parametru Opis

compnameentity Wskazanie na obiekt przechowujacy caly

formularz

compname Nazwa typu w którym zadniezdzone jest

to pole

idpref Umozliwia dokładanie prefixow do ID

komponentów widoku, zapewniając

prawidłowe działanie zlozonych

formularzy

inputs Sekcja na pola formularza

zawartość Sekcja na okienka popup

Tabela 8 Pomocnicze szablony definicji formularzy

Niniejsze komponenty zostały złożone z licznych podkomponentów zapewniających spójny

wygląd poszczególnym elementom np. polu podpowiadania. Podkomponenty nie będą tu

szczegółowo opisane ze względu na ich techniczny aspekt.

Page 40: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 4

0

3.1.2 Warunki integralności

W systemie możliwe jest definiowanie warunków integralności na poziomie poszczególnych

elementów danych, jak też całych obiektów oraz związków między nimi. Można definiować

następujące własności elementów opisu :

Pole proste

Pole złożone

Pole złożone powtarzalne

Pole obowiązkowe (bezwzględnie i warunkowo)

Pole z warunkiem unikalności

Pole z warunkiem określonego formatu

Pole z wartością wybieraną z listy

Pole tylko do odczytu

Szczegółowy opis składni poszczególnych specyfikacji wraz z przykładami przedstawia

Tabela 2.

3.1.3 Zarządzanie użytkownikami

Uwierzytelnienie – system polega na zewnętrznym centralnym module uwierzytelnienia CAS

Po wejściu do chronionej sekcji systemu następuje przekserowanie do zewnętrznej strony

systemu uwierzytelnienia, którego parametry podane są w pliku konfiguracyjnym aplikacji

Web.xml. Po skutecznym uwierzytelnieniu aplikacja uzyskuje specjalny token, login lub

opcjonalnie dodatkowe dane takie jak email. W razie potrzeby system można

przekonfigurować na własną autentykacje na podstawie tabeli relacyjnej bazy danych.

Autoryzacja – po autentykacji system przypisuje zalogowanej osobie rolę w systemie na

podstawie tabeli bazodanowej.

W systemie przewidziane są następujące role:

(bez roli) daje dostęp do wybranych funkcjonalności wyszukiwania

dataentry – daje możliwość wprowadzania wybranych typów danych, gdzie typy

określane są osobną rolą. Rola dataentry nie daje możliwości poprawiania czy

kasowania danych wprowadzonych przez innych użytkowników

Page 41: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 4

1

superdataentry – daje możliwość usuwania i modyfikowania danych wprowadzonych

przez innych użytkowników o ile pochodzą z tej samej afiliacji (instytutu). Jest to

wiec rola nadzorująca w obrębie afiliacji.

diplomas – rola daje dostęp do typów danych: doktoraty, prace magisterskie i

inżynierskie

publications – rola daje dostęp do książek i publikacji

scoring – rola pozwala zmieniać i dodawać serie książkowe i czasopism oraz nadawać

im punkty

admin – rola ma dostęp do całości systemu

(bez roli na postawie IP) daje możliwość wyszukiwania i przeglądu źródeł publikacji,

które są przeznaczone dla dostępu intranet.

3.1.4 Reguły dostępu

Kontrola uprawnień rekordu możliwa jest przez wprowadzenie pól: właściciel i właściciel

afiliacyjny, które przechowują informacje o użytkowniku który jest właścicielem rekordu

i jego afiliacji.

Złożony zestaw uprawnień – złożony zestaw uprawnień może być elastycznie

modyfikowany dzięki pomocą technologii drools która umożliwiła na wydzielenie z kodu

zestawu reguł punktujących.

Przykładowa reguła:

rule DataEntryAndSuperDataEntryCanAddAndViewAndList

no-loop

salience 10

activation-group "permissions"

when

check: PermissionCheck(granted ==false,action =="create" || action =="render" ||action

=="restore"||action=="list")

role: Role(name == 'dataentry' || name=='superdataentry')

then

check.grant();

end

Page 42: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 4

2

Dostęp do plików źródłowych publikacji. Każda publikacja może posiadać dołączony plik

źródłowy. Plik ten domyślnie widoczny jest jedynie dla właściciela rekordu (PRIVATE) o ile

nie powiedziane zostanie inaczej. Nawet w przypadku prywatnego pliku – jest on

uwzględniany przy indeksowaniu i zwiększa jakość wyszukiwania. Plik może zostać

oznaczony jako PUBLIC, wówczas dostęp do niego będzie nielimitowany w obrębie całej

sieci Internet. Tryb PROTECTED daje możliwość dostępu wszystkim pracownikom

zalogowanym danego instytutu, lub też niezalogowanym ale legitymujących się

zarejestrowanym w systemie adresem IP. Ponadto istnieje możliwość automatycznej

relaksacji ograniczeń po wskazanej dacie np. dokument prywatny może być wskazany do

upublicznienia po upływie wskazanego okresu czasu.

3.1.5 Ekrany wyszukiwania

Ekrany wyszukiwania są widokami jsf zawierającymi formularze, które wypełniają obiekt

SearchEntity o zasięgu konwersacji, dostępny w tych widokach pod nazwą #{searchEntity}.

SearchEntity jest obiektową reprezentacją zapytania i zawiera szereg pól, które mogą być

wypełnione przez użytkownika lub twórcę ekranu wyszukiwania. Do najważniejszych należą:

- resultsType – tekst zawierający nazwę typu obiektów, które mają być wyszukane.

Można tu podać zarówno typy podstawowe (np. article, book, author) jak i wirtualne

(publication, diploma).

- searchPhrase – tekst przekazywany do zapytania prostego, przebiegającego po

wszystkich polach rekordów. Wykonanie zapytania z wypełnioną frazą searchPhrase zwraca

rekordy zawierające frazę searchPhrase w dowolnym miejscu tego rekordu (również w

podrekordach). Fraza searchPhrase może zawierać znaki specjalne, takie jak *,?,~,”, których

znaczenie jest zgodne z konwencją Lucene.

- advancedSearchPhrase – tekst w formacie <pole><operator><wartość>, który

dodaje proste warunki wyszukiwania na konkretne pola rekordu. Operator przyjmuje jedną z

czterech wartości: =,<,>,:. Ten ostatni oznacza zawieranie. Możliwe jest podanie kilku takich

trójek – trzeba je wtedy oddzielić przecinkiem. Pole należy podać w postaci przyjętej w

zapytaniach xpath. Przykładowo - wpisanie do pola advancedSearchPhrase wartości

book/author/@surname:k* spowoduje wygenerowanie zapytania o rekordy zawierające

Page 43: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 4

3

podrekord książka, która zawiera podrekord autor o nazwisku zaczynającym się na literę k.

- field – tablica asocjacyjna zawierająca pary String -> SearchField, służąca do

definiowania zaawansowanych, szczegółowych zapytań uwzględniających konkretne pola.

Kluczami tablicy jest tekst unikalnie identyfikującym pole zapytania (obiekt SearchField), a

wartościami – obiekty typu SearchField, które dokładnie opisują zapytanie o konkretne pole.

Zapytanie wykonuje się przy wywołaniu metody #{genericAction.search}, która powinna być

akcją dowiązaną do przycisku przesłania formularza. Wygenerowane zapytanie trafia do

silnika wyszukiwania Jackrabbit i ma następującą postać xpath:

//element(*,ns2entity)[@nodeName= <typy wywnioskowane z pola resultsType> and

jcr:contains(.,’<searchPhrase>’) and (<zapytanie wygenerowane z frazy

advancedSearchPhrase>) and (zapytanie wygenerowane z listy field)] order by <definicja

sposobu sortowania dla typu resultsType>, jcr:score() descending

Poniżej znajduje się przykład prostego ekranu wyszukiwania autorów.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns=http://www.w3.org/1999/xhtml

xmlns:rich="http://richfaces.org/rich"

xmlns:ui="http://java.sun.com/jsf/facelets"

xmlns:h="http://java.sun.com/jsf/html"

xmlns:f="http://java.sun.com/jsf/core"

xmlns:a4j="http://richfaces.org/a4j"

xmlns:s="http://jboss.com/products/seam/taglib">

<ui:composition template="/layout/publictemplate.xhtml">

<ui:define name="pageTitle">Simple Search</ui:define>

<ui:define name="body">

<h2>#{messages['search.simpleSearch']}</h2>

<!-- #{genericAction.clearSearch} -->

<!-- #{searchEntity.setResultsType('author')} -->

<a4j:form enctype="multipart/form-data">

<h:inputText size="80" id="searchPhrase"

value="#{searchEntity.searchPhrase}"/>

Page 44: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 4

4

<a4j:commandButton value="#{messages['list.search']}"

action="#{genericAction.search}">

<f:setPropertyActionListener value="authorSearch"

target="#{searchEntity.lastQueryScreen}"/>

<f:setPropertyActionListener value="author"

target="#{searchEntity.resultsType}"/>

<s:defaultAction/>

</a4j:commandButton>

<a4j:commandButton value="#{messages['search.clear']}"

action="#{genericAction.clearSearch}"/>

</a4j:form>

<script>

#{rich:element('searchPhrase')}.focus();

</script>

</ui:define>

</ui:composition>

</html>

Projektowanie zaawansowanych formularzy wymaga definiowania pól SearchField w

obiekcie #{searchEntity}. Aby ułatwić wykonanie tego procesu z poziomu widoków (plików

xhtml) zaproponowaliśmy zestaw gotowych szablonów i komponentów:

affiliationTree.xhtml – wstawia listę lub drzewo wyboru jednostek dydaktycznych, do

których ma być ograniczone wyszukiwanie. Działa dla typów zawierających rekord autor lub

afiliacja. Przykład użycia:

<ui:decorate template="affiliationTree.xhtml"/>

prepareSearchField.xhtml – szablon ustawiający nowe pole zapytania SearchField. Posiada

następujące parametry:

name – unikalna nazwa pola

value – wyszukiwana wartość

Page 45: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 4

5

searchIn – oddzielona przecinkami lista pól, które będą przeszukiwana.

Zamiast konkretnego pola można podać nazwę całego rekordu (poprzedzone

podkreśleniem _), wtedy wyszukiwanie będzie wykonywane na wszystkich

polach rekordu.

operator – operator stojący pomiędzy searchIn a value w wygenerowanym

zapytaniu (<,<=,=,>,>=), domyślnie =.

enabled – wartość logiczna mówiąca o tym, czy pole ma być użyte do

generowania zapytania. Domyślnie true.

andOrNot – jedna z trzech wartości (and,or,not), która ma stać przed polem w

wygenerowanym z niego fragmencie zapytania

useEquals – wartość logiczna mówiąca o tym, czy pole podane w searchIn ma

być dokładne równe wartości podanej w polu value (wartość false), czy też ma

jedynie zawierać to pole (true). Ma wpływ jedynie przy wyborze operatora = i

przekłada się albo na frazę jcr:contains(<searchIn>,<value>) albo na frazę

<searchIn>=<value> w wygenerowanym fragmencie zapytania.

type – typ pola, trzy dozwolone wartości:

o string – pole typu tekstowego (wartość pola będzie obejmowana

apostrofami)

o numer – pole typu numerycznego (wartość pola nie będzie obejmowana

apostrofami)

o query – wartość pola jest fragmentem zapytania, który ma być

wklejony do zapytania. Pola searchIn, operator i useEquals są w tym

przypadku ignorowane.

includeInSelectionList – wartość logiczna mówiąca o tym, czy pole będzie

wizualizowane za pomocą szablonu searchField.xhtml (patrz dalej).

Domyślnie false.

label – nazwa wyświetlana na ekranie użytkownika, jeśli stosowana jest

wizualizacja szablonem searchField.xhtml.

Page 46: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 4

6

suggest – oddzielona przecinkami lista typów, które będą pojawiać się jako

podpowiedzi wartości tego pola, jeśli stosowana jest wizualizacja szablonem

searchField.xhtml.

Poniżej znajduje się kilka przykładów zastosowania szablonu prepareSearchField.xhtml.

Podane fragmenty powinny znaleźć się wewnątrz <form> w definicji ekranu wyszukiwania.

- rok publikacji większy lub równy od podanego przez użytkownika (pole zawierające datę

publikacji ma mieć wartość większą od lub równą wartości wpisanej na formularzu)

<h:outputLabel value="#{messages['search.yearsFrom']}"/>

<ui:decorate template="/layout/prepareSearchField.xhtml">

<ui:param name="name" value="date1"/>

<ui:param name="searchIn" value="publicationDate, book.issueDate,

journalissue.issueDate, issueDate, yearfrom, yearto"/>

<ui:param name="operator" value="&gt;="/>

<ui:param name="type" value="number"/>

</ui:decorate>

<h:inputText size="6" value="#{searchEntity.field['date1'].value}"/>

- wyszukiwanie rekordów kompletnych lub niekompletnych (odpowiednia wartość w polu

recordStatus)

<ui:decorate template="/layout/prepareSearchField.xhtml">

<ui:param name="name" value="recordStatus"/>

<ui:param name="searchIn" value="recordStatus"/>

</ui:decorate>

<h:outputLabel for="kompletny" value="Status"/>

<h:selectOneMenu id="kompletny"

value="#{searchEntity.field['recordStatus'].value}">

<f:selectItem itemLabel="Dowolny" itemValue=" " noSelectionOption="true"/>

<f:selectItem itemLabel="Rekord kompletny" itemValue="completed"/>

<f:selectItem itemLabel="Rekord niekompletny" itemValue="partial"/>

</h:selectOneMenu>

Page 47: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 4

7

- wyszukiwanie publikacji z listy JCR (pole nameOfList w podrekordzie journalseries lub

bookseries zawiera wartość „A”)

<ui:decorate template="/layout/prepareSearchField.xhtml">

<ui:param name="name" value="jcr"/>

<ui:param name="type" value="query"/>

</ui:decorate>

<h:outputLabel value="#{messages['search.publications']}:"/>

<h:selectOneMenu value="#{searchEntity.field['jcr'].value}">

<f:selectItem itemLabel="#{messages['search.all']}" itemValue=""/>

<f:selectItem itemLabel="#{messages['search.jcronly']}"

itemValue="journalissue/journalseries/@nameOfLists='A' or

book/bookseries/@nameOfLists='A' or bookseries/@nameOfLists='A'"/>

<f:selectItem itemLabel="#{messages['search.other']}"

itemValue="not(journalissue/journalseries/@nameOfLists='A' or

book/bookseries/@nameOfLists='A' or bookseries/@nameOfLists='A')"/>

</h:selectOneMenu>

nestedSearchField.xhtml – szablon umożliwiający utworzenie grup składających się z wielu

pól stworzonych przez prepareSearchField i łączenie tych grup spójnikami and or not. Jest to

najprostszy sposób nawiasowania warunków w zapytaniu.

searchField.xhtml – gotowe wizualizacja pole stworzone przez prepareSearchField.xhtml, o

wyglądzie i funkcjonalności jak na rysunku poniżej.

Page 48: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 4

8

Szablon posiada następujące parametry:

- name – unikalna nazwa pola, zgodna z nazwą podaną w prepareSearchField.xhtml

- first – wartość logiczna mówiąca o tym, czy pole znajduje się na pierwszym miejscu

listy. W takim przypadku nie są wyświetlane kontrolki wyboru operatorów and/or/not.

- onchange – skrypt javascript, który będzie wykonany za każdym razem, gdy użytkownik

zmieni wartość dowolnej kontrolki tego pola

<ui:decorate template="/layout/nestedSearchField.xhtml">

<ui:decorate template="/layout/prepareSearchField.xhtml">

<ui:param name="name" value="fulltext"/>

<ui:param name="label" value="#{messages['search.words']}"/>

<ui:param name="searchIn" value="."/>

<ui:param name="includeInSelectionList" value="true"/>

</ui:decorate>

<ui:decorate template="/layout/prepareSearchField.xhtml">

<ui:param name="name" value="autor"/>

<ui:param name="suggest" value="author"/>

<ui:param name="label" value="#{messages['search.author']}"/>

<ui:param name="searchIn" value="_author"/>

<ui:param name="includeInSelectionList" value="true"/>

</ui:decorate>

(…)

</ui:decorate>

<ui:decorate template="/layout/searchField.xhtml">

<ui:param name="name" value="fulltext"/>

<ui:param name="first" value="true"/>

Page 49: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 4

9

<ui:param name="onchange" value="refreshSearchCount()"></ui:param>

</ui:decorate>

<ui:decorate template="/layout/searchField.xhtml">

<ui:param name="name" value="autor"/>

<ui:param name="suggest" value="author"/>

<ui:param name="onchange" value="refreshSearchCount()"></ui:param>

</ui:decorate>

(…)

suggestionSearchField.xhtml – szablon pozwalający na stworzenie samodzielnego pola z

podpowiadaniem, bez dodatkowych kontrolek z szablonu searchField. Parametry:

- for – identyfikator pola <h:inputText>, do którego ma zostać dodana funkcjonalność

podpowiadania

- name – unikalna nazwa komponentu

- suggest - oddzielona przecinkami lista typów, które będą pojawiać się jako podpowiedzi

- independent – wartość logiczna mówiąca o tym, czy podpowiedzi mają pochodzić z

wyszukiwania niezależnego od ustawień innych pól wyszukiwania (wartość true), czy też ma

uwzględniać wartości wpisane w innych polach wyszukiwania na tym ekranie.

3.1.6 Formaty prezentacji i wizualizacji wyników

Dla każdego zdefiniowanego w systemie typu danych generowane są automatycznie ekrany

do edytowania, przeglądu, wyszukiwania oraz prezentacji. W szczególności generowane są

szablony wyświetlania pojedynczych rekordów, które umieszczane są w katalogu

rowtemplates. Standardowo generowane są trzy rodzaje tego rodzaju szablonów:

simple.xhtml – szablon używany do wyświetlenia rekordu na ekranach wyszukiwania. Są to

zazwyczaj krótkie, kilku liniowe opisy rekordu.

detailed.xhtml – szablon używany do prezentacji szczegółowych danych dotyczących

Page 50: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 5

0

rekordu przeznaczonych dla użytkownika końcowego.

plain.xhtml – szablon używany do wyświetlania krótkiego opisu rekordu na ekranach

przeznaczonych do druku, np. w raportach. Zalecane jest tu użycie tego samego formatu, co w

szablonie simple.xhtml z pominięciem elementów interaktywnych, np. odwołań do adresów

zewnętrznych.

Szablony są generowane automatycznie na podstawie definicji typów danych w plikach *.xsd

w następujący sposób. Szablony simple oraz plain są tworzone z oddzielonych spacjami

wartości pól oznaczonych w pliku *.xsd własnością fw:defaultFormatter=’true’. Jeśli pole

jest rekordem, wywoływany jest szablon dla typu tego pola. Szablon detailed jest tworzony ze

wszystkich pól rekordu, z wyjątkiem pól systemowych (oznaczonych własnością type=’ID’) i

ma postać dwukolumnowej tabeli z kolumnami nazwa pola, wartość pola. Jeśli pole jest

rekordem, wywoływany jest szablon dla typu tego pola i tworzone jest hipertekstowe

odwołanie pozwalające na przejście do ekranu szczegółów tego pola. Dodatkowo pod tabelką

znajduje się podsumowanie liczby publikacji powiązanych z rekordem oraz odwołanie

przenoszące do listy powiązanych publikacji. Poniżej znajduje się definicja typu affiliation

oraz wygenerowany dla niego szablony.

affiliation.xsd

<?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"

Page 51: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 5

1

>

<complexType name="affiliation">

<sequence>

<element name="id" type="ID"></element>

<element name="owner" type="ID"></element>

<element name="affiliationowner" type="ID"></element>

<element name="namePL" type="string" fw:defaultFormatter='true'

fw:required='true'>

<annotation><appinfo><fw:unique required="true"/></appinfo></annotation>

</element>

<element name="nameEN" type="string" fw:required='true'>

<annotation><appinfo><fw:unique required="true"/></appinfo></annotation>

</element>

<element name="accronymPL" type="string" fw:required='true'>

<annotation><appinfo><fw:unique required="true"/></appinfo></annotation>

</element>

<element name="accronymEN" type="string" fw:required='true'>

<annotation><appinfo><fw:unique required="true"/></appinfo></annotation>

</element>

<element ref="tns:affiliation"></element>

</sequence>

</complexType>

<element name="affiliation" type="tns:affiliation"/>

</schema>

simple.xhtml oraz plain.xhtml

<ui:composition xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:tns="http://ii.pw.edu.pl/lib" xmlns:t="http://myfaces.apache.org/tomahawk"

xmlns:h="http://java.sun.com/jsf/html" xmlns:a4j="http://richfaces.org/a4j"

xmlns:f="http://java.sun.com/jsf/core"

xmlns:fw="http://ii.pw.edu.pl/lib/framework"

xmlns:ui="http://java.sun.com/jsf/facelets">

<h:panelGroup>

<h:outputText value="#{affiliationentity.namePL} "/>

</h:panelGroup>

Page 52: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 5

2

</ui:composition>

detailed.xhtml

<ui:composition xmlns:xsd="http://www.w3.org/2001/XMLSchema"

xmlns:tns="http://ii.pw.edu.pl/lib" xmlns:t="http://myfaces.apache.org/tomahawk"

xmlns:h="http://java.sun.com/jsf/html" xmlns:a4j="http://richfaces.org/a4j"

xmlns:f="http://java.sun.com/jsf/core"

xmlns:fw="http://ii.pw.edu.pl/lib/framework"

xmlns:ui="http://java.sun.com/jsf/facelets">

<h:panelGrid columns="2" columnClasses="editLabel, editValue"

rowClasses="editRow">

<ui:decorate template="/pairNotEmpty.xhtml">

<ui:param name="label" value="#{messages['affiliation.namePL']}"/>

<ui:param name="val" value="#{affiliationentity.namePL}"/>

</ui:decorate>

<ui:decorate template="/pairNotEmpty.xhtml">

<ui:param name="label" value="#{messages['affiliation.nameEN']}"/>

<ui:param name="val" value="#{affiliationentity.nameEN}"/>

</ui:decorate>

<ui:decorate template="/pairNotEmpty.xhtml">

<ui:param name="label" value="#{messages['affiliation.accronymPL']}"/>

<ui:param name="val" value="#{affiliationentity.accronymPL}"/>

</ui:decorate>

<ui:decorate template="/pairNotEmpty.xhtml">

<ui:param name="label" value="#{messages['affiliation.accronymEN']}"/>

<ui:param name="val" value="#{affiliationentity.accronymEN}"/>

</ui:decorate>

<ui:decorate template="/pairNotEmpty.xhtml">

<ui:param name="label" value="#{messages['affiliation.affiliation']}"/>

<ui:param name="val" value="#{affiliationentity.affiliation}"/>

<ui:param name="type" value="affiliation"/>

</ui:decorate>

</h:panelGrid>

<h:commandLink action="#{genericAction.search}"

rendered="#{infoBean.getCount('.','publication') gt 0}">

Page 53: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 5

3

<f:setPropertyActionListener

value="#{searchEntity.clearAll}.:#{infoBean.entityId}"

target="#{searchEntity.advancedSearchPhrase}"/>

<f:setPropertyActionListener value="publication"

target="#{searchEntity.resultsType}"/>

<f:setPropertyActionListener value=""

target="#{searchEntity.lastQueryScreen}"/>

<h:outputText value="#{messages['info.showRelatedPublications']}"/>

<h:outputText value=" (#{infoBean.getCount('.','publication')})"/>

</h:commandLink>

</ui:composition>

Warto zwrócić uwagę na następujące rzeczy. Rekord, który ma być prezentowany za pomocą

szablonu jest dostępny w szablonie pod nazwą #{<type>entity}. W przypadku typu affiliation

jest to #{affiliationentity}. Szablon detailed intensywnie korzysta z szablonu pairNotEmpty,

którego zadaniem jest wyświetlenie pary (nazwa pola, wartość) dla danego pola w postaci

tabelarycznej pod warunkiem, że wartość pola nie jest pusta. Wartość pola jest wyświetlana w

sposób zależny od jego typu, ale możliwe jest też podanie własnego sposobu wyświetlania tej

wartości:

<ui:decorate template="/pairNotEmpty.xhtml">

<ui:param name="label" value="#{messages['article.url']}"></ui:param>

<ui:param name="val" value="#{articleentity.url}"></ui:param>

<ui:param name="customview" value="#{true}"></ui:param>

<ui:define name="view">

<a href="#{articleentity.url}">

<h:outputText value="#{articleentity.url}"/>

</a>

</ui:define>

</ui:decorate>

Nazwy pól oraz wszystkie statyczne nazwy, które powinny mieć inną wartość w zależności od

wybranego języka, są pobierane z obiektu #{messages} przez podanie odpowiedniego klucza

(np. #{messages['affiliation.namePL']}). Wartości kluczy dla poszczególnych języków

znajdują się w plikach messages_code.properties, gdzie code jest dwuznakowym kodem

kraju. Możliwe jest też modyfikowanie innych elementów szablonu w zależności od języka,

Page 54: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 5

4

np. wyświetlanie jednego z pól #{affiliationentity.namePL} lub #{affiliationentity.nameEN}.

<h:outputText value="#{affiliationentity.namePL}"

rendered="#{fn:toLowerCase(localeSelector.language)=='pl'"></h:outputText>

<h:outputText value="#{affiliationentity.nameEN}"

rendered="#{fn:toLowerCase(localeSelector.language)!='pl'"></h:outputText>

Zmodyfikowane szablony powinny być umieszczone w katalogu customized. Możliwe jest

także definiowanie szablonów innych niż trzy podstawowe i dynamiczna podmiana

używanego szablonu. W przypadku szablonu typu simple (używanego przy wyświetlaniu listy

wyników) można tego dokonać przez podanie parametru t=<template_name> w adresie url.

Szablony mogą być definiowane zarówno dla typów podstawowych jak i wirtualnych.

3.1.7 Sposoby sortowania wyników wyszukiwania

Metody sortowania wyników wyszukiwania są zdefiniowane w katalogu sorttemplates dla

danego typu i mogą być wybierane dynamicznie. Każde wyszukiwanie ma podany typ

zwracanych wyników (w #{searchEntity.resultsType}) i na podstawie tego typu wybierany jest

sposób sortowanie. Typ może być podstawowy lub wirtualny. Plik definiujący sposób

sortowania ma następujący format: (elementy w nawiasach klamrowych są opcjonalne)

{[oddzielona przycinkami lista typów do wyszukania]}

{*}nazwa pola 1 ; ascending/descending ; {lista warunkowych podstawień}

{*}nazwa pola 2 ; ascending/descending ; {lista warunkowych podstawień}

itd.

Lista typów do wyszukiwania jest obowiązkowa jedynie w przypadku typów wirtualnych.

Kolejne linie wskazują na kolejne klucze sortowania. Poniższy przykład definiuje sortowanie

autorów na podstawie ich nazwiska, a w przypadku tego samego nazwiska – na podstawie

imienia, a w przypadku tego samego imienia – na podstawie kodu jego afiliacji.

surname ; ascending

name ; ascending

affiliation-codePL ; ascending

Należy zauważyć, że przejście do pól w rekordach zagnieżdżonych odbywa się za pomocą

Page 55: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 5

5

znaku minus.

Opcjonalny znak * przed nazwą pola sortowania oznacza, że wartość tego pola ma być

nagłówkiem grupującym w wynikach sortowania. Możliwe jest wybranie kilku pól

tworzących nagłówek, a także wielopoziomowych nagłówków (liczba znaków * oznacza

wtedy poziom nagłówka). W poniższym przykładzie doktoraty są grupowane według.

instytucji dyplomującej (na podstawie afiliacji promotora), a w ramach instytucji – na według

promotora.

*supervisor-affiliation-namePL ; ascending

**supervisor-surname ; ascending

**supervisor-name ; ascending

defenseDate ; descending

author-surname ; ascending

author-name ; ascending

titlePL ; ascending

Page 56: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 5

6

titleEN ; ascending

Opcjonalne lista podstawień pozwala na zastąpienie wartości klucza sortowania (wartości

pola) inną wartością w zależności od wartości pola, np. gdy wartość pola jest pusta. Na

przykład, chcemy posortować książki wg. autorów i roku publikacji, a pozycje bez autorów

mają być na końcu listy. Standardowo wartości puste są wstawiane przed wartości niepuste.

W poniższym przykładzie zastępujemy takie wartości (puste i niewypełnione) frazą ŹŹŹ.

author-surname ; ascending ; null="ŹŹŹ" ; ""="ŹŹŹ"

author-name ; ascending

issueDate ; ascending

Page 57: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 5

7

Możliwe jest także podstawienie wartości z innego pola. W przykładzie poniżej sortujemy

książki według autorów i roku publikacji, a pozycje bez autorów zostaną wstawione na

podstawie wartości tytułu. Np. „Biblia” pojawi się wśród książek o autorach na ‘B’.

author-surname ; ascending ; null="ref:title" ; ""="ref:title"

author-name ; ascending

issueDate ; ascending

title ; ascending ; null="ŹŹŹ" ; ""="ŹŹŹ"

Podstawienia są rozpatrywane łańcuchowo. W przykładzie powyżej puste nazwisko jest

zastępowane tytułem, a jeśli ten tytuł będzie pusty, to zostanie zastąpiony frazą “ŹŹŹ”.

Wartości na liście podstawień są podawane w postaci wyrażeń regularnych. W poniższym

przykładzie artykuły z książek pojawią się przed publikacjami z czasopism.

book-bookseries-id ; ascending ; null="9_fromJournal " ; ".*"="0_fromBook"

title ; ascending

Page 58: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 5

8

3.1.8 Eksport/ import

W systemie zaimplementowany jest mechanizm pełnego eksportu i importu danych w

formacie XML, który działa dla danych każdego typu. Dodatkowo istnieje mechanizm

niepełnego eksportu do formatu csv oraz bibtex dla danych typu publikacja (artykuł, książka,

raport, doktorat). Wszystkie rodzaj eksportu dostępne są z poziomu interfejsu użytkownika, a

obsługa nowych formatów wymaga definicji nowych metod w klasie ItmAction. Obecnie

implementowane jest także wsparcie wymiany danych za pomocą protokołu OAI-PMH.

Eksport i import w formacie XML dostępny jest dodatkowo w postaci usług REST Web

Service, dostępnych pod następującymi adresami:

/RepoPW/seam/resource/rest/accesspoint/searchentities/{name}/{query}/{beg}/{end}

Wyszukuje rekordy typu {name}, które zawierają frazę {query}. Zwraca maksymalnie {end}-

{beg} rekordów zaczynając od rekordu nr {beg}. {query} jest wstawiane do pola

SearchEntity.searchPhrase (patrz rozdział 0)

/RepoPW/seam/resource/rest/accesspoint/search/{name}/{query}/{beg}/{end}

Jak wyżej, ale {query} jest podawane w postaci zaawansowanej. Patrz opis

SearchEntity.advancedSearchPhrase w rozdziale 0.

/RepoPW/seam/resource/rest/accesspoint/import

Wykonuje import danych przesłanych metodą POST w formacie application/xml. Dane muszą

być zakodowane w UTF-8 i podane w takiej samej postaci jaką generuje ekport.

Poniżej znajduje się xml wygenerowany przez żądanie podania listy języków o kodzie ‘en’:

/RepoPW/seam/resource/rest/accesspoint/search/language/@code='en'/0/10

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

<collection xmlns:ns2="http://ii.pw.edu.pl/lib">

<ns2:language>

<affiliationowner>IN</affiliationowner>

<owner>admin</owner>

<id>WEITI-bc90626b-ed19-490f-b9c3-daf0bffd1760</id>

<owner>admin</owner>

<affiliationowner>IN</affiliationowner>

Page 59: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 5

9

<code>en</code>

<namePL>angielski</namePL>

<nameEN>English</nameEN>

</ns2:language>

</collection>

3.1.9 Obliczanie oceny parametrycznej

Reguły oceny parametrycznej są definiowalne w języku drools.

Moduł oceny umożliwia nadawanie punktacji publikacjom celem ich późniejszego

raportowania. System umożliwia dwa tryby nadawania punktów

Ręczny – przez operatora

Automatyczny – przez system,

Automatyczny system nadawania punktów został zaprojektowany z myślą o częstych

zmianach prawnych regulujących zasady przyznawania punktów pracom naukowym. Za

pomocą technologii drools został wydzielony z kodu zostaw reguł punktujących, które mogą

być zmieniane bez konieczności przebudowania systemu przez osoby do tego przeszkolone.

Reguły zasilane są automatycznie informacjami niezbędnymi do podjęcia decyzji takimi jak:

Liczba punktów z listy ministerialnej (jeśli seria występuje na liście)

Typ publikacji

Język publikacji

Tytuł serii

I inne

Reguły punktowanie definiuje się w języku drools. Poniżej znajduje się dwie przykładowe

reguły nadawania punktów:

Page 60: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 6

0

– reguła punktująca artykuły na podstawie listy ministerialnej:

– reguła punktująca rozdziały z książek w językach głównych, nie będących materiałami

z konferencji:

Punkty nadawane są automatycznie przy próbie zapisu nowej publikacji o ile operator nie

podał ich ręcznie.

Punkty przechowywane są w postaci historycznej tzn. w wysokości ustalonej na podstawie

obowiązujących przepisów w momencie ich nadawania. W przyszłości do celów raportowych

rule ArticleFromJournal

no-loop

salience 100

when

article:Article(score==0,journalissue!=null,journalissue.journalseries!=null)

then article.setScore(article.getJournalissue().getJournalseries().getScore());

end

rule BookChapterNotSeriesMainLanguages

no-loop

salience 100

when

article:Article(score==0,book!=null, language.code in ("en","fr","de"),book.bookType in

("MONOGRAFIA","PODRECZNIK_AKADEMICKI"), book.bookseries==null

||book.bookseries.score==0,book.conference==null)

then

article.setScore(7);

end

Page 61: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 6

1

zostanie dodana możliwość przeliczenia punktów wg. aktualnego stanu prawnego.

Page 62: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 6

2

4 Model struktur danych

Model struktury danych ulega ewolucji wraz z wprowadzaniem kolejnych wersji systemu.

Dokumentacja jest generowana automatycznie na podstawie dokumentacji programistycznej

struktur danych.

Aktualna dokumentacja znajduje się zawsze w lokalizacji itm-ear-<nr wersji>\itm-war-<nr

wersji>.war\WEB-INF\doc\all.html

Struktura typu affiliation

Reprezentuje afiliacje autorów i pracowników

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

id ID Pole identyfikatora id

owner ID Pole identyfikatora Właściciel

rekordu

affiliationowner ID Pole identyfikatora Kolekcja

namePL string Zwykle pole tekstowe

Wymagane

Nazwa w języku

polskim

nameEN string Zwykle pole tekstowe

Wymagane

Nazwa w języku

angielskim

accronymPL string Zwykle pole tekstowe

Wymagane

Skrót w języku

polskim

accronymEN string Zwykle pole tekstowe

Wymagane

Skrót w języku

angielskim

affiliation Obiekt zlozony:

affiliation Afiliacja nadrzedna Pojedynczy

Struktura typu article

Reprezentuje publikacje w czasopiśmie lub rozdział w książce

Page 63: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 6

3

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

Alternatywnie( journalissue, book, )

journalissue

Obiekt

zlozony:

journalissue

Wydanie czasopisma Pojedynczy

book Obiekt

zlozony: book Książka Pojedynczy

id ID Pole identyfikatora id

recordStatus Pole wyboru: { partial,

completed, } Status rekordu

owner ID Pole identyfikatora Właściciel

rekordu

affiliationowner ID Pole identyfikatora Kolekcja

score int Zwykle pole tekstowe Punktacja

orginalType

Pole wyboru: {

ARTYKUL, ROZDZIAL,

KOMUNIKAT,

REFERAT, }

Typ z importu

author

Obiekt

zlozony:

author

Powtarzany Autor

title

Zwykle pole tekstowe

Wymagane Zgodne z

wyrazeniem: .*[^\.]$

Tytuł

language

Obiekt

zlozony:

language

Język Pojedynczy

Page 64: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 6

4

doi string Zwykle pole tekstowe DOI

url string Zwykle pole tekstowe URL

file Plik (i) Plik

collation

Zwykle pole tekstowe

Zgodne z wyrazeniem:

\d*-\d*$

Paginacja

abstractPL string Ogromne pole tekstowe Streszczenie w

języku polskim

abstractEN string Ogromne pole tekstowe

Streszczenie w

języku

angielskim

keywordsPL string Zwykle pole tekstowe

Słowa kluczowe

w języku

polskim

keywordsEN string Zwykle pole tekstowe

Słowa kluczowe

w języku

angielskim

Struktura typu author

Reprezentuje autora, pracownika lub dyplomanta

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

id ID Pole identyfikatora id

owner ID Pole identyfikatora Właściciel rekordu

affiliationowner ID Pole identyfikatora Kolekcja

active boolean Wartosc Logiczna Aktywny?

status Pole wyboru: {

PRACOWNIK, Status

Page 65: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 6

5

DOKTORANT,

DYPLOMANT,

EMERYT, GOSC,

ZEWNETRZNY, }

name string Zwykle pole tekstowe

Wymagane Imie

surname string Zwykle pole tekstowe

Wymagane Nazwisko

email string Zwykle pole tekstowe email

affiliation

Obiekt

zlozony:

affiliation

Afiliacja Pojedynczy

unit string Zwykle pole tekstowe

Akronim jednostki

organizacyjnej(np.

zakladu)

authorprofile

Obiekt

zlozony:

authorprofile

Profil Pojedynczy

Struktura typu authorprofile

Reprezentuje szczegółowe dane pracownika związane z jego stanowiskiem

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

id ID Pole

identyfikatora id

owner ID Pole

identyfikatora Właściciel rekordu

affiliationowner ID Pole

identyfikatora Kolekcja

Page 66: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 6

6

possitionPL string Zwykle pole

tekstowe

Stanowisko w języku

polskim

possitionEN string Zwykle pole

tekstowe

Stanowisko w języku

angielskim

prefixPL string Zwykle pole

tekstowe

Tekst przed nazwiskiem

w języku polskim

prefixEN string Zwykle pole

tekstowe

Tekst przed nazwiskiem

w języku angielskim

roomNo string Zwykle pole

tekstowe Pokoj

phone string Zwykle pole

tekstowe Telefon

homepage string Zwykle pole

tekstowe Strona domowa

consultations string Zwykle pole

tekstowe Konsultacje

supervisor

Obiekt

zlozony:

author

Promotor Pojedynczy

descriptionPL string Ogromne pole

tekstowe Opis w języku polskim

descriptionEN string Ogromne pole

tekstowe

Opis w języku

angielskim

file Plik (i) Zdjęcie

Struktura typu bachelor

Praca dyplomowa inżynierska

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

Page 67: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 6

7

informacje

id ID Pole identyfikatora id

owner ID Pole identyfikatora Właściciel rekordu

affiliationowner ID Pole identyfikatora Kolekcja

author

Obiekt

zlozony:

author

Powtarzany Autor

titlePL

Zwykle pole tekstowe

Wymagane Zgodne z

wyrazeniem: .*[^\.]$

Tytuł w języku

polskim

titleEN

Zwykle pole tekstowe

Zgodne z wyrazeniem:

.*[^\.]$

Tytuł w języku

angielskim

supervisor

Obiekt

zlozony:

author

Powtarzany Promotor

conductor

Obiekt

zlozony:

author

Kierownik Pojedynczy

affiliation string Zwykle pole tekstowe Jednostka

dyplomująca

language

Obiekt

zlozony:

language

Język Pojedynczy

status

Pole wyboru: { draft,

approoved, recensed,

finished, }

Status pracy

mark string Zwykle pole tekstowe Ocena

Page 68: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 6

8

issueDate string Zwykle pole tekstowe Data wydania

collation string Zwykle pole tekstowe Paginacja

file Plik (i) Plik

reviewers

Obiekt

zlozony:

author

Powtarzany Recenzent

project

Obiekt

zlozony:

project

Powtarzany Projekt

abstractPL string Ogromne pole tekstowe

Wymagane

Streszczenie w

języku polskim

abstractEN string Ogromne pole tekstowe

Wymagane

Streszczenie w

języku angielskim

keywordsPL string Zwykle pole tekstowe

Wymagane

Słowa kluczowe w

języku polskim

keywordsEN string Zwykle pole tekstowe

Wymagane

Słowa kluczowe w

języku angielskim

Struktura typu book reprezentuje książkę

Nazwa pola Typ Ograniczenia Znaczenie

Dodatkow

e

informacj

e

id ID Pole identyfikatora id

recordStatus Pole wyboru: { partial,

completed, }

Status

rekordu

Page 69: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 6

9

owner ID Pole identyfikatora Właściciel

rekordu

affiliationowner ID Pole identyfikatora Kolekcja

score int Zwykle pole tekstowe Punktacja

orginalType Pole wyboru: { KSIAZKA,

KONFERENCJA, }

Typ z

importu

bookType

Pole wyboru: {

MONOGRAFIA,

PODRECZNIK_AKADEMICK

I, SKRYPT, }

Rodzaj

publikacji

authorsRole Pole wyboru: { editor, author, } Rola autora

author

Obiekt

zlozony:

author

Powtarzany Autor

title

Zwykle pole tekstowe

Wymagane Zgodne z

wyrazeniem: .*[^\.]$

Tytuł

corporateauthor

Obiekt

zlozony:

corporateautho

r

Powtarzany

Autor

intytucjonaln

y

language

Obiekt

zlozony:

language

Powtarzany Język

issueDate int Zwykle pole tekstowe

Wymagane Data wydania

publisher string Zwykle pole tekstowe Wydawca

publisherLocatio

n string Zwykle pole tekstowe

Adres

Wydawcy

Page 70: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 7

0

collation string Zwykle pole tekstowe Paginacja

isbn Zwykle pole tekstowe Zgodne z

wyrazeniem: [\d-]*$ ISBN

doi string Zwykle pole tekstowe DOI

url string Zwykle pole tekstowe URL

file Plik (i) Plik

cover Plik (i) Okładka

conference

Obiekt

zlozony:

conference

Konferencja Pojedynczy

bookseries

Obiekt

zlozony:

bookseries

Seria książkowa Pojedynczy

vol string Zwykle pole tekstowe Tom

no string Zwykle pole tekstowe Nr

abstractPL string Ogromne pole tekstowe

Streszczenie

w języku

polskim

abstractEN string Ogromne pole tekstowe

Streszczenie

w języku

angielskim

keywordsPL string Zwykle pole tekstowe

Słowa

kluczowe w

języku

polskim

keywordsEN string Zwykle pole tekstowe

Słowa

kluczowe w

języku

Page 71: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 7

1

angielskim

Struktura typu bookseries reprezentuje serię książkową

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

id ID Pole identyfikatora id

owner ID Pole identyfikatora Właściciel

rekordu

affiliationowner ID Pole identyfikatora Kolekcja

author Obiekt zlozony:

author Powtarzany Autor

shortName string Zwykle pole

tekstowe Skrócona nazwa

seriesTitle string

Zwykle pole

tekstowe

Wymagane

Tytuł serii

issn string Zwykle pole

tekstowe ISSN

corporateauthor Obiekt zlozony:

corporateauthor Powtarzany

Autor

instytucjonalny

language Obiekt zlozony:

language Powtarzany Język

score int Zwykle pole

tekstowe Punktacja

Page 72: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 7

2

impactFactor double Zwykle pole

tekstowe Impact Factor

nameOfLists Pole wyboru: { A,

B, C, D, H, } Lista

Struktura typu conference

Reprezentuje dane o konferencji

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

id ID Pole identyfikatora id

owner ID Pole identyfikatora Właściciel

rekordu

affiliationowner ID Pole identyfikatora Kolekcja

shortName string Zwykle pole tekstowe

Wymagane Skrócona nazwa

fullName string Zwykle pole tekstowe

Wymagane Pełna nazwa

venue string Zwykle pole tekstowe

Wymagane Lokalizacja

date string Zwykle pole tekstowe

Wymagane Rok

Struktura typu corporateauthor

Autor będący instytucją, np. PW

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

Page 73: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 7

3

id ID Pole identyfikatora id

owner ID Pole identyfikatora Właściciel

rekordu

affiliationowner ID Pole identyfikatora Kolekcja

fullName string Zwykle pole tekstowe

Wymagane Pełna nazwa

accronym string Zwykle pole tekstowe

Wymagane Skrót

otherForm string Zwykle pole tekstowe Inne formy

Struktura typu file

Dane binarne (Plik)

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

id ID Pole

identyfikatora Id

owner ID Pole

identyfikatora

Właściciel

rekordu

affiliationowner ID Pole

identyfikatora Kolekcja

comment string Zwykle pole

tekstowe Komentarz

permission Obiekt zlozony:

permission Powtarzany Prawa dostępu

Page 74: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 7

4

Struktura typu import

Wirtualna struktura importu

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

name string Zwykle pole

tekstowe

article Obiekt zlozony: article Powtarzany

book Obiekt zlozony: book Powtarzany

report Obiekt zlozony: report Powtarzany

translation Obiekt zlozony:

translation Powtarzany

author Obiekt zlozony: author Powtarzany

bachelor Obiekt zlozony: bachelor Powtarzany

master Obiekt zlozony: master Powtarzany

phd Obiekt zlozony: phd Powtarzany

language Obiekt zlozony:

language Powtarzany

journalseries Obiekt zlozony:

journalseries Powtarzany

Struktura typu journaledition

Edycja czasopisma

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

Alternatywnie( journalseries, bookseries, )

journalseries Obiekt zlozony:

journalseries Czasopismo Pojedynczy

Page 75: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 7

5

bookseries Obiekt zlozony:

bookseries Seria książkowa Pojedynczy

id ID Pole identyfikatora id

recordStatus Pole wyboru: { partial,

completed, }

Status

rekordu

owner ID Pole identyfikatora Właściciel

rekordu

affiliationowner ID Pole identyfikatora Kolekcja

score int Zwykle pole tekstowe Punktacja

orginalType Pole wyboru: {

RED_CZASOPIS, }

Typ z

importu

author Obiekt zlozony:

author Nazwisko edytora Pojedynczy

function string Zwykle pole tekstowe

Wymagane Funkcja

vol string Zwykle pole tekstowe Tom

yearfrom int Zwykle pole tekstowe Rok od

yearto int Zwykle pole tekstowe Rok do

Struktura typu journalissue

Wydanie czasopisma

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

id ID Pole identyfikatora id

owner ID Pole identyfikatora Właściciel

rekordu

Page 76: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 7

6

affiliationowner ID Pole identyfikatora Kolekcja

journalseries Obiekt zlozony:

journalseries

Tytuł

czasopisma/serii Pojedynczy

vol string Zwykle pole

tekstowe Tom

no string Zwykle pole

tekstowe Nr

issueDate int Zwykle pole

tekstowe Data wydania

conference Obiekt zlozony:

conference Konferencja Pojedynczy

Struktura typu journalseries

Seria czasopisma

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

id ID Pole identyfikatora id

owner ID Pole identyfikatora Właściciel

rekordu

affiliationowner ID Pole identyfikatora Kolekcja

shortName string Zwykle pole tekstowe Skrócona

nazwa

fullName string Zwykle pole tekstowe

Wymagane Pełna nazwa

issn string Zwykle pole tekstowe ISSN

publisher string Zwykle pole tekstowe

Wymagane Wydawca

website string Zwykle pole tekstowe Strona

Page 77: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 7

7

domowa

language Obiekt zlozony:

language Powtarzany Język

score int Zwykle pole tekstowe Punktacja

impactFactor double Zwykle pole tekstowe Impact Factor

nameOfLists Pole wyboru: { A, B, C,

D, H, } Lista

Struktura typu language

Język

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

id ID Pole identyfikatora id

owner ID Pole identyfikatora Właściciel rekordu

affiliationowner ID Pole identyfikatora Kolekcja

code string Zwykle pole tekstowe

Wymagane Kod

namePL string Zwykle pole tekstowe

Wymagane

Nazwa w języku

polskim

nameEN string Zwykle pole tekstowe

Wymagane

Nazwa w języku

angielskim

Struktura typu master

Praca dyplomowa magisterska

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

id ID Pole identyfikatora id

owner ID Pole identyfikatora Właściciel rekordu

Page 78: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 7

8

affiliationowner ID Pole identyfikatora Kolekcja

author

Obiekt

zlozony:

author

Powtarzany Autor

titlePL

Zwykle pole tekstowe

Wymagane Zgodne z

wyrazeniem: .*[^\.]$

Tytuł w języku

polskim

titleEN

Zwykle pole tekstowe

Zgodne z wyrazeniem:

.*[^\.]$

Tytuł w języku

angielskim

supervisor

Obiekt

zlozony:

author

Promotor Pojedynczy

conductor

Obiekt

zlozony:

author

Kierownik Pojedynczy

affiliation string Zwykle pole tekstowe Jednostka

dyplomująca

language

Obiekt

zlozony:

language

Język Pojedynczy

status

Pole wyboru: { draft,

approoved, recensed,

finished, }

Status pracy

mark string Zwykle pole tekstowe Ocena

issueDate string Zwykle pole tekstowe Data wydania

collation string Zwykle pole tekstowe Paginacja

file Plik (i) Plik

Page 79: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 7

9

reviewers

Obiekt

zlozony:

author

Powtarzany Recenzent

project

Obiekt

zlozony:

project

Powtarzany Projekt

abstractPL string Ogromne pole tekstowe

Wymagane

Streszczenie w

języku polskim

abstractEN string Ogromne pole tekstowe

Wymagane

Streszczenie w

języku angielskim

keywordsPL string Zwykle pole tekstowe

Wymagane

Słowa kluczowe w

języku polskim

keywordsEN string Zwykle pole tekstowe

Wymagane

Słowa kluczowe w

języku angielskim

Struktura typu permission

Uprawnienia dostepu do plikow

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

id ID Pole identyfikatora Id

owner ID Pole identyfikatora Właściciel rekordu

affiliationowner ID Pole identyfikatora Afiliacyjny

właściciel rekordu

access Pole wyboru: { PRIVATE,

PUBLIC, PROTECTED, } Ograniczenie

affiliation string Zwykle pole tekstowe Dla Afiliacji

dateFrom date Data Wazne od

Struktura typu phd

Page 80: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 8

0

Doktorat

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

id ID Pole identyfikatora id

owner ID Pole identyfikatora Właściciel

rekordu

affiliationowner ID Pole identyfikatora Kolekcja

author

Obiekt

zlozony:

author

Autor Pojedynczy

titlePL

Zwykle pole tekstowe

Wymagane Zgodne z

wyrazeniem: .*[^\.]$

Tytuł w języku

polskim

titleEN

Zwykle pole tekstowe

Zgodne z wyrazeniem:

.*[^\.]$

Tytuł w języku

angielskim

supervisor

Obiekt

zlozony:

author

Powtarzany Promotor

affiliation string Zwykle pole tekstowe Jednostka

dyplomująca

language

Obiekt

zlozony:

language

Język Pojedynczy

status

Pole wyboru: { draft,

approoved, recensed,

finished, }

Status pracy

startDate string Zwykle pole tekstowe Data rozpoczęcia

defenseDate string Zwykle pole tekstowe Data obrony

Page 81: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 8

1

endDate string Zwykle pole tekstowe Data zakończenia

honored boolean Wartosc Logiczna Wyróżnienie

collation string Zwykle pole tekstowe Paginacja

file Plik (i) Plik

externalreviewers

Obiekt

zlozony:

author

Powtarzany Recenzent zew.

internalreviewers

Obiekt

zlozony:

author

Powtarzany Recenzent wew.

classPKT string Zwykle pole tekstowe Klasyfikacja PKT

classOPI string Zwykle pole tekstowe Klasyfikacja KBN

classUE string Zwykle pole tekstowe Klasyfikacja

europejska

project

Obiekt

zlozony:

project

Powtarzany Projekt

abstractPL string Ogromne pole tekstowe

Wymagane

Streszczenie w

języku polskim

abstractEN string Ogromne pole tekstowe

Wymagane

Streszczenie w

języku angielskim

keywordsPL string Zwykle pole tekstowe

Wymagane

Słowa kluczowe

w języku polskim

keywordsEN string Zwykle pole tekstowe

Wymagane

Słowa kluczowe

w języku

angielskim

Page 82: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 8

2

Struktura typu project

Projekt prowadzony przez uczelnie

Nazwa pola Typ Ograniczenia Znaczenie

Dodatko

we

informac

je

id ID Pole identyfikatora id

owner ID Pole identyfikatora Właściciel

rekordu

affiliationowner ID Pole identyfikatora Kolekcja

status

Pole wyboru: {

WPRZYGOTOWANIU,

ZAAKCEPTOWANY,

ODRZUCONY,

WREALIZACJI,

PRZERWANY,

ZAKONCZONY, }

Status

projektu

projecttype Obiekt zlozony:

projecttype Typ projektu Pojedynczy

executive Obiekt zlozony:

affiliation Powtarzany

Jednostka

wykonująca

na Wydziale

otherexecutive Obiekt zlozony:

corporateauthor Powtarzany

Jednostka

wykonująca

poza

Page 83: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 8

3

Wydziałem

titlePL string Zwykle pole tekstowe

Wymagane

Tutuł w

języku

polskim

titleEN string Zwykle pole tekstowe

Wymagane

Tytuł w

języku

angielskim

accronym string Zwykle pole tekstowe

Wymagane Skrót

contractNo string Zwykle pole tekstowe Numer

kontraktu

contract2No string Zwykle pole tekstowe

Numer

umowy

(pracy)

decisionNo string Zwykle pole tekstowe Numer

decyzji

beforeAnnex Obiekt zlozony:

project Przed aneksowaniem Pojedynczy

startDate date Data Data

rozpoczęcia

plannedEndDate date Data

Planowana

data

zakończenia

endDate date Data

Faktyczna

data

zakończenia

type

Pole wyboru: {

BADAWCZYPODSTAWOW

Y,

Rodzaj

projektu

Page 84: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 8

4

BADAWCZYROZWOJOWY,

CELOWY, EDUKACYJNY,

INWESTYCYJNYAPARATU

ROWY,

INWESTYCYJNYBUDOWL

ANY, SPECJALNY,

WDROZENIOWY,

EKSPERTYZA, OPINIA, }

cooperationtype

Pole wyboru: {

MIEDZYNARODOWY,

KRAJOWY, }

Rodzaj

współpracy

leader Obiekt zlozony:

author Kierownik Pojedynczy

coworker Obiekt zlozony:

author Powtarzany Wykonawcy

contact string Ogromne pole tekstowe

Wymagane

Dane

kontaktowe

do projektu

contractingAutho

rity

Obiekt zlozony:

corporateauthor Instytucja zlecająca Pojedynczy

partner Obiekt zlozony:

affiliation Powtarzany

Partnerzy,

Wykonawcy

instytucjonal

ni,

Członkowie

sieci/konsorc

jum

coordinator string Zwykle pole tekstowe Koordynator

projecttask Obiekt zlozony: Powtarzany Plan

Page 85: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 8

5

projecttask finansowy

projectfinancialr

eport

Obiekt zlozony:

projectfinancialr

eport

Powtarzany

Okres

sprawozdawc

zy

plannedBudget decimal Zwykle pole tekstowe Budżet

planowany

budget decimal Zwykle pole tekstowe Budżet

faktyczny

registrationNum

ber string Srednie pole tekstowe

Numer

ewidencyjny

invoiceNumber string Srednie pole tekstowe Numer

faktury

harmonogram Plik (i) Harmonogra

m

keywordsPL string Zwykle pole tekstowe

Wymagane

Słowa

kluczowe w

języku

polskim

keywordsEN string Zwykle pole tekstowe

Wymagane

Słowa

kluczowe w

języku

angielskim

abstractPL string Ogromne pole tekstowe

Wymagane

Opis w

języku

polskim

abstractEN string Ogromne pole tekstowe

Wymagane

Opis w

języku

angielskim

usageOffer string Ogromne pole tekstowe Oferta

Page 86: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 8

6

Wymagane wykorzystani

a wyników

usageDomain Pole wyboru: { IND, ADM,

BUS, SCI, }

Obszar

zastosowań

comments string Ogromne pole tekstowe

Wymagane Uwagi

url string Srednie pole tekstowe

URL do

strony

projektu

logo Plik (i) Logo

mainFiles Plik (i) Pliki

merytoryczne

financialFiles Plik (i) Umowy/anek

sy

previousProject Obiekt zlozony:

project Powtarzany

Projekt

poprzedzając

y

parallelProject Obiekt zlozony:

project Powtarzany

Projekt

równoległy

Struktura typu projectfinancialreport

Raport finansowy dla projektu

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

id ID Pole identyfikatora id

Page 87: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 8

7

owner ID Pole identyfikatora Właściciel rekordu

affiliationowner ID Pole identyfikatora Kolekcja

startDate date Data Początek okresu

rozliczniowego

endDate date Data Koniec okresu

rozliczeniowego

plannedBudget decimal Zwykle pole

tekstowe Przyznano

budget decimal Zwykle pole

tekstowe Wydano

financialFiles Plik (i) Pliki finansowo-

organizacyjne

comment string Ogromne pole

tekstowe Opis

Struktura typu projecttask

Zadanie w obrębie projektu

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

id ID Pole identyfikatora id

owner ID Pole identyfikatora Właściciel

rekordu

affiliationowner ID Pole identyfikatora Kolekcja

name string Zwykle pole tekstowe

Wymagane Nazwa zadania

description string Ogromne pole tekstowe Opis zadania

startDate date Data Data

rozpoczęcia

Page 88: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 8

8

endDate date Data Data

zakończenia

budget decimal Zwykle pole tekstowe Kwota

Struktura typu projecttype

Typ projektu

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

id ID Pole identyfikatora id

owner ID Pole identyfikatora Właściciel

rekordu

affiliationowner ID Pole identyfikatora Kolekcja

name string Zwykle pole tekstowe

Wymagane

Nazwa typu

projektu

projecttype Obiekt zlozony:

projecttype Typ nadrzędny Pojedynczy

Struktura typu report

Raport instytutowy

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

id ID Pole identyfikatora id

Page 89: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 8

9

recordStatus Pole wyboru: { partial,

completed, } Status rekordu

owner ID Pole identyfikatora Właściciel

rekordu

affiliationowner ID Pole identyfikatora Kolekcja

score int Zwykle pole tekstowe Punktacja

orginalType Pole wyboru: {

RAPORT, } Typ z importu

author Obiekt zlozony:

author Powtarzany Autor

authorsRole Pole wyboru: { editor,

author, } Rola autora

title

Zwykle pole tekstowe

Wymagane Minimum:

5Znaki Zgodne z

wyrazeniem: .*[^\.]$

Tutuł

publicationDate int Zwykle pole tekstowe Data publikacji

collation

Zwykle pole tekstowe

Zgodne z wyrazeniem:

\d*$

Paginacja

doi string Zwykle pole tekstowe DOI

repNo string Zwykle pole tekstowe Nr raportu

corporateauthor Obiekt zlozony:

corporateauthor Powtarzany

Autor

instytucjonalny

file Plik (i) Plik

language Obiekt zlozony:

language Powtarzany Język

abstractPL string Ogromne pole tekstowe Streszczenie w

Page 90: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 9

0

języku polskim

abstractEN string Ogromne pole tekstowe Streszczenie w

języku angielskim

keywordsPL string Zwykle pole tekstowe Słowa kluczowe

w języku polskim

keywordsEN string Zwykle pole tekstowe

Słowa kluczowe

w języku

angielskim

Struktura typu translation

Tłumaczenie książki

Nazwa pola Typ Ograniczenia Znaczenie

Dodatkow

e

informacj

e

id ID Pole identyfikatora id

recordStatus Pole wyboru: { partial,

completed, } Status rekordu

owner ID Pole identyfikatora Właściciel

rekordu

affiliationowner ID Pole identyfikatora Kolekcja

orginalType Pole wyboru: {

TLUMACZENIE, } Typ z importu

bookType

Pole wyboru: {

MONOGRAFIA,

PODRECZNIK_AKADEMIC

KI, SKRYPT, }

Rodzaj

książki

book Obiekt

zlozony: book Książka Pojedynczy

Page 91: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 9

1

authorsRole Pole wyboru: { translator, } Rola autora

author

Obiekt

zlozony:

author

Powtarzany Autor

title

Zwykle pole tekstowe

Wymagane Zgodne z

wyrazeniem: .*[^\.]$

Tytuł

corporateauthor

Obiekt

zlozony:

corporateautho

r

Powtarzany

Autor

instytucjonaln

y

language

Obiekt

zlozony:

language

Język Pojedynczy

issueDate int Zwykle pole tekstowe

Wymagane Data wydania

publisher string Zwykle pole tekstowe Wydawca

publisherLocatio

n string Zwykle pole tekstowe

Adres

Wydawcy

collation string Zwykle pole tekstowe Paginacja

isbn string Zwykle pole tekstowe ISBN

doi string Zwykle pole tekstowe DOI

URL string Zwykle pole tekstowe

file Plik (i) Plik

conference

Obiekt

zlozony:

conference

Konferencja Pojedynczy

bookseries Obiekt Seria książkowa Pojedynczy

Page 92: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 9

2

zlozony:

bookseries

vol string Zwykle pole tekstowe Tom

no string Zwykle pole tekstowe Nr

abstractPL string Ogromne pole tekstowe

Streszczenie

w języku

polskim

abstractEN string Ogromne pole tekstowe

Streszczenie

w języku

angielskim

keywordsPL string Zwykle pole tekstowe

Słowa

kluczowe w

języku

polskim

keywordsEN string Zwykle pole tekstowe

Słowa

kluczowe w

języku

angielskim

Struktura typu affiliation

Struktura ta reprezentuje afiliacje autorów i pracowników.

Nazwa pola Typ Ograniczenia Znaczenie Dodatkowe

informacje

Id ID Pole identyfikatora Id

Owner ID Pole identyfikatora Właściciel

rekordu

affiliationowner ID Pole identyfikatora Kolekcja

namePL string Zwykle pole tekstowe Nazwa w języku

Page 93: Podręcznik Administratora - en.omegapsir.ioen.omegapsir.io/download/docs/dokumentacja_systemowa/Repozytori… · Rysunek 2 Relacje pomiędzy obiektami AUTOR PRACOWNIK DYPLOMANT STUDENT

Pag

e 9

3

Wymagane polskim

nameEN string Zwykle pole tekstowe

Wymagane

Nazwa w języku

angielskim

accronymPL string Zwykle pole tekstowe

Wymagane

Skrót w języku

polskim

accronymEN string Zwykle pole tekstowe

Wymagane

Skrót w języku

angielskim

affiliation Obiekt zlozony:

affiliation Afiliacja nadrzedna Pojedynczy