Webin julkaisujärjestelmät ovat tietokoneohjelmistoja, joita käytetään sisällön julkaisemiseen www-sivuille. Julkaisujärjestelmän tarkoitus on tarjota käyttäjälle mahdollisuus tuottaa sisältöä www-sivuille niin, ettei käyttäjän tarvitse luoda ja muokata HTML-tiedostoja käsin ja siirtää niitä verkossa olevalle web-palvelimelle, kuten perinteinen staattisten web-sivujen julkaisu on tapahtunut webin alkuajoista saakka (Harris 2008). Tarkoitus on siis tehdä sisällön tuottamisesta web-sivustoille teknisesti helppoa (Farkas 2008).
Itse julkaisujärjestelmä koostuu lähtökohtaisesti sivuston pohjarakenteesta, joka määrittää sisällön sijoittelun, ulkoasun ja mahdollisen hierarkian, jonka mukaan sisältöä jäsennellään. Tämän rakenteen päälle käyttäjä pystyy tuomaan sisällön, jonka jälkeen järjestelmä huolehtii sen julkaisemisesta ennaltamääritettyjen asetusten mukaisesti.
Julkaisujärjestelmä nimitykselle ei ole kovin tarkkaa ja virallista määritystä. Hieman toisistaan poikkeavien näkemysten siivittämänä, määrittelen tässä työssä julkaisujärjestelmän ohjelmistoksi, jossa verkkoon julkaistava sisältö saadaan tallentumaan suoraan kohdesivustolle. Käyttäjän ei siis tarvitse osata julkaisun taustalla olevaa tekniikkaa, kuten html-kielen kirjoitusta ja tiedostojen siirtoa paikalliselta työasemalta verkossa sijaitsevalle palvelimelle.
Muita julkaisujärjestelmille tyypillisiä piirteitä on sisällön tallentaminen tietokantaan tai tietokantatyyppisesti erilleen itse julkaisujärjestelmästä. Tämä tarkoittaa myös sitä, että julkaisujärjestelmä toimii keskeisenä osana lopullisen sivun toimintaa, eikä sitä voi ohittaa, ainakaan käyttäjän toimesta. Julkaisujärjestelmät tukevat myös useampaa samanaikaista julkaisijaa ja jotkut jopa useampaa julkaistavaa sivustoa samanaikaisesti.
Periaatteessa edellämainitusta voisi olla olemassa poikkeus tapauksessa, jossa julkaisujärjestelmän toiminta perustuisi siihen, että syötetystä tiedosta luotaisiin staattinen sivu käyttöä varten itse web-palvelimelle. Tällöin esimerkiksi julkaisujärjestelmän sammuttaminen ei vaikuttaisi kävijälle näkyvän sivuston toimintaan. Tämänlainen ratkaisu voisi olla perusteltua jos sivusto kohtaa suurta kuormitusta, mutta itse sivujen sisältö ei ole dynaaminen. Ratkaisu kuormittaa palvelinta vähemmän, koska sivulataukset eivät kohdistu julkaisujärjestelmään ja mahdolliseen tietokantaohjelmistoon, vaan ainoastaan staattisia sivuja tarjoavaan web-palvelinohjelmistoon.
Julkaisujärjestelmiä kutsutaan myös usein sisällönhallintajärjestelmiksi tai toisin päin. Suoraa teknistä eroa järjestelmien välillä ei edes tarvitse olla, vaan ero voi tulla pelkästään käyttötarkoituksesta.
Julkaisujärjestelmän käyttötarkoitukset
Kuten aikaisemmin todettiin, julkaisujärjestelmien tarkoitus on tarjota helppo tapa tiedon julkaisuun websivuilla, jotka usein sijaitsevat internetissä, mutta yhä useammin myös esimerkiksi yritysten intraneteissä. Helppossa julkaisussa itse sisältöön keskittyvä käyttäjä pystyy hoitamaan sisällön julkaisun perhtymättä web-sivustojen luomiseen liittyvään tekniseen tietoon.
Julkaisujärjestelmä voi helpottaa teknisen tiedon omaavaa henkilöäkin. Erilaiset rutiinit ja sisällön hallinta on määritettävissä järjestelmän avulla sellaiseksi, että se helpottaa sivustojen ylläpitoa. Esimerkiksi käyttöoikeusryhmien muodostaminen. Jos käyttäjä lisätään tiettyyn ryhmään, tulee hänelle automaattisesti oikeuksia useampaan paikkaan, sen sijaan että oikeuksia tarvitsisi asettaa jokaiseen paikkaan erikseen (Samela, 2002, s. 188-190). Tämä helpottaa myös oikeuksien poistamista silloin, kun henkilöltä halutaan evätä pääsy järjestelmän joihinkin osiin. Henkilöiden roolien muuttuminen on kuitenkin jatkuvaa järjestötoiminnassa.
Järjestelmät tukevat myös useampaa julkaisijaa. Tällöin useampi julkaisusta vastaava henkilö voi tuottaa sisältöä samaan verkkopalveluun toisistaan riippumatta. Staattisten web-sivujen kanssa työnkulku on aikaisemmin mennyt erillisen webmaster-henkilön kautta, joka on koostanut julkaisut teknisesti oikeaan muottiin ja sijoittanut ne web-palvelimelle. Muutoin eri henkilöt voisivat tallentaa toistensa töiden päälle. Julkaisujärjestelmä hoitaa automaattisesti sivuston koostamisen, jolloin julkaisu on mahdollista tehdä odottamatta järjestelmän tekniikasta vastaavia henkilöitä.
Staattisten sivujen vastakohta on dynaamiset sivut. Julkaisujärjestelmän on mahdollista tuottaa dynaamisia sivuja, jolloin sivujen sisältö voi muuttua käyttäjästä riippuvan tiedon mukaan. Tieto voi olla käyttäjätunnukseen tai mahdollisiin käyttäjän tekemiin valintoihin sidottua, tai täysin käyttäjän toimista riippumatonta, kuten käyttäjän selaimen tyypille räätälöity sisältö. Joissain järjestelmissä käytetään niin sanottuihin evästeisiin tallennettua tietoa tunnistamaan tietty käyttäjä. (Samela, 2002, s. 47)
Julkaisujärjestelmän tekninen toiminta ja vaatimukset
Monet julkaisujärjestelmät, mukaanlukien Drupal, ovat PHP-ohjelmointikielellä toteutettuja avoimen lähdekoodin järjestelmiä. Tietokantana, eli sisällön tallentamiseen käytettävänä säilönään, järjestelmät käyttävät usein MySQL-tietokantaa, joka myöskin on avoimen lähdekoodin järjestelmä. Järjestelmä osat ovat siis ilmaisia ja siksi mitä parhaimpia yhdistyskäyttöön.
Edellämainitusta johtuen järjestelmää ei voi asentaa mihin tahansa kotisivutilaan, vaan se vaatii vähintään PHP-tuen ja MySQL-tietokannan. Lähtökohtaisesti edullisin tapa lähteä liikkeelle on ostaa niin sanottu web-hotelli-palvelu, jolloin itse palvelimen ja sen ohjelmistojen päivitys- ja ylläpitovastuu jää palveluntajoajalle.
Tuotantoalustana voi toki käyttää jotain henkilökohtaisesti ylläpidettyä palvelinta, mutta mikäli yhdistystoiminta on aktiivista, niin palvelimen käyttökatkot voivat heijastua ikävästi useiden yhdistyksen toimihenkilöiden tai jäsenien toimintaan. Mikäli yhdistyksessä löytyy riittävästi ylläpitoon pystyviä henkilöitä, on oma palvelin hyvä lisäarvo joustavuuden ja mukautettavuuden näkökulmasta web-hotelleihin verrattuna.