Šiame dokumente yra pristatomas Vytauto Didžiojo universiteto (VDU) mokslo valdymo sistemos (CRIS) sprendimas, kurio pagrindu yra sukurta Lietuvos sveikatos mokslų universiteto (LSMU) mokslo valdymos sistema.
Tikslai, kurių siekiama taikant Vytauto Didžiojo universiteto (toliau VDU arba Universitetas) taikant mokslo valdymo sistemą:
Daugiau informacijos apie tikslus: Mokslo produkcijos ir veiklos kaupimo, išsaugojimo bei sklaidos modelis
Programinės priemonės, kurių pagalba yra siekiama tikslų:
Nr. | Programinis produktas | Paskirtis | Licencija |
---|---|---|---|
1. | Debian 11 | Debian GNU/Linux - tai sukurta Debian projekto bendruomenės Linux distribucija, sudaryta iš nemokamos ir atvirojo kodo programinės įrangos | Apie Debian naudojamas licencijas |
2. | Apache Tomcat 9 | DSpace-CRIS backend (REST API) aplikacijos JEE talpiklis (atvirasis kodas) | Apache License, Version 2.0 |
3. | Apache Solr 11 | Indeksavimo ir paieškos variklis (atvirasis kodas) | Apache License, Version 2.0 |
4. | PostgreSQL 15 | Reliacinė duomenų bazių valdymo sistema (atvirasis kodas) | PostgreSQL License (analogiška MIT ir BSD) |
5. | Node.js 18 | DSpace-CRIS frontend serverio skriptinimo platforma (atvirasis kodas) | MIT License |
6. | Yarn 1.X | DSpace-CRIS frontend serverio Angular projekto valdiklis (atvirasis kodas) | BSD License. Apie komponentų licencijas |
7. | Angular 13 | DSpace-CRIS frontend serverio WEB programinės įrangos karkasas (atvirasis kodas) | MIT License |
8. | PM2 | DSpace-CRIS frontend serverio procesų valdiklis (atvirasis kodas) | AGPLv3 License |
9. | Apache2 | WEB serveris (atvirasis kodas) | Apache License, Version 2.0 |
10. | PHP 8.1 - FPM | WEB PHP kompiliatorius / procesų valdiklis (atvirasis kodas) | PHP: PHP License v3.01 (analogiška BSD), PHP-FPM: GPL License |
11. | JAVA SDK 11 | Java programų kompiliatorius / bibliotekos (atvirasis kodas) | GPL License |
12. | Apache FOP 2.7 | Išvedimo formatavimas naudojant XSL-FO (atvirasis kodas) | Apache License, Version 2.0 |
13. | Apache Maven 3.X | Backend serverio aplikacijos projekto valdiklis (atvirasis kodas) | Apache License, Version 2.0 |
14. | Apache Ant 1.X | Backend serverio aplikacijos vykdomojo modulio kompiliatorius (atvirasis kodas) | Apache License, Version 2.0 |
15. | GeoLite2 | Geolokacijos DB pagal IP adresus nemokama versija (MaxMind) | GeoLite2 end-user license agreement |
16. | Saxon HE 9.8 | XSL 2.0 procesorius, nemokama versija (Saxon, atvirasis kodas) | MPL-2.0 License |
17. | KUSoftas CMS 5 | Turinio valdymo sistema, nemokama versija (KUSoftas) | License Agreement (Education edition) |
VDU mokslo valdymo sistemą sudaro tokie komponentai:
Sistema susideda iš dviejų serverinių programinių komponentų: Backend ir Frontend, kurie gali funkcionuoti tiek viename serveryje, tiek atskiruose. Vartotojas savo kompiuterio interneto naršyklėje siunčia HTTP užklausą (HTTP Request), kurią priima CRIS Frontend serveris. Frontend serveris, naudodamas REST API, teikia užklausas į CRIS Backend serverį, o gavęs informaciją, suformuoja HTML failą ir siunčiu jį vartotojo interneto naršyklei kaip HTTP atsakymo (HTTP Response) turinį.
Trečiųjų šalių ar Universiteto informacinės sistemos gali naudotis visomis CRIS funkcijomis ir (ar) duomenimis, tam pasitelkiant CRIS REST API. Sistema yra 100 proc. atviros architektūros, tačiau tai nereiškia, kad sistema yra vieša. Prieigos teisės yra visiškai kontroliuojamos.
Sistema teikia viešą prieigą prie metaduomenų OAI-PMH API, kuriuos gali naudoti išoriniai OAI-PMH agregatoriai, pvz.: eLABa, OpenAIRE ir kt.
Daugiau informacijos:
Į pradžiąDSpace-CRIS Backend yra JAVA EE (Enteprise Edition) aplikacija (funkcinis sprendimas realizuotas JAVA programavimo kalba), kuri funkcionuoja Apache Tomcat Java EE talpiklyje. Tai yra WEB serveris, kuris užtikrina visų Backend funkcijų pasiekiamumą per REST API. Autentifikavimas yra užtikrinamas lokaliai arba LDAP (VDU atvejis), Shibboleth ir kt. autentifikavimo sistemomis. Prieiga prie funkcijų ir duomenų (mokslo vienetai, metaduomenys ir failai) autorizacija atliekama vartotojų grupių (galima hierarchija) ir vartotojų kombinacijomis. Prieigos prie duomenų autorizacijai gali būti naudojamas ribojimas (embargas) iki tam tikros datos. Prisijungę vartotojai automatiškai gauna numatytą pagal prisijungimo būdą autorizacijos grupę, pagal kurią gali būti atliekama autorizacija. Prisijungimas iš tam tikrų IP adresų ar IP adresų zonų taip pat gali generuoti papildomas vartotojų autorizacijos grupes prisjungusiam varotojui ir pagal tai gali būti atliekama autorizacija intraneto vartotojams, pvz. VDU tinkle. Yra galimybė perimti vartotojui priskirtas grupes iš LADP.
DSpace-CRIS Backend naudoja PostgreSQL RDBVS. Aplikacija tam naudoja hibernate technologiją, kai programose yra naudojama objektinė duomenų forma, o patys objektai yra transliuojami į SQL duomenų lenteles ir SQL užklausas PostgreSQL RDBVS-e.
Sistema naudoja Apache Solr indeksavimo ir paieškos variklį. Naudojant Discovery posistemę, kuri grįsta Apache Solr, galima labai lanksčiai kurti indeksavimo ir paieškos konfigūracijas, kurti paieškos laukus, filtravimo laukus, atvėrimo (discovery) sąrašus, rodykles ir kt.
Mokslo vienetų metaduomenų ir dokumentų įvedimo formos yra konfigūruojamos XML formatu, o jų pateikimo procesas gali būti valdomas nustatant pateikimo etapus (workflow). Autoriui pateikus metaduomenis, dokumentą procesą administruojantys darbuotojai gauna informaciją apie tai el. paštu. Po to, administruojantis (-ys) darbuotojas gali prisiskirti pateiktos informacijos tvarkymą sau, redaguoti ir papildyti autoriaus pateiktą informaciją, publikacijos pateikimą patvirtinti ar atmesti, nurodant atmetimo priežastį. Autorius el. paštu gauna pranešimą apie pateiktos publikacijos peržiūros procesą ir rezultatus. Informacijos pateikimo procese gali būti numatyta keletas formų, kurios gali būti autorizuojamos vartotojams ar vartotojų grupėms. Formos laukai gali būti įvairių tipų, gali būti naudojami raktas / reikšmė (key / pair) sąrašai reikšmėms pasirinkti, hierarchiniai kontroliuojami žodynai, susiję mokslo vienetai, ORCID ir kt.
Įvedimo formos gali būti dviejų lygių, kada kai kuriems įvedimo laukams yra atidaroma papildoma forma (pop-up) ir įvedama keletas laukų, kurie susiję su pagrindinės formos lauku, pvz. autoriaus prieskyra: padalinio pavadinimas, padalinio kodas, šalis, indėlio dalis, ūkio subjektas. Tokiu būdu gali būti įvedami / redaguojami susiję metaduomenys lentele.
Įvedant galima susieti mokslo vienetus tarpusavyje, pvz., susieti publikacijos autorių su mokslininko profiliu, afiliaciją su padaliniu. Šiuo atveju vedant autoriaus pavardę, vardą ar dalį teksto automatiškai pateikiamas sistemoje surastų profilių sąrašas, iš kurio galima pasirinkti tinkamą susieti profilį.
Įvedimo formose yra galimybė generuoti Creative Commons (CC) licencijas tam naudojant specialų CC licencijų generatorių.
Autoriai gali patys redaguoti savo profilius ar profilių atskiras dalis (pagal suteiktą autorizaciją). Jungiantis yra tikrinamas prisijungusio vartotojo el. pašto adresas ir lyginamas su el. pašto adresu profilyje. Jeigu jie sutampa – vartotojui suteikiama teisė redaguoti savo profilį. Sąsają tarp prisijungimo ir profilio gali nustatyti ir sistemos administratorius rankiniu būdu.
Duomenys gali būti importuojami, eksportuojami. Yra galimybė tiesiogiai (on-line) importuoti metaduomenis iš išorinių sistemų:
Atvaizdavimas yra konfigūruojamas. Visi atvaizduojamų mokslo vienetų skyriai (tab), sritys (box), antraštės (label) ir laukai yra konfigūruojami matriciniu būdu, tam naudojant eilutes ir stulpelius. Laukams atvaizduoti yra naudojami specialūs programiniai vaizduokliai (renderer), kurie konfigūruojami ir programuojami Frontend dalyje. Visa informacija apie atvaizdavimą yra konfigūruojama specialiame Excel faile, iš kurio vėliau yra diegiama į sistemą. Galima skyrių ir sričių prieigos autorizacija vartotojams ir vartotojų grupėms.
Sistemoje galima konfigūruoti įvairias mokslo vienetų ir jų sąrašų ataskaitas, citavimo ir eksporto formatus įvairiais būdais:
Frontend serveris yra WEB aplikacija (analogiška Apache Web), priimanti ir aptarnaujanti vartotojų HTTP užklausas, kurias jie siunčia mokslo valdymo sistemai iš savo interneto naršyklių. Frontend serveris naudoja Node.js kaip skriptinimo aplinką (analogiška PHP). Kliento logikai programuoti yra naudojamas Angular karkasas kuriuo parengtos programos kartu su HTML ir CSS yra siunčiamos į vartotojo interneto naršyklę. Yra galimybė susikurti savo atskirą institucijos temą (sąsajos atvaizdavimo būdą). Frontend serveris komunikuoja su Backend serveriu per REST API realizuodamas mokslo valdymo sistemos funkcionalumą ir jį pateikdamas vartotojui.
Frontend turi savo cache mechanizmą. Yra BOT cache (skirtas interneto indeksavimo sistemoms, pvz. Google) ir Anonymous cache (skirtas neregistruotiems vartotojams).
Sistema turi pranešimų failus anglų ir lietuvių kalbomis (techniškai kalbų kiekis nėra ribojamas).
Frontend procesų kiekis gali būti valdomas PM2 monitoriaus pagalba. Kiekvienas procesas gali naudoti atskirą virtualų procesorių.
Į pradžiąVisas DSpace-CRIS funkcionalumas yra realizuotas ir prieinamas per REST API. Duomenų apsikeitimo formatas yra JSON. Prieiga prie REST API yra: https://portalcris.vdu.lt/server. Autorizacijai yra naudojami Bearer token-ai, kurie yra gaunami prisijungus (siunčiamas kaip Authorization Header) arba tokį token-ą galima susikurti CRIS vartotojo srityje. REST API naudojimas gali būti ribojamas atsižvelgiant IP adresus.
REST API naudojami HTTP Request metodai:
PATCH metodas sudaro galimybę valdyti objekto turinį dalimis:
REST API pavyzdys: nuskaityti įrašo 20.500.12259/57984 meaduomenis: https://portalcris.vdu.lt/server/api/core/items/5d9ace22-691c-4051-bbb4-d918748c5838.
Į pradžiąCRIS OAI-PMH yra prieinamas URL adresu https://portalcris.vdu.lt/server/oai. Jį sudaro tokie kontekstai:
Įrašo metaduomenų konvertavimas į OAI-PMH yra kontroliuojamas XSL transformacijomis ir gali būti redaguojamas. Įrašų identifikatorių struktūra yra: oai:vdu.lt:handle, kur handle yra įrašo handle. Pvz: oai:vdu.lt:20.500.12259/57984. OAI rinkiniai (set) dažniausiai atitinka CRIS rinkinius ir kolekcijas. OAI rinkinių identifikatorių standartinė struktūra: com|col_handle prefiksas_handle numeris. Pvz: PDB kolekcijos (20.500.12259/36910) OAI rinkinio ID yra col_20.500.12259_36910. Gali būti ir specializuotų rinkinių, pvz.: openaire. OAI-PMH užklausų pavyzdžiai:
Daugiau informacijos api OAI-PMH: The Open Archives Initiative Protocol for Metadata Harvesting.
Į pradžiąDSpace–CRIS funkcionalumas:
CRIS duomenų struktūros vienetai:
Mokslo publikacijos yra parengiamos iš anksto vėlesniam jų naudojimui ataskaitose, papildant jas apskaitai reikalingais atributais, pvz.: WOS IF, WOS AIF, Scopus SNIP, ir kt. Taip pat gali būti sukurtos papildomos klasifikacijos, būtinos ataskaitoms (t. y. konfigūruojama). Pvz.: ataskaitos skyriai, kurie sudaromi pagal mokslo kryptis, publikacijos rūšis, WOS ir SCOPUS rodiklius, referuojančias DB, pripažintus leidėjus ir t. t. Visi šie duomenys yra iš anksto parengti, o jų struktūra žinoma. Todėl kuriant ataskaitų šablonus nereikia žinoti vidinių duomenų bazės struktūrų, išmanyti DB užklausų technologijų ir t. t.
Papildomi publikacijų atributai yra kuriami per procesus:
Papildomos klasifikacijos ataskaitoms, pvz. mokslo produkcijos vertinimo ataskaitos skyrių kodai (1.1, 1.2, ..., 3.1, 3.2, ...) gali būti kuriami papildomai (šalia jau iš anksto numatytų, tokių kaip WOS ar Scopus rodikliai, afiliacijų duomenys ir kt.). Tuo tikslu kiekvienai tokiai klasifikacijai yra kuriami XSL failai, kurie XSLT transformacijos būdu sukuria reikiamą skyriaus kodą ir priskiria publikacijai. Šiai klasifikacijai sukuriamas papildomas klasifikatorius, kuriuo pagal skyriaus kodą galima sužinoti skyriaus pavadinimą lietuvių ir anglų kalbomis, vėliau tai panaudoti ataskaitose. Į XSL failą kaip parametrai yra perduodami parametrai, tokie kaip: WOS ir Scopus rodikliai, publikacijos rūšis, mokslo kryptys, autoriniai lankai, priklausymas patvirtintiems duomenų bazių ir leidėjų sąrašams, kt. Kartu pateikiami visi publikacijos metaduomenys DIM formatu (pvz.: įrašas 20.500.12259/57984 per OAI-PMH DIM formatu), juos galima panaudoti papildomai nustatant klasifikacijos kodą per XSL XPATH išraiškas.
Ataskaitų užklausų variklis, gavęs užklausą su tam tikrais filtravimo atributais, atrenka mokslo publikacijas ir visus jų duomenis ataskaitai gražina sąrašu JSON formate.
Į pradžiąAtaskaitų Smarty šablonuose yra naudojamas PHP Smarty šablonų variklis. Smarty paskirtis yra atskirti pateikimo (HTML / CSS) logiką nuo aplikacijos serverinės (PHP) logikos. Šablonų variklis sudaro sąlygas kurti šablonus panaudojant Smarty kintamuosius, modifikatorius, funkcijas bei komentarus. Šablonai gali būti hierarchinės struktūros kur žemesnio lygmens šablonas paveldi savybes ir kintamuosius iš aukštesnio lygmens šablono. Šablonus galima tiesiog įtraukti vienas į kitą. Smarty turi logikos valdymo blokus: „for”, „foreach”, „if” ir kt. Naujus blokus ir funkcijas galima susikurti naudojant PHP programavimo kalbą, o pačiuose šablonuose galima naudoti PHP sakinius.
Smarty šablonų integracijai į ataskaitų užklausų variklio REST API yra sukurti Smarty įskiepiai PHP programavimo kalba:
Vartotojo aplinka funkcionuoja kaip aplikacija interneto naršyklėje ir yra sukurta panaudojant HTML, SCSS ir jQuery programinį karkasą. Ši aplikacija komunikuoja su serverine aplikacija, kuri sukurta PHP programavimo kalba. Duomenų saugojimui yra naudojama PostgreSQL RDBVS. Sistemos realizacija yra grįsta KUSoftas CMS, kuri yra naudojama kaip aplikacijos programinis karkasas. REST API yra sukurta naudojant PHP Slim mikrokarkasą, kurio funkcionalumas yra pateiktas per KUSoftas CMS. Naudojantis šiuo mikrokarkasu pagalba sukurtos papildomos užklausų apdorojimo funkcijos, kurios kartu su pagrindine užklausų apdorojimo funkcija užtikrina ataskaitų invariantinį išvedimą tokiais formatais:
Duomenų ataskaitoms filtravimo, grupavimo ir rūšiavimo galimybės:
Vartotojo sąsaja turi galimybę pratestuoti užklausas pagal pasirinktas filtravimo galimybes. Tam yra naudojamas jQuery DataTables įskiepis, kuriuo sukuriama išmani lentelė užklausos rezultatams pateikti.
Į pradžiąAtvira sistemos architektūra | Prieiga prie visų sistemos funkcijų per REST API sudaro palankias sąlygas integracijai į kitas Universiteto sistemas. |
Standartai ir rekomendacijos: CERIF, COAR, OpenAIRE ir kt. | Suderinamumas su esminiais standartais ir rekomendacijomis užtikrina efektyvų duomenų apsikeitimą bei importą ar eksportą su kitomis analogiškomis sistemomis |
Importas talpinant: WOS, SCOPUS, PubMED, CrosssRef, eLABa ir kt. | Sudaro sąlygas greitai bei efektyviai rengti ir dėti mokslo produkcijos mokslo vienetus katalogavimo procese, importuojant įrašus iš išorinių šaltinių. |
Mokslininko profilio integracija su ORCID | Sudaro galimybę CRIS mokslininkui prisijungti prie CRIS per ORCID ir laisvai perkelti savo CRIS profilio informaciją į savo profilį ORCID-e ir atvirkščiai. |
Turinys gali būti integruotas kaip Universiteto svetainės turinio sudėtinė dalis | Sudaro sąlygas efektyviai informacijos sklaidai ir vertinimui išorinėse vertinimo sistemose naudojant WEB pagrindu pateikiamas URL nuorodas į CRIS mokslo vienetus kaip Universiteto svetainės URL nuorodas – vienareikšmiškai identifikuojant, kad tai Universiteto mokslo produkcija. |
Sistemos konfigūravimas:
| Sudaro galimybes labai efektyviai prisitaikyti sistemą Universiteto poreikiams tenkinti, daugeliu atvejų išvengiant sudėtingų programavimo darbų ir įgalina pasiekti rezultatus per santykinai trumpą laiką. |
Atviras programinis kodas, pažangi architektūra ir šiuolaikinės technologijos | CRIS naudojama bazinė platforma yra sparčiai besivystanti – t. y. perspektyvus sprendimas ateičiai. |