• Rezultati Niso Bili Najdeni

SpletnaaplikacijazaureditevarhivskegagradivavKnjiˇzniciMiranaJarcaNovomesto MihaPetrov

N/A
N/A
Protected

Academic year: 2022

Share "SpletnaaplikacijazaureditevarhivskegagradivavKnjiˇzniciMiranaJarcaNovomesto MihaPetrov"

Copied!
84
0
0

Celotno besedilo

(1)

Fakulteta za raˇ cunalniˇ stvo in informatiko

Miha Petrov

Spletna aplikacija za ureditev

arhivskega gradiva v Knjiˇ znici Mirana Jarca Novo mesto

DIPLOMSKO DELO

VISOKOˇSOLSKI STROKOVNI ˇSTUDIJSKI PROGRAM PRVE STOPNJE

RA ˇCUNALNIˇSTVO IN INFORMATIKA

Mentor : viˇs. pred. dr. Igor Roˇ zanc

Ljubljana, 2022

(2)

besedilo, slike, grafi in druge sestavine dela kot tudi rezultati diplomskega dela lahko prosto distribuirajo, reproducirajo, uporabljajo, priobˇcujejo javnosti in pre- delujejo, pod pogojem, da se jasno in vidno navede avtorja in naslov tega dela in da se v primeru spremembe, preoblikovanja ali uporabe tega dela v svojem delu, lahko distribuira predelava le pod licenco, ki je enaka tej. Podrobnosti licence so dostopne na spletni strani creativecommons.si ali na Inˇstitutu za intelektualno lastnino, Streliˇska 1, 1000 Ljubljana.

Izvorna koda diplomskega dela, njeni rezultati in v ta namen razvita program- ska oprema je ponujena pod licenco GNU General Public License, razliˇcica 3 (ali novejˇsa). To pomeni, da se lahko prosto distribuira in/ali predeluje pod njenimi pogoji. Podrobnosti licence so dostopne na spletni strani http://www.gnu.org/

licenses/.

Besedilo je oblikovano z urejevalnikom besedil LATEX.

(3)

rana Jarca Novo mesto

Vrsta naloge: Diplomska naloga na visokoˇsolskem programu prve stopnje Raˇcunalniˇstvo in informatika

Mentor: viˇs. pred. dr. Igor Roˇzanc

Opis:

V diplomski nalogi predstavite naˇcrtovanje in razvoj spletne aplikacije za ure- ditev in izposojo arhivskega gradiva v Knjiˇznici Mirana Jarca Novo mesto.

V okviru tega opredelite specifiˇcne zahteve (ureditev opisa slikovnega arhi- vskega gradiva z digitalizirano kopijo, preiskovanje, naroˇcanje in priprava gradiva za izposojo), ustrezno naˇcrtujete in implementirajte reˇsitev v pri- merni tehnologiji. Na koncu predstavite uporabo aplikacije in analizirajte odziv uporabnikov ob njeni uporabi v knjiˇznici.

(4)
(5)

nasvete ter Knjiˇznici Mirana Jarca Novo mesto, ki mi je uresniˇcitev projekta omogoˇcila. Iskreno se zahvaljujem tudi vsem, ki so mi ves ˇcas stali ob strani, mi pomagali in me spodbujali k dokonˇcanju ˇstudija.

(6)
(7)
(8)
(9)

Povzetek Abstract

1 Uvod 1

2 Predstavitev Knjiˇznice Mirana Jarca Novo mesto 3

2.1 Vrste gradiva . . . 5

2.2 Obdelava, digitalizacija in hranjenje gradiva . . . 6

3 Opis problema 11 3.1 Primerjava s podobnimi knjiˇznicami . . . 14

4 Tehnologije in orodja 19 4.1 Ogrodje Blazor . . . 19

4.2 Microsoft Visual Studio . . . 21

4.3 Spletni protokol SRU . . . 23

4.4 Jezik XML . . . 23

4.5 LINQ poizvedovanje . . . 24

5 Razvoj aplikacije 25 5.1 Analiza zahtev . . . 25

5.2 Diagram primerov uporabe . . . 27

5.3 Podatkovni model . . . 28

5.4 Priprava podatkov o gradivu . . . 30

(10)

6.2 Zaledni sistem . . . 36 6.3 Uporabniˇski del aplikacije . . . 45

7 Uporaba aplikacije 51

7.1 Urejanje gradiva . . . 52 7.2 Naroˇcanje gradiva . . . 53

8 Analiza uporabe 57

8.1 Osnovni uporabnik . . . 57 8.2 Skrbnik . . . 59 8.3 Ugotovitve po izvedeni analizi . . . 61

9 Sklepne ugotovitve 63

Literatura 65

(11)

kratica angleˇsko slovensko

COBISS Co-operative Online Bibliographic System and Services

Nacionalni knjiˇzniˇcni informacij- ski sistem

COBIB Bibliographic-catalog database Bibliografsko-kataloˇzna baza po- datkov

COMARC Co-operative Online Bibliographic System and Services

Format za bibliografske podatke

CSS Cascading Style Sheets Kaskadne slogovne podloge HTML Hyper Text Markup Language Jezik za oznaˇcevanje nadbesedila LINQ Language-Integrated Query Komponenta ogrodja .NET za

delo s podatki

ORM Object-Relational Mapper Objektno-relacijsko preslikovalnik SRU Search and Retrieve via URL Protokol za iskanje po podatkov-

nih bazah prek interneta

SQL Structured Query Language Strukturirani povpraˇsevalni jezik URL Uniform Resource Locator Enoliˇcni krajevnik vira

XML eXtensible Markup Language Razˇsirljiv oznaˇcevalni jezik

(12)
(13)

Naslov: Spletna aplikacija za ureditev arhivskega gradiva v Knjiˇznici Mirana Jarca Novo mesto

Avtor: Miha Petrov

V diplomski nalogi predstavljamo razvoj spletne aplikacije, s katero ˇzelimo urediti arhivsko gradivo v Knjiˇznici Mirana Jarca. Poleg knjiˇznega gra- diva v knjiˇznici hranijo tudi raznovrstno neknjiˇzno gradivo, med drugim obseˇzno zbirko starih razglednic, fotografij, ekslibrisov, podobic in drugega.

Za zaˇcetek smo se osredotoˇcili na ureditev le ene vrste slikovnega gradiva – razglednic. Z razvito spletno aplikacijo smo razglednice uredili, jim doloˇcili fiziˇcno lokacijo ter povezavo do digitalizirane kopije. Uporabniki aplikacije tako lahko sami poiˇsˇcejo, izberejo in knjiˇznici posredujejo naroˇcilo zanje.

Zaposleni v knjiˇznici ob prejetem naroˇcilu gradivo v digitalizirani obliki hi- tro in uˇcinkovito pripravijo ter naroˇcilo izvedejo. S tem smo izboljˇsali ce- loten proces izvedbe, od prejema naroˇcila, iskanja do priprave gradiva ter olajˇsali delo zaposlenim, ki se lahko zaradi hitrejˇsega postopka naroˇcila gra- diva bolj posvetijo ostalim delovnim nalogam. Za razvoj aplikacije smo iz- brali ogrodje Blazor, ki omogoˇca razvoj spletne aplikacije v jeziku C# brez uporabe javascript-a. V zakljuˇcku naloge smo delovanje spletne aplikacije preverili v praksi in predvideli bodoˇce nadgradnje njene funkcionalnosti.

Kljuˇcne besede: knjiˇznica, spletna aplikacija, digitaliziran arhiv gradiva, razglednice, Blazor.

(14)
(15)

Title: Web application for the Miran Jarc Public Library archive collection management

Author: Miha Petrov

This thesis describes the development of a web application for managing the library’s archive collection. Apart from book materials, the library saves special collections of visual materials containing old postcards, photographs, exlibrises, images and other items. Our focus is on one type of visual materi- als, namely postcards. The aim of the web application is to create a catalogue of the postcards, were the location of their storage within the library and a link to a digitalized copy is included. Users of the web application can search, select and request access to these digitalized materials. The library staff can then use the web application to efficiently process the request and prepare the materials. The whole process of requesting, receiving the request, find- ing the item and preparing it for the user, as well as the work process have been improved. The Blazor framework is used to create the application as it enables its development in C# without using Javascript. As a final step, the functioning of the web application was tested in the real environment. It’s potential future development was envisaged as well.

Keywords: library, web application, digital archives, special library collec- tions - postcards, Blazor.

(16)
(17)

Uvod

Knjiˇznica Mirana Jarca Novo mesto je sploˇsna izobraˇzevalna knjiˇznica, ki omogoˇca povezovanje uporabnikov, branje, uˇcenje in igranje. Ob tem presega okvire tradicionalnih knjiˇznic, saj nudi in izvaja ˇsirok nabor drugih storitev.

Kot osrednji obmoˇcni knjiˇznici za Dolenjsko, Belo krajino in Posavje namreˇc pravilnik o osrednjih obmoˇcnih knjiˇznicah [26] nalaga izvajanje posebnih na- log, med njimi koordinacijo, zbiranje, obdelavo in hranjenje domoznanskega gradiva. ˇSe zlasti je v zadnjem ˇcasu velik poudarek na digitalizaciji bogate knjiˇzniˇcne zbirke.

Z zbiranjem, hrambo, varovanjem in zaˇsˇcito gradiva ˇzelijo v knjiˇznici kul- turno dediˇsˇcino predstaviti sedanjim in naslednjim rodovom, pri ˇcemer se sreˇcujejo z mnogimi izzivi. Eden izmed njih je, kako uporabniku na sodoben in varen naˇcin ˇcim hitreje omogoˇciti enostaven vpogled in dostop do zbirke gradiva ter poslediˇcno uporabo le-tega. Predpogoj vidijo v urejeni zbirki, ki obsega ureditev fiziˇcnih lokacij gradiva ter hrambe digitaliziranih kopij.

Na podlagi ugotovljenih potreb knjiˇznice smo si v diplomski nalogi zadali cilj, da to gradivo z razvojem ustrezne spletne aplikacije kataloˇzno uredimo in s tem uporabnikom omogoˇcimo hiter in varen pregled zbirke ter izvedbo naroˇcila gradiva iz knjiˇzniˇcne zbirke.

1

(18)

V spletni aplikaciji bomo vneseno gradivo opisali z osnovnimi podatki, ga opremili s sliko in dodatnimi opisi, predvsem z lokacijo hranjenja original- nega izvoda gradiva ter z lokacijo hrambe digitalizirane kopije gradiva. Ta dva opisa sta za zaposlene kljuˇcna podatka za uˇcinkovito iskanje, uporabo in posredovanje gradiva uporabnikom oziroma naroˇcnikom.

Bogata knjiˇzniˇcna zbirka zajema razliˇcne vrste gradiva, ki ga bomo v naslednjem poglavju podrobneje opisali. Za zaˇcetek bomo v sklopu diplom- skega dela v spletno aplikacijo vnesli le razglednice, ki so del obseˇzne slikovne zbirke. V naslednjih korakih razvoja aplikacije bomo v spletno aplikacijo po- stopoma vnaˇsali ˇse ostale vrste gradiva.

V diplomski nalogi bomo predstavili Knjiˇznico Mirana Jarca Novo mesto, domoznansko dejavnost ter bogato zbirko gradiv, ki jih hrani. Posvetili se bomo podrobnejˇsemu pregledu potreb, ˇzelja ter obstojeˇcim reˇsitvam. Pred- stavili bomo tehnologije, orodja ter izbrano ogrodje za izdelavo aplikacije – Blazor ter sam proces razvoja od zasnove, naˇcrtovanja do implementacije aplikacije. Nadalje bomo prikazali uporabo aplikacije s strani skrbnika apli- kacije. Zakljuˇcili bomo z analizo uporabe in zadovoljstva uporabnikov ter podali smernice za izboljˇsave in nadaljnji razvoj.

(19)

Predstavitev Knjiˇ znice Mirana Jarca Novo mesto

Knjiˇznica Mirana Jarca Novo mesto je sodobna knjiˇznica, ki sledi sodobnim smernicam razvoja. Sploˇsni vpogled v njeno delovanje prikazuje knjiˇznico kot osrednji prostor kulture in izobraˇzevanja, ki uporabnikom ponuja moˇznost kakovostnega preˇzivljanja prostega ˇcasa, obisk prireditev ter izposojo razno- vrstnega gradiva. Podrobnejˇsi vpogled pa razkriva, da ima poleg kulturne in izobraˇzevalne vloge knjiˇznica v svojem okolju tudi informacijsko, socialno in demokratiˇcno vlogo. Te pa v bistvu predstavljajo domoznansko dejavnost knjiˇznice.

Domoznansko dejavnost v knjiˇznici pojmujejo kot skrb za domoznansko gra- divo, informacije o njem in iz njega ter njegovo predstavitev.

Za domoznansko gradivo velja, da je:

• knjiˇzniˇcno gradivo, ki se po vsebini nanaˇsa na obmoˇcje, ki ga pokriva knjiˇznica s svojo domoznansko dejavnostjo,

• knjiˇzniˇcno gradivo, katerega avtor je ˇzivel in deloval oziroma ˇzivi in deluje na tem obmoˇcju ali iz njega izhaja,

• knjiˇzniˇcno gradivo, ki je nastalo na tem obmoˇcju, torej je bilo na tem obmoˇcju napisano, natisnjeno ali razmnoˇzeno oziroma zaloˇzeno.

3

(20)

Z zakonom o knjiˇzniˇcarstvu iz leta 2001 [39] je priˇslo do nove sistemske ureditve knjiˇznic. Ta je Knjiˇznici Mirana Jarca dodelila status pokrajinske knjiˇznice oziroma naziv osrednje obmoˇcne knjiˇznice za Dolenjsko, Belo kra- jino in Posavje. S tem je knjiˇznici doloˇcila izvajanje ˇstirih posebnih nalog:

• zagotavljanje poveˇcanega in zahtevnejˇsega izbora knjiˇzniˇcnega gradiva in informacij,

• strokovno pomoˇc knjiˇznicam obmoˇcja,

• koordinacijo zbiranja, obdelave in hranjenja domoznanskega gradiva ter

• usmerjanje izloˇcenega knjiˇzniˇcnega gradiva s svojega obmoˇcja.

Koordinacija zbiranja, obdelave in hranjenja domoznanskega gradiva knjiˇznici omogoˇca ˇse veˇcjo vkljuˇcenost v ˇsirˇse kot tudi oˇzje okolje, saj je prav to oko- lje predmet njenega zanimanja in dejavnosti. Domoznanski dejavnosti v Knjiˇznici Mirana Jarca dajejo velik pomen vse od ustanovitve dalje [1].

Posebne zbirke Boga Komelja

Vse od ustanovitve knjiˇznice leta 1946 so nastajale posebne zbirke gradiva, in sicer predvsem po zaslugi prvega in dolgoletnega upravnika knjiˇznice Boga Komelja, po katerem so jih kasneje tudi poimenovali [1]. Prepoznali so vre- dnost gradiva in zbirke vseskozi dopolnjevali. Kulturna vrednost gradiva je pomembna ne samo za Novo mesto, ampak tudi za vso Dolenjsko, najvre- dnejˇsi del pa ima tudi velik narodni pomen. Posebne zbirke Boga Komelja so danes del Domoznanskega oddelka novomeˇske knjiˇznice.

(21)

2.1 Vrste gradiva

V posebnih zbirkah se danes hrani veˇc kot 100.000 enot raznovrstnega po- sebnega gradiva. To so stare in redke knjige, dragoceni rokopisi in tipkopisi slovenskih avtorjev, muzikalije in filmi, kartografska zbirka, tisk med naro- dnoosvobodilno vojno, staro pohiˇstvo, kipi in spominski predmeti. Velik del posebnih zbirk predstavlja obseˇzna zbirka slikovnega gradiva, ki vkljuˇcuje:

• knjiˇzne ilustracije,

• grafiˇcne liste, risbe ter umetniˇske slike,

• ekslibrise,

• podobice,

• fotografije,

• (stare) razglednice.

Prav zadnji vrsti slikovnega gradiva, razglednicam, ki predstavljajo naj- obseˇznejˇsi del posebnih zbirk, se bomo posvetili v diplomskem delu [18].

2.1.1 Razglednice

Danes zbirka razglednic obsega okoli 40.000 enot. Predstavljajo ˇstevilne mo- tive dolenjske pokrajine, mest, vasi, gradov, cerkva, gora, gostiln, hiˇs, rek in ostalega (slika 2.1).

Poleg domoznanskih razglednic hranijo tudi razglednice ostalih slovenskih in tujih mest, umetniˇske razglednice, prazniˇcne razglednice, ljubezenske, na- rodnoprebudne razglednice in podobno.

(22)

Slika 2.1: Razglednica Novega mesta okoli leta 1913

2.2 Obdelava, digitalizacija in hranjenje gra- diva

V knjiˇznici vsakemu gradivu, ki ga knjiˇznica pridobi (z nakupom, darom ali preko obveznega izvoda), dodelijo unikatno devetmestno inventarno ˇstevilko.

Nato se v knjiˇznici odloˇcijo, ali bodo gradivo tudi obdelali oziroma vsebinsko opisali. Gradivu, ki ga knjiˇznica ˇzeli hraniti, se kreira nov bibliografski zapis.

Zapis ima strukturo formata COMARC/B [5].

Osnovno strukturo zapisa sestavlja deset blokov:

• 0XX Blok za identifikacijo

• 1XX Blok za kodirane podatke

• 2XX Blok glavnega opisa

• 3XX Blok za opombe

• 4XX Blok za povezovanje

• 5XX Blok za sorodne vsebine

• 6XX Blok za vsebinsko analizo

• 7XX Blok za podatke o odgovornosti

• 8XX Blok za mednarodno rabo

• 9XX Blok za nacionalno rabo

(23)

Vsak blok sestavljajo polja, ki so namenjena vnosu podatkov sorodne vsebine, posamezno polje pa sestavlja eno ali veˇc podpolj. Zaporedje polj je toˇcno doloˇceno. V poljih, ki so namenjena bibliografskemu in vsebinskemu opisu vira, pa je pomembno tudi zaporedje podpolj znotraj polj. Podatke, ki jih pri bibliografski obdelavi razberejo z razglednice, vpiˇsejo v posame- zna polja in podpolja in jo tako bibliografsko opiˇsejo (slika 2.2). Zapis nato shranijo v vzajemni katalog gradiv COBIB, ki je skupni katalog knjiˇznic sis- tema COBISS (slika 2.3). Zapis lahko opremijo tudi s sliko, kar v novomeˇski knjiˇznici izvajajo ˇze vrsto let. Tako gradivo dobi ˇse dodatno vrednost, ki je uporabnikom v veliko pomoˇc.

Slika 2.2: Bibliografski zapis razglednice

Knjiˇznice veliko pozornosti namenjajo poveˇcanju dostopnosti in ohranitvi oziroma zaˇsˇciti gradiva. Nacionalni program za kulturo opredeljuje digitali- zacijo kot eno osnovnih nalog ustanov, ki skrbijo za kulturno dediˇsˇcino. Pri tem ima pomembno vlogo tudi Knjiˇznica Mirana Jarca, ki v okviru izvajanja posebnih nalog pripravlja in izvaja projekte digitalizacije gradiva.

Digitalizacija je opisovanje objekta, slike, zvoka, dokumenta z binarno kodo, obiˇcajno z namenom, da bi ga shranili v elektronski obliki. S tem

(24)

Slika 2.3: Bibliografski zapis v sistemu Cobiss

omogoˇcajo veˇcjo dostopnost gradiva ˇsirˇsemu krogu uporabnikov. Hkrati za- gotavljajo tudi trajnejˇso hrambo starejˇsega in redkega gradiva, saj je tako bistveno manj izpostavljeno obrabi in poˇskodbam.

V novomeˇski knjiˇznici so s projektom digitalizacije gradiv iz posebnih zbirk priˇceli ˇze leta 2003. V tem ˇcasu so digitalizirali ˇze vrsto monografskih in periodiˇcnih gradiv, ki zajemajo veˇcji del digitaliziranega arhiva. V zadnjem ˇcasu so se prednostno lotili digitalizacije slikovnega gradiva – razglednic. Pri tem upoˇstevajo Smernice za digitalizacijo knjiˇzniˇcnega gradiva [8], ki opre- deljujejo, kako z gradivom ravnati ter na kakˇsen naˇcin izvesti digitalizacijo posameznih vrst gradiva. Razglednice digitalizirajo v visoki loˇcljivosti 600 dpiz barvno globino 24 bitovin shranjujejo v formatu .jpg (tabela 2.1).

Digitalizirano gradivo shranijo z imenom, ki je enako inventarni ˇstevilki gradiva (slika 2.4).

(25)

Slikovno gradivo

STORITVE PARAMETRI

loˇcljivost skeniranja 300-600 dpi Primarni arhiv

barvna globina 24 bitov

loˇcljivost hranjenja 300-600 dpi

format TIFF, JPG, JPEG2000

Operativna kopija

loˇcljivost 72-120 dpi

barvna globina 24 bitov

format JPG, JPEG2000, PDF

Tabela 2.1: Parametri za digitalizacijo slikovnega gradiva

Slika 2.4: Razglednica, shranjena z inventarno ˇstevilko gradiva S sodelovanjem pri vseslovenskih in evropskih projektih, kot so:

• Digitalna knjiˇznica Slovenije [9],

• Kamra - portal kulturne dediˇsˇcine Slovenije [17] in

(26)

• Europeana - portal kulturne dediˇsˇcine Evrope [12],

svoje bogate zbirke predstavljajo ˇsirˇsi javnosti in tako skrbijo tudi za oˇzivljanje domoznanske kulturne dediˇsˇcine.

Knjiˇznice so danes prenapolnjene z gradivom, zato je teˇzko zagotoviti dovolj prostora za hranjenje domoznanskega gradiva in posebnih zbirk, kar obˇcutijo tudi v novomeˇski knjiˇznici. Tako je dragoceno gradivo razprˇseno na veˇcih lokacijah v knjiˇznici, kar velja tudi za slikovno gradivo oziroma razglednice. Razglednice so zaradi pomanjkanja prostora shranjene v veˇcih prostorih - v omarah in predalnikih, zaradi ˇcesar je iskanje gradiva zamudno.

Velikost digitaliziranega arhiva v Knjiˇznici Mirana Jarca je pribliˇzno 2TB podatkov. Veˇcji del predstavljajo monografske in serijske publikacije (arhiv ˇcasopisov in revij ter domoznanskih knjig s podroˇcij Dolenjske, Bele krajine in Posavja). Digitaliziran arhiv razglednic obsega pribliˇzno 70GB podatkov (tabela 2.2). Ves digitalni arhiv je v novomeˇski knjiˇznici varno shranjen na omreˇznih diskih na virtualnih streˇznikih. Streˇzniki se nahajajo na diskovnem polju RAID 10 in RAID 5, kar omogoˇca veˇcjo zaˇsˇcito podatkov in zmoglji- vost diskovnih polj [27]. Glede na dragocenost zbirke celoten digitaliziran arhiv redno shranjujejo tudi na oddaljeni lokaciji izven knjiˇznice. S tem so poskrbeli, da v primeru okvar oziroma raznih nesreˇc ne pride do izgube dra- gocenega elektronskega vira gradiva.

Vrsta razglednic Velikost arhiva Stevilo razglednicˇ

Domoznanske razglednice 27 GB 5092

Razglednice Slovenije 35 GB 3666

Tuje razglednice 1 GB 300

Zbirka Maksim Gaspari 3.5 GB 366

Drugo 2 GB 500

Tabela 2.2: Digitaliziran arhiv razglednic

(27)

Opis problema

V tem poglavju bomo opisali teˇzave, s katerimi se zaposleni sooˇcajo pri ro- kovanju, shranjevanju ter posredovanju gradiva uporabnikom (naroˇcnikom), ter predstavili pristop k reˇsitvi teˇzav. Opisali bomo le slikovno gradivo po- sebnih zbirk - razglednice.

Pred digitalizacijo in objavo gradiva v vzajemnem katalogu so si lahko uporabniki gradivo izbrali samo tako, da so knjiˇznico fiziˇcno obiskali, knjiˇznici posredovali proˇsnjo za uporabo gradiva ter originalno gradivo skrbno pregle- dovali.

Danes sta najpomembnejˇsa vira, ki uporabnike seznanjata z obseˇzno sli- kovno zbirko knjiˇznice, domoznanski portal Kamra (slika 3.1) in vzajemni bibliografski sistem COBISS (slika 3.2). V prvem lahko najdemo ˇze veˇc kot 40 strokovnih prispevkov, katere so zaposleni v novomeˇski knjiˇznici opremili tudi s slikovnim gradivom. COBISS predstavlja temelj knjiˇzniˇcnega infor- macijskega sistema Slovenije, katerega del je tudi novomeˇska knjiˇznica.

Uporabniki ˇzeleno gradivo najveˇckrat najdejo na enem izmed omenjenih virov ter preko elektronskega sporoˇcila knjiˇzniˇcarju poˇsljejo kratek opis, za kakˇsen namen bi gradivo radi uporabili.

11

(28)

Slika 3.1: Domoznanski portal Kamra

Slika 3.2: Sistem COBISS

V sporoˇcilu dodajo tudi osnovni opis gradiva, najveˇckrat naslov, identi- fikacijsko ˇstevilko zapisa v vzajemnem katalogu COBISS (COBISS-ID) ali inventarno ˇstevilko gradiva.

Zaposleni le-tega poiˇsˇcejo in preverijo v vzajemnem katalogu ter si zapiˇsejo dodatne podatke, ki jih potrebujejo, da gradivo laˇzje najdejo in pripravijo za poˇsiljanje. Obenem pripravijo tudi Sporazum o uporabi gradiva iz posebnih zbirk, katerega podpiˇseta obe strani.

(29)

Gradivo obiˇcajno poiˇsˇcejo v digitalnem arhivu z vgrajenim iskalnikom v operacijskem sistemu Windows, kamor vpiˇsejo inventarno ˇstevilko gradiva.

Ce to ni mogoˇˇ ce, gradivo najdejo z iskanjem oziroma odpiranjem ustreznih map in podmap. V kolikor ugotovijo, da je digitalna kopija neustrezne kva- litete ali iskano gradivo ˇse ni bilo digitalizirano, le-tega poiˇsˇcejo v originalni fiziˇcni obliki. Postopek iskanja, priprave in posredovanja gradiva naroˇcnikom je v tem primeru ˇse daljˇsi in zamudnejˇsi.

Odloˇcili smo se izdelati spletno aplikacijo, katere glavna cilja sta, da bodo zaposleni gradivo z ustreznimi opisi vnaˇsali in urejali, uporabniki pa to gra- divo preprosto in hitro naˇsli ter poslediˇcno naroˇcili. Ob tem smo ˇzeleli izbrati ustrezno tehnologijo ter orodja, ki bodo omogoˇcala hiter in kvaliteten razvoj aplikacije ter varno in dolgotrajno dostopnost ter uporabo zbirke. Razvoj spletnih aplikacij poteka z uporabo razliˇcnih ogrodij (angl. framework), ki prinaˇsajo prihranke na ˇcasu ter pri sami izvedbi razvoja aplikacije. Veˇcina spletnih aplikacij je izdelanih z Javascript ogrodjem, ki uporablja program- ski jezik Javascript [16]. Zaradi nepoznavanja tovrstnega programskega jezika smo iskali alternativne moˇznosti in izbrali ogrodje Blazor, ki uporablja pro- gramski jezik C#.

Eden glavnih razmislekov je bil, kako gradivo kataloˇzno urediti, shraniti v ustrezno podatkovno bazo ter z ustrezno aplikacijo predstaviti. Gradivo bi lahko v aplikacijo vnaˇsali roˇcno, a je to zaradi obseˇznosti zbirke nesmiselno.

Zato smo iskali naˇcine za avtomatsko pridobivanje podatkov o gradivih, ki jih je knjiˇznica ˇze obdelala. Pridobiti smo morali dostop do zapisov v vzaje- mni bazi podatkov knjiˇznic COBIB, podatke ustrezno pretvoriti in shraniti v podatkovno bazo. Hkrati smo ˇzeleli omogoˇciti tudi roˇcni vnos in opis gradiv, ki jih knjiˇznica ˇzeli urediti, a jih ni ali jih nikoli ne bo objavila v vzajemnem katalogu.

(30)

Preveriti smo morali tudi arhiv digitaliziranega gradiva, ga smiselno po- pisati ter urediti in povezati z ustreznim zapisom v podatkovni bazi. Digita- lizirano kopijo je treba v aplikaciji ustrezno prikazati.

Dostopa do gradiva nismo ˇzeleli omogoˇciti ˇcisto vsem uporabnikom, zato smo morali vzpostaviti doloˇcen naˇcin avtentikacije. Uspeˇsno prijavljenim uporabnikom smo omogoˇcili preprosto iskanje ter pregled gradiva ter hkrati ustrezno naroˇcilo gradiva. Zaposlenim tudi omogoˇcamo moˇznost urejanja zapisov ter potrditve naroˇcil.

Veliko pomislekov smo imeli v zvezi s tehniˇcno izvedbo, kje zaˇceti razvoj aplikacije in kakˇsno platformo izbrati za namestitev in predajo v uporabo.

Odloˇcili smo se, da bomo v zaˇcetni fazi spletno aplikacijo razvijali na osebnem raˇcunalniku. V fazi testiranja s strani zaposlenih bomo aplikacijo prenesli na lokalni podatkovni streˇznik. Na koncu bomo uporabili spletni streˇznik knjiˇznice ali gostovanje pri zunanjem ponudniku. Tedaj bomo aplikacijo predali v uporabo tudi zunanjim uporabnikom.

3.1 Primerjava s podobnimi knjiˇ znicami

Pri iskanju reˇsitev zgoraj opisane problematike smo naredili kratko raziskavo, kako se s tovrstnimi storitvami spopadajo v nekaterih drugih knjiˇznicah. V sistemu COBISS smo preverili ˇstevilo zapisov, ki predstavljajo slikovno gra- divo ter s tem tudi ˇstevilo zapisov razglednic drugod. S tem smo posredno dobili vpogled v okvirno velikost zbirke razglednic kot tudi koliko se tovr- stnim zbirkam posveˇcajo v posameznih knjiˇznicah.

Sprva smo primerjali Knjiˇznico Mirana Jarca z osrednjimi obmoˇcnimi knjiˇznicami Slovenije (tabela 3.1). Iz tabele lahko razberemo, da se Knjiˇznica Mirana Jarca tovrstni zbirki posveˇca prednostno. ˇStevilo zapisov predstavlja ˇcetrtino njene zbirke razglednic. Osrednja knjiˇznica Celje je v sistem Cobiss

(31)

vnesla pribliˇzno 3275 zapisov razglednic. V Mariborski knjiˇznici so se pred leti povezali z Univerzitetno knjiˇznico Maribor, s katero skupaj nastopajo pri zbiranju, obdelavi in hranjenju domoznanskega gradiva, torej tudi razglednic.

Zbirka vsebuje malo manj kot 2000 razglednic. Mestna knjiˇznica Ljubljana je v vzajemni katalog vnesla le del svoje zbirke. Zbirko razglednic Ljubljane predstavljajo tudi preko informacijskega sistema Galis [13], ki omogoˇca vo- denje in beleˇzenje muzejskega dokumentacijskega gradiva in vodenje z njim povezanih procesov.

Knjiˇznica Razglednice Slikovno gradivo

Knjiˇznica Mirana Jarca Novo mesto 9153 14947

Osrednja knjiˇznica Celje 3275 3548

Mariborska knjiˇznica in Univerzitetna knjiˇznica Maribor

1991 5764

Mestna knjiˇznica Ljubljana 1839 1969

Goriˇska knjiˇznica Franceta Bevka 1778 3003 Koroˇska osrednja knjiˇznica dr. Franca Suˇsnika

Ravne na Koroˇskem

871 3320

Osrednja knjiˇznica Sreˇcka Vilharja Koper 645 766 Pokrajinska in ˇstudijska knjiˇznica Murska Sobota 18 79

Mestna knjiˇznica Kranj 10 325

Knjiˇznica Ivana Potrˇca Ptuj 3 63

Tabela 3.1: Primerjava koliˇcine gradiva, obdelanega v sistemu Cobiss, med osrednjimi obmoˇcnimi knjiˇznicami

Vse osrednje obmoˇcne knjiˇznice digitalizirano gradivo varno hranijo na lokalnih podatkovnih streˇznikih, slikovno zbirko pa javnosti predstavljajo na spletnih domoznanskih portalih dLib, Kamra ali v vzajemnem katalogu Cobiss. Nobena osrednja obmoˇcna knjiˇznica za ureditev svoje zbirke ne upo- rablja namenske aplikacije.

Primerjavo smo izvedli ˇse med osrednjimi knjiˇznicami obmoˇcja Dolenjske, Bele krajine in Posavja (tabela 3.2).

(32)

Knjiˇznica Mirana Jarca se zbiranju ter hranjenju razglednic posveˇca vse od ustanovitve, hkrati pa njena zbirka vsebuje tudi veliko razglednic in ostalega gradiva, ki jih lokacijsko pokrivajo ostale knjiˇznice na obmoˇcju. Valvasorjeva knjiˇznica Krˇsko je v vzajemni katalog vnesla 487 razglednic. Polovico njene zbirke predstavljajo predvsem razglednice okoliˇskih krajev ter samo mesto Krˇsko ter Videm. Knjiˇznica Pavla Golie Trebnje je vnesla 95 razglednic, medtem ko je knjiˇznica Breˇzice, ki je s projektom digitalizacije priˇcela ˇsele pred dvema letoma, vnesla 65 razglednic.

Knjiˇznica Razglednice Slikovno gradivo

Knjiˇznica Mirana Jarca Novo mesto 9153 14947

Valvasorjeva knjiˇznica Krˇsko 487 632

Knjiˇznica Pavla Golie Trebnje 95 426

Knjiˇznica Breˇzice 65 67

Knjiˇznica Sevnica 11 20

Knjiˇznica ˇCrnomelj 3 15

Ljudska knjiˇznica Metlika 0 17

Knjiˇznica Koˇcevje 0 13

Knjiˇznica Miklova hiˇsa Ribnica 0 5

Tabela 3.2: Primerjava z osrednimi knjiˇznicami

Vse osrednje knjiˇznice Dolenjske, Bele krajine in Posavja digitalizirano gradivo hranijo bodisi na lokalnih podatkovnih streˇznikih ali zunanjih dis- kih, nekatere tudi na lokalnih raˇcunalnikih. Slikovno zbirko javnosti prav tako predstavljajo na spletnih domoznanskih portalih.

Omenili bi ˇse Knjiˇznico Velenje, ki svojo domoznansko zbirko predstavlja z namensko razvito spletno aplikacijo DIGIDOM (Digitalni repozitorij DO- Moznanskega knjiˇzniˇcnega gradiva Knjiˇznice Velenje) (slika 3.3). Aplikacija vsebuje administrativni vmesnik za vnaˇsanje vsebin (slika 3.4) in uporabniˇski vmesnik za pregledovanje podatkov (slika 3.5), v katera vnaˇsajo raznovrstno domoznansko gradivo. Celotna domoznanska zbirka obsega 8689 raznovr-

(33)

stnega gradiva, od tega le 140 razglednic. Aplikacija je trenutno nameˇsˇcena in na voljo uporabnikom na osebnem raˇcunalniku v knjiˇznici. Kmalu bodo omogoˇcili dostop tudi izven knjiˇznice. Moˇznost naroˇcanja gradiva ni pod- prta. Digitalizirana zbirka gradiva je shranjena na podatkovnem streˇzniku, ki ga vzdrˇzuje Mestna obˇcina Velenje.

Na kratko lahko povzamemo, da v raziskavi zajete osrednje obmoˇcne knjiˇznice svoje arhivsko gradivo digitalizirajo in varno shranjujejo na svo- jih podatkovnih streˇznikih. Digitalizacijo izvajajo glede na svoj program in potrebe. Uporabnikom ob prejemu naroˇcila gradivo posredujejo na podoben naˇcin kot v Knjiˇznici Mirana Jarca Novo mesto. Nekatere knjiˇznice proˇsenj za uporabo gradiva ˇse nikoli niso prejele.

Slika 3.3: DIGIDOM - osnovna stran uporabniˇskega vmesnika

(34)

Slika 3.4: DIGIDOM - administrativni vmesnik

Slika 3.5: DIGIDOM - uporabniˇski vmesnik

Knjiˇznica Mirana Jarca Novo mesto se zbiranju, obdelavi in digitalizaciji slikovnega gradiva – razglednicam posveˇca prednostno. V primerjavi z dru- gimi knjiˇznicami je v vzajemni katalog vnesla precej obseˇznejˇso zbirko ne le slikovnega gradiva temveˇc tudi razglednic. Le-te predstavljajo le del slikov- nega gradiva, ki ga hranijo. Zato je pomembno, da zbirko predhodno uredijo in jo v ˇcim veˇcji meri predstavijo uporabnikom z ustrezno spletno aplikacijo.

(35)

Tehnologije in orodja

V tem poglavju prikazujemo tehnologije ter orodja, ki smo jih uporabili pri izdelavi naˇse aplikacije. Pri izdelavi smo sledili smernicam razvoja aplika- cij in se odloˇcili za razvoj spletne, enostranske aplikacije (angl. Single Page Applications - SPA) [30]. Ta omogoˇca hitrejˇsi razvoj kot tudi veˇcjo zmoglji- vost aplikacij. Hkrati nudi dobro in odzivno uporabniˇsko izkuˇsnjo tako, da se podatki na spletni strani dinamiˇcno prepiˇsejo oziroma spremenijo, namesto da se naloˇzi celotna nova stran iz streˇznika.

Veˇcina enostranskih aplikacij uporablja javascript in ogrodja, kot so Angular [2], React [29] ali Vue [37]. Odloˇcili smo se za alternativni oziroma drugaˇcen pristop. Za izdelavo aplikacijo smo tako izbrali ogrodje Blazor. To je novo ogrodje, ki omogoˇca enoten razvoj spletne aplikacije v jeziku C# brez upo- rabe programskega jezika Javascript.

4.1 Ogrodje Blazor

Microsoft Blazor [14] je odprtokodno, veˇcplatformsko in prilagodljivo ogrodje za izdelavo spletnih uporabniˇskih vmesnikov, ki se uporablja za razvoj eno- stranskih aplikacij v okolju .NET in .NET Core. Pred Blazorjem so pri izdelavi spletnih aplikacij v okolju .NET zdruˇzevali programska jezika C#

in Javascript. V programskem jeziku C# so izdelovali programske vmesnike 19

(36)

(API), implementirali poslovno logiko in komponente za dostop do podat- kov. JavaScript (ali ogrodja JavaScript, kot so Angular, React ali Vue) so uporabili za izdelavo sprednjega dela (angl. front-end) aplikacije. V ogrodju Blazor lahko programski jezik C# sedaj uporabimo tako za razvoj aplikacije na strani streˇznika kot odjemalca.

Blazor aplikacija je na voljo v dveh modelih gostovanja, na strani odje- malca (Blazor WebAssembly) in strani streˇznika (Blazor Server) [3].

Razlika med njima je v naˇcinu oziroma lokaciji izvrˇsevanja kode. Mo- del na strani odjemalca se izvaja v brskalniku prek nizkonivojskega jezika WebAssembly in posodablja objektni model dokumenta (Document Object Model – DOM) [10], medtem ko model na strani streˇznika vzdrˇzuje model DOM na streˇzniku in uporablja cevovod SignalR za poˇsiljanje sprememb med brskalnikom in streˇznikom.

Slika 4.1: Blazor WebAssembly in Blazor Server modela gostovanja Komponente

Komponente (angl. components) so osnovni gradniki aplikacije v Blazor ogrodju. Komponenta je lahko posamezna stran ali podstran naˇse aplikacije, lahko pa predstavlja le doloˇceno funkcionalnost aplikacije (gumb, prijavna forma, modalno okno in podobno). Vsako komponento lahko v aplikaciji tudi

(37)

ponovno smiselno uporabimo. Sama komponenta vsebuje sintakso Razor, ki je kombinacija oznaˇcevalnega jezika HTML, programske kode C# ter Razor kljuˇcnih besed.

Razor sintaksa

Razor je oznaˇcevalna sintaksa, ki omogoˇca zdruˇzevanje HTML oznak s C#

programsko kodo. Zasnovali so jo z namenom poveˇcanja produktivnosti raz- vijalcev, saj omogoˇca preklapljanje med oznakami HTML in C# v isti dato- teki. Z njo lahko na spletnih straneh ustvarimo dinamiˇcne vsebine. Razor sintaksa uporablja simbol @ za prehod iz HTML oznaˇcevalnega jezika v pro- gramski jezik C# [28].

Bootstrap

Bootstrap je odprtokodno spletno ogrodje, ki se ga uporablja pri izdelavi in oblikovanju spletnih strani in aplikacij. Vsebuje predloge za HTML ele- mente, CSS pravila, prednastavljeno tipografijo, gumbe, navigacijo ter ostale komponente. Omogoˇca postavitev ali oblikovanje takˇsne spletne aplikacije, da se vsebina prilagaja glede na velikost zaslona, na katerem se izvaja. Kot tak je vgrajen v Blazor ogrodje, zato smo ga tudi mi uporabili pri razvoju naˇse aplikacije [4].

4.2 Microsoft Visual Studio

Microsoft Visual Studio je integrirano razvojno okolje podjetja Microsoft.

Namenjeno je razvoju programov za operacijske sisteme Windows, spletnih strani, spletnih aplikacij, spletnih storitev in aplikacij na osnovi ogrodja .NET. Podpira ˇstevilne programske jezike, moˇzna je tudi integracija zunanjih urejevalnikov in drugih orodij. Urejevalnik izvorne kode podpira IntelliSense komponento za avtomatiˇcno dopolnjevanje kode z razˇsirjeno funkcionalnostjo [36].

(38)

Zaradi vseh teh lastnosti in priporoˇcil s strani razvijalcev na spletu smo se odloˇcili, da bomo za razvoj spletne aplikacije uporabili razvojno okolje Microsoft Visual Studio.

4.2.1 Nuget paketi

Sodobna razvojna okolja vsebujejo orodja, s katerimi razvijalci ustvarjajo, delijo in uporabljajo uporabno kodo. Koda je pogosto zdruˇzena v pakete, ki vsebujejo prevedeno kodo (kot DLL datoteke) skupaj z drugo vsebino. V .NET okolju je to NuGet [24] mehanizem, ki doloˇca, kako se paketi ustva- rijo, gostijo in uporabijo. Pri razvoju spletne aplikacije smo uporabili Nuget pakete, s katerimi smo aplikacijo hitreje in varneje razvili [25].

Med drugim smo uporabili MailKit [20] knjiˇznico za vzpostavitev poˇstnega odjemalca, ki ga uporabljamo za oddajo naroˇcenega gradiva, Syncfusion Bla- zor [33], ki vsebuje komponente za razvoj uporabniˇskega vmesnika, ter orodje Dapper [6].

4.2.2 Orodje Dapper

Dapper je preprosto orodje za preslikavo objektov (angl. Object Relational Mapper - ORM), ki aplikacijam v .NET okolju omogoˇca delo s podatki brez pisanja kode za preslikavo rezultatov poizvedb v primerke objektov. Je od- prtokoden, preprost in zelo hiter v primerjavi z drugimi podobnimi orodji.

Zagotavlja tako statiˇcno kot dinamiˇcno vezavo objektov s poizvedbami SQL in uporabo shranjenih procedur (angl. store procedures). Dapper knjiˇznico smo namestili iz NuGet paketne knjiˇznice [7].

4.2.3 Knjiˇ znica Syncfusion

Syncfusion je vodilni ponudnik komponent in knjiˇznic, s katerimi lahko obo- gatimo izgradnjo oziroma razvoj aplikacij. Syncfusion Blazor komponente so optimizirane za delo z veliko podatki. Lahko jih uporabimo tako v Blazor

(39)

Server kot tudi z Blazor WebAssembly projektih. Zaprosili smo za Syncfu- sion Community licenco, ki samostojnim razvijalcem ali malim podjetjem z manj kot 1.000.000 dolarjev prihodkov na leto omogoˇca neomejen dostop do knjiˇznic oziroma komponent, ki jih lahko uporabimo pri razvoju aplikacije.

Po pridobitvi licenˇcnega kljuˇca smo le-tega vnesli v razred Startup, v projekt vnesli Syncfusion Blazor knjiˇznico iz NuGet paketne knjiˇznice ter pridobili dostop do veˇc kot 70 funkcionalnosti oziroma komponent, ki jih lahko upo- rabimo v aplikaciji [32].

Pri razvoju aplikacije smo uporabili predvsem dve Sysncfusion Blazor komponenti (SfDialoginSfGrid), s katerima prikazujemo vsebino aplikacije bodisi z modalnim oknom ali v tabelariˇcni obliki.

4.3 Spletni protokol SRU

SRU(angl. Search and Retrieve via URL) je standardiziran spletni protokol, ki je namenjen iskanju po podatkovnih bazah prek interneta. Omogoˇca eno- stavnejˇso izmenjavo strukturiranih podatkov v predpisanem formatu med odjemalcem in streˇznikom prek HTTP zahtev. Temelji na implementaciji REST (ang. Representational State Transfer) vmesnika, kjer vsaka poi- zvedba odjemalca v obliki spletnega naslova in poizvedbe (”URL + query string”) poteka izkljuˇcno prek HTTP povezave [31].

V naˇsem primeru nam je streˇznik glede na vrsto poizvedbe vrnil rezultat v obliki XML niza, ki opisuje posamezno gradivo ali veˇc gradiv, ki so shranjena v vzajemnem katalogu gradiv COBIB.

4.4 Jezik XML

XML je razˇsirljivi oznaˇcevalni jezik, ki je neodvisen od platforme. To pomeni, da lahko podatke prebiramo in obdelujemo ne glede na strojno opremo ali operacijski sistem. Doloˇca format za opisovanje strukturiranih podatkov in njihovo izmenjavo med veˇc omreˇzji. Zaradi preproste in pregledne zgradbe

(40)

se uporablja za prenos podatkov in njihovo izmenjavo med aplikacijami in streˇzniki [38].

4.5 LINQ poizvedovanje

LINQ je komponenta ogrodja .NET, ki omogoˇca izvajanje poizvedb v .NET programskih jezikih. Z uporabo poizvedbenih izrazov, ki so podobni stav- kom SQL, pridobimo in obdelujemo podatke iz nizov, dokumentov XML, relacijskih zbirk podatkov in podatkovnih virov tretjih oseb [19].

V sklopu razvoja aplikacije smo z LINQ poizvedbami razˇclenili XML za- pise gradiv, ki smo jih pridobili z uporabo spletnega servisa SRU v sistemu COBISS.

(41)

Razvoj aplikacije

5.1 Analiza zahtev

Osnovni zahtevi zaposlenih sta ureditev arhivskega gradiva in poslediˇcno hitrejˇsa priprava naroˇcenega gradiva. Na uvodnih sestankih in pri pregledu trenutne situacije ter teˇzav smo se odloˇcili, da gradivo najlaˇzje uredimo in pripravimo z izdelavo aplikacije. Zato opredelimo dodatne funkcionalnosti, ki naj bi jih aplikacija vsebovala, in na osnovi vrste uporabnika doloˇcimo funkcionalne zahteve.

5.1.1 Funkcionalne zahteve

Funkcionalne zahteve so operacije oziroma funkcije, ki jih uporabnik apli- kacije lahko izvaja. Pred uporabo spletne aplikacije se morajo uporabniki v aplikacijo prijaviti, hkrati pa jim je potrebno omogoˇciti, da si ustvarijo uporabniˇsko ime, v kolikor tega ˇse nimajo. Predvideli smo dve vrsti uporab- nikov ter poslediˇcno dve skupini funkcionalnosti, do katerih lahko doloˇcen uporabnik dostopa.

25

(42)

Osnovni uporabnik lahko izvaja naslednje funkcionalnosti:

• registracijo in vpis,

• urejanje uporabniˇskih podatkov,

• iskanje in pregled gradiva,

• vnos naroˇcniˇskih podatkov,

• izvedbo naroˇcila (izbor naroˇcnika, izbor gradiva),

• oddajo naroˇcil ter

• pregled zgodovine naroˇcil.

Skrbnik lahko izvaja:

• vse funkcionalnosti uporabnika,

• dodajanje gradiva (vnos novih kataloˇznih zapisov o gradivu),

• dodatno opisovanje gradiva (lokacija fiziˇcnega gradiva, pot do digi- talizirane kopije gradiva, avtorska zaˇsˇcita, oznaˇcitev zvrsti gradiva, oznaˇcitev vrste gradiva)

• urejanje naroˇcnikov (dodajanje, spreminjanje, brisanje),

• urejanje uporabnikov (dodajanje, spreminjanje, brisanje) ter

• potrjevanje naroˇcil.

Osnovni uporabniki imajo moˇznost iskanja, pregleda ter izbora gradiva, izvedbe naroˇcila, pri ˇcemer morajo vnesti osnovne podatke o naroˇcniku (ime, priimek, naslov in elektronski naslov), ter oddaje naroˇcil. Na voljo imajo tudi pregled zgodovine naroˇcil in gradiv, ki so jih v preteklosti naroˇcili.

Skrbniki aplikacije (zaposleni) imajo na voljo enake funkcionalnosti kot uporabniki, hkrati pa lahko dodajajo nova gradiva oziroma kreirajo nove kataloˇzne zapise o gradivu. ˇZe vneˇsenemu gradivu lahko dodajajo nove la- stnosti, priloˇzijo sliko oziroma izgled gradiva, lokacijo fiziˇcnega gradiva ter

(43)

lokacijo oziroma pot do digitalizirane kopije gradiva.

Omogoˇceno je tudi dodajanje novih lokacij hranjenja fiziˇcnega oziroma originalnega gradiva, urejanje in shranjevanje podatkov o naroˇcnikih, pregled nad naroˇcili ter navsezadnje izvedba, shranjevanje ter potrjevanje naroˇcil.

5.1.2 Nefunkcionalne zahteve

Po opredelitvi funkcionalnih zahtev smo doloˇcili ˇse nefunkcionalne zahteve, ki jim mora aplikacija zadostiti:

• Uporabnost – hiter in enostaven dostop, pregled gradiva ter izvedba naroˇcil; uporaba aplikacije brez veˇcjega napora.

• Dostopnost – podatki in uporabniˇski vmesniki morajo biti uporabni- kom predstavljeni na naˇcine, ki jih lahko zaznajo, razumejo ter intui- tivno uporabijo; omogoˇciti je potrebno dostop od kjerkoli in kadarkoli preko spleta.

• Varnost – omejitev dostopa do sistemskih datotek; omejitev uporabe aplikacije brez ustrezne avtentikacije uporabnikov; ustrezna zaˇsˇcita po- datkovne baze pred razliˇcnimi ranljivostmi; varnost sistemov, na kate- rih sloni aplikacija.

• Zanesljivost – zanesljiva in varna izmenjava podatkov med uporabni- kom in aplikacijo; izogibanje izpadom ali okvaram delovanja aplikacije in sistemov, na katerih sloni aplikacija .

5.2 Diagram primerov uporabe

Na podlagi opredeljenih zahtev in vlog uporabnikov smo izdelali diagram pri- merov uporabe (ang. Use-Case diagram) (slika 5.1). S tem smo bolj nazorno prikazali posamezne vloge in interakcije uporabnika z aplikacijo. Hkrati nam je slikovni prikaz funkcionalnosti sluˇzil tudi kot osnova za izdelavo podatkov- nega modela.

(44)

Slika 5.1: Diagram primerov uporabe

5.3 Podatkovni model

Podatkovni model je povezana zbirka konceptov, namenjenih opisovanju in manipulaciji s podatki. Z grafiˇcnim prikazom na razumljiv naˇcin predsta- vljamo zamisel naˇse podatkovne baze ter podatke, ki jih bo vsebovala posa- mezna tabela (slika 5.2).

Podatkovni model smo predstavili s tabelami in povezavami, ki nakazu- jejo odvisnosti med njimi. Glavna tabela v bazi je tabelaGradivo, primarni kljuˇc v tabeli je inventarna ˇstevilka gradiva. Brez inventarne ˇstevilke gradiva ne moremo vnesti v podatkovno bazo. V kolikor je gradivo vneˇseno v vza- jemni katalog zapisov COBIB, lahko opis posameznega gradiva pridobimo iz vzajemnega kataloga. Postopek pridobitve opisnih podatkov bomo pri- kazali v kasnejˇsih poglavjih. Ostale podatke, lokacijo fiziˇcnega gradiva, pot do digitalizirane kopije, avtorstvo ter zvrst in podzvrst gradiva bodo vnaˇsali zaposleni sami.

(45)

Naroˇcilo gradiva smo razdelili na dva dela, v tabelo NarociloTelo in tabelo NarociloGlava. Telo naroˇcila vsebuje seznam izbranih gradiv ter identifikacijsko ˇstevilko naroˇcilaNarociloGlavaId, ki ga pridobimo iz tabele NarociloGlava. Ta vsebuje podatke o naroˇcniku, ki jih pridobi iz tabele Narocnik, datum naroˇcila, status naroˇcila in druge opisne podatke, ki jih potrebujemo za izdelavo naroˇcila.

Izdelan podatkovni model nam je bil v veliko pomoˇc pri izdelavi dejanske podatkovne baze.

Slika 5.2: Podatkovni model aplikacije

(46)

5.4 Priprava podatkov o gradivu

5.4.1 Priprava bibliografskih zapisov o gradivu

Za pridobitev zapisov o gradivu v lokalni bibliografski bazi podatkov Knjiˇznice Mirana Jarca Novo mesto nam je Inˇstitut informacijskih znanosti Maribor (IZUM) omogoˇcil dostop do lokalne bibliografske baze podatkov knjiˇznice z uporabo spletnega servisa SRU (Search and Retrieve via URL), ki nam glede na vrsto poizvedbe (tabela 5.2) ter sheme zapisa (tabela 5.1) vrne bibliograf- ske zapise v obliki XML niza (slika 5.4).

SRU servis podpira naslednje sheme zapisov (angl. recordSchema):

info:srw/schema/1/dc-v1.1 Dublin Core [11]

info:srw/schema/1/marcxml-v1.1 Marc 21 [21]

info:srw/schema/1/mods-v3.3 Mods [23]

info:srw/schema/1/comarc COMARC [5]

info:srw/schema/1/marcJSON Marc Json [22]

Tabela 5.1: Sheme zapisov

Posamezno poizvedbo sestavljajo naslednja polja:

URL naslov https://www.cobiss.si/RDR/sru rest

Akronim baze knjiˇznice /SIKNM

Poizvedba ?query=

Iskalni indeks in+%3D200102144

Shema zapisa vrnjenega rezultata &recordSchema=info%3Asrw

%2Fschema%2F1%2Fcomarc

Avtentikacija &x-info-2-auth1.0

-authenticationToken=*********

Tabela 5.2: Prikaz posameznih polj poizvedbe

SRU poizvedbe lahko vsebujejo znake Unicode [34]. Diakritiˇcni znaki so kodirani v UTF-8 [35] s predpono %.

(47)

Primer: znak = zapiˇsemo v UTF-8 kot %3D. Za uporabo znaka = v poi- zvedbi (?query=IN=200102144) velja navodilo, da se drugi= zamenja z %3D (?query=IN%3D200102144).

Posamezne poizvedbe smo sestavljali iz URL naslova, akronima SIKNM (sploˇsna izobraˇzevalna knjiˇznica Novo mesto), iskalnih indeksov za iskanje gradiva, ˇzeljene vrnjene sheme zapisa ter avtorizacijskega kljuˇca za dostop do zapisa, shranjenega v lokalni bazi zapisov Knjiˇznice Mirana Jarca (slika 5.3).

Iskalne indekse lahko oblikujemo z ustrezno uporabo iskalnih predpon in pripon [15].

Slika 5.3: SRU poizvedba z iskalnim indeksom inventarna ˇstevilk Bibliografske zapise o gradivu smo v sklopu razvoja aplikacije pridobili z uporabo iskalnega indeksa IN= in inventarne ˇstevilke gradiva. Vso gradivo, ki ga v knjiˇznici obdelajo in shranijo v vzajemni katalog, je shranjeno v CO- MARC formatu, zato smo se odloˇcili, da bo shema vrnjenega zapisa prav tako v COMARC formatu. Bibliografske zapise smo uporabili za vnos gra- diva v podatkovno bazo, ki je podrobneje opisana v poglavju Implementacija.

5.4.2 Doloˇ citev lokacij fiziˇ cnega gradiva

Pred zakljuˇckom naˇcrtovanja aplikacije smo pregledali in popisali lokacije hranjenja slikovnega fiziˇcnega gradiva. Hkrati smo izvedli inventuro gradiva.

Z inventarnimi ˇstevilkami opremljene razglednice smo popisali na vseh loka- cijah in podlokacijah. Popis smo kasneje razˇsirili in razglednicam dodali opis lokacije hrambe fiziˇcnega gradiva.

(48)

Slika 5.4: Prikaz rezultata poizvedbe SRU v obliki XML niza

5.4.3 Doloˇ citev lokacij digitalnih kopij gradiva

Pri pregledu digitaliziranih kopij razglednic, katerih poimenovanje je enako inventarni ˇstevilki fiziˇcnega izvoda, smo ugotovili, da je bilo veliko razgle- dnic napaˇcno shranjenih. Zato smo izdelali skripto, s katero smo pregledali lokacije shranjenih digitaliziranih razglednic.

(49)

Vse napaˇcno shranjene datoteke smo ustrezno preimenovali, nato pa z uporabo poizvedb preko servisa SRU preverjali, ˇce imena datotek ustrezajo imenom in opisom gradiva v bazi COBIB. Vsem razglednicam v aplikaciji smo dodali tudi pot do digitalizirane kopije.

(50)
(51)

Implementacija

Sledila je izgradnja vseh treh delov naˇse aplikacije: uporabniˇskega dela, ki smo ga implementirali z ogrodjem Blazor, zalednega dela, ki vsebuje podat- kovno bazo in v katerega lahko umestimo tudi datoteˇcni sistem z digitalnimi kopijami gradiva ter podporne knjiˇznice.

6.1 Priprava razvojnega okolja

Zaradi enostavnosti priprave in samega razvoja ter kasnejˇsega testiranja upo- rabe smo se odloˇcili, da naˇso reˇsitev razvijemo na lokalnem raˇcunalniku z operacijskim sistemom Windows in razvojnim okoljem Visual Studio.

Pred priˇcetkom razvoja smo v razvojno okolje namestili osnovna orodja (slika 6.1).

Slika 6.1: Osnovna orodja pred priˇcetkom razvoja aplikacije

35

(52)

Pri razvoju aplikacije smo upoˇstevali dobre prakse in naˇso reˇsitev razˇclenili na veˇc projektov. Vsak projekt naslavlja doloˇcen del delovanja (logike) apli- kacije. Uporabniˇski del aplikacije predstavlja projekt, ki smo ga poimenovali PosebneZbirke (Blazor Server), medtem ko zaledni del predstavljata pro- jekta GradivaDB (SQL Server Database) in PodpornaKnjiznica (Class Library).

GradivaDB (SQL Server Database) vsebuje tabele podatkovne baze in shranjene procedure za dostop do podatkov, medtem koPodpornaKnjiznica (Class Library) vsebuje modele podatkov ter storitve za dostop do baze in rokovanje s podatki, ki so shranjeni v podatkovni bazi.

6.2 Zaledni sistem

Vsi podatki se nahajajo v zalednem sistemu. Podatki, ki so zapisani v podat- kovni bazi, se berejo preko vmesne knjiˇznice in prikazujejo v uporabniˇskem delu aplikacije.

Najprej smo zaˇceli z izdelavo podatkovne bazePosebneZbirkeDBin tabel, ki jih bo ta vsebovala. Podatkovno bazo smo gradili po korakih. S tem smo ohranjali nadzor nad pravilnostjo podatkov ter omogoˇcili laˇzje dopolnjevanje ali spremembe le-teh.

V projektuGradivaDB smo sprva ustvarili tabelo kljuˇcnega podatka naˇse spletne aplikacije,Gradivo(slika 6.2). Vanjo smo dodali ustrezne atribute in tipe podatkov, ki so opredeljeni v podatkovnem modelu. V tabeli Gradivo je atribut Inv (inventarna ˇstevilka gradiva) obvezen. Brez vpisa inventarne ˇstevilke gradiva ni mogoˇce shraniti v podatkovno bazo. Z ukazom Publish smo podatkovno bazo ustvarili in vanjo shranili tabelo Gradivo.

(53)

Slika 6.2: Tabela Gradivo v podatkovni bazi

Iz podatkovnega modela smo izdelali ˇse ostale tabele z ustreznimi vre- dnostmi in jih shranili v podatkovno bazo.

Podatkovna baza vsebuje sledeˇce tabele:

• Gradivo

• GradivoVrste

• GradivoPodvrste

• Lokacije

• Podlokacije

• AvtorskoZasciten

• Narocnik

• NarociloTelo

• NarociloGlava

(54)

Iz opisanih lastnosti podatkovne baze smo razbrali povezovalni niz (ang.

ConnectionString) (slika 6.3), ki doloˇca informacije o viru podatkov in naˇcinih povezovanja z njim. Lahko vkljuˇcuje atribute kot so, ime gonilnika, streˇznika in podatkovne baze, pa tudi varnostne informacije, kot sta uporabniˇsko ime in geslo. Shranili smo ga v nastavitveno datoteko aplikacijeappsetting.json, kamor se shranjujejo obˇcutljivi podatki aplikacije, ter ga poimenovaliSQLDB.

Slika 6.3: Tekstovni opis lokacije podatkovne baze v nastavitveni datoteki Za dostop do podatkovne baze smo sedaj potrebovali le naslov niza (SQLDB).

S tem smo zagotovili ˇse dodatno stopnjo varnosti pri dostopu do podatkov, ki so shranjeni v podatkovni bazi.

Za vsak dostop do podatkov o gradivu smo izdelali shranjeno proceduro z ustreznimi SQL poizvedbami. S tem smo poizvedbe natanˇcno oblikovali, jih laˇzje spreminjali in hitreje odpravili morebitne napake ali teˇzave. Podatke tako pridobimo s klicem shranjene procedure in vstopnih parametrov in ne z vpisom poizvedbe v sami programski kodi, kar lahko povzroˇci varnostne teˇzave, kot je recimo vrivanje stavkov SQL (ang. SQL Injection) (slika 6.4).

V nadaljevanju smo k naˇsi aplikaciji dodali projekt PodpornaKnjiznica (Class Library), ki vsebuje modele podatkov ter storitve za dostop do po- datkovne baze in rokovanje s podatki, shranjenimi v podatkovni bazi.

V zaˇcetni fazi razvoja smo v podatkovno bazo vnaˇsali posamezna gradiva.

Iz tabele v podatkovni bazi smo ustvarili model podatkov GradivoModel (slika 6.5) in vanj vpisali lastnosti, kot so opredeljene v podatkovni bazi. Do- stop do podatkov v podatkovni bazi smo omogoˇcili z uporabo dveh Dapper metod, ki sta implementirani v razredu SqlDataAccess. Z njima vzposta-

(55)

vimo povezavo do podatkovne baze, nato pa preslikamo podatke iz tabel v podatkovni bazi v C# objekte in obratno. MetodoLoadDatauporabljamo za pridobitev podatkov iz podatkovne baze. MetodoSaveDatapa uporabljamo za vnos, urejanje ali izbris podatkov iz podatkovne baze.

Slika 6.4: Shranjena procedura spGradivo Create

Podatke o gradivu smo pridobili s SRU poizvedbami v obliki XML niza (slika 5.4). Ustrezne lastnosti posameznega gradiva smo razˇclenili s pomoˇcjo LINQ poizvedb (slika 6.6) ter jih shranili v model podatkov GradivoModel.

Za komunikacijo s podatkovno bazo in nastavitev dostopa do podatkov smo za model podatkov GradivoModel implementirali ustrezno storitev oziroma ustvarili razredGradivoSqlDataService. Razred vsebuje metode za prejem, vnos, urejanje ali izbris podatkov, ki s pomoˇcjo shranjenih procedur posre- dujejo parametre, potrebne za njihovo izvajanje.

(56)

Slika 6.5: Model podatkov GradivoModel

Slika 6.6: Primer Linq poizvedbe nad XML zapisom, ki vrne identifikacijsko ˇstevilko COBISS-ID

(57)

V nadaljevanju prikazujemo ˇse dve metodi razredaGradivoSqlDataService.

Metoda CreateGradivoizSeznama (slika 6.7) kot vhodni parameter prejme seznam modelov GradivoModel. Vsak model podatkov se s klicem funkcije SaveData preslika v ustrezno tabelo v podatkovni bazi. Funkcija SaveData prejme tri vhodne parametre, shranjeno proceduro dbo.spGradivo_Create (slika 6.4), podatkovni model ter tekstovni opis lokacije podatkovne baze SQLDB. MetodaReadGradivo(slika 6.8) vraˇca seznam modelovGradivoModel.

Funkcija LoadData prejme vhodna parametra, predhodno shranjeno proce- durodbo.spGradivo_ReadterSQLDB, opis lokacije podatkovne baze. Metoda ReadGradivo podatke prebere iz tabele v podatkovni bazi in jih preslika v ustrezen model podatkov GradivoModel.

Ostale modele podatkov in razrede z ustreznimi metodami ter poizved- bami s shranjenimi procedurami smo implementirali po enakem postopku.

Slika 6.7: Metoda CreateGradivoIzSeznama iz razreda GradivoSqlDataSer- vice

(58)

Slika 6.8: Metoda ReadGradivo

6.2.1 Pretvorba in prikaz slikovnega gradiva

V knjiˇznici gradivo z upoˇstevanjem smernic in predvidenih parametrov (ta- bela 2.1) digitalizirajo v visoki loˇcljivosti. Shranijo ga na izbrano lokacijo v datoteˇcnem sistemu. Vsakemu zapisu smo zato dodali pot oziroma lokacijo, kje je doloˇceno gradivo shranjeno.

Na voljo smo imeli dve moˇznosti za prikaz gradiva v spletni aplikaciji:

• prikaz z uporabo arhivske kopije ali

• pretvorbo slik v operativno kopijo.

Prikaz z uporabo arhivske kopije: zaradi obsega in velikosti slik le-teh ni priporoˇcljivo shranjevati v podatkovni bazi in tudi ne prikazovati v sple- tni aplikaciji. Hkrati pa uporabniku s tem omogoˇcimo shranjevanje gradiva, zato bi bila izvedba naroˇcila nepotrebna. Gradivu bi lahko dodali vodni ˇzig (ang. Watermark) in mu tako odvzeli uporabno vrednost. A v ˇzelji po ohra- nitvi nadzora nad uporabo in posredovanjem gradiva se za to moˇznost nismo odloˇcili.

Pretvorba arhivske kopije gradiva ter shranjevanje slik v operativno ko- pijo ˇze v postopku digitalizacije gradiva bi bila ˇcasovno zamudna.

Zato smo iskali drugaˇcne moˇznosti in razvili reˇsitev, ki iz modela gradiva prebere lokacijo gradiva, sliko izbere, jo pretvori v base64 byte[] format, ustrezno pomanjˇsa, jo pretvori v niz (ang. string) ter prikaˇze sliko v apli- kaciji (slika 6.9). V trenutni fazi razvoja aplikacije uporabniku prikazujemo

(59)

pomanjˇsano sliko kot niz in do te slike uporabnik ne dostopa. Pretvorba in prikaz slik delujeta hitro in odzivno. Tak naˇcin prikaza ˇzal vsebuje tudi nekaj pomanjkljivosti. Ob prikazovanju veˇcjega ˇstevila slik na doloˇceni strani se hitrost nalaganja spletne strani znatno upoˇcasni, kar lahko privede do slabe uporabniˇske izkuˇsnje. V primeru, da nam pri nadaljnjem razvoju trenutna reˇsitev ne bo ustrezala, bomo spremenili naˇcin prikaza, torej gradivo pretvo- rili v operativno kopijo in to uporabili za prikaz.

Slika 6.9: Pretvorba in prikaz slikovnega gradiva

(60)

6.2.2 Predogled naroˇ cila gradiva

V spletni aplikaciji lahko uporabnik izvede postopek naroˇcanja gradiva. Pri tem ustvari novo naroˇcilo, izpolni kontaktne podatke ter poiˇsˇce in doda ˇzeleno gradivo k naroˇcilu. Uporabnik ima nato moˇznost predogleda ustvarjenega naroˇcila. Z izborom gumba oziroma povezave Predogled se v novem za- vihku odpre predogled .PDF dokumenta, ki vsebuje podatke o naroˇcniku, ˇstevilko naroˇcila, datum naroˇcila ter seznam izbranega gradiva, ki je opre- mljen s sliko in osnovnim opisom gradiva.

Tako smo omogoˇcili, da lahko uporabniki pred dokonˇcnim poˇsiljanjem naroˇcila le-tega ˇse enkrat pregledajo, ga shranijo ali natisnejo. Knjiˇzniˇcarjem je moˇznost predogleda naroˇcila tudi v veliko pomoˇc, saj s tem pridobijo podrobni vpogled v samo naroˇcilo (slika 6.10).

Slika 6.10: Predogled naroˇcila

(61)

6.2.3 Ustvarjanje ZIP datoteke naroˇ cenega gradiva

Trenutno naroˇcanje in poˇsiljanje gradiva je zamudno, saj zaposleni prejme naroˇcilo s podatki o ˇzelenem gradivu po elektronski poˇsti, iskanje in poˇsiljanje pa poteka roˇcno.

Zato smo implementirali reˇsitev, ki se izvaja v ozadju in obˇcasno preverja, ˇce je bilo v doloˇcenem obdobju ustvarjeno novo naroˇcilo. V kolikor to ob- staja, naroˇceno gradivo poiˇsˇce v datoteˇcnem sistemu, izdela .zip datoteko ter jo shrani na doloˇceno lokacijo na lokalnem raˇcunalniku. Naroˇcilu tudi spremeni status naroˇcila iz V pripravi v Zakljuˇceno.

Sam postopek iskanja in priprave gradiva smo s tem avtomatizirali in dosegli znaten prihranek na ˇcasu, ki je potreben za izvedbo naroˇcila.

6.3 Uporabniˇ ski del aplikacije

Projekt PosebneZbirke (Blazor Server) je osnovna Blazor predloga, ki predstavlja uporabniˇski del aplikacije. Predloga je vsebovala mapewwwroot, PagesinSharedter doloˇcene prednastavljene sistemske datoteke. Za potrebe izdelave naˇse spletne aplikacije smo v mapoPagesshranjevali komponente, ki predstavljajo posamezne podstrani spletne aplikacije. Komponente (kot sta NadzornaPlosca in Naslovnica, ki smo ju ugnezdili v posamezne kompo- nente in prikazujejo doloˇceno funkcionalnost spletne strani) smo shranjevali v mapoShared (slika 6.11).

Naslovna stran naˇse aplikacije vsebuje komponente iz Blazor ogrodja AuthorizeViewinAuthorizeterNotAuthorizedin komponenteNavigacija, NadzornaPlosca ter Naslovnica, ki smo jih izdelali sami. Naslovno stran smo tako naredili bolj pregledno in razumljivo, hkrati pa omogoˇcili, da ustvar- jene komponente lahko uporabimo tudi na ostalih straneh naˇse aplikacije (slika 6.12).

(62)

Komponento Navigacija smo vgradili v vse strani, do katerih dostopamo preko povezav v njej (slika 6.14).

Slika 6.11: Struktura aplikacije

6.3.1 Prikaz seznama gradiva

Glede na veliko koliˇcino gradiva smo se odloˇcili, da bomo seznam gradiva prikazali v tabelariˇcni obliki s knjiˇznico Syncfusion. Knjiˇznica Syncfusion vsebuje komponento DataGrid, ki omogoˇca tabelariˇcni prikaz.

(63)

Slika 6.12: Prikaz gnezdenih komponent: v komponento Naslovna stran smo ugnezdili komponente Navigacija, NadzornaPlosca inNaslovnica

Oznaka DataSource oznaˇcuje vir podatkov, v naˇsem primeru seznam gradiva, ki smo ga ob prikazu strani pridobili iz podatkovne baze. SfGrid oznaˇcuje tabelo,GridColumnpa posamezen stolpec v tabeli. Med vrsto funk- cionalnosti, ki jih komponentaDataGridvsebuje, smo v tabeli omogoˇcili oro- dno vrstico (ang. toolbar), omejitev ˇstevila gradiva (ang. paging), urejanje (ang. sorting) posameznih stolpcev, izvoz seznama v Excel, reorganizacijo stolpcev (ang. Reordering) in filtriranje vsebine (slika 6.13).

6.3.2 Avtentikacija in avtorizacija

Za uporabo spletne aplikacije se je potrebno predhodno registrirati in prija- viti. Uporabnik aplikacije potrjuje svojo identiteto z elektronskim naslovom in geslom. V trenutni (zaˇcetni) fazi razvoja aplikacije smo avtentikacijo po- enostavili, zato veljavnosti elektronskega naslova ne preverjamo.

(64)

Slika 6.13: Uporaba Syncfusion knjiˇznice za prikaz seznama gradiva Za nastavitev varnosti in omejitev dostopa do doloˇcenih funkcionalnosti smo predvideli dve vrsti uporabnikov (Administrator in Uporabnik). Za izvedbo v Blazor aplikacijah uporabimo ˇze vgrajene komponente, ki so del AuthenticationStateProviderstoritve. S storitvijo nastavimo preverjanje identitete uporabnikov, hkrati pa z doloˇcitvijo posameznih vlog uporabnikom omejujemo dostop do doloˇcenih funkcionalnosti aplikacije.

Za nadzor nad doloˇcenimi funkcionalnostmi smo uporabili vgrajeno kom- ponento AuthorizeView, ki vsebuje tudi Authorized in NotAuthorized komponenti. Ti dve komponenti omogoˇcata (ali onemogoˇcata) dostop do doloˇcene funkcionalnosti aplikacije. V kolikor je uporabnik ustrezno vpisan v aplikacijo (torej avtenticiran), je tudi avtoriziran, zato vsebino prikaˇzemo v komponenti Authorized.

Uporabo komponent Authorized inNotAuthorized prikazujemo na pri- meru komponenteNaslovnaStran (slika 6.12).

(65)

Z doloˇcitvijo vlog (ang. roles) lahko uporabnikom dostop do vsebin ˇse podrobneje omejujemo. Tako smo v komponenti Navigacija skrbniku aplikacije omogoˇcili dostop do vseh funkcionalnosti aplikacije (slika 6.14), neavtoriziranemu uporabniku pa le pregled, naroˇcanje gradiva ter urejanje naroˇcniˇskih podatkov (slika 6.15).

Osnovnemu uporabniku aplikacije smo dostop do doloˇcenih strani one- mogoˇcili tudi tako, da smo na vrhu vsake strani vnesli atribut[Authorize].

Ta omogoˇca ogled strani le avtoriziranemu uporabniku, ki je v vlogi skrbnika (slika 6.16).

Slika 6.14: Prikaz komponente Navigacija na naslovni strani za skrbnika

Slika 6.15: Prikaz komponente Navigacija za uporabnika brez skrbniˇskih pravic

(66)

Slika 6.16: Uporaba atributaAuthorizeza vlogo Administrator v podstrani Administracija

(67)

Uporaba aplikacije

Aplikacijo smo razvili po principu, da dostop do gradiva omogoˇcimo le re- gistriranim uporabnikom, zato se je v aplikacijo potrebno vpisati z upo- rabniˇskim imenom in geslom. V kolikor tega ˇse nimamo, je potrebno izvesti postopek registracije (slika 7.1).

Slika 7.1: Vstopna stran aplikacije

V nadaljevanju bomo prikazili nekaj skrbniˇskih funkcionalnosti naˇse sple- tne aplikacije.

Ob uspeˇsni prijavi se odpre prva stran z navigacijo ter osnovnimi stati- stiˇcnimi podatki o trenutnem ˇstevilu vneˇsenega gradiva, ˇstevilu naroˇcnikov,

51

(68)

naroˇcil in uporabnikov aplikacije. Na strani so prikazana zadnja dodana gra- diva. S klikom na sliko si ogledamo podrobni opis ter izgled gradiva (slika 7.2).

Slika 7.2: Prikaz naslovne strani

7.1 Urejanje gradiva

Na podstrani Gradivo se nam prikaˇze seznam vneˇsenega gradiva v podat- kovno bazo (slika 7.3). Za gradivo, katerega opise smo prenesli iz kataloˇzne baze zapisov COBIB, so polja za opis gradiva onemogoˇcena in jih ne moremo spreminjati. Izpolnijo in uredijo se lahko le polja, ki gradivo dodatno opisu- jejo. Dejansko lahko dodamo le opis lokacije fiziˇcnega gradiva, vrsto gradiva ter zaˇsˇcito gradiva (slika 7.4).

V kolikor se bodo v aplikacijo v bodoˇce vnaˇsale tudi ostale vrste gradiva, ki ˇse niso ali ne bodo nikoli vneˇsene v vzajemni katalog zapisov COBIB, smo predvideli tudi moˇznost roˇcnega vnosa gradiva, kjer polja za urejanje zapisa o gradivu ne bodo onemogoˇcena. Na voljo je tudi vnos veˇc gradiv hkrati.

(69)

Slika 7.3: Seznam gradiva

V zavihku Dodaj veˇc gradiv iz COBIB-a z vpisom inventarnih ˇstevilk in izborom gumba Dodaj gradivo za vsako inventarno ˇstevilko vnesemo zapis iz kataloˇzne baze zapisov, dodamo pot do digitalizirane kopije in gradivo shranimo v aplikacijo. Zaposleni jih nato le ˇse dodatno opiˇsejo.

Vsako gradivo si lahko tudi podrobneje ogledamo, ˇce v seznamu gradiva oznaˇcimo ˇzeleno gradivo in izberemo gumb Preglej. Odpre se nam nova stran s slikovnim in opisnim prikazom gradiva. Gradivo lahko po ˇzelji tudi izbriˇsemo iz podatkovne baze s pritiskom na gumb Izbriˇsi.

7.2 Naroˇ canje gradiva

Skrbnik ima pregled nad vsemi naroˇcili, tako svojimi kot tudi naroˇcili ostalih uporabnikov. Ob izbiri gumbaNaroˇcilase nam odpre nova stran s prikazom vseh ustvarjenih naroˇcil. V glavi tabele naroˇcil so gumbi, ki omogoˇcajo krei- ranje novega naroˇcila, morebitno naknadno urejanje naroˇcila, izbris, pregled in poˇsiljanje naroˇcila (slika 7.5).

(70)

Slika 7.4: Urejanje posameznega gradiva

Slika 7.5: Podstran Naroˇcila s tabelo naroˇcil

Z izborom gumba+Novose nam odpre nova stran, kjer izpolnimo podatke o naroˇcniku gradiva. Stran vsebuje tudi tabelo, kamor izbrano gradivo do- dajamo. Za dodajanje gradiva k naroˇcilu izberemo gumb Dodaj gradivo.

(71)

Odpre se nam modalno okno s seznamom vsega gradiva v naˇsi aplikaciji (slika 7.6).

Slika 7.6: Tabela s seznamom vsega gradiva

Pred dodajanjem gradiva k naroˇcilu si lahko gradivo tudi podrobneje ogledamo, tako da posamezno gradivo oznaˇcimo in izberemo gumb Ogled gradiva. Odpre se novo modalno okno s slikovnim ter opisnim prikazom gradiva (slika 7.7).

Slika 7.7: Slikovni prikaz in opis gradiva

(72)

Po izboru vsega gradiva naroˇcilo shranimo, aplikacija pa nas preusmeri nazaj na stran Naroˇcila. Moˇznost veˇckratne izbire istega gradiva smo ob shranjevanju naroˇcila onemogoˇcili s preverjanjem morebitne podvojenosti gradiva. Posamezno naroˇcilo si lahko ogledamo z izborom gumba Pregled, kjer se nam v novem zavihku odpre predogled naroˇcila v .pdf obliki. Ta vsebuje tudi naroˇcniˇske podatke in seznam naroˇcenega gradiva (slika 6.10).

Z izborom gumba Poˇslji naroˇcilo potrdimo ter poˇsljemo zaposlenim na elektronski naslov. Zaposleni v svoj poˇstni nabiralnik prejmejo sporoˇcilo, ki vsebuje ˇstevilko naroˇcila, povezavo na predogled naroˇcila ter dodatni opis k naroˇcilu (slika 7.8).

Slika 7.8: Prikaz prejetega naroˇcila na elektronski naslov

Hkrati se naroˇcilu dodeli status V pripravi. Zaposleni nato v aplikaciji naroˇcilo sprejme, zato se status naroˇcila spremeni v Sprejeto. V ozadju se obˇcasno sproˇza procedura, ki preverja nova naroˇcila. Glede na inventarne ˇstevilke gradiv v naroˇcilu poiˇsˇce digitalizirano kopijo v datoteˇcnem sistemu oziroma digitalnem arhivu ter ustvari.zipdatoteko, katero shrani na lokalni raˇcunalnik. Status naroˇcila se tedaj spremeni v Zakljuˇceno.

Zaposleni pred samim poˇsiljanjem naroˇcenega gradiva naroˇcniku preko elektronske poˇste poˇslje v podpis sporazum o uporabi arhivskega gradiva, ki vsebuje tudi seznam naroˇcenega gradiva. Po prejemu podpisanega spora- zuma naroˇceno gradivo naroˇcniku poˇslje preko spletnega servisa za poˇsiljanje veˇcjih datotek.

Reference

POVEZANI DOKUMENTI

V tej diplomski nalogi sem se posvetil predvsem prikazovanju PDF dokumentov, saj je za upodabljanje teh na razpolago precej razliˇ cnih knjiˇ znic. Prvo reˇsitev sem izvedel s

Uporabnikom moramo omogoˇ citi dostop do spletnega vmesnika, zato smo v arhi- tekturo nadzorne aplikacije vkljuˇ cili tudi spletni streˇ znik, ki omogoˇ ca komunikacijo s

Mobilna aplikacija je bila razvita v orodju Ionic, ki je sestavljen iz knjiˇ znice AngularJS za razvoj spletne aplikacije ter orodja Cordova za gradnjo hibri- dnih mobilnih

Knjiˇ znice Science Direct, ACM DL in IEEE Xplore omogoˇ cajo izvoz vseh virov v razliˇ cnih formatih (slika 3.6):.. •

Za vzpostavitev povezave med svojo aplikacijo in datotekami shp smo se odloˇ cili za uporabo knjiˇ znice FDO, ki nam omogoˇ ca preprost dostop do objektov in njihovih podatkov v

V naˇsem primeru so preko njega povezani stroji s streˇ zniki OPC DA in podatkovna baza Microsoft SQL spletne aplikacije za upravljanje z recepti, kar nam omogoˇ ca nalaganje

Razvili smo prototip spletne aplikacije, ki zaposlenim v podjetju omogoˇ ca laˇ zji pregled nad vsemi stiki, ki se pojavljajo v prejetih ali poslanih e-poˇstnih sporoˇ cilih podjetja.

Cilj diplomskega dela je bila nadgradja obstojeˇ ce spletne aplikacije z veˇ c interaktivnimi vizualizacijami podatkov, ki uporabniku omogoˇ cajo analizo uvoˇ zene zbirke