SportPug ry on talvella 2002 perustettu rekisteröity yhdistys, joka on tarkoitettu kaikille Peugeot harrastajille. Yhdistyksen tarkoituksena on ylläpitää kattavaa internet-sivustoa, levittää sivuston kautta ohjeita ja vinkkejä Peugeot-henkilöautojen korjauksesta ja virittämisestä, järjestää erilaisia tapahtumia ja ennen kaikkea koota Peugeot-henkiset ihmiset yhteen. (Lähde: Sportpug.com)
Yhdistyksen toiminta
Yhdistyksen toiminnan voi jakaa kahteen pääluokkaan. Tapahtumien järjestäminen ja verkkopalvelun ylläpitäminen. Verkkopalvelu sisältää keskustelupalstan, joka on jaettu useaan eri aihealueeseen, kuten hallituksen palstaan, jäsenalueeseen ja kaikille avoimiin yleisiin keskusteluihin sekä tekniikkaan, myyntiin ja projekteihin keskittyviin alueisiin. Verkkopalvelu sisältää keskustelun lisäksi myös jäsenistön kirjoittamia artikkeleita. Käytännössä tapahtumien järjestäminenkin nojaa pitkälti verkossa olevaan keskustelupalstaan, jonka avulla tapahtuman suunnittelu ja ilmoittautumiset otetaan vastaan.
Koska yhdistys on verkkoa aktiivisesti käyttävien nuorien perustama, niin verkkopalvelut ovat hyvin olennainen osa yhdistyksen toimintaa. Yhdistyksellä ei ole esimerkiksi kerholehteä, vaan kaikki tiedonvaihto kokoontumisia lukuunottamatta tapahtuu verkossa.
Yhdistyksen verkkopalvelun nykytila
Nykyinen verkkopalvelu on rakennettu jo kerhon toiminnasta poistuneiden henkilöiden toimesta, joten sivuston ylläpito on jäänyt vähemmälle huomiolle. Nykyisen verkkopalvelun tekninen toteutus perustuu PHP:lla luotuisin sivupohjiin, joten sivuston toiminta on kyseistä ohjelmointikieltä osaavalle helppo omaksua. Artikkeleiden hallintaan on itse tehty MySQL-tietokantaa hyödyntävä julkaisujärjestelmä.
Nykyisen verkkopalvelun heikko puoli on järjestelmän kehityksen pysähtyminen. Alkuperäiset tekijät eivät ole enää mukana kerhon toiminnassa ja keskustelualueen tuottavan ohjelmistonkin kehitys on lopetettu. Sivuston lähdekoodi on vanhaa HTML:ää, eikä se noudata nykyisiä verkkosivujen tekemiseen tarkoitettujen tekniikoiden tiukkaa oikeanmukaisuutta.
Verkkopalvelun nykyisten palveluiden vastaavuus Drupalissa
Uuden verkkopalvelun toteuttamiseen valittu Drupal tarjoaa suoraan kaksi päätoimintoa.
Drupalin foorumi ja artikkeleiden teko.
Kehitysjärjestelmän pystyttäminen
Kuvaus asennuksesta. Mitä tulee ottaa huomioon. Lähteenä Drupal-saitit.
Drupal-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 sijaintitiedot, käyttäjätunnuksen ja salasanan. 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.
Kun paketti on purettu lopulliseen sijoituspaikkaansa, joka useinmiten on palvelimella kyseiseen tarkoitukseen tarkoitettu public_html -hakemisto, voidaan järjestelmän käyttöönotto aloittaa menemällä siihen www-osoitteeseen joka on sidottu 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 valmiina oma alihakemistonsa, johon ne tulee purkaa. (Tarkenna)
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.
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 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 ei etuliitteen asettamisesta haittaakaan ole, 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ä vaiheet ovat täysin automaattisia, eivätkä vaadi asentajalta mitään toimenpiteitä.
Asennuksen jälkeen asennusnäkymässä tehdään vielä ensimmäiset sivuston asetukset. 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 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 sen muokkaaminen voi alkaa.
Toiminnallisuuksien käyttöönotto
Drupalin lisäosien asennus ja konfigurointi.
Lisäosien hakeminen, tutkiminen ja asentaminen on tehty erittäin helpoksi. Lisäosien, eli moduuleiden etsimiseen on oma haku- ja selailusivusto Drupal.org -sivuston alla. Lisäosia voi hakea hakusanalla, eritellä versioyhteensopivuuden mukaan ja listata julkaisupäivämäärän mukaan. Osa lisäosista 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 lähtökohtaisesti 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ä (http://drupal.org/project/captcha), käyttämättömien tunnusten hallintaan tehty työkalu (http://drupal.org/project/inactive_user) ja hakusanojen käyttön mahdollistava järjestelmä (Tagijärjestelmä). Sivustolle käyttöön tuleva keskustelualue on itseasiassa myöskin lisäosa, mutta se tuli perusasennuksen mukana. Se kuitenkin on kytkettävissä päälle ja pois kuten mikä tahansa muukin lisäosa.
Käyttöoikeusmäärittelyt luotiin ACL -lisäosalla (http://drupal.org/project/acl). Lyhenne tulee sanoista Access Control List eli käyttöoikeuslista. 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ä voisi olla 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 (http://drupal.org/project/addresses). Addresses näkyy 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.
Eri järjestelmien väliset liitokset
Pohdintaa eri järjestelmien yhteensulauttamisesta, esim. käyttäjätietokannan osalta.
Pohdintaa eri järjestelmien yhteensulauttamisesta, esim. käyttäjätietokannan osalta.
Tä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 päätoiminta ei ole web-järjestelmien ylläpito ja kehitys, on helpompi valita yksi järjestelmä, jonka kehittäjät ottavat huomioon järjestelmän eri osa-alueiden, kuten lisäosien, 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, 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 Drupal-järjestelmään, joten sen toimintaan saattaminen ei vaadi Drupal-järjestelmän tai sen osien muuttamista itse, joka 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, jonka jälkeen vastaavuudet voidaan listata ja rakentaa niihin perustuva automaatio. Foorumin keskusteluihin voidaan soveltaa samaa tekniikkaa. Keskusteluihinkin liittyen voidaan tehdä periaatepäätöksiä vanhojen keskusteluiden säilyttämisestä.
Julkaistujen artikkeleiden määrä on kohtuu pieni ja niiden tuominen voidaan tehdä manuaalisestikin. Suurin osa näistä julkaisuista sisältää kuva-aineistoa ja niiden siirto ja ulkoasullinen taittaminen vaatii kuitenkin manuaalisen työvaiheen.
Sivuston ulkoasun muokkaus
Pohdintoja Drupal-saitin muokkaamisesta ulkoasun osalta, ottaen huomioon asennetut lisäosat.