Meneekö Oskari jargonissa sormi suuhun?

Tässä yleisimmin käytössä olevia termejä Oskari kehitystyössä. Jos jokin asia mietityttää kysy lisää info@oskari.org

Oskari-ohjelmisto

Oskari on karttapalveluiden tuotantoon soveltuva avoimen lähdekoodin ohjelmisto. Oskariin voi yhdistää paikkatietorajapintapalveluita ja esitellä karttatasoja karttakäyttöliittymässä. Oskarin perustoiminnallisuuksiin kuuluvat karttatasojen hallinta ja karttatoiminnot kuten lähennys, loitonnus ja ominaisuustietojen kyselyt. Lisätyökaluina ohjelmisto mahdollistaa käyttäjän omien aineistojen tuonnin ja karttajulkaisujen teon. Lisäksi Oskarin avulla voidaan tuoda tilastorajapintoja käyttöliittymään ja visualisoida niitä teemakarttatyökaluilla. Oskaria on kehitetty vuodesta 2010 eteenpäin avoimen lähdekoodin ohjelmistojen kehittämisperiaatteita noudattaen. Oskarin dokumentaatio löytyy osoitteesta http://oskari.org/.

Oskari-instanssi

Yksittäinen Oskari-ohjelmiston asennus. Oskari-instanssi on esimerkiksi organisaation oma karttapalvelu, jossa esitellään toimijan omia tai muiden tuottamia paikkatietorajapintoja. Oskari on käytössä useissa eri organisaatioissa Suomessa ja Euroopassa. Oskari-instasseja ovat mm. Lounaispaikan karttapalvelu, Paikkatietoikkuna, Museoviraston Kyppi-palvelu, Tampereen kaupungin karttapalvelu ja HSY avoimen datan latauspalvelu.

Oskarin yleiskäyttöinen toiminnallisuus

Omaan Oskari-instanssiin voi kehittää omia lisäosia ja räätälöintejä. Ne toiminnallisuudet, jotka nähdään yleiskäyttöiseksi, kannattaa tuottaa myös muiden tahojen hyödynnettäväksi avoimella lähdekoodilla. Näitä voivat olla kaikki pääkehityslinjan kehitystoimet tai yhteisölisäosat.

Parannettu ominaisuus Oskarissa

Kehitystyötä voidaan tehdä jo olemassa oleviin työkaluihin ja ominaisuuksiin.

Oskarin core eli pääkehityslinja

Oskari-ohjelmiston coren kehitystä valvoo Oskari Project Steering Committee eli Oskarin PSC. Asentaessa uutta Oskari-instanssia asennetaan Oskarin core, josta voidaan aktivoida halutut työkalut käyttöön.

Oskarin yhteisölisäosa eli community plugin

Kaikkia kehitettyjä toiminnallisuuksia ei kannata integroida pääkehityslinjaan, esimerkiksi jos ne eivät ole soveltuvia kaikkien käyttöön. Jotkut kehitetyt toiminnot on suunniteltu soveltuvaksi vain tiettyyn käyttötarkoitukseen. Tästä esimerkkinä on latauskori. Latauskori on kehitetty HSY:n toimesta, mutta vastaavalla työkalulla on tarvetta myös muilla Oskari-hyödyntäjillä. Yhteisölisäosia kehittäessä on hyvä huomioida pääkehityslinjan päivitykset ja pyrkiä pitämään lisäosat toiminnassa pääkehityslinjan kanssa.

Oskarin kehittämisryhmä

Suomessa useat organisaatiot ovat perustaneet Oskarin yhteiskehittämiseen tähtäävän kehittämisryhmän. Yhteistyön myötä pyritään säästämään kustannuksia, välttämään päällekkäistä työtä ja suunnittelemaan Oskariin liittyvää kehittämistä ja yhteisöä. Lisätietoa http://verkosto.oskari.org/

GitHub

Avoimen lähdekoodin periaatteiden mukaan kehitetty lähdekoodi olisi hyvä olla helposti saatavilla ja dokumentoituna. Oskari hyödyntää GitHub palvelua lähdekoodin tuotannossa. GitHub:n avulla voidaan nähdä myös mitkä tehtävät ovat Oskarin kehityksen roadmapissa eli tuotantosuunnitelmassa. GitHubiin kuvataan myös pienet korjaustarpeet (issue) tai isommat tulevat kehitysprojektit mahdollisimman aikaisessa vaiheessa (Oskari Improvement Proposal eli OIP). Oskarin GitHub tili löytyy täältä: https://github.com/oskariorg

Pull Request

Kertoo muutoksista mitä käyttäjä on tehnyt GitHub:ssa. Muut voivat katselmoida koodia ja keskustella mahdollisista muutoksista.

Roadmap

Oskarin kehityspolusta päättää PSC. Roadmap näkyvissä https://github.com/oskariorg/oskari-docs/issues?q=is%3Aissue+is%3Aopen+label%3Aroadmap

Issue eli kehitysehdotus

Kehitysehdotukset ja korjauspyynnöt voidaan jättää issue:na Oskarin GitHub:iin. https://github.com/oskariorg/oskari-docs/issues. Kysy kuitenkin ensin Oskari user meiling listalta onko asialle tehty jotain oskari-user@lists.osgeo.org.   

Katselmointi

Ennenkuin tuotettu koodi hyväksytään osaksi Oskari pääkehityslinjaa tai yhteisölisäosaksi, se katselmoidaan muiden kehittäjien toimesta. Oskari kehittämisryhmän organisaatioiden osalta Maanmittauslaitos tarjoaa tukipalveluna kehitysideoiden kommentointia (Tekninen koordinaattori) ja tuotettujen toiminnallisuuksien katselmointia. Myös Oskarin PSC eli Project Steering Committee katselmoi koodin ja hyväksyy sen lisättäväksi Oskariin.

Tekninen koordinaattori

Maanmittauslaitos toimii tällä hetkellä Oskari-ohjelmiston osalta teknisenä koordinaattorina, joka tarjoaa tukea Oskari kehittämisryhmän organisaatioille Oskarin kehittämisessä.

Oskari Project Steering Committee

Oskarin kehittämistä valvoo Oskari Project Steering Committee eli PSC. Sen tehtävänä on valvoa että tuotettu lähdekoodi on hyvien tapojen mukaisesti tuotettu ja dokumentoitu. Tarpeen mukaan uusista toiminnallisuuksista äänestetään PSC:n jäsenten toimesta. PSC:n tehtävät ja nykyiset jäsenet löytyvät täältä: https://github.com/oskariorg/oskari-docs/wiki/Project-Steering-Committee

jUnit-testit Java-koodille

Ohjelmistokehityksessä käytettävä laadunvarmistus.

Bundle

Oskari bundle on Oskari ohjelmiston komponentti. Bundle on valikoima Oskari luokkia, joista muodostuu tietty ohjelmiston toiminnallisuus. Bundle voi sisältää eri vaihtoehtoja tietyn toiminnallisuden käyttöönottoon. http://oskari.org/documentation/core-concepts/oskari-bundle.

Palvelin

Oskari-instanssi pystytetään palvelinympäristöön, jotta ohjelmistoa voidaan hyödyntää selainpohjaisesti. Lue lisää ja asenna ohjelmisto: http://oskari.org/download

Arkkitehtuuriperiaate

Ohjelmistokehityksessä on hyvä noudattaa Oskari.org sivustolla kuvattuja ohjelmistoarkkitehtuurin periaatteita ja hyödyntää palvelinympäristössä soveltuvia taustaohjelmistoja: http://oskari.org/documentation/architecture_basics.

Graafinen ohjeistus

Paikkatietoikkunaa varten on tehty graafinen ohjeistus käyttöliittymän suunnitteluun. Sitä voi hyödyntää soveltuvin osin omassa Oskari-instanssin kehitystyössä: https://verkosto.oskari.org/graafinen-ohjeistus/

Integrointi

Tuotettu Oskarin pääkehityslinjaa tukeva koodi integroidaan osaksi Oskari-ohjelmistoa. Integrointi toteutetaan GitHub:n avulla, jossa PSC:n jäsenet voivat katselmoida koodin ja hyväksyä tuotetun koodin osaksi ohjelmistoa. Tarpeen vaatiessa lisäyksistä voidaan äänestää.

Paikkatietoinfrastruktuuri

Paikkatietoinfrastruktuuri muodostuu verkkopalveluympäristössä saatavilla olevista paikkatietotuotteista, niiden löytämistä ja käyttöönottoa tukevista metatiedoista, sekä palveluista, joiden avulla nämä tiedot välitetään erilaisten infrastruktuuria hyödyntävien sovellusten käyttöön (Maanmittauslaitos 2018). Oskari soveltuu hyvin EU:n INSPIRE direktiivin vaatimusten mukaiseksi katselupalveluksi. Oskaria on kehitetty toteuttamaan geoportaalilta vaadittuja ominaisuuksia. Se hyödyntää OGC:n paikkatietorajapintoja (WMS, WFS, WCS) sekä metatietorajapintaa (CWS). Karttapalveluohjelmiston avulla tietojen selailu ja tutkiminen on helpompaa. Oskari ei itsessään toteuta paikkatietorajapintoja, vaan sitä varten taustalla pitää olla jokin toinen ohjelmisto.

Oskarin toimintamalli

Oskarin kehittämisessä pitää huomioida avoimen lähdekoodin tuotannon hyvät käytänteet sekä Oskarin toimintamalli: http://oskari.org/documentation/development/how-to-contribute. Kehittäjiltä vaaditaan tutustumista lisenssiehtoihin sekä jättää CLA eli Contributor Lisence Agreement. Tiedot välitetään Maanmittauslaitokselle.  

Oskarin tavoitteet

Oskarin kehittämistä tehdään yhteistyössä. Kuka tahansa toimija voi hyödyntää ja kehittää Oskari ohjelmistoa. Nämä toimijat muodostavat yhdessä Oskari yhteisön. Yhteisön tavoitteena on kehittää avoimen lähdekoodin Oskari ohjelmistoa yleiskäyttöiseksi, monipuoliseksi ja käyttäjäystävälliseksi työkaluksi paikkatiedon hyödyntämiseen. Kehittämisessä pyritään välttämään päällekkäistä työtä ja jakamaan kokemuksia muille yhteisön jäsenille. Lue lisää toimintamallista: https://verkosto.oskari.org/tavoitteet/  

Rajapintapalvelu

OGC eli Open Geospatial Consortium on määritellyt paikkatietojen välittämiseen kansainväliset standardit. Oskari hyödyntää WMS (Web Map Service), WFS (Web Feature Service) ja WCS (Web Coverage Service) palveluita. Lisäksi Oskari tukee metatietorajapintaa CSW:n (Catalogue Service for the web) hyödyntämistä. Muita rajapintoje (esim. REST) on mahdollista lisätä Oskariin.

Selainkäyttöliittymä

Oskari instanssi on aina selainpohjainen karttakäyttöliittymä. Internetselain on ohjelmisto, jonka avulla saadaan yhteys internetiin. Oskaria voi hyödyntää Chrome, Firefox, Safari ja Internet Explorer selaimilla. http://oskari.org/documentation/architecture_basics

Mobiilikäyttöliittymä

Oskari toimii myös mobiilikäytössä. Selainikkuna skaalautuu mobiiliversioksi. Parhaiten mobiiliversio toimii julkaisuissa kartoissa eli Oskari instanssista tuotetuissa karttaupotuksissa: http://www.oskari.org/documentation/core-concepts/mobile-mode

Loppukäyttäjä

Oskari-instanssin hyödyntäjä eli loppukäyttäjä voi toteuttaa aineistojen selailua, kartalla liikkumista ja kohteiden kyselyjä. Lisäksi jos instanssin ylläpitäjä on sallinut, mahdollista on hyödyntää mm. analysointityökaluja ja teemakarttatyökaluja tai tuottaa omia kohteita kartalle (pisteitä, viivoja alueita) sekä tuoda omia aineistoja palveluun ja jakaa niitä karttajulkaisu-työkalun avulla. Joissain instansseissa on tehty erityisiä lisätyökaluja loppukäyttäjille, joita ei muista Oskari-instansseista välttämättä löydy, esimerkiksi lataustyökalu aineistoille, tasojen hierarkinen järjestely tai edistyneet hakutyökalut ominaisuustiedoille. Nämä ovat yhteisölisäosia.

Avoin lähdekoodi

Oskari on avoimen lähdekoodin ohjelmisto eli ohjelmistoa saa vapaasti hyödyntää ja kehittää eteenpäin. Se yhdistää useita eri avoimen lähdekoodin ohjelmistokirjastoja ja komponentteja. Oskarin lisenssi on ns. dual licence joka yhdistää MIT ja EUPL v1.1. lisenssiä. Kehittäjien on hyvä allekirjoittaa myös Oskarin CLA. Lue lisää lisenssiehdoista: http://oskari.org/documentation/development/license

Hyvä ohjelmointitapa

Toimitathan tuotetun lähdekoodin hyvien ohjelmointitapojen mukaisesti, hyvin dokumentoituna ja selkeästi paketoituna. Ota esimerkkiä Oskarin Bundle dokumentaatiosta http://oskari.org/documentation/core-concepts/oskari-bundle ja lue Oskarin toimintamalli: http://oskari.org/documentation/development/how-to-contribute.