Kehitysjärjestelmän pystyttäminenDrupal-järjestelmän asentaminen tarvitsee vaatimuksissa mainitun alustan toiminnalleen. Vaatimusten ollessa kunnossa, palvelun perustajalla pitäisi olla käyttöoikeus palvelinkoneen komentokehoitteeseen tai vastaavaat toiminnot tarjoavaan graafiseen käyttöliittymään ja asennettavalle järjestelmälle annettavan tietokantayhteyden sijaintitieto, käyttäjätunnus ja salasana. Tässä tapauksessa kyse on testialustasta, joten palvelimen Drupal-järjestelmän asentaja ja palvelimen ylläpitäjä ovat sama henkilö. Drupal-järjestelmän eri versiot on ladattavissa Drupal.org -verkkosivustolta. Tähän projektiin liittyvä asennus tehtiin Drupal versiolla 6. Asennuspaketin voi ladata omalle koneelle ja siirtää siitä palvelimelle, mutta tässä tapauksessä nähtiin parhaimmaksi ladata se suoraan palvelimelle ja purkaa siellä. Järjestelmä on pakattu Unix-maailmasta tuttuun tar.gz -pakettiin, joka on helposti purettavissa yleisillä komentorivityökaluilla kuvan 1 mukaisesti. Kun paketti on purettu lopulliseen sijoituspaikkaansa, joka useimmiten on palvelimella kyseiseen tarkoitukseen tarkoitettu public_html -hakemisto, voidaan järjestelmän käyttöönotto aloittaa menemällä siihen www-osoitteeseen joka on sidottu www-palvelimen asetuksissa kyseiseen public_html-hakemistoon. Loput asennuksesta pääsee tekemään suoraan Drupalin omasta asennuskäyttöliittymästä. Mikäli Drupal-järjestelmää halutaan käyttää jollain muulla kielellä kuin englanniksi, kannattaa kielipaketit purkaa paikalleen, ennen asennuksen aloittamista, jolloin asennuksenkin pääsee tekemään halutulla kielellä. Kielipakettien asennus menee teknisesti samalla tavalla kuin itse järjestelmän asennus. Kielipaketeille on omat alihakemistonsa, johon paketti purkaa itsensä. Drupalissa on olemassa tietoturvasyystä rajoitus, joka estää viemästä asennusta eteenpäin, ennen kuin asennuspaketissa oleva asetustiedosto uudelleennimetään ja sille annetaan kirjoitusoikeudet. Drupal ilmoittaa ja ohjeistaa tekemään tämän, eikä annan asennuksen mennä eteenpäin ennen kuin tarvittavat muutokset on tehty kuten kuvassa 2 on nähtävissä. Asennuksen seuraavassa vaiheessa käydään läpi tietokanta-asetukset. Tietokannan perusasetukset ovat tietokannan nimi, käyttäjätunnus ja salasana. Nämä ovat pakolliset tiedot tietokantayhteyden käyttöön. Näiden tietojen antaminen riittää silloin kun tietokantaohjelmisto on samassa palvelinjärjestelmässä kuin itse sivustoa tarjoava web-palvelin. Edistyneissä valinnoissa tarjotaan mahdollisuutta määrittää erikseen tietokantapalvelin, joka muuten oletuksena on localhost, eli paikallinen järjestelmä. Vaikka kyseessä olisikin paikallinen järjestelmä, niin edistyneiden valintojen taulun etuliite -asetuksella on mahdollista määrittää jokaiselle tietokantataululle Drupal-järjestelmäkohtainen etuliite. Tämä on melkeinpä pakollista silloin kun sama tietokanta halutaan jakaa useamman eri ohjelmiston välillä. Mikäli näin ei ole, niin etuliitteen asettamisesta ei ole haittaakaan, koska se voi myöhemmin muodostua hyväksi ominaisuudeksi, mikäli tietokantaa tarvitsee siirtää tai yhdistellä. Tietokanta-asetusten jälkeen Drupal-järjestelmä asentaa itsensä sekä valmistelee käännökset. Nämä kuvan 3 esittämät vaiheet ovat täysin automaattisia, eivätkä vaadi asentajalta mitään toimenpiteitä. Asennuksen jälkeen asennusnäkymässä tehdään vielä sivuston perusasetukset. Tässä vaiheessa Drupal muistuttaa ja ohjeistaa aikaisemmassa vaiheessa asennusta tehdyn kirjoitusoikeuden poistamisesta. Drupal-järjestelmän perusasetuksiin kuuluu järjestelmän tarjoavan sivuston nimi ja sähköpostiosoite. Sähköpostiosoitetta käytetään silloin kun järjestelmä lähettää käyttäjilleen sähköpostiviestejä. Mikäli yhdistyksellä on oma verkkotunnus ja sähköpostipalvelut, niin sivuston sähköpostiosoitteena voi käyttää esimerkiksi webmaster@yhdistys.fi -osoitetta, jota sivuston ylläpitäjä seuraa. Järjestelmälle on luotava tässä asennuksen vaiheessa myös käyttäjätunnus ylläpitoa varten. Kyseinen tunnus saa kaikki oikeudet järjestelmään ja sitä ei ole yleisen ja hyvän tietoturvakäytännön vuoksi suositeltavaa käyttää mihinkään muuhun kuin ylläpidollisiin toimiin. Palvelinasetuksista määritellään järjestelmälle oletusaikavyöhyke ja asentaja antaa myös ottaa käyttöön niin sanotut siistityt osoitteet, jolloin osoiterivillä näkyvä osoite saadaan ihmisystävällisempään muotoon. Tämä ominaisuus on hyvä ottaa käyttöön, mikäli palvelinohjelmisto tukee sitä. Kun asennus on saatettu loppuun, avautuu sivusto automaattisesti ylläpitäjän tunnuksin ja aloitussivu opastaa muokkaamaan Drupalia käyttäjän haluamaan muotoon kuvan 4 kaltaisesti. Toiminnallisuuksien käyttöönottoLisäosien hakeminen, tutkiminen ja asentaminen on tehty erittäin helpoksi. Lisäosien, eli moduuleiden etsimiseen on oma haku- ja selailusivusto Drupal.org -sivustolla. Lisäosia voi hakea hakusanalla, eritellä versioyhteensopivuuden mukaan ja listata julkaisupäivämäärän mukaan. Osa lisäosista, kuten hakutoiminto tai valikkojen muokkaus, on lähes välttämättömyyksiä sivuston rakentamisen kannalta, ja tietyt lisäosat tulevatkin asennuspaketin mukana. Jotkut lisäosat antavat vain pientä viihdearvoa. Kun halutun oloinen lisäosa löytyy, voi siitä löytyä lisätietoa kuvakaappauksia myöten. Tämä helpottaa päätöksentekoa lisäosan hyödyllisyyttä punnitessa. Lisäosa on ladattavissa samaiselta sivulta. Lisäosa voi olla julkaisu useammalle eri Drupal-järjestelmän versiolle, joten tässä vaiheessa on tiedettävä oman Drupal-järjestelmän versio. Version tarkan tiedon saa tarkastamalla se järjestelmän asennushakemistossa olevasta CHANGELOG.txt -tiedostosta. Lisäosien asennus menee pääpiirteittäin samalla tavoin kuin itse järjestelmän asennus. Lisäosa ladataan palvelimelle ja puretaan sille lisäosia varten olevaan hakemistoon, jonka jälkeen se tulee näkyviin järjestelmän hallintaliittymään. Hallintaliittymästä lisäosa voidaan kytkeä päälle ja muokata sen asetuksia. Tässä projektissa haluttuja lisäosia olivat käyttöoikeusmäärittelyt, laajempien käyttäjätietojen käsittelyn mahdollistava toiminto, asianmukaisen tunnistautumisen varmistusmenetelmä ja hakusanojen käytön mahdollistava järjestelmä. Sivustolle käyttöön tuleva keskustelualue on itseasiassa myös lisäosa, mutta se tuli perusasennuksen mukana. Se on kytkettävissä päälle ja pois kuten mikä tahansa muu lisäosa. Käyttöoikeusmäärittelyt luotiin ACL -lisäosalla. Lyhenne tulee sanoista Access Control List eli käytönhallintalista. Käyttöoikeusmäärittelyt mahdollistavat tässä tapauksessa erilaisten käyttöoikeuksien määrittelyn eri rooleissa oleville henkilöille. Roolit ovat Drupal-järjestelmään kuuluva ominaisuus, joissa oletuksena on anonyymi tai sisäänkirjautunut käyttäjä, mutta yhdistyksen toimintaa mukaillen rooleiksi lisättiin myös jäsenyys tai hallituksen jäsenyys. Käyttöoikeusmääritysten esimerkkinä se, että sisäänkirjautuneella käyttäjällä ei ole oikeutta kirjoittaa keskustelualueen jäsenille tarkoitettuihin ryhmiin, eikä taas jäsenillä hallitukselle tarkoitettuihin ryhmiin. Myös muut julkaisutavat on mahdollista rajata käyttöoikeusmäärittelyjen avulla. Käyttäjän tietojen käsittelyä ja keräämistä varten valittiin Addresses -niminen lisäosa. Addresses toimii käytännössä niin, että käyttäjätilin lisäksi käyttäjällä on mahdollista lisätä tietojaan käyttäjätiedot kohtaan. Käyttäjätilin tiedot ovat käyttäjätunnukseen, salasanaan, tunnuksen tilaan ja rooliin liittyvä, kun käyttäjätiedot taas sisältävät käyttäjän nimen, osoitteen, puhelinnumeron ja yhdistyksen toiminnan kannalta oleellisen tiedon käyttäjän auton mallista. Tällä tavoin käyttäjä voi itse ylläpitää yhteystietojaan, eikä hänen tarvitse lähettää niitä sähköpostilla hallitukselle, joskin tämä toimintatapa vaatii sen, että käyttäjän tiedot haetaan suoraan tämän järjestelmän kannasta, eikä toista rinnakkaista yhteystietotietuetta ylläpidetä ristiriitojen välttämiseksi. Captcha-toiminnallisuus esittää sivuston käyttäjälle kysymyksiä, joihin oikein vastaaminen vaatii hieman älyä. Kysymykset eivät ole välttämättä yhteenlaskutoimituksia vaikeampia, mutta se on riittävän vaikea netissä sivustoille rekisteröityville automaattisille järjestelmille, jotka hyödyntävät keskustelu- ja julkaisujärjestelmiä roskapostitukseen. Captcha -toiminnallisuuden tehtävä on ainoastaan selvittää onko käyttäjä oikeasti ihminen (Drupal.org 2009 b). Tällä sivustolla tätä toimintoa käytetään uusien käyttäjien rekisteröitymisen yhteydessä. Eri järjestelmien väliset liitoksetTätä projektia aloittaessani pohdin järjestelmäkokonaisuuden rakentamista useasta eri osajärjestelmästä. Esimerkiksi foorumisovellus ja artikkeleiden julkaisujärjestelmä olisivat olleet eri sovelluksia, joiden olisi kuitenkin pitänyt käyttää yhteistä käyttäjätietokantaa. Tällaisia kokonaisuuksia on käytössä joissain palveluissa ja niiden toimivuus on hyvä, mutta haittapuolena on suurempi ylläpidon tarve. Kun yhtä osajärjestelmää päivitetään, niin ylläpitäjä joutuu myös huolehtimaan sen vaikutukset mahdollisiin muihin järjestelmiin. Yhdistyksen, jonka toimintaan ei liity oleellisesti web-järjestelmien ylläpito, kehitys tai muu tietotekniikkaan tai -järjestelmiin liittyvä toiminta, on helpompi valita yksi järjestelmä, jonka kehittäjät ottavat huomioon järjestelmän eri osa-alueiden yhteensopivuuden muiden osa-alueiden kanssa. Kuten edellisen luvun lopussa todettiin, olisi käyttäjän yhteystietojen hakeminen jäsentietokantaan Drupal-järjestelmästä hyvä asia. Drupal käyttää tietojen tallennukseen MySQL-tietokantaa (Kuva 5), joten käytännössä tietojen hakuun tarvitaan vain järjestelmä, joka on suunniteltu niin, että se osaa hakea kyseisen käyttäjän tunnistenumeron perusteella tietoja Drupal-järjestelmän kannasta. Se ei vaadi siis mitään muutoksia itse Drupal-järjestelmään, joten sen toimintaan saattaminen ei vaadi Drupal-järjestelmän tai sen osien muuttamista itse. Muutos taas vaatisi jatkuvan toiminnallisuuden seurannan ja muutoksiin tarvittavan osaamisen, mikäli järjestelmää tai sen osia joudutaan päivittämään. Tiedon tuominen muista järjestelmistäYhdistyksen nykyisessä järjestelmässä on noin 7500 käyttäjää. Jäseniä yhdistyksessä on hieman toista sataa, joten suurin osa käyttäjistä on yhdistyksen tarjoaman keskustelualueen käyttäjiä. Käyttäjätiedot olisi hyvä tuoda uuteen järjestelmään mahdollisimman muuttumattomina, jotta siirtyminen olisi käyttäjille mahdollisimman helppo. Kaikista järjestelmän käyttäjistä noin 6200 on sellaisia, jotka eivät ole kirjautuneet järjestelmään vuoteen ja niistä noin 1200 sellaisia, jotka eivät ole kirjautuneet kahteen vuoteen. Yhdistyksen hallitus päättänee, kuinka vanhoja käyttäjätunnuksia uuteen järjestelmään halutaan tuoda vai halutaanko kaikki käyttäjätunnukset säilyttää. Käyttäjätunnusten tuonti toisesta järjestelmästä vaatii tietokantarakenteen tutkimista, jossa selvitetään mitkä taulut pitävät mitäkin tietoa sisällään, jonka jälkeen tietojen vastaavuudet voidaan listata ja rakentaa niihin perustuva tiedonsiirtoautomaatio. Foorumin keskusteluihin voidaan soveltaa samaa tekniikkaa. Keskusteluihinkin liittyen voidaan tehdä periaatepäätöksiä vanhojen keskusteluiden säilyttämisestä. Julkaistujen artikkeleiden määrä on suhteellisen pieni ja niiden tuominen voidaan tehdä manuaalisesti. Suurin osa näistä julkaisuista sisältää kuva-aineistoa ja niiden siirto ja ulkoasullinen taittaminen vaatii kuitenkin manuaalisen työvaiheen. Drupal-järjestelmään on saatavina erilaisia lisäosia, jotka mahdollistavat sisällön tuomisen muista järjestelmistä. Mikäli valokuvien tai videon julkaisuun tarvittavaa levytilaa ei ole käytettävissä, voidaan ne julkaista internetissä kaikille vapaissa palveluissa kuten Flickrissä tai Youtubessa. Flickr -kuvapalvelulle löytyy Drupaliin valmis lisäosa, joka mahdollistaa kuvien esittämisen kuvapalvelusta Drupaliin, joka säästää ylläpidollisia ja teknisiä resursseja kun palvelua ei tarvitse tuottaa itse. Kuvien esittämisen mahdollistaa Flickr-palvelun ohjelmointirajapinta, eli API. Flickr-palvelun ohjelmointirajapinta on suunniteltu niin, että siellä olevalla tilillä pystyy tarjoamaan kuvia muihin palveluihin tunnistautumista vastaan. Sivuston ulkoasun muokkausDrupal-järjestelmässä ulkoasu on nykytavan mukaisesti irroitettu sisällöstä omiksi tyylimäärittelyiksi. Järjestelmän mukana tulee useampia teemoja, joita pystyy vaihtamaan järjestelmän ylläpitotyökaluista. Uusia teemoja saa helposti asennettua ja niitä on saatavilla runsaasti. Tapauksessa, jossa sivusto tulisi yritykselle, tulee oman teeman teko vastaan hyvin nopeasti, mikäli haluaa sivuston noudattavan olemassaolevaa graafista ohjeistusta tai muuta vastaavaa vakiintunutta ulkoasukäytäntöä. Yhdistyksen tapauksessa asia ei välttämättä ole yhtä tärkeää, mutta hyvin usein toivottua. Oman teeman tekeminen vaatii huomattavasti enemmän osaamista kuin pelkkä olemassaolevan teeman asennus. Vaikka vaatimukset perusteeman tekemiseen eivät ole Drupalin itsensä osaamisen lisäksi xHTML (eXtensible Hyper Text Markup Language) ja CSS (Casading Style Sheets) -tekniikoiden tuntemusta suuremmat (Drupal.org 2009 c), niin sivuston monimutkaisuus tekee niiden muokkaamisesta aikaavievää ja tarkkuutta vaativaa. CSS -tekniikkaan liittyy hyvin vahvasti tyylimäärittelyiden tekeminen useampaan eri käyttötarkoitukseen, kuten tietokoneruudulle, mobiililaitteelle tai tulostettavaksi. Tällöin sama sisältö saadaan vietyä eri julkaisukanaviin soveltuvina tai sama julkaisukanava voi käyttää useampaa eri tyyliä (Samela 2002, s. 44-45). Tämän projektin tapauksessa ei lähdetty tekemään suurta ulkoasun muokkausta, koska se olisi vaatinut pohjalleen suunnitelman ja niin paljon työtunteja, että siitä olisi riittänyt aihetta vaikka toiseksi opinnäytetyöksi. Kuitenkaan ihan valmiilla tyylillä sivustoa ei testiversionakaan käytetä. Välimuoto on olemassa olevan teeman muokkaaminen vain joiltain osin, tässä tapauksessa väritykseltään, kuvan 6 mukaisesti. Pohjaksi muokkauselle otettiin Drupal-järjestelmän oletusteema Garland. Koska teemat sijaitsevat palvelimella omissa kansioissaan, oli helpointa tehdä Garlandin kansiosta kopio uudella nimellä. Tällöin alkuperäinen teema säilyy muuttumattomana ja siihen on helppo palata, mikäli jokin menisi pieleen. Värien muokkaaminen vaatii ainoastaan CSS:n perustaitoja. Suurin osa muokkaukseen menevästä ajasta menee Drupalin tyylimäärittelypohjaan tutustuessa, mikäli se ei ole ennestään tuttu. Web-selaimen aputyökalut, jotka osavat esittää rakenteen sekä hierarkisesti että visuaalisesti, ovat suuri apu, jos joku tietty sivuston osa ja siihen vaikuttavat tyylit pitää saada selvitettyä. Kun muutokset on tehty, näkyvät ne suoraan käyttäjälle mikäli kyseinen teema on valittu käytettäväksi. Mikäli järjestelmästä ei ole mahdollista pitää kehitysversiota, voi teemaa rakentaa samassa järjestelmässä samanaikaisesti kun käyttäjille esitetään sisältö jonkun toisen teeman kanssa. Jos uuden teeman käyttöönotossa tulee ongelmia, on vanhaan palaaminen helppoa. |