{"id":22965,"date":"2025-04-15T07:00:00","date_gmt":"2025-04-15T05:00:00","guid":{"rendered":"https:\/\/blogs.uef.fi\/ueflibrary\/?p=22965"},"modified":"2025-10-16T16:02:28","modified_gmt":"2025-10-16T14:02:28","slug":"kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server","status":"publish","type":"post","link":"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/","title":{"rendered":"Kirjaston sovellukset muuttivat toiselle palvelimelle &#8211; mit\u00e4 se tarkoitti? | Library\u2019s applications moved to a new server &#8211; What did it mean?"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"504\" height=\"504\" src=\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image.png\" alt=\"Piirretty koira istuu ja ajattelee, ett\u00e4 &quot;Tarviis v\u00e4h\u00e4n p\u00e4ivitell\u00e4&quot;.\" class=\"wp-image-22982\" srcset=\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image.png 504w, https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-151x150.png 151w\" sizes=\"auto, (max-width: 504px) 100vw, 504px\" \/><figcaption class=\"wp-element-caption\">Kuva 1. Kirjaston sovellusten siirto uudelle palvelimelle toi tullessaan p\u00e4ivitysurakan. Kuvan teossa avusti Copilot.<\/figcaption><\/figure>\n\n\n\n<p>It\u00e4-Suomen yliopiston kirjastolla on omalla verkkopalvelimella yll\u00e4pidossa kaksikymment\u00e4 sovellusta, jotka ovat jo vuosien ajan toimineet sujuvasti vain pienten p\u00e4ivitysten voimalla. Aika ajoin digitaaliset tuotteet tarvitsevat kuitenkin isompaa uudistusta ja toimintojen raikastamista. Jokunen tovi sitten meid\u00e4t tavoitti tieto, ett\u00e4 kirjaston sovellusten k\u00e4ytt\u00e4m\u00e4 palvelin t\u00e4ytyy p\u00e4ivitt\u00e4\u00e4 tuoreempaan kokoonpanoon (Kuva 1). Isoimpina haasteina tunnistettiin mm. palvelimen k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4n lisensointimuutokset ja eRepository-julkaisuarkistoamme py\u00f6ritt\u00e4neen DSpace 5.x-ohjelmiston parasta ennen p\u00e4iv\u00e4yksen umpeutuminen.<\/p>\n\n\n\n<p>Oli selv\u00e4\u00e4, ett\u00e4 palvelimen muutos vaikuttaisi l\u00e4hes kaikkiin palvelimella ajettaviin sovelluksiin ja niiden tarjoamiin palveluihin. Siksi ty\u00f6p\u00f6yd\u00e4llemme tupsahtivat yht\u00e4 aikaa palvelimella ajettavien sovellusten ajantasaistaminen ja kokonaisuuden moninaisten palikoiden toiminnan varmistaminen uuden palvelimen vaatimusten mukaisesti. Nyt, kun isoin urakka alkaa olla takana, on hyv\u00e4 kerrata ainakin p\u00e4\u00e4pirteitt\u00e4in, mit\u00e4 tulikaan tehty\u00e4 ja milt\u00e4 tulevaisuus n\u00e4ytt\u00e4\u00e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Sovelluspakkamme voi jakaa p\u00e4ivitysten osalta kahteen leiriin<\/h3>\n\n\n\n<p>Jaoimme p\u00e4ivitysurakkaan kuuluneet sovellukset karkeasti ottaen kahteen joukkoon. N\u00e4in saimme asetettua laajemman p\u00e4ivitysty\u00f6mme hallittaviin kokonaisuuksiin. Ensimm\u00e4iseen joukkoon kuuluivat nk. sekalaiset sovellukset ja lyhyehk\u00f6t ohjelmanp\u00e4tk\u00e4t, kuten Paytrail-verkkomaksuja ohjaava ohjelma, sijaintiopas, y\u00f6lainojen varausj\u00e4rjestelm\u00e4 ja muut vastaavat, suppeampaa kehitt\u00e4misty\u00f6t\u00e4 odottavat toteutukset. Toinen joukko sis\u00e4lsi yhten\u00e4isemm\u00e4n ja isomman urakan <a href=\"https:\/\/erepo.uef.fi\/\">eRepositoryn<\/a> ja siihen liittyvien ohjelmistojen ymp\u00e4rill\u00e4. Sovelluspakka on j\u00e4rjestelm\u00e4viidakon muodossa Kuvassa 2 \u2014 huomaat varmaan, ett\u00e4 kyse ei ole ihan parista ohjelmasta.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1004\" height=\"671\" src=\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-1.png\" alt=\"Visualisointi kirjaston sovelluksista ja tietokannoista. Kuvituskuva, jonka sis\u00e4lt\u00f6 kerrottu leip\u00e4tekstiss\u00e4. \" class=\"wp-image-22984\" srcset=\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-1.png 1004w, https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-1-151x101.png 151w, https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-1-768x513.png 768w\" sizes=\"auto, (max-width: 1004px) 100vw, 1004px\" \/><figcaption class=\"wp-element-caption\">Kuva 2. J\u00e4rjestelm\u00e4viidakko. Ryhm\u00e4 A muodostaa eRepo-kokonaisuuden (DSpace ja julkaisemisen tuen j\u00e4rjestelm\u00e4t). Ryhm\u00e4 B sis\u00e4lt\u00e4\u00e4 muut sekalaisen joukon j\u00e4rjestelm\u00e4t.<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Sekalaisella muuttajien joukolla on erilaisia tarpeita<\/h3>\n\n\n\n<p>Sekalaisen joukon kanssa er\u00e4s ty\u00f6mme kriittisist\u00e4 vaiheista oli p\u00e4ivitt\u00e4\u00e4 k\u00e4ytt\u00e4miemme ohjelmointikielten versiot tuoreempiin niin, ett\u00e4 ne t\u00e4ytt\u00e4v\u00e4t uuden palvelimen v\u00e4himm\u00e4isvaatimukset. P\u00e4ivityksess\u00e4 koodien toimintaa ja syntakseja oli tutkailtava uudella tavalla. Periaatteessa kaikki toimi niin kuin ennenkin, mutta logiikka tuli sanoittaa uudelleen tuoreemman ohjelmointikieliversion mukaisesti. Siin\u00e4 puuhassa virheilmoitukset tulivat tutuiksi!<\/p>\n\n\n\n<p>Ohjelmointikielten lis\u00e4ksi my\u00f6s sovelluksiin liittyv\u00e4t tietokantaohjelmistot p\u00e4ivittyiv\u00e4t. Niit\u00e4kin saimme ihmetell\u00e4 hieman uusin silmin, sill\u00e4 moni ratkaisu, joihin vuosien aikana oli p\u00e4\u00e4dytty ja sittemmin totuttu, toteutui nyt eri tavalla. Vaikka tietokantaohjelmistojen p\u00e4ivitys olikin kaikin puolin hyv\u00e4 juttu, vaati k\u00e4ytt\u00f6\u00f6notto t\u00f6it\u00e4, jotta my\u00f6s tietokantojen asiat saatiin menem\u00e4\u00e4n haluamallamme tavalla.<\/p>\n\n\n\t<div id=\"accordion-block_62c94683a9589f7ad0899430ecd23445\" class=\"accordions\">\n\t\t\t\t\t<div class=\"accordion accordion-js\">\n\t\t\t\t<button class=\"accordion__button\" aria-controls=\"content-2816\" aria-expanded=\"false\" id=\"accordion-control-2816\">\n\t\t\t\t\t<h3 class=\"accordion__heading\" >\n\t\t\t\t\t\tYksi k\u00e4yt\u00e4nn\u00f6n esimerkki tietokantaohjelmiston p\u00e4ivityksest\u00e4 \u2013 p\u00e4iv\u00e4m\u00e4\u00e4r\u00e4n\u00e4 0000-00-00\t\t\t\t\t<\/h3>\n\t\t\t\t<\/button>\n\t\t\t\t<div class=\"accordion__content\" role=\"region\" aria-labelledby=\"accordion-control-2816\" aria-hidden=\"true\" id=\"content-2816\">\n\t\t\t\t\t<p>Aiemmassa tietokantaohjelmistossa oli oletuksena p\u00e4\u00e4ll\u00e4 asetus, joka tarjosi vaihtoehtoisen 0000-00-00 -p\u00e4iv\u00e4m\u00e4\u00e4r\u00e4n k\u00e4yt\u00f6n tiedon tallentamiseen. T\u00e4m\u00e4 \u201dnollap\u00e4iv\u00e4\u201d oli mahdollista tallentaa p\u00e4iv\u00e4m\u00e4\u00e4r\u00e4kentt\u00e4\u00e4n silloin, jos oikea p\u00e4iv\u00e4m\u00e4\u00e4r\u00e4 ei ollut saatavana tai sit\u00e4 ei haluttu syyst\u00e4 tai toisesta tallentaa. Olemattoman p\u00e4iv\u00e4m\u00e4\u00e4r\u00e4n k\u00e4ytt\u00f6 ei kuitenkaan ole kovin loogista, eik\u00e4 tuoreemmissa tietokantaohjelmistoversioissa kyseinen asetus ole en\u00e4\u00e4 automaattisesti p\u00e4\u00e4ll\u00e4.<\/p>\n<p>Sovelluspakkaamme oli kehitetty vuosien varrella vanhoihin tietokantaohjelmistoversioihin nojaten, joten tietokantaohjelmistoversion p\u00e4ivityksen j\u00e4lkeen meille j\u00e4i kummittelemaan joitakin virhealttiita, ep\u00e4kelpoja \u201dnollap\u00e4ivi\u00e4\u201d. Koska halusimme kehitt\u00e4\u00e4 tietokantojamme parempaan suuntaan, k\u00e4vimme osana p\u00e4ivitysurakkaa vaihtamassa monesta tietokantataulusta sek\u00e4 t\u00e4t\u00e4kin useammasta l\u00e4hdekooditiedostosta ep\u00e4kelpoja ja samalla mahdottomia p\u00e4iv\u00e4m\u00e4\u00e4ri\u00e4 uusien, j\u00e4rkev\u00e4mpien k\u00e4yt\u00e4nteiden mukaisiksi.<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<\/div>\n\t\n\n\n<h3 class=\"wp-block-heading\">eRepository pystytettiin tuoreemmalla DSpacella ja samalla p\u00e4ivitettiin oheissovellukset<\/h3>\n\n\n\n<p>Yhten\u00e4isempi kokonaisuus muodostui eRepositoryn, kotoisammin eRepon, ymp\u00e4rille. eRepo on julkaisuarkisto ja verkkok\u00e4ytt\u00f6liittym\u00e4 yliopistossamme tehdyille opinn\u00e4ytet\u00f6ille, sarjajulkaisuille ja rinnakkaistallennetuille artikkeleille. Lis\u00e4ksi eRepoon poimitaan metatietoja uefilaisten <a href=\"https:\/\/www.fairdata.fi\/etsin\/\">Etsimeen<\/a>, <a href=\"https:\/\/zenodo.org\/ Zenodo\">Zenodoon<\/a>, <a href=\"https:\/\/datadryad.org\/\">Dryadiin<\/a> ja <a href=\"https:\/\/eudat.eu\/\">EUDATiin<\/a> tallentamista tutkimusaineistoista. eReposta l\u00f6ytyy t\u00e4ll\u00e4 hetkell\u00e4 reilusti yli kaksikymment\u00e4tuhatta yksitt\u00e4ist\u00e4 aineistoa, joten ihan pienest\u00e4 paketista ei ole kyse!<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Siirryimme DSpace 5.x-versiosta 7.x-aikakaudelle<\/h4>\n\n\n\n<p>Uudeksi eRepon j\u00e4rjestelm\u00e4ksi valittiin Lyrasiksen tarjoama avoimen l\u00e4hdekoodin DSpace 7.6.2-versio, joka on kehittyneempi versio meill\u00e4 aiemmin olleesta 5.x-versiosta. P\u00e4ivitysty\u00f6h\u00f6mme kuului r\u00e4\u00e4t\u00e4l\u00f6id\u00e4 tuore DSpace ohjelmisto soveltuvin osin meille sopivaksi. Muutoksen haasteena olivat erot DSpace 5.x ja 7.x -versioiden v\u00e4lill\u00e4. K\u00e4ytt\u00e4j\u00e4lle selkeimp\u00e4n\u00e4 erona n\u00e4kyy sovelluksen muuttunut ulkoasu (Kuva 3). Uusi ulkoasu puolestaan tahtoo kertoa siit\u00e4, ett\u00e4 DSpacen k\u00e4ytt\u00f6liittym\u00e4n teknologinen perusta on muuttunut. T\u00e4m\u00e4 on yksi osa isompaa kehityskaarta, jossa DSpacen eri toiminnot (esim. frontend ja sen komponentit; backend) on eroteltu itsen\u00e4isiksi kokonaisuuksiksi.<\/p>\n\n\n<iframe width=\"960\" height=\"470\" data-original-width=\"1276\" data-original-height=\"625\" src=https:\/\/www.thinglink.com\/view\/scene\/1918601852811740004 type=\"text\/html\" style=\"border: none;\" webkitallowfullscreen mozallowfullscreen allowfullscreen scrolling=\"no\"><\/iframe><script async src=\"\/\/cdn.thinglink.me\/jse\/responsive.js\"><\/script>\n\n\n\n<p>Kuva 3. eRepon ulkoasu uudistui. Taustalla uudistui paljon muutakin.<\/p>\n\n\n\t<div id=\"accordion-block_987f126cad6a027300218f119a918185\" class=\"accordions\">\n\t\t\t\t\t<div class=\"accordion accordion-js\">\n\t\t\t\t<button class=\"accordion__button\" aria-controls=\"content-305\" aria-expanded=\"false\" id=\"accordion-control-305\">\n\t\t\t\t\t<h3 class=\"accordion__heading\" >\n\t\t\t\t\t\tMuutamia k\u00e4yt\u00e4nn\u00f6n havaintojamme DSpacesta\t\t\t\t\t<\/h3>\n\t\t\t\t<\/button>\n\t\t\t\t<div class=\"accordion__content\" role=\"region\" aria-labelledby=\"accordion-control-305\" aria-hidden=\"true\" id=\"content-305\">\n\t\t\t\t\t<p>On erityisen mainiota, ett\u00e4 DSpacella on pitk\u00e4 historia, paljon k\u00e4ytt\u00e4ji\u00e4 ja aktiivinen kehitt\u00e4j\u00e4yhteis\u00f6, sek\u00e4 kattava dokumentaatio asennusohjeineen. Esimerkiki DSpacen 7.x:n dokumentaatiota voi katsella tarkemmin englanninkielisest\u00e4 <a href=\"https:\/\/wiki.lyrasis.org\/display\/DSDOC7x\/Introduction\">Lyrasiksen omasta Wikist\u00e4<\/a>. Tuoreimpia DSpace-versioita ja niiden dokumentaatiota yll\u00e4pidet\u00e4\u00e4n, sek\u00e4 bugilistoille p\u00e4\u00e4tyneit\u00e4 ongelmia ratkotaan t\u00e4rkeysj\u00e4rjestyksess\u00e4. Lis\u00e4ksi DSpacea on mahdollista muokata itselleen sopivaksi monin eri tavoin. Laajan kehitt\u00e4j\u00e4yhteis\u00f6n avulla voi l\u00f6yt\u00e4\u00e4 ratkaisun omaan pulmaan tai ainakin hakea vertaistukea.<\/p>\n<p>DSpace 7.x. on seuraajiensa 8.x:n ja 9.x:n tavoin laajahko, moderneihin ohjelmistokehyksiin perustuva ohjelmistokokonaisuus, joka monipuolisuutensa vuoksi voi varata yll\u00e4tt\u00e4v\u00e4nkin paljon henkil\u00f6resursseja k\u00e4ytt\u00f6\u00f6nottoon ja yll\u00e4pitoon. Vaikka dokumentaatiota onkin saatavana, ohjeet eiv\u00e4t aina tue yksil\u00f6llisi\u00e4 r\u00e4\u00e4t\u00e4l\u00f6intej\u00e4. Joskus my\u00f6s r\u00e4\u00e4t\u00e4l\u00f6intitoiveet ovat ristiriidassa k\u00e4yt\u00f6ss\u00e4 olevan DSpace-toteutuksen kyvykkyyden kanssa.<\/p>\n<p>Olemmekin pieness\u00e4 tiimiss\u00e4mme alkaneet kutsua r\u00e4\u00e4t\u00e4l\u00f6intiemme parissa puuhaamista lempe\u00e4sti salapoliisity\u00f6ksi. P\u00e4hk\u00e4ilymme voi alkaa vaikkapa miettim\u00e4ll\u00e4, ett\u00e4 koskeeko toivottu muutos <a href=\"https:\/\/github.com\/DSpace\/dspace-angular\/releases\/tag\/dspace-7.6.2\">frontendia<\/a>, <a href=\"https:\/\/github.com\/DSpace\/DSpace\/releases\/tag\/dspace-7.6.2\">backendia<\/a>, <a href=\"https:\/\/wiki.lyrasis.org\/display\/DSDOC7x\/Installing+DSpace\">muita ohjelmistoja<\/a>, asetuksia vai palvelimen kokoonpanoa. Ent\u00e4 mihin komponenttiin osat lopulta kuuluvat, miss\u00e4 kaikkialla muutos n\u00e4kyy? Onko muutoksilla kerrannaisvaikutuksia, jotka tulee huomioida? Lis\u00e4ksi kaikki omat r\u00e4\u00e4t\u00e4l\u00f6intimme tulee tehd\u00e4 niin, ett\u00e4 yll\u00e4pito, uudistuminen ja DSpace-versioiden p\u00e4ivitysten mukaan ottaminen on teknisesti mahdollisimman suoraviivaista.<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<\/div>\n\t\n\n\n<h4 class=\"wp-block-heading\">Himmeli ja rajapinnat tukevat my\u00f6s uudistuneen eRepon k\u00e4ytt\u00f6\u00e4<\/h4>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"869\" height=\"582\" src=\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-2.png\" alt=\"eRepon toimintaymp\u00e4rist\u00f6n visualisointi. Taustaj\u00e4rjestelm\u00e4t tukevat aineistojen k\u00e4sittelyj\u00e4rjestelmien toimintaa ja edelleen eRepon\/DSpacen k\u00e4ytt\u00f6\u00e4. Tieto kulkee lopuksi kansallisiin ja kansainv\u00e4lisiin j\u00e4rjestelmiin.\" class=\"wp-image-22987\" srcset=\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-2.png 869w, https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-2-151x101.png 151w, https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-2-768x514.png 768w\" sizes=\"auto, (max-width: 869px) 100vw, 869px\" \/><figcaption class=\"wp-element-caption\">Kuva 4. eRepon digitaalisen toimintaymp\u00e4rist\u00f6n hahmotelma. A: Aineistojen k\u00e4sittelyj\u00e4rjestelm\u00e4; B: eRepo\/DSpace; C: Taustaj\u00e4rjestelm\u00e4t; D: Kansalliset ja kansainv\u00e4liset j\u00e4rjestelm\u00e4t.<\/figcaption><\/figure>\n\n\n\n<p>eRepon taustalla olevan DSpace-teknologian uudistuttua my\u00f6s rajapintateknologia vaihtui t\u00e4ysin. Olemme tehneet jo aiemmin valinnan hoitaa DSpaceen teht\u00e4v\u00e4t tallennukset erillisell\u00e4, rajapintoja hy\u00f6dynt\u00e4v\u00e4ll\u00e4 ty\u00f6kalulla nimelt\u00e4 Himmeli (Kuva 4). Vaikka k\u00e4ytt\u00f6\u00f6nottoprojektin kohdalla erillisen ty\u00f6kalun sovittaminen uuteen toteutukseen tarkoittikin melko isoa ty\u00f6sarkaa, oli se uskoaksemme ketter\u00e4mpi ratkaisu, kuin uudistaa j\u00e4rjestelm\u00e4n lis\u00e4ksi useamman julkaisutyypin osalta koko tallennusprosessi. Ja t\u00e4m\u00e4 on alunperin ollutkin erillisen k\u00e4sittelyj\u00e4rjestelm\u00e4n yksi valttikorteista, vaikka itse julkaisuarkistoteknologia vaihtuisikin niin itse tallennusprosessi saadaan pidetty\u00e4 vakiona.<\/p>\n\n\n\n<p>UEF eRepoon tuleva aineisto on miltei poikkeuksetta l\u00e4ht\u00f6isin jostain taustaj\u00e4rjestelm\u00e4st\u00e4, joissa jokaisessa data on tallessa taustaj\u00e4rjestelm\u00e4n n\u00e4k\u00f6kulmasta j\u00e4rkev\u00e4ss\u00e4 muodossa (Kuva 4). DSpacen tapa tallentaa asiat on kuitenkin erilainen, joten tietoa tarvitsee v\u00e4liss\u00e4 muuntaa toiseen esitystapaan ja itseasiassa aika monesti ihmisen tekem\u00e4\u00e4n p\u00e4\u00e4t\u00f6ksi\u00e4. N\u00e4m\u00e4 kaksi vaihetta olemme saaneet ulkoistettua DSpacen alta tallennusj\u00e4rjestelm\u00e4 Himmeliin, josta aineisto siirret\u00e4\u00e4n rajapinnan avulla DSpaceen.<\/p>\n\n\n\n<p>DSpacen mukana tulevien rajapintatoteutusten avulla voimme vied\u00e4 tietoja ulosp\u00e4in kansallisiin palveluihin kuten <a href=\"https:\/\/www.finna.fi\/\">Finnaan<\/a> ja suuriin kansainv\u00e4lisiin tietovarantoihin kuten <a href=\"https:\/\/www.openaire.eu\/\">OpenAIREen<\/a> (Kuva 4). Tietojen vieminen n\u00e4ihin palveluihin parantaa yliopistossamme tehdyn tutkimuksen n\u00e4kyvyytt\u00e4, l\u00f6ydett\u00e4vyytt\u00e4 ja saatavuutta.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Sovelluspakkaa p\u00e4ivitet\u00e4\u00e4n ja kehitet\u00e4\u00e4n jatkossakin<\/h2>\n\n\n\n<p>Vaikka testasimme uusia toteutuksia huolella kehitt\u00e4misymp\u00e4rist\u00f6iss\u00e4mme, joitain mutkia on sattunut matkalle k\u00e4ytt\u00f6\u00f6noton j\u00e4lkeenkin. T\u00e4m\u00e4 tosin on aivan ymm\u00e4rrett\u00e4v\u00e4\u00e4 n\u00e4in laajojen muutosten yhteydess\u00e4. Kuuntelemme edelleen herk\u00e4ll\u00e4 korvalla muutosten mukanaan tuomia k\u00e4yt\u00e4nn\u00f6n kokemuksia. Esimerkiksi hienos\u00e4\u00e4t\u00f6j\u00e4 on tehty ja kauneusvirheit\u00e4 korjailtu yhteistuumin palautteen tuella, yhdess\u00e4 k\u00e4ytt\u00e4jien kanssa.<\/p>\n\n\n\n<p>Osa sekalaisen joukon j\u00e4rjestelmist\u00e4 on silti kipe\u00e4sti vailla laajempaa korjailua tai jopa kokonaista uudelleenkirjoittamista. Kaikkea emme voi tehd\u00e4 kerralla, joten korjauspuuhat on laitettava t\u00e4rkeysj\u00e4rjestykseen. Priorisoinnin lis\u00e4ksi pohdimme parhaillaan uutta toteutustapaa, jossa sovellukset ohjelmoidaan k\u00e4ytt\u00e4en valmista ohjelmistokehyst\u00e4.<\/p>\n\n\n\n<p>eRepon osalta on selv\u00e4\u00e4, ett\u00e4 jatkossa meid\u00e4nkin on varauduttava aiempaa tiiviimp\u00e4\u00e4n p\u00e4ivitystahtiin. Esimerkiksi DSpacen ja Lyrasiksen viestinn\u00e4n perusteella DSpace-versioiden p\u00e4ivitystahti on aiempaa huomattavasti tiuhempi. T\u00e4m\u00e4 vaikuttaa toki meid\u00e4nkin ty\u00f6h\u00f6mme, esimerkiksi k\u00e4ytt\u00f6\u00f6nottoprojektimme aikana DSpacen tuorein versio on vaihtunut 7.x:st\u00e4 8.x:\u00e4\u00e4n ja beta-vaiheeseen ilmestyi juuri versio 9. Uusien DSpace-versioiden mukana tulee usein tarjolle my\u00f6s uusia ominaisuuksia, joiden hy\u00f6dyllisyytt\u00e4 ja mahdollisuuksia on hyv\u00e4 selvitell\u00e4 huolella.<\/p>\n\n\n\n<p>Kehitt\u00e4misty\u00f6n yhteydess\u00e4 on onneksi muodostunut mukavasti omaakin dokumentaatiota ty\u00f6mme tueksi. Dokumentaation sivum\u00e4\u00e4r\u00e4\u00e4 lienee mahdotonta laskea numeroina, koska kyseess\u00e4 on monipuolinen notaatioiden, tekstien, pohdintojen ja kuvien sekoitus. Jaettu ohjeisto on yhteinen, vapaamuotoinen ja el\u00e4v\u00e4inen kokonaisuus, joka auttaa eteenp\u00e4in erityistilanteissa, rutiininomaisissa yll\u00e4pitotoimissa, kehitt\u00e4misty\u00f6ss\u00e4 ja tulevaisuuden p\u00e4ivitysten teossa. Vai mit\u00e4 olet mielt\u00e4, eik\u00f6s Kuvassa 5 olevan muistiinpanoverkostomme seuraaminen ole varsin mielenkiintoista?<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"707\" height=\"688\" src=\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-3.png\" alt=\"Laajahko verkostograafi kuvituskuvana. \" class=\"wp-image-22989\" srcset=\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-3.png 707w, https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-3-151x147.png 151w\" sizes=\"auto, (max-width: 707px) 100vw, 707px\" \/><figcaption class=\"wp-element-caption\">Kuva 5. Muistiinpanotiedostojemme verkosto. Omat, ahkerasti p\u00e4ivittyv\u00e4t muistiinpanot ja ohjeet helpottavat ty\u00f6n k\u00e4yt\u00e4nn\u00f6n tekemist\u00e4, suunnittelua ja erilaisten vaihtoehtojen punnitsemista. Asiaankuuluvien notaatioiden k\u00e4ytt\u00f6 ja yhdess\u00e4 sovitut toimintatavat helpottavat ohjeiston seuraamista.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"504\" height=\"504\" src=\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-4.png\" alt=\"A drawn dog sits and thinks, &quot;Updates needed&quot;.\" class=\"wp-image-22991\" srcset=\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-4.png 504w, https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-4-151x150.png 151w\" sizes=\"auto, (max-width: 504px) 100vw, 504px\" \/><figcaption class=\"wp-element-caption\"><bdo lang=\"en\" dir=\"ltr\">Figure 1. Transferring library\u2019s applications to a new server resulted in a larger update task. Copilot helped to create the figure.<\/bdo><\/figcaption><\/figure>\n\n\n\n<p><bdo lang=\"en\" dir=\"ltr\">The University of Eastern Finland library maintains twenty applications in a webserver which have been running smoothly for years with only minor updates. However, every now and then digital products need upgrading together with refreshing the functionalities. Some time ago, we received information that the server used by the library applications needed to be updated to a new configuration (Figure 1). The biggest challenges of the update were changes in the licenses of the server&#8217;s operating system and the expiration of the best-before date for the DSpace 5.x software version that was running our eRepository publication archive.<\/bdo><\/p>\n\n\n\n<p><bdo lang=\"en\" dir=\"ltr\">It was clear that changing the server configuration would affect almost all our applications on the server and the services they provide. Therefore, we also had to update the related applications and ensure all components of the system performed their duties correctly according to the new server&#8217;s requirements. Now that the biggest work is behind us, it&#8217;s a good time to recap, at least in broader aspects, what we did and what is to come.<\/bdo><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><bdo lang=\"en\" dir=\"ltr\">Our application suite was divided into two groups for updating<\/bdo><\/h2>\n\n\n\n<p><bdo lang=\"en\" dir=\"ltr\">We divided the applications involved in the update task roughly into two groups. This grouping helped us to plan and tackle the update work in more manageable segments. The first group included miscellaneous applications and short programs, such as the Paytrail online payment program, location guide, night loan reservation system, and other similar implementations that don\u2019t require extensive development. The second group consisted of a more cohesive and larger task around the <a href=\"https:\/\/erepo.uef.fi\/\">eRepository<\/a> and its related software. The application suite is in the form of a system jungle in Figure 2 \u2014 you can see we are not talking about just a couple of programs.<\/bdo><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1004\" height=\"671\" src=\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-5.png\" alt=\"Visualization of library applications and databases. The illustration is described in the figure title and main text.\" class=\"wp-image-22992\" srcset=\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-5.png 1004w, https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-5-151x101.png 151w, https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-5-768x513.png 768w\" sizes=\"auto, (max-width: 1004px) 100vw, 1004px\" \/><figcaption class=\"wp-element-caption\"><bdo lang=\"en\" dir=\"ltr\">Figure 2. System jungle. Group A is for eRepo (DSpace and supporting systems for publishing services). Group B is for the miscellaneous applications.<\/bdo><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Diverse group of movers has different needs<\/h3>\n\n\n\n<p><bdo lang=\"en\" dir=\"ltr\">When working with such a diverse group of applications, one of the critical phases was updating the versions of the programming languages to meet the new server&#8217;s minimum requirements. During the update, we had to rethink the functionality and syntax of the code. Basically, everything worked as before, but the logic had to be rewritten according to the updated programming language. Error messages became quite familiar in that process!<\/bdo><\/p>\n\n\n\n<p><bdo lang=\"en\" dir=\"ltr\">In addition to updating the programming languages, the library&#8217;s applications&#8217; database software was also updated. We had to look at these with fresh eyes, as many solutions we had settled on and become accustomed to over the years were now implemented differently. Although the database software updates were beneficial, their new implementation required work to ensure that the databases functioned as we wanted.<\/bdo><\/p>\n\n\n<p><bdo lang=\"en\" dir=\"ltr\"><\/bdo><\/p>\n\n\t<div id=\"accordion-block_7214c21fabdb008c626bda162c4cb907\" class=\"accordions\">\n\t\t\t\t\t<div class=\"accordion accordion-js\">\n\t\t\t\t<button class=\"accordion__button\" aria-controls=\"content-6771\" aria-expanded=\"false\" id=\"accordion-control-6771\">\n\t\t\t\t\t<h3 class=\"accordion__heading\" >\n\t\t\t\t\t\tOne practical example of the database software update \u2013 the date 0000-00-00\t\t\t\t\t<\/h3>\n\t\t\t\t<\/button>\n\t\t\t\t<div class=\"accordion__content\" role=\"region\" aria-labelledby=\"accordion-control-6771\" aria-hidden=\"true\" id=\"content-6771\">\n\t\t\t\t\t<p>In the previous database software, there was a default setting that allowed the use of an alternative form of 0000-00-00 for storing dates. This &#8221;null date&#8221; could be stored in the date field when the actual date was not available or not to be stored for some reason. However, using a non-existent date is not very logical, and in the updated versions of the database software this setting is no longer enabled by default.<\/p>\n<p>Our application suite had been developed over the years based on older versions of the database software. After updating databases software versions, we were left with some error-prone, invalid &#8221;null dates&#8221;. Since we wanted to improve our databases as part of the update task, we replaced these invalid and impossible dates in many database tables and even more source code files with new, more logical practices.<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<\/div>\n\t\n\n\n<h3 class=\"wp-block-heading\"><bdo lang=\"en\" dir=\"ltr\">Setting up eRepository with a newer DSpace and updating related applications<\/bdo><\/h3>\n\n\n\n<p><bdo lang=\"en\" dir=\"ltr\">A more unified entity can be formed around the eRepository, known as eRepo. eRepo is a publication archive and public interface for theses, serial publications, and self-archived articles written at our university. Additionally, eRepo gathers metadata from datasets stored by UEF members in <a href=\"https:\/\/www.fairdata.fi\/en\/etsin\/\">Etsin<\/a>, <a href=\"https:\/\/zenodo.org\/\">Zenodo<\/a>, <a href=\"https:\/\/datadryad.org\/\">Dryad<\/a>, and <a href=\"https:\/\/eudat.eu\/\">EUDAT<\/a>. Currently, eRepo contains well over twenty thousand individual items, so it&#8217;s not a small package!<\/bdo><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><bdo lang=\"en\" dir=\"ltr\">We made a leap from DSpace 5.x to the 7.x era<\/bdo><\/h4>\n\n\n\n<p><bdo lang=\"en\" dir=\"ltr\">The open-source DSpace 7.6.2 version offered by Lyrasis was chosen for our updated eRepo system. DSpace 7.6.2 is a more advanced version compared to the previous 5.x version we had online. The upgrade process involved customising and configuring the new DSpace software to meet our needs. One of the challenges were the differences between DSpace 5.x and 7.x versions. The most noticeable change for users is the application&#8217;s new look (Figure 3). This new appearance reflects the changes in the technological foundation of the DSpace interface. This is part of a larger development approach where various DSpace functions (e.g., frontend and its components; backend) are separated into more independent entities.<\/bdo><\/p>\n\n\n<iframe width=\"960\" height=\"484\" data-original-width=\"1297\" data-original-height=\"655\" src=https:\/\/www.thinglink.com\/view\/scene\/1941470599436043108 type=\"text\/html\" style=\"border: none;\" webkitallowfullscreen mozallowfullscreen allowfullscreen scrolling=\"no\"><\/iframe><script async src=\"\/\/cdn.thinglink.me\/jse\/responsive.js\"><\/script>\n\n\n\n<p><bdo lang=\"en\" dir=\"ltr\">Figure 3. The eRepo interface has been refreshed. Much more has been updated behind the scenes.<\/bdo><\/p>\n\n\n\n\n\t<div id=\"accordion-block_b6026b4c3f222a8abbf2da18597a361c\" class=\"accordions\">\n\t\t\t\t\t<div class=\"accordion accordion-js\">\n\t\t\t\t<button class=\"accordion__button\" aria-controls=\"content-5726\" aria-expanded=\"false\" id=\"accordion-control-5726\">\n\t\t\t\t\t<h3 class=\"accordion__heading\" >\n\t\t\t\t\t\tA few practical experiences about DSpace\t\t\t\t\t<\/h3>\n\t\t\t\t<\/button>\n\t\t\t\t<div class=\"accordion__content\" role=\"region\" aria-labelledby=\"accordion-control-5726\" aria-hidden=\"true\" id=\"content-5726\">\n\t\t\t\t\t<p>We think it&#8217;s great that DSpace has a long history, many users, and an active community of developers, along with comprehensive documentation including installation guides. For example, you can explore the documentation for DSpace 7.x in more detail on <a href=\"https:\/\/wiki.lyrasis.org\/display\/DSDOC7x\/Introduction\">Lyrasis&#8217;s own Wiki<\/a>. The latest DSpace versions and their documentation are well maintained, and issues listed on bug trackers are addressed based on priority. Additionally, DSpace can be customised in many ways to fit individual or organisational needs. With the help of the developer community, it is possible to find solutions to overcome most obstacles or at least seek support from peers.<\/p>\n<p>DSpace 7.x, like the newer versions 8.x and 9.x, is a comprehensive package based on modern software frameworks. Due to its versatility, it can require a surprisingly large amount of human resources for implementation and maintenance. Although comprehensive documentation is available, it does not always support individual customisations and all configurations. Sometimes, customisation requests may also conflict with the capabilities of the DSpace implementation in use.<\/p>\n<p>We have humorously started calling our customisation efforts in eRepo &#8221;detective work.&#8221; The pondering might begin by considering whether the desired change affects the <a href=\"https:\/\/github.com\/DSpace\/dspace-angular\/releases\/tag\/dspace-7.6.2\">frontend<\/a>, <a href=\"https:\/\/github.com\/DSpace\/DSpace\/releases\/tag\/dspace-7.6.2\">backend<\/a>, <a href=\"https:\/\/wiki.lyrasis.org\/display\/DSDOC7x\/Installing+DSpace\">other software<\/a>, settings, or server configuration. After that, we examine which component the parts that need modifications belong to and where the change will be visible. Are there any hidden or cumulative effects that need to be considered? Additionally, all our customisations and configurations must be done in a way that makes maintenance, upgrades, and implementing new DSpace versions as straightforward as possible.<\/p>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<\/div>\n\t\n\n\n<h4 class=\"wp-block-heading\"><bdo lang=\"en\" dir=\"ltr\">Himmeli and APIs also support the use of the improved eRepo<\/bdo><\/h4>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"869\" height=\"582\" src=\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-6.png\" alt=\"Visualization of eRepo's operating environment. Background systems support the processing systems and further the use of eRepo\/DSpace. Metadata ultimately flows to national and international systems.\" class=\"wp-image-22993\" srcset=\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-6.png 869w, https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-6-151x101.png 151w, https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-6-768x514.png 768w\" sizes=\"auto, (max-width: 869px) 100vw, 869px\" \/><figcaption class=\"wp-element-caption\"><bdo lang=\"en\" dir=\"ltr\">Figure 4. Diagram of the eRepo digital environment. A: Data processing system; B: eRepo\/DSpace; C: Backend systems; D: National and international systems.<\/bdo><\/figcaption><\/figure>\n\n\n\n<p><bdo lang=\"en\" dir=\"ltr\">When the DSpace technology behind eRepo was updated, also the API technology changed completely (Figure 4). We had previously decided to handle the recordings into DSpace with a separate API tool called Himmeli. Although adapting this separate tool to the new implementation meant quite a significant amount of work during the deployment project, we believe it was a more agile solution than renewing the entire recording process for multiple publication types along with the system. This has been one of the key advantages of having a separate processing system from the beginning. Even if the publication repository technology changes, the recording process can remain consistent.<\/bdo><\/p>\n\n\n\n<p><bdo lang=\"en\" dir=\"ltr\">The data stored and displayed in UEF eRepo almost always originates from some backend system, where each piece of data is stored in a format that makes sense from the perspective of the backend system (Figure 4). However, DSpace stores data differently, so the information needs to be converted to another format, where human decisions are sometimes required. We have managed to outsource these two steps from DSpace to the recording system Himmeli, from which the data is transferred to DSpace via an interface.<\/bdo><\/p>\n\n\n\n<p><bdo lang=\"en\" dir=\"ltr\">With the API implementations that come with DSpace, we can export data to national services like <a href=\"https:\/\/www.finna.fi\/?lng=en-gb\">Finna<\/a> and major international repositories like <a href=\"https:\/\/www.openaire.eu\/\">OpenAIRE<\/a>. Exporting data to these services enhances the visibility, discoverability, and accessibility of the research conducted at our university.<\/bdo><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><bdo lang=\"en\" dir=\"ltr\">Our application suite will be updated and developed also in the future<\/bdo><\/h2>\n\n\n\n<p><bdo lang=\"en\" dir=\"ltr\">Although we carefully tested the new implementations in development environments, some minor issues have come to light in production. This is quite understandable given the scope of the changes. We continue to pay close attention to the practical experiences concerning the upgrade. For example, we have been fine-tuning smaller bits and pieces, and minor flaws have been corrected collaboratively based on feedback, working together with users.<\/bdo><\/p>\n\n\n\n<p><bdo lang=\"en\" dir=\"ltr\">Some of the miscellaneous programs are still in need of more extensive repairs or even complete rewriting. We can&#8217;t do everything at once, so the repairments and reforms need to be prioritised. In addition to prioritisation, we are currently considering a new implementation approach where applications would be created using a ready-made software framework.<\/bdo><\/p>\n\n\n\n<p><bdo lang=\"en\" dir=\"ltr\">Regarding eRepo, it&#8217;s clear that we need to prepare for a more frequent update schedule in the future. For example, based on shared information from DSpace and Lyrasis, the update frequency of DSpace versions is higher than before. This, of course, impacts our work as well. During our implementation project, the latest version of stable DSpace version changed from 7.x to 8.x, and version 9 has just appeared in the beta phase. New DSpace versions often come with new features, and it&#8217;s important to carefully explore their usefulness and potential.<\/bdo><\/p>\n\n\n\n<p><bdo lang=\"en\" dir=\"ltr\">Fortunately, during the development work, we&#8217;ve created a substantial amount of our own documentation to support ourselves. It&#8217;s probably impossible to calculate the number of pages in the self-made guide, as it&#8217;s a diverse mix of annotations, texts, reflections, and images. The shared guide is a collective, informal, and dynamic entity that helps us move forward in special situations, routine maintenance tasks, development work, and future updates. Don&#8217;t you agree that following our notes presented as bubbles in Figure 5 is quite fascinating?<\/bdo><\/p>\n\n\n<p><bdo lang=\"en\" dir=\"ltr\"><\/bdo><\/p>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"707\" height=\"688\" src=\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-7.png\" alt=\"A broad network graph as an illustration.\" class=\"wp-image-22995\" srcset=\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-7.png 707w, https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image-7-151x147.png 151w\" sizes=\"auto, (max-width: 707px) 100vw, 707px\" \/><figcaption class=\"wp-element-caption\"><bdo lang=\"en\" dir=\"ltr\">Figure 5. The network of our own documentation files. The frequently updated notes and instructions facilitate practical work, planning, and exploring different options. The use of relevant notations and good practices makes it easier to follow and use the guide.<\/bdo><\/figcaption><\/figure>\n\n\n\n<p>Antti Laurila, tietoj\u00e4rjestelm\u00e4asiantuntija | <bdo lang=\"en\" dir=\"ltr\">IT-systems specialist<\/bdo><br \/>Verkko- ja julkaisupalvelut | <bdo lang=\"en\" dir=\"ltr\">Library IT and publishing services<\/bdo><br \/>Anni Tarkiainen, tietoasiantuntija | <bdo lang=\"en\" dir=\"ltr\">Information specialist<\/bdo><br \/>Opetus- ja tietopalvelut | <bdo lang=\"en\" dir=\"ltr\">Training and Information Services<\/bdo><\/p>\n\n\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>It\u00e4-Suomen yliopiston kirjastolla on omalla verkkopalvelimella yll\u00e4pidossa kaksikymment\u00e4 sovellusta, jotka ovat jo vuosien ajan toimineet sujuvasti vain pienten p\u00e4ivitysten voimalla. Aika ajoin digitaaliset tuotteet tarvitsevat kuitenkin isompaa uudistusta ja toimintojen raikastamista. Jokunen tovi sitten meid\u00e4t tavoitti tieto, ett\u00e4 kirjaston sovellusten k\u00e4ytt\u00e4m\u00e4 palvelin t\u00e4ytyy p\u00e4ivitt\u00e4\u00e4 tuoreempaan kokoonpanoon (Kuva 1). Isoimpina haasteina tunnistettiin mm. palvelimen k\u00e4ytt\u00f6j\u00e4rjestelm\u00e4n lisensointimuutokset [&hellip;]<\/p>\n","protected":false},"author":72,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[410],"tags":[489,1856,144,145,453,311],"class_list":["post-22965","post","type-post","status-publish","format-standard","hentry","category-ajankohtaista","tag-erepo","tag-erepository","tag-kayttoliittymat","tag-kehittaminen","tag-uef-erepository","tag-user-interfaces"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Kirjaston sovellukset muuttivat toiselle palvelimelle - mit\u00e4 se tarkoitti? | Library\u2019s applications moved to a new server - What did it mean? | UEF Library<\/title>\n<meta name=\"description\" content=\"Aika ajoin digitaaliset tuotteet tarvitsevat uudistusta. Every now and then digital products need refreshing.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/\" \/>\n<meta property=\"og:locale\" content=\"fi_FI\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kirjaston sovellukset muuttivat toiselle palvelimelle - mit\u00e4 se tarkoitti? | Library\u2019s applications moved to a new server - What did it mean? | UEF Library\" \/>\n<meta property=\"og:description\" content=\"Aika ajoin digitaaliset tuotteet tarvitsevat uudistusta. Every now and then digital products need refreshing.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/\" \/>\n<meta property=\"og:site_name\" content=\"UEF Library\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ueflibrary\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-15T05:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-16T14:02:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image.png\" \/>\n\t<meta property=\"og:image:width\" content=\"504\" \/>\n\t<meta property=\"og:image:height\" content=\"504\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"ueflibrary\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ueflibrary\" \/>\n<meta name=\"twitter:site\" content=\"@ueflibrary\" \/>\n<meta name=\"twitter:label1\" content=\"Kirjoittanut\" \/>\n\t<meta name=\"twitter:data1\" content=\"ueflibrary\" \/>\n\t<meta name=\"twitter:label2\" content=\"Arvioitu lukuaika\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minuuttia\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/\"},\"author\":{\"name\":\"ueflibrary\",\"@id\":\"https:\/\/blogs.uef.fi\/ueflibrary\/#\/schema\/person\/a8e211011f90578da5fdd0c5aacfeee3\"},\"headline\":\"Kirjaston sovellukset muuttivat toiselle palvelimelle &#8211; mit\u00e4 se tarkoitti? | Library\u2019s applications moved to a new server &#8211; What did it mean?\",\"datePublished\":\"2025-04-15T05:00:00+00:00\",\"dateModified\":\"2025-10-16T14:02:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/\"},\"wordCount\":2454,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/blogs.uef.fi\/ueflibrary\/#organization\"},\"image\":{\"@id\":\"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image.png\",\"keywords\":[\"eRepo\",\"eRepository\",\"k\u00e4ytt\u00f6liittym\u00e4t\",\"kehitt\u00e4minen\",\"UEF eRepository\",\"user interfaces\"],\"articleSection\":[\"Ajankohtaista | News\"],\"inLanguage\":\"fi\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/\",\"url\":\"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/\",\"name\":\"Kirjaston sovellukset muuttivat toiselle palvelimelle - mit\u00e4 se tarkoitti? | Library\u2019s applications moved to a new server - What did it mean? | UEF Library\",\"isPartOf\":{\"@id\":\"https:\/\/blogs.uef.fi\/ueflibrary\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image.png\",\"datePublished\":\"2025-04-15T05:00:00+00:00\",\"dateModified\":\"2025-10-16T14:02:28+00:00\",\"description\":\"Aika ajoin digitaaliset tuotteet tarvitsevat uudistusta. Every now and then digital products need refreshing.\",\"inLanguage\":\"fi\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@id\":\"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/#primaryimage\",\"url\":\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image.png\",\"contentUrl\":\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image.png\",\"width\":504,\"height\":504},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blogs.uef.fi\/ueflibrary\/#website\",\"url\":\"https:\/\/blogs.uef.fi\/ueflibrary\/\",\"name\":\"UEF Library\",\"description\":\"Open science for open minds\",\"publisher\":{\"@id\":\"https:\/\/blogs.uef.fi\/ueflibrary\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blogs.uef.fi\/ueflibrary\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fi\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blogs.uef.fi\/ueflibrary\/#organization\",\"name\":\"UEF Library\",\"url\":\"https:\/\/blogs.uef.fi\/ueflibrary\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@id\":\"https:\/\/blogs.uef.fi\/ueflibrary\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2018\/04\/Logo-kirjasto.png\",\"contentUrl\":\"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2018\/04\/Logo-kirjasto.png\",\"width\":300,\"height\":300,\"caption\":\"UEF Library\"},\"image\":{\"@id\":\"https:\/\/blogs.uef.fi\/ueflibrary\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/ueflibrary\",\"https:\/\/x.com\/ueflibrary\",\"https:\/\/www.instagram.com\/ueflibrary\/\",\"https:\/\/www.youtube.com\/user\/UEFLibrary\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blogs.uef.fi\/ueflibrary\/#\/schema\/person\/a8e211011f90578da5fdd0c5aacfeee3\",\"name\":\"ueflibrary\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fi\",\"@id\":\"https:\/\/blogs.uef.fi\/ueflibrary\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1c4267db9d0c1de64a30db93f9480cb1dc4a079fcec0109e406050c596cb2ca7?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1c4267db9d0c1de64a30db93f9480cb1dc4a079fcec0109e406050c596cb2ca7?s=96&d=blank&r=g\",\"caption\":\"ueflibrary\"},\"description\":\"The UEF Library is a public academic library offering state-of-the-art library and information services especially for the university's staff members and students. However, the library is also open to everyone else who is seeking information. The UEF Library campus libraries are in Joensuu, Kuopio and Savonlinna, and in the Kuopio there is also the KUH Medical Library. The electronic collections can be accessed also off-campus by UEF staff and students.\",\"sameAs\":[\"http:\/\/www.uef.fi\/en\/web\/kirjasto\"],\"url\":\"https:\/\/blogs.uef.fi\/ueflibrary\/author\/ueflibrary\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Kirjaston sovellukset muuttivat toiselle palvelimelle - mit\u00e4 se tarkoitti? | Library\u2019s applications moved to a new server - What did it mean? | UEF Library","description":"Aika ajoin digitaaliset tuotteet tarvitsevat uudistusta. Every now and then digital products need refreshing.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/","og_locale":"fi_FI","og_type":"article","og_title":"Kirjaston sovellukset muuttivat toiselle palvelimelle - mit\u00e4 se tarkoitti? | Library\u2019s applications moved to a new server - What did it mean? | UEF Library","og_description":"Aika ajoin digitaaliset tuotteet tarvitsevat uudistusta. Every now and then digital products need refreshing.","og_url":"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/","og_site_name":"UEF Library","article_publisher":"https:\/\/www.facebook.com\/ueflibrary","article_published_time":"2025-04-15T05:00:00+00:00","article_modified_time":"2025-10-16T14:02:28+00:00","og_image":[{"width":504,"height":504,"url":"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image.png","type":"image\/png"}],"author":"ueflibrary","twitter_card":"summary_large_image","twitter_creator":"@ueflibrary","twitter_site":"@ueflibrary","twitter_misc":{"Kirjoittanut":"ueflibrary","Arvioitu lukuaika":"16 minuuttia"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/#article","isPartOf":{"@id":"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/"},"author":{"name":"ueflibrary","@id":"https:\/\/blogs.uef.fi\/ueflibrary\/#\/schema\/person\/a8e211011f90578da5fdd0c5aacfeee3"},"headline":"Kirjaston sovellukset muuttivat toiselle palvelimelle &#8211; mit\u00e4 se tarkoitti? | Library\u2019s applications moved to a new server &#8211; What did it mean?","datePublished":"2025-04-15T05:00:00+00:00","dateModified":"2025-10-16T14:02:28+00:00","mainEntityOfPage":{"@id":"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/"},"wordCount":2454,"commentCount":0,"publisher":{"@id":"https:\/\/blogs.uef.fi\/ueflibrary\/#organization"},"image":{"@id":"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image.png","keywords":["eRepo","eRepository","k\u00e4ytt\u00f6liittym\u00e4t","kehitt\u00e4minen","UEF eRepository","user interfaces"],"articleSection":["Ajankohtaista | News"],"inLanguage":"fi","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/","url":"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/","name":"Kirjaston sovellukset muuttivat toiselle palvelimelle - mit\u00e4 se tarkoitti? | Library\u2019s applications moved to a new server - What did it mean? | UEF Library","isPartOf":{"@id":"https:\/\/blogs.uef.fi\/ueflibrary\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/#primaryimage"},"image":{"@id":"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image.png","datePublished":"2025-04-15T05:00:00+00:00","dateModified":"2025-10-16T14:02:28+00:00","description":"Aika ajoin digitaaliset tuotteet tarvitsevat uudistusta. Every now and then digital products need refreshing.","inLanguage":"fi","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/"]}]},{"@type":"ImageObject","inLanguage":"fi","@id":"https:\/\/blogs.uef.fi\/ueflibrary\/kirjaston-sovellukset-muuttivat-toiselle-palvelimelle-librarys-applications-moved-to-a-new-server\/#primaryimage","url":"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image.png","contentUrl":"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2025\/04\/image.png","width":504,"height":504},{"@type":"WebSite","@id":"https:\/\/blogs.uef.fi\/ueflibrary\/#website","url":"https:\/\/blogs.uef.fi\/ueflibrary\/","name":"UEF Library","description":"Open science for open minds","publisher":{"@id":"https:\/\/blogs.uef.fi\/ueflibrary\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.uef.fi\/ueflibrary\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fi"},{"@type":"Organization","@id":"https:\/\/blogs.uef.fi\/ueflibrary\/#organization","name":"UEF Library","url":"https:\/\/blogs.uef.fi\/ueflibrary\/","logo":{"@type":"ImageObject","inLanguage":"fi","@id":"https:\/\/blogs.uef.fi\/ueflibrary\/#\/schema\/logo\/image\/","url":"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2018\/04\/Logo-kirjasto.png","contentUrl":"https:\/\/blogs.uef.fi\/ueflibrary\/wp-content\/uploads\/sites\/18\/2018\/04\/Logo-kirjasto.png","width":300,"height":300,"caption":"UEF Library"},"image":{"@id":"https:\/\/blogs.uef.fi\/ueflibrary\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/ueflibrary","https:\/\/x.com\/ueflibrary","https:\/\/www.instagram.com\/ueflibrary\/","https:\/\/www.youtube.com\/user\/UEFLibrary"]},{"@type":"Person","@id":"https:\/\/blogs.uef.fi\/ueflibrary\/#\/schema\/person\/a8e211011f90578da5fdd0c5aacfeee3","name":"ueflibrary","image":{"@type":"ImageObject","inLanguage":"fi","@id":"https:\/\/blogs.uef.fi\/ueflibrary\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1c4267db9d0c1de64a30db93f9480cb1dc4a079fcec0109e406050c596cb2ca7?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1c4267db9d0c1de64a30db93f9480cb1dc4a079fcec0109e406050c596cb2ca7?s=96&d=blank&r=g","caption":"ueflibrary"},"description":"The UEF Library is a public academic library offering state-of-the-art library and information services especially for the university's staff members and students. However, the library is also open to everyone else who is seeking information. The UEF Library campus libraries are in Joensuu, Kuopio and Savonlinna, and in the Kuopio there is also the KUH Medical Library. The electronic collections can be accessed also off-campus by UEF staff and students.","sameAs":["http:\/\/www.uef.fi\/en\/web\/kirjasto"],"url":"https:\/\/blogs.uef.fi\/ueflibrary\/author\/ueflibrary\/"}]}},"_links":{"self":[{"href":"https:\/\/blogs.uef.fi\/ueflibrary\/wp-json\/wp\/v2\/posts\/22965","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.uef.fi\/ueflibrary\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.uef.fi\/ueflibrary\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.uef.fi\/ueflibrary\/wp-json\/wp\/v2\/users\/72"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.uef.fi\/ueflibrary\/wp-json\/wp\/v2\/comments?post=22965"}],"version-history":[{"count":1,"href":"https:\/\/blogs.uef.fi\/ueflibrary\/wp-json\/wp\/v2\/posts\/22965\/revisions"}],"predecessor-version":[{"id":24367,"href":"https:\/\/blogs.uef.fi\/ueflibrary\/wp-json\/wp\/v2\/posts\/22965\/revisions\/24367"}],"wp:attachment":[{"href":"https:\/\/blogs.uef.fi\/ueflibrary\/wp-json\/wp\/v2\/media?parent=22965"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.uef.fi\/ueflibrary\/wp-json\/wp\/v2\/categories?post=22965"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.uef.fi\/ueflibrary\/wp-json\/wp\/v2\/tags?post=22965"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}