SportPug ry on talvella 2002 perustettu rekisteröity yhdistys, joka on tarkoitettu kaikille Peugeot harrastajilleautomerkin autoja harrastaville. 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.comSportPug ry 2009) Yhdistyksen toimintaYhdistyksen 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 . Alueita ovat hallituksen palsta, jäsenaluee ja kaikille avoin alue, joka jakautuu yleisiin keskusteluihin sekä tekniikkaan, myyntiin ja projekteihin keskittyviin ala-alueisiin. Verkkopalvelu sisältää keskustelun lisäksi myös jäsenistön kirjoittamia artikkeleita. Käytännössä myös tapahtumien järjestäminenkin nojaa pitkälti verkossa olevaan keskustelupalstaan, jonka avulla tapahtuman tapahtumien 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 nykytilaNykyinen 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 luotuihin 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 (YaBB SE 2009). Sivuston lähdekoodi on vanhaa HTML:ää, eikä se noudata nykyisiä verkkosivujen tekemiseen tarkoitettujen tekniikoiden tiukkaa oikeanmukaisuutta. Verkkopalvelun nykyisten palveluiden vastaavuus DrupalissaUuden verkkopalvelun toteuttamiseen valittu Drupal tarjoaa suoraan kaksi päätoimintoa.Drupalin päätoiminnallisuutta. Keskustelualue, eli foorumi ja artikkeleiden teko. Näiden lisäksi palvelu tarjoaa käyttäjien hallinnan ja lisäosat mahdollistavat käyttäjien ryhmittelemisen eri rooleihin. Kehitysjärjestelmän pystyttäminenKuvaus 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 sijaintitiedotsijaintitieto, käyttäjätunnuksen käyttäjätunnus ja salasanansalasana. 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 useinmiten 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 Englanniksienglanniksi, 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 omat alihakemistonsa, johon ne tulee paketti purkaa itsensä. (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 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 Taulun 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 ei etuliitteen asettamisesta ei ole 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ä 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ä ensimmäiset sivuston asetuksetperusasetukset. 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 sen muokkaaminen voi alkaaaloitussivu opastaa muokkaamaan Drupalia käyttäjän haluamaan muotoon kuvan 4 kaltaisesti. Toiminnallisuuksien käyttöönottoDrupalin 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 allasivustolla. 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 lähtökohtaisesti 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ä (http://drupal.org/project/captchaImage Removed), käyttämättömien tunnusten hallintaan tehty työkalu (http://drupal.org/project/inactive_userImage Removed) ja hakusanojen käyttön mahdollistava järjestelmä (Tagijärjestelmä)ja hakusanojen käytön mahdollistava järjestelmä. Sivustolle käyttöön tuleva keskustelualue on itseasiassa myöskin myös lisäosa, mutta se tuli perusasennuksen mukana. Se kuitenkin on kytkettävissä päälle ja pois kuten mikä tahansa muukin muu lisäosa. Käyttöoikeusmäärittelyt luotiin ACL -lisäosalla (http://drupal.org/project/aclImage Removed). Lyhenne tulee sanoista Access Control List eli käyttöoikeuslistakä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ä 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/addressesImage Removed). Addresses näkyy 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. Eri järjestelmien väliset liitoksetPohdintaa eri järjestelmien yhteensulauttamisesta, esim. käyttäjätietokannan osalta. Pohdintaa eri järjestelmien yhteensulauttamisesta, esim. käyttäjätietokannan osalta.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 päätoiminta toimintaan ei ole liity oleellisesti web-järjestelmien ylläpito ja kehitys, 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 , 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 (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, joka . 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 vastaanPohdintoja vanhan foorumin käyttäjien tuomisesta Drupal-järjestelmään, sekä foorumin datan siirtämisestä. 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 helppoaPohdintoja Drupal-saitin muokkaamisesta ulkoasun osalta, ottaen huomioon asennetut lisäosat. |