...

SISÄLLÖNHALLINTA- JÄRJESTELMÄ PIENTEN YRITYSTEN TARPEISIIN

by user

on
Category: Documents
1

views

Report

Comments

Transcript

SISÄLLÖNHALLINTA- JÄRJESTELMÄ PIENTEN YRITYSTEN TARPEISIIN
SISÄLLÖNHALLINTAJÄRJESTELMÄ PIENTEN
YRITYSTEN TARPEISIIN
Mikko Malmlund
Opinnäytetyö
Toukokuu 2014
Tietojenkäsittely
Digimedia
TIIVISTELMÄ
Tampereen ammattikorkeakoulu
Tietojenkäsittely
Digimedia
MALMLUND MIKKO:
Sisällönhallintajärjestelmä pienten yritysten tarpeisiin
Opinnäytetyö 28 sivua
Toukokuu 2014
Opinnäytetyö käsittelee itse rakennettua WWW-sisällönhallintajärjestelmää, joka on
tarkoitettu pienten yritysten käyttöön ja niille, joilla ei ole kattavia atk-taitoja sivustojen
ylläpitämiseen. Opinnäytetyössä perehdytään suosituimpiin sisällönhallintajärjestelmiin
ja vertaillaan niiden ominaisuuksia oman järjestelmäni ratkaisuihin. Opinnäytetyössä
esitellään järjestelmässä käytetyt teknologiat ja pohditaan myös jatkokehitystä tuotteelle. Opinnäytetyössä kartoitetaan erilaisia vaihtoehtoja ratkaisujen toteuttamiseen sekä
esitetään asiakkaan eli toimeksiantajan mielipiteitä käytettävyydestä.
Opinnäytetyön toimeksiantajana on käsin puukalusteita valmistava yritys (Tuote- ja
tavaramerkki Cari), jonka tarkoitus on rakennuttaa Internet-sivusto tuotteilleen. Heillä ei
ole kokemusta sisällönhallinnasta eikä kovinkaan kattavia atk-taitoja, mutta sisältöä
olisi silti tarkoitus päästä päivittämään ja luomaan itse nopeasti ja helposti. Työssä kartoitettiin eri vaihtoehtoja sivuston luomiseen ja ylläpitämiseen sekä päädyttiin toteuttamaan yhteistyössä helppokäyttöistä sisällönhallintajärjestelmää, joka soveltuu jatkossa
myös muille pienyrityksille.
Sisällönhallintajärjestelmä on saanut kiitosta toimeksiantajalta helppokäyttöisyydestä ja
toimivuudesta. Järjestelmää käyttää tällä hetkellä viisi pienyritystä, joiden tietotekninen
osaaminen on erittäin vähäistä. Ylläpitotehtävät ovat vähentyneet huomattavasti, koska
asiakkaat eivät tarvitse enää ICT-asiantuntijan apua sivuston sisällön tuottamisessa tai
sen hallinnassa.
Asiasanat: sisällönhallinta, cms.
ABSTRACT
Tampereen ammattikorkeakoulu
Tampere University of Applied Sciences
Degree Programme in Business Information Systems
MALMLUND MIKKO:
Content Management System for Small Businesses
Bachelor's thesis 28 pages
May 2014
This thesis is about a self-built web content management system, which is intended for
small businesses and for those who don’t have adequate computer skills to administrate
websites. The purpose of this thesis was to compare the key features of the self-built
system to the most popular content management systems. This thesis introduces the
technologies used and also ideas for further development of the system. There was a
range of options and implementations that were explored and introduced for the customer, whose opinions on the system’s usability were also taken into account.
The thesis was made for a company that manufactures wooden furniture (product and
trademark Cari). The purpose was to build a website for their products that would have
a content management system. The employees of the company didn’t have any earlier
experience in content management and had poor computer skills, but the content in the
website still had to be easy to modify and create. A range of options were explored for
creating the website, and the end result was to choose a self-made easy-to-use content
management system, which will also serve other small businesses in future.
The self-built content management system has been praised by the client for its ease of
use and functionality. The system is currently used by five small businesses. Maintenance tasks are greatly decreased because customers don’t need that much help with
content creation and management for the website.
Key words: content management, cms.
4
SISÄLLYS
1 JOHDANTO ................................................................................................................ 7
2 SISÄLLÖNHALLINTAJÄRJESTELMÄT ................................................................ 9
2.1 Sisällönhallintajärjestelmistä yleisesti ................................................................. 9
2.2 Joomla ................................................................................................................ 10
2.3 WordPress .......................................................................................................... 12
3 OMA SISÄLLÖNHALLINTAJÄRJESTELMÄ ...................................................... 14
3.1 Suunnittelu ......................................................................................................... 14
3.2 Toteutus ............................................................................................................. 15
4 Käytetyt teknologiat .................................................................................................. 21
4.1 PHP .................................................................................................................... 21
4.2 MySQL .............................................................................................................. 22
4.3 XHTML ja CSS ................................................................................................. 23
5 POHDINTA............................................................................................................... 27
LÄHTEET ....................................................................................................................... 28
5
LYHENTEET JA TERMIT
CSS
Cascading Style Sheets (CSS) on ratkaisu, jolla erotetaan
WWW-sivun sisältö ja ulkoasu toisistaan. CSS:n avulla voidaan yhdessä tyylitiedostossa määrittää esimerkiksi kirjasinkoko, kirjainlaji ja reunus, josta kokonaiset sivustot tai yksittäinen sivu saavat tyylinsä sekä muotonsa. CSS-tyylitiedostojen pääte on yleensä .css. (W3Schools 2014a)
Julkaisujärjestelmä (CMS) Julkaisujärjestelmän ensisijainen tarkoitus on erottaa sisältö
esityskerroksesta ja tehdä sisällön, esimerkiksi tekstin ja kuvien, tuottaminen ja julkaiseminen mahdollisimman helpoksi. Uusien sivujen luonti, muokkaaminen ja hallinta olisi hyvä tehdä niin, että kokemattomampikin käyttäjä osaa luoda
nopeasti ja vaivattomasti sivustolle sisältöä.
PHP
PHP on avoimen lähdekoodin palvelinpuolen ohjelmointikieli, jota käytetään laajasti WWW-skripteihin ja käsittelemään HTML-lomakkeiden välittämää tietoa. PHP:tä voidaan
kirjoittaa skripteiksi, jotka sijaitsevat palvelimella ja voivat
tuottaa HTML-tulostetta joka ladataan WWW-selaimeen.
Vaihtoehtoisesti PHP:tä voidaan sisällyttää HTML-sivuihin.
(W3Schools 2014b)
WYSIWYG
WYSIWYG on muokkaustyökalu, joka mahdollistaa tietyn
asian helpon muokkaamisen koodia sisältämättömässä muodossa. Sen avulla sisällön tuottamiseen WWW-sivulle ei tarvita HTML-osaamista. WYSIWYG on lyhenne sanoista
”What You See Is What You Get”, joka suomeksi vapaasti
käännettynä tarkoittaa ”Mitä näet, sen saat”.
6
XHTML
XHTML on HTML-kielen kaltainen julkaisukieli, jossa on
kaikki HTML-kielen elementit ja ominaisuudet, mutta elementtejä
käytetään
XML-kielen
säännöillä.
XHTML-
kielessä koodin kirjoitustapa on hyvin tarkkaan säänneltyä.
Tiukat säännöt ovat tarpeen, kun dokumentteja halutaan käsitellä erilaisilla käyttöjärjestelmillä monissa laitteissa, kuten
esimerkiksi matkapuhelimissa. (W3C 2014)
XML
XML on merkintäkieli, jolla kuvataan dokumentin rakennetta. Se muistuttaa ulkoisesti HTML-kieltä, mutta ei sellaisenaan sovellu selaimessa esitettäväksi, koska XML ei sisällä
ulkoasumuotoiluun tarkoitettuja komentoja, vaan lähinnä tietoa taulukkomaisessa muodossa. (Samela 2002, 95–96)
7
1
JOHDANTO
Toimeksiantajana on käsin puukalusteita valmistava yritys (Tuote- ja tavaramerkki Cari/
Yhteyshenkilö Miia Kari), jonka oli tarkoitus toteuttaa Internet-sivusto tuotteilleen.
Heillä ei ole kokemusta sisällönhallinnasta, eikä kovinkaan kattavia atk-taitoja, mutta
sisältöä olisi silti tarkoitus itse päästä nopeasti ja helposti päivittämään. Opinnäytetyöni
aihe liittyy WWW-sisällönhallintaan. Perehdyn opinnäytetyössä toteutukseni ratkaisuihin ja vertailen sen ominaisuuksia sekä käytettävyyttä nykyisiin sisällönhallintajärjestelmiin. Tavoitteena opinnäytetyössä on kehittää sekä parantaa toimeksiantajan mahdollisuuksia hyödyntää Internetiä omassa markkinoinnissaan. Opinnäytetyön käytännön
toteutusosan tarkoituksena on toteuttaa toimeksiantajan ja muidenkin pienyritysten
käyttöön sopiva järjestelmä WWW-sisällön hallintaan.
Tarkoitus on tehdä ylläpitäjälle oma osio, johon kirjautumalla aukeaa sivuston hallintapuoli. Sivusto näyttää hallintapuolella samalta kuin normaalistikin, mutta tekstit ovat
muokattavissa ja kuvia pystyy lisäämään gallerioihin sekä myös poistamaan. Sivustolle
tulee myös eri kieliversiot (aluksi suomi ja englanti) ja kieltä vaihtamalla pääsee myös
hallintapuolella muokkaamaan juuri kyseisen kielen tekstejä. Sisältö tulee olemaan dynaamista, jolloin kielen vaihtaminen vaihtaa sivustolla vain tekstit. Tämä tekee sivustosta kevyemmän, koska kuvia ei tarvitse ladata moneen kertaan palvelimelle.
Pääsen opinnäytetyössä perehtymään erilaisiin vaihtoehtoihin ratkaisujen toteuttamisessa sekä ottamaan huomioon asiakkaan (toimeksiantajan) mielipiteitä käytettävyyteen
liittyen. Pääsen käyttämään opittuja HTML-, CSS-, PHP- sekä SQL-taitoja. Jos onnistun tekemään hyvän järjestelmän, niin voin kaupata sitä muille pienille yrityksille, joilla
ei ole kovin kattavaa taitoa omien sivujensa hallintaan.
Otan erityisen tarkkaan huomioon asiakkaan omat toivomukset, jotta käytettävyydestä
saadaan riittävän selkeä myös hallinnan osalta. Tausta aineistoa löytyy kirjoista, jotka
käsittelevät sisällönhallintaa sekä järjestelmiä (Joomla, Wordpress) yleisellä tasolla.
Internetin lähteistä löydän viimeisintä tietoa sekä eri vaihtoehtoja teknisiin ratkaisuihin.
Olen toteuttanut sisällönhallintaan liittyviä projekteja erilaisilla tavoilla, joten osaamista
löytyy valmiiksi muutamasta sisällönhallintajärjestelmästä sekä tietoa yksinkertaisen ja
helppokäyttöisen käyttöliittymän suunnittelusta.
8
Lähteinä opinnäytetyössäni käytän painettua kirjallisuutta sekä WWW-sivuja. Kirjallisuuden lähteistä opinnäytetyössäni käytän kahta kirjaa. Tämä sen takia, koska aiheesta
oli haastavaa löytää painettua aineistoa, joka olisi myös ajankohtaista. Valitsin Bob
Boiko - Content Managment Bible kirjan uusintapainoksen, koska siinä käsitellään laajasti sisällönhallintaa yleisellä tasolla ja tieto on edelleen ajan tasalla. Toisena kirjana on
Juha Samelan Verkkosisällön hallinta, jossa on esimerkkejä toteutuksista sekä vertailussa eri sisällönhallintajärjestelmiä. Selvitin kirjoittajien taustoja verkosta ja totesin aineistot luotettaviksi.
Käytin lähteinäni myös WWW-sivuja sekä yhtä e-kirjaa. E-kirja jota hyödynsin, oli
Davis and Phillips - Learning PHP and MySQL, josta löytyi kattavasti tietoa tietokannoista sekä niiden hyödyntämisestä verkkosivujen rakentamisessa. Yritin löytää WWWsivustoja, jotka olisivat luotettavia ja ajantasaisia. Käytin lähteinäni Joomlan virallisia
WWW-sivuja sekä WordPressin kehittäjien sivustoa. Käytin WWW-lähteenäni myös
Joomlan Suomen kielisiä sivuja, joita ylläpitävät suomalaiset Joomla-kehittäjät. Sieltä
löytyi tiivistetysti sekä selkeästi tiedot käyttämistäni teknologiosta ja tavoista.
Opinnäytetyön aiheeksi valitsin sisällönhallintajärjestelmät, koska olen kiinnostunut
WWW-sivujen rakentamisesta ja erilaisista vaihtoehdoista toteuttaa WWW-sivustot.
Helppokäyttöisyys on ollut esillä esimerkiksi mobiililaitteiden käyttöliittymien suunnittelussa, joten kiinnostuin helppokäyttöisen sisällönhallintajärjestelmän toteuttamisesta
ja luomisesta. Opinnäytetyöstä on hyötyä niille, jotka haluavat ymmärtää, mitä helppokäyttöisyys tarkoittaa WWW-suunnittelussa ja kuinka paljon toimiva sisällönhallintajärjestelmä helpottaa sekä nopeuttaa yrityksen työkuormaa sivustojen osalta.
9
2
SISÄLLÖNHALLINTAJÄRJESTELMÄT
Tässä luvussa käsitellään sisällönhallintaohjelmia yleisesti ja sen jälkeen keskitytään
vuorotellen vertailussa olleisiin sisällönhallintajärjestelmiin.
2.1
Sisällönhallintajärjestelmistä yleisesti
Sisällönhallintajärjestelmä on menetelmä, joka mahdollistaa sivuston jokaisen pienimmänkin osan tai sen osien hallinnan. Sitä voisi hyvin verrata suureen kirjastoon, jossa
kaikki lainattavat kirjat, lehdet ja musiikki ovat hyvin hallinnassa. Joomlassa sisältö voi
esimerkiksi olla pelkkää tekstiä, kuvia, videoita, musiikkia tai dokumentteja. Sisällönhallintajärjestelmän laajempi ja edistyneempikään käyttö ei tarkoita sitä, että käyttäjällä
olisi oltava laaja tietotekninen koulutus tai hänen olisi oltava erityisesti perehtynyt tietojenhallintaan. Sisällönhallintajärjestelmä toteuttaa teknisen puolen sinun valintojesi mukaan.
Sisällönhallintaohjelmia on olemassa monenlaisia sisältöjä varten, mutta tässä työssä
keskitytään WWW-sisällön hallitsemista, luomista ja päivittämistä helpottaviin sovelluksiin. Ennen CMS-ohjelmien tuloa WWW-sisällön tekemiseen oli käytännössä vain
kaksi tapaa; käsin koodaamalla tai jotakin sivujen tekoon tarkoitettua ohjelmaa (esimerkiksi FrontPage tai Dreamweaver) käyttäen. Yksi suurimmista CMS-ohjelmien tuomista
hyödyistä on se, että työvaihe, jossa tiedostot siirretään palvelimelle, puuttuu kokonaan
sivujen päivittäjän näkökulmasta. (Samela 2002, 18–20) Tiedostojen siirtovaiheen puuttuessa pääsevät monet ihmiset tuottamaan helpommin sisältöä Internetiin. Yksi hyvä
esimerkki tämän asian hyödyntämisestä on opetusympäristö Tabula, joka on myös
CMS-sovellus.
Yritysten sisäiset sivustot eli Intranetit ovat yleensä laajoja sivukokonaisuuksia, joilla
on monia käyttäjiä sekä useita ylläpitäjiä. Sisällön tuottamisen Intranetiin on oltava vaivatonta, jotta sen laatua ja luotettavuutta voidaan ylläpitää. Huonosti ylläpidettyyn ja
liian vaikeasti toteutettuun sivustoon kertyy vanhoja sivuja, eikä tieto ole enää käyttäjien vaatimalla tasolla. Hyvällä sisällönhallinnalla saadaan säästettyä organisaatiossa aikaa ja vältettyä turhaa työtä. Sähköisten palveluiden lisääntyessä aineiston määrä kasvaa
10
ja päivittämisen tarve lisääntyy, joten taustajärjestelmien on oltava kunnossa. (Samela
2002, 16–17)
CMS-ohjelmat voidaan jakaa niiden käyttötarkoitusten mukaan kategorioihin. Yleisin
tapa jakaa ohjelmat luokkiin on niiden koko, joka käytännössä tarkoittaa sitä mittakaavaa, kuinka laajassa, vaativassa ja isossa ympäristössä ohjelman pitää toimia ongelmitta.
Tässä jaossa ohjelmat jaetaan usein luokkiin ultrakevyt, kevyt, keskiraskas ja raskas.
Ultrakevyen ja kevyen sisällönhallintajärjestelmän suurimpana erona on se, että ultrakevyt järjestelmä tarjoaa yleensä kehittäjänsä puolelta ylläpitopalvelun, jolloin käyttäjän ei
tarvitse ymmärtää palvelinpuolen asioita. Kevyt sisällönhallintajärjestelmä pystyy ultrakevyen lailla käsittelemään vain pienehköjen yritysten tai muiden instanssien tietomääriä, mutta ultrakevyen sijaan kevyt ohjelma täytyy ainakin pystyä asentamaan palvelimelle. Kevyellä ohjelmalla voi olla useampiakin vaatimuksia toimintaympäristöstään
(esimerkiksi tietokannat), joiden hallitseminen on perusedellytys järjestelmän toiminnalle. Mitä pienemmästä sisällönhallintajärjestelmästä on kyse, sitä enemmän se perustuu yleensä pelkästään WWW-julkaisutarpeeseen. Tästä syystä keskiraskaat ja etenkin
raskaat sisällönhallintajärjestelmät usein nivoutuvat enemmän yhteen suurten organisaatioiden muiden tietojärjestelmien, kuten esimerkiksi toiminnanohjausjärjestelmän kanssa. Näissä järjestelmissä WWW-julkaisutarve on vain pieni osa suurta kokonaisuutta ja
niitä muokataan sekä räätälöidään paljon sopimaan suuryrityksen tarpeisiin. Kustannukset ovat täysin eri kokoluokkaa kuin kevyissä ja ultrakevyissä järjestelmissä. Vertailuun
valitsin tunnetuimmat ilmaiset sisällönhallintaohjelmat, jotka ovat useimmiten esillä
CMS-ohjelmaa valittaessa ja useimmilla on juuri näistä ohjelmista jotain kautta käyttökokemusta sekä tietotaitoa. (Boiko 2005)
2.2
Joomla
Joomla on useasti palkittu sisällönhallintajärjestelmä. Suomessa puhutaan usein myös
julkaisujärjestelmästä, jolla tarkoitetaan samaa asiaa. Joomlalla voi rakentaa verkkosivustoja sekä tehokkaita verkkosovelluksia. Monet tekijät, mukaan lukien Joomlan
helppokäyttöisyys ja laajennettavuus, ovat tehneet siitä yhden maailman suosituimmista
verkkosivusto-ohjelmista. Joomlassa ehdottomasti suosituin piirre on sen vapaan lähde-
11
koodin (Open Source) ratkaisu, joka tekee siitä kaikille ilmaisen ja helposti saatavilla
olevan ohjelmistoratkaisun. (Joomla 2014a)
Joomla asennetaan verkkopalvelimelle ja sitä käytetään Internet-selaimen kautta. Selainpohjaisuus tekee sen käytön helpoksi kaikkialta, missä on Internet-yhteys. Joomla
sisältää editorin, jolla artikkeleiden kirjoittaminen ja kuvien lisääminen on ylläpitäjälle
helppoa ja nopeaa. Joomla sopii erinomaisesti sivustoille, joilla ylläpitoa ja sisällöntuottamista tekee useampi eri henkilö. Ylläpitäjien lukumäärää ei ole rajoitettu ja eritasoisia
oikeuksia pystytään jakamaan käyttäjille selkeällä erottelulla. Sisällöntuottaminen vaatii
käyttäjältään käytännössä vain tekstieditorin käyttötaidon ja moni oppiikin tuottamaan
sisältöä lyhyellä koulutuksella. Tekstin kirjoittaminen ja kuvien lisääminen onkin todella yksinkertaista käyttäjälle, mutta uuden sivun tai valikon luominen vaatii hieman syvällisempää perehtymistä Joomlan moduulien toimintaan sekä sijoitteluun. Kun alkumääritykset sivuston rakenteeseen on tehty, Joomla osaa sijoittaa esimerkiksi artikkelin
valittuun paikkaan ja muotoilee artikkelin ulkonäön sivuston mukaiseksi sekä julkaisee
sen. (Joomla 2014b)
Yksityishenkilöille ja pienille yhteisöille Joomla on erittäin kustannustehokas verkkoviestinnän väline. Isommille yhteisöille ja yrityksille taas Joomlan laajennettavuus esimerkiksi verkkokaupaksi antavat lähes rajattomat mahdollisuudet luoda ammattimaiset
ja laadukkaat verkkosivut.
Joomlassa on valmiiksi mukana useita toimintoja ja ominaisuuksia. Järjestelmä sisältää
toiminnallisuudet ja erilliset työkalut sisällön keräämiseen, tuottamiseen, hallinnointiin
ja julkaisemiseen sekä käyttäjien hallintaan. Lisäksi Joomlaan on lisätty useita lisäohjelmia, jotka voidaan jakaa valmiiksi asennettuihin ja erillisiin lisäosiin. (Joomla 2014b)
Joomlassa sivuston sisältö ja ulkoasu on erotettu toisistaan. Sivuston ulkoasun määritykset on sivupohjaan listattuna ja sisältö palvelimella omassa tietokannassaan. Selaimen kutsuessa jotain tiettyä sivua, hakee Joomla sivun sisällön tietokannasta ja selvittää
sivupohjan tiedostoista, kuinka sisältö tulee näyttää sekä asetella. Sisällön haun jälkeen
Joomla muotoilee kutsutun sisällön käyttäen käytössä olevan sivupohjan tyylitiedostoa
ja palauttaa sen takaisin selaimelle HTML-muodossa. Joomlassa on erikseen varsinainen julkisivu, josta voidaan käyttää myös termiä julkinen liittymä tai julkinen sivusto
12
(engl. frontend), ja ylläpitoliittymä (engl. backend), johon kirjaudutaan käyttäjätunnuksella ja salasanalla (Joomla 2014a). Ylläpitoliittymä on tarkoitettu sivuston hallintaan ja
sisältöjen ylläpitämiseen. Sen kautta voidaan määritellä koko julkaisujärjestelmän asetukset, säädellä sivuston ulko-asua, ylläpitää ja tuottaa sisältöä, hallinnoida käyttäjätilejä
sekä suorittaa yleisiä ylläpitoon liittyviä tehtäviä. Julkinen liittymä, eli julkisivu on nimensä mukaisesti se osa sivustoa, joka on tarkoitettu sivustolla vierailijoiden nähtäväksi. Sivustolle on mahdollista tuottaa sisältöä myös julkisivun kautta käyttäjälle määriteltyjen käyttöoikeuksien mukaisesti. (Joomla 2014b)
Käyttäjät jaetaan Joomlassa kahteen ryhmään käyttöoikeuksien mukaan. Käyttäjät, joilla
on pääsy julkiseen liittymään ovat vieraat, rekisteröityneet, kirjoittajat, muokkaajat ja
julkaisijat. Ylläpitoliittymään on pääsy kolmella käyttöoikeustasolla: järjestäjillä, ylläpitäjillä ja pääylläpitäjillä. Eri käyttöoikeustasojen ansiosta käyttäjille voidaan antaa eriasteisia käyttöoikeuksia. Näin voidaan hallita esimerkiksi sitä, että kenellä on oikeus lisätä
ja muokata sisältöä sivustolle sekä poistaa sisältöä sivustolta. Voidaan myös määritellä,
että tietty artikkeli, moduuli, komponentti näkyy vain sivustolle rekisteröityneille käyttäjille. Näin WWW-sivustolle voidaan vain tietylle ryhmälle avoin osio, kuten esimerkiksi jäsensivut, jonka käyttäminen vaatii kirjautumisen käyttäjätunnuksella ja salasanalla.
Joomlan tärkeä kokonaisuus on siihen liitettävissä olevat lisäosat, josta voidaan käyttää
myös nimitystä laajennus (engl. extensions). Lisäosat voidaan jakaa sivupohjiin, kielitiedostoihin, komponentteihin, moduuleihin ja liitännäisiin, joiden avulla sivustolle voidaan lisätä lukematon määrä erilaisia toimintoja. Kaikentyyppisiä lisäosia on ladattavissa ilmaiseksi Internetistä, ja niitä voi asentaa vapaasti omalle Joomla-sivustolle.
2.3
WordPress
WordPress on alustariippumaton avoimen lähdekoodin julkaisualusta. Sen painopisteinä
ovat keveys, WWW-standardit ja käytettävyys. Alustan helppokäyttöinen ja kehittynyt
järjestelmä on nostanut WordPressin suosituksi työkaluksi internetsivuja rakennettaessa.
WordPress mielletään yleisesti blogi-alustaksi, mutta nykyään sen tarjoamat ominaisuudet ylittävät reilusti tuon käsitteen. WordPress on tarvittaessa laaja sisällönhallintajär-
13
jestelmä, koska sen avulla voidaan hallita suuria määriä dataa ja isoja sivustokokonaisuuksia.
WordPress taipuu hyvin suurenkin organisaation WWW-sivuston pohjaksi, sillä se tarjoaa valittavaksi eri käyttäjäroolit. Sen avulla voidaan luoda sivupohjia ja sisältöä, joka
on helposti ylläpidon muokattavissa. WordPressin GNU General Public License, lyhennettynä GPL-lisenssi, antaa käyttäjille vapauden muuttaa, kopioida ja käyttää ohjelmiston avointa lähdekoodia. WordPressin helppokäyttöisen hallintasivuston kautta sivujen
lisääminen, muokkaaminen ja poistaminen on helppoa. Käyttäjä ei tarvitse lainkaan
teknistä osaamista, sillä WordPress tarjoaa käyttäjille helpot WYSIWYG-editorit ja
selkeät valikot. Ulkoasua on helppo muuttaa koskematta CSS-koodiin valmiiden teemojen ansiosta. WordPress soveltuu kevyeen bloggaamiseen, mutta myös järeään webtuotantoon. Sen vahvuus on helppo muokattavuus pienellä teknisellä osaamisella. Maailmanlaajuisesti erittäin suositulla WordPressillä on laaja tukifoorumi-, sekä kehittäjäverkosto. Siihen löytyy valmiita teemoja jokaiseen tarpeeseen, sekä lisäosia sivuston
toimintojen lisäämiseen. (WordPress 2014)
WordPressin kevyitä ja yksinkertaisia perusominaisuuksia voi laajentaa lisäosilla (engl.
plugin). WordPressin avoimeen lähdekoodiin perustuva alusta mahdollistaa lisäosien
kehityksen kenelle tahansa. Käyttäjälle voi tulla tarve saada jokin toiminto sivustolleen,
mutta sopivaa lisäosaa ei löydy valmiina. Tässä tapauksessa käyttäjä voi tehdä itselleen
sopivan ratkaisun ja jakaa sen myös muille vapaasti käyttöön tai kehitettäväksi. WordPress on näin saanut uuden lisäosan, joka on kaikkien käytettävissä ja muokattavissa.
14
3
OMA SISÄLLÖNHALLINTAJÄRJESTELMÄ
Tässä luvussa käsittelen oman CASE-projektina toteutetun sisällönhallintajärjestelmäni
ominaisuuksia sekä vertailen niitä edellä mainittuihin CMS-järjestelmiin.
3.1
Suunnittelu
CASE-projektina toteutettiin CARI tuote- ja tavaramerkille uudet verkkosivut tukemaan
myyntiä sekä markkinointia. Suurin osa yrityksen käyttämästä työajasta menee puukalusteiden valmistamiseen, joten verkkosivuista ei saisi olla liikaa vaivaa, eivätkä ne saisi
viedä aikaa muulta toiminnalta. Asiakkaan kanssa kartoitettiin eri vaihtoehtoja ja tultiin
päätökseen siitä, että sisältö on oltava ylläpitäjän muokattavissa ja sivustosta tulisi dynaaminen. Uusien tuotekuvien lisääminen sekä tekstin tuottaminen pitäisi onnistua
muutamalla eri kielellä. ATK-taidot ovat käyttäjillä perustasoa ja syvempää kokemusta
WWW-koodaamisesta ei ole. Sisällön tulisi olla mahdollisimman helposti muokattavissa ilman, että sivuston hallitsijan tarvitsee koodiin koskea.
Vaikka Joomlan ja WordPressin esittelyissä mainitaan, että niiden käyttöön ei tarvita
juuri ollenkaan ATK-taitoja, eivät ne kuitenkaan sopineet asiakkaalle vaihtoehdoksi
sisällönhallintajärjestelmää valitessa. Oma integroitu järjestelmä osoittautui helpoimmaksi vaihtoehdoksi jo ohjeistamisenkin osalta. Joomlassa sekä WordPressissä on lukemattomia lisäosia, joilla saadaan uusia lisäominaisuuksia käyttöön ja kokenut käyttäjä
pystyy niitä paremmin hyödyntämään sekä muokkaamaan omaan tarpeeseen. Tässä tapauksessa haluttiin, että sisällönhallintajärjestelmä olisi mahdollisimman helppo ja nopea käyttää rakenteen ollessa vakio verkkosivuilla.
Tärkeintä sisällönhallintajärjestelmää tehdessä on ottaa huomioon tietoturva, helppokäyttöisyys ja laajennettavuus. Markkinoilla pärjäävät sellaiset ratkaisut, jotka pystyvät
tarjoamaan organisaatioille lisäarvoa eli liiketoiminnan kasvua tai tehostamista. Puhutaan siis aidosti myyntiä ja markkinointia tukevista toimenpiteistä sekä toteutuksista. On
tärkeää valita asiakkaalle juuri hänen toimintaa tukeva ratkaisu, eikä välttämättä sitä,
mikä on markkinoiden paras ja laajin. Oma sisällönhallintajärjestelmäni on tarkoitettu
15
juuri pienille yrityksille, joiden tarvitsee muokata tekstiä, lisätä kuvia sekä toteuttaa
sivusto useammalla eri kielellä.
3.2
Toteutus
CMS-järjestelmä toteutettiin käyttäen pääosin PHP:tä sekä MySQL:ää. Yhden sivun
rakenne koostuu monesta <?php include (’elementti1.php’); ?> -elementistä, joilla kutsutaan sivuston eri palasia paikalleen. Koodiesimerkissä 1 on havainnollistettu, kuinka
elementtejä kutsutaan yhdellä sivulla. Sivu koostuu monesta eri elementistä, jotka kutsutaan tarpeen mukaan näkymään oikeassa paikassa. Tästä syystä sivuston ylläpito on
helpompaa, koska yhtä elementtiä tarvitsee muokata vain kerran, vaikka se esiintyisikin
useammassa paikassa.
Koodiesimerkki 1: Sivurakenne, jossa on kutsuttuna eri PHP -elementtejä
Sisäänkirjautuminen hallintapuolelle olisi voitu toteuttaa sessioilla sekä evästeillä, mutta
tässä tapauksessa päädyttiin suojaamaan hakemistot .htaccessilla (Hypertext Access) ja
16
.htpasswd:llä (Hypertext passwords). Valittu suojauskeino on huomattavasti helpompi
ja nopeampi toteuttaa. Sessiota olisi tosin helpompi laajentaa useammalle käyttäjälle ja
käyttäjät pystyisi erottamaan toisistaan selkeämmin. Tässä tapauksessa hakemiston suojaaminen yhden tunnuksen taakse oli riittävä ratkaisu, koska sivustoa päivittää vain yksi
ihminen. Htaccess on turvallinen tapa tehdä salasanasuojaus haluamalle hakemistolle.
Tämä toimenpide vaatii kaksi tiedostoa, jotka ovat .htaccess ja .htpassw. Htaccesstiedostossa määritellään .htpasswd-tiedoston sijainti palvelimella. Tiedostossa voidaan
määrittää sille myös haluttu kehoite, esimerkiksi "Anna tunnus ja salasana jatkaaksesi".
Htaccess-tiedosto kopioidaan suojattavaksi haluttuun kansioon. (Wmhost 2013)
Kokemuksesta tiedän, että juuri WYSIWYG ja "edit in place" ovat melko pakollisia
muokkaustapoja asiakkaille, jotka eivät omassa työssään joudu käyttämään paljoakaan
tietokonetta. Heille on selkeämpää, kun voi mennä selaimella sivustolle ja muokata sisältöä suoraan sivustolla. Tätä samaa muokkausmenetelmää käytetään lähes kaikissa
sisällönhallintajärjestelmissä sekä sivusto-editoreissa.
Sivuston ulkoasua ei pysty muokkaamaan, eikä myöskään rikkomaan hallintapuolelta.
Ylläpitäjä kirjautuu hallintapuolelle ja näkee sivuston muokkaus-tilassa. Näkymä sekä
rakenne ovat vastaavia kuin front end -puolella, mutta tekstit on muokattavissa omilla
paikoillaan ja eri gallerioihin pystytään lisäämään tietyille tuotteille kuvia sekä lisätietoja (hinta, tyyppitiedot, tarkennukset). Kuvassa 1 näkyy sivuston käyttäjän julkinen näkymä, jossa kaikki elementit ovat paikallaan suomenkielisinä valinnan mukaan. Kuvassa 2 ylläpitäjä on kirjautuneena hallintapuolella, joka näyttäytyy hyvin samankaltaisena
kuin perinteinen näkymä, mutta tekstit ovat muokattavissa sekä kuvat poistettavissa.
17
KUVA 1: Sivuston käyttäjän näkymä
KUVA 2: Sivuston ylläpitäjän näkymä sisäänkirjautumisen jälkeen
Ylläpito-puolella esimerkkikuvissa yläpalkissa näkyy kuvan lisäyksen painike, jonka
valitsemalla päästään lisäämään sivustolle kuvia. Haluttu kuva valitaan selaamalla tietokoneen tiedostohakemistosta ja se asettuu ylläpitäjän valitsemaan galleriaan. Halutun
kuvan poistaminen tapahtuu valitsemalla kuva sen todelliselta paikalta sivustolla. Näin
varmistetaan ja nähdään, että poistettava kuva on oikea.
Sivustolla on tällä hetkellä käytössä kielinä suomi ja englanti. Kieliä pystytään helposti
lisäämään, jos tarve tulee. Sivusto on rakennettu monista eri palasista eli komponenteista, jolloin sen integroiminen muihinkin sivustoihin on jatkossa helppoa. Sivuston tekstit
18
tulevat sivustolle tekstitiedostoista kielivalinnan mukaan. Kieltä vaihtamalla pystyy
muokkaamaan juuri sen kielen tekstejä, mikä on valittuna. Kuvat ovat samat jokaisella
kielellä, ja tällä ratkaisulla vältyttiin niiden lataamiselta useampaan kertaan ja saatiin
näin sivustoa kevyemmäksi. Kun sivuston kieltä vaihdetaan, vaihtuvat ainoastaan tekstit
ja muu sisältö pysyy samana. Joillakin sivustoilla törmää siihen ongelmaan, että kieltä
vaihdettaessa sivu päivittyy ja siirtyykin etusivulle nykyisen paikan sijasta. CASEprojektissa kuitenkin pysytään samalla sivulla, kun sivuston kieltä vaihdetaan. Tämä
toteutettiin JavaScriptiä hyödyntämällä ja muuttujia käyttämällä. Sivusto muistaa käyttäjän valinnan navigaatiossa ja osaa ladata saman sivun uudelleen kieltä vaihdettaessa
ilman, että joudutaan palaamaan etusivulle. Koodiesimerkissä 2 näkyy, kuinka sivustolle on jätetty optio tehdä kolmaskin kieliversio. Kieliversioita pystytään tekemään sivustolle lähes rajaton määrä.
Koodiesimerkki 2: Kielivalinnan lähdekoodi
Kaikki sivuston teksti tallentuu .txt-tiedostoihin, joista ne haetaan näkyviin käyttäjän tai
ylläpitäjän valinnan mukaan. Tekstitiedostot tallentuvat palvelimelle kansioihin kielivalinnan mukaan. Tämä tuo ylläpitäjän näkyviin aina sivuston kielivalinnan mukaisen
tekstin. Muuttujaa $language käytetään otsikko-elementissä sekä tekstitiedoston kansiopolussa, jolloin sivusto tietää, minkä kielivalinnan mukaan sisältö näytetään ja haetaan.
Koodiesimerkissä 3 on nähtävissä, kuinka editoriin kirjoitettu teksti tallentuu .txttiedostoon, ja kuinka se tuodaan näkyviin ylläpitäjän muokattavaksi. CSS-tyylitiedosto
19
määrittää eri tekstityypeille tyylit, jotta sivuston ulkoasu pysyy yhtenäisenä. Tekstikentälle on myös asetettu kokorajoitukset tyylitiedostossa, jotta ylläpitäjä ei voi rikkoa sivun rakennetta tai ulkoasua tekstin kirjoittamisella. Sivuston julkaisemisen jälkeen asiakkaan on kirjoitettava haluamansa sisältö tyhjiin tekstikenttiin kaikkiin eri kieliversioihin, jotta vierailijat eivät näe sivustoa ilman sisältöä. Tämä vaati sen, että jokaiselle
tekstikentälle oli luotu palvelimelle tyhjä .txt-tiedosto. Jatkokehitystä ajatellen käyttäjän
on pystyttävä luomaan tekstikenttä-elementti, joka myös luo automaattisesti sille oman
tyhjän .txt-tiedoston.
Koodiesimerkki 3: Tekstitiedoston muokkaus ja tallentaminen admin-puolella
Joomlassa sekä WordPressissä tekstin muokkaamisessa on laajempi tekstinkäsittelyosio
sekä editori. Niiden muokkaustila sisältää ominaisuuksia kuvien sisällyttämisestä tekstin
joukkoon sekä tekstin ulkoasun muuttamiseen. CASE-projektissa tätä ei koettu tarpeellisena, vaan tärkeintä oli yhtenäinen ulkoasu jokaisella sivulla. Asiakkaan käyttökokemuksen perusteella oli parempi, mitä vähemmän vaihtoehtoja peruskäyttäjälle annetaan,
sen vähemmän tapahtuu harkitsemattomia tyylimuutoksia sekä virheitä.
20
Järjestelmän rakentamiseen alusta loppuun kului aikaa noin neljä kuukautta. Haastavinta
käytännön toteutuksessa oli säilyttää järjestelmän laajennettavuus ja toimivuus. Tein
käytettävyystestejä Joomlalla sekä WordPressillä, ja pyrin poimimaan sieltä tärkeimmät
ominaisuudet oman järjestelmäni käyttöön. Asiakkaalle piti muutamaan otteeseen myös
perustella, miksi joitakin ominaisuuksia jätettiin järjestelmästä pois. Usein näissä tilanteissa päätös perusteltiin helppokäyttöisyyden säilyttämiseen vedoten. Aika oli myös
rajoittava tekijä, jolla yritettiin rajata järjestelmän laajuutta.
21
4
Käytetyt teknologiat
WWW-sivustot jaetaan yleensä kahteen ryhmään, staattisiin sekä dynaamisiin sivustoihin. Staattisten sivujen sisältö on aina kirjoitettu suoraan HTML-dokumenttiin, eikä sen
rakenne muutu sitä käytettäessä tai katseltaessa. Staattisten sivujen hyötynä on yleisesti
nopeampi latausaika, mutta mikäli sivuja haluaisi päivittää usein ja helposti, on edessä
WWW-koodaustaitoja vaativa työ sekä isompi työmäärä. Sivustoa muokattaessa pitäisi
esimerkiksi jokaisella sivulla esiintyvä sama otsikko kirjoittaa uusiksi jokaiseen HTMLdokumenttiin erikseen.
Tänä päivänä sivustot ovat yhä useammin dynaamisia, joissa tieto sijaitsee keskitetysti
esimerkiksi tietokannassa tai tiedostoissa, joista sisältö tuodaan näkyviin valituilla ehdoilla ja määrityksillä. Yllämainittuun otsikko-esimerkkiin verraten dynaamisella sivustolla muokattava otsikkotieto päivitettäisiin vain yhteen tiedostoon ja se näkyisi päivitettynä joka kohdassa.
4.1
PHP
Tanskalais-grönlantilainen Rasmus Lerdorf kirjoitti ensimmäisen version PHP-kielestä
(Hypertext Preprocessor) ja se julkaistiin GPL-lisenssin alaisena vuonna 1995. Vuonna
1998 julkaistiin PHP:stä jo kolmas versio ja tämän takana olivat sitten miehet Andi
Gutmans ja Zeev Suraski. Tämän jälkeen kyseiset herrat perustivat Zend Technologiesyhtiön, jonka tehtävänä on tarjota kaupallisia palveluita PHP:n ympärille. Nyt kieli on
jo saavuttanut viidennen versionsa ja on vakiinnuttanut asemansa useiden WWWpalvelujen perustana.
PHP:n on väitetty olevan tehoton ja soveltumaton suurien WWW-sivustojen perustaksi,
mutta silti kieli on erittäin suosittu WWW-palvelinympäristöissä. Tehottomuus tai tehokkuus muodostuu suurimmaksi osaksi siitä, osataanko kieltä käyttää oikein sekä siitä,
osataanko palvelimia säätää ja asentaa tarkoituksen mukaisiksi ja tehokkaiksi. PHP on
ollut alustana lukuisille suosituille WWW-palveluille viime vuosina.
22
Toukokuussa 2000 julkaistiin PHP:n neljäs versio, jossa oli mukana paljon erilaisia
ominaisuuksia ja elementtejä, jotka helpottivat ohjelmoijien työn tekoa ympäri maailman. Mainittavimpia uusista ominaisuuksista olivat paranneltu tuki oliopohjaiselle ohjelmoinnille, sisäinen tuki käyttäjäistunnoille, joka hyödynsi evästeitä, sekä tukipalvelut
Javalle ja XML:lle.
Viimeisin PHP:n versio on järjestysnumeroltaan viides. PHP5 julkaistiin heinäkuussa
2004. PHP4:n saavuttaessa vahvan markkina-aseman kattavien ominaisuuksiensa ja
ilmaisuutensa sekä valtavan kehitysyhteisönsä ansiosta, tuli PHP5:n mukana tärkeitä
oliopohjaisen ohjelmoinnin ominaisuuksia, joita on kehitetty entisestään.
Viidennen version myötä PHP:ta voidaan pitää oikeana ohjelmointikielenä. PHP sisältää kaikki ohjelmointikielelle tyypilliset rakenteet ja ominaisuudet, kuten esimerkiksi iflausekkeet sekä funktiot ja muuttujat. PHP tukee oliopohjaista ohjelmointia, johon esimerkiksi Java-ohjelmointikieli vahvasti perustuu. Tämän ansiosta ohjelmat ja sovellukset voidaan kirjoittaa luokkina perinteisten funktioiden sijaan.
PHP:n erilaisten ohjelmakirjastojen avulla sitä voidaan laajentaa monipuolisesti. PHPkielen merkkaukset kirjoitetaan suoraan HTML-koodin sekaan. PHP-merkitseminen
alkaa aina <?php-merkinnällä ja loppuu ?>-merkintään. PHP:tä kutsutaan tulkattavaksi
kieleksi, eli HTML-dokumenttiin kirjoitettu PHP-koodi suoritetaan joka kerta, kun selain pyytää dokumenttia palvelimelta. PHP-koodi suoritetaan aina palvelimella juuri
ennen selaimelle lähettämistä, joten sivuilla vierailijat ja sovelluksen käyttäjät eivät näe
PHP-koodia. (PHP.net 2014)
4.2
MySQL
MySQL on maailman johtava tietokantajärjestelmä joka perustuu avoimeen lähdekoodiin. MySQL on relaatiotietokanta, jossa tieto tallennetaan eri taulujen yksittäisiksi riveiksi. MySQL:n käyttämä kieli on SQL (Structured Query Language), jonka avulla
voidaan hakea tietoa ja lisätä tai päivittää sekä poistaa sitä tietokannasta. (Davis & Phillips 2007: 6)
23
MySQL:ää kehittää ruotsalainen yritys MySQL AB, jonka Sun Microsystems osti 16.
tammikuuta 2008. Monista kaupallisista tietokantajärjestelmistä poiketen MySQL:n
hallinnointi tapahtuu tekstipohjaisen asiakasohjelman avulla tai suoraan komentoriviltä.
(Davis & Phillips 2007: 6–7) Valmistajan sivulta on mahdollista ladata käyttöön graafiset MySQL Administrator ja MySQL Query Browser, sekä useiden käyttäjien suosima
phpMyAdmin, joilla tietokantojen käsittely ja muokkaus on usealle peruskäyttäjälle
huomattavasti selkeämpää. Aikaisempina vuosina MySQL:ää on vierastettu varsinkin
ammattilaispiireissä sen puutteiden takia, mutta nykyään MySQL on ottanut eroa kiinni
ja puutteet ovat vähentyneet. Puutteita oli esimerkiksi aitojen vierasavaimien ja transaktioiden vajaavaisuus.
MySQL-tietokannan rakensi vuonna 1995 suomalaissyntyinen Michael Widenius yhdessä ruotsalaisen David Axmarkin kanssa. MySQL:n ensimmäinen versio julkaistiin
1996 ja tällä hetkellä uusin MySQL-versio on 5.0. MySQL-ohjelman nimi tulee toisen
tekijän My-tyttären nimestä. (Davis & Phillips 2007: 6)
4.3
XHTML ja CSS
HTML (HyperText Markup Language) on WWW-sivujen julkaisukieli, jonka alun perin Tim Berners-Lee kehitti 1990-luvun alkupuolella tutkijoita varten työskennellessään
ohjelmoinnin parissa Euroopan hiukkasfysiikan tutkimuslaitoksessa CERN:issä (Conseil Européen pour la Recherche Nucléaire) Sveitsissä. (Ukkola 2013) 1990-luvulla
World Wide Webin laajentuessa myös HTML kehittyi, koska suuri kasvu aiheutti tarpeita kyseiselle julkaisukielelle. Internetin kehitykselle oli ensiarvoisen tärkeää, että
kaikki sivustojen kehittäjät noudattivat yhteisiä säädöksiä. (W3C 2014)
HTML 2.0 kehitettiin vuonna 1994 ja se määriteltiin standardiksi IETF:n (Internet Engineering Task Force) toimesta 1995 vuoden lopulla. Kyseisenä vuonna WWW:n kiihtyvä kehitys toi mukanaan myös HTML 3.0:n, joka ei uusista ominaisuuksistaan huolimatta saavuttanut standardin asemaa. W3C:n (WorldWide Web Consortium) HTMLtyöryhmä julkaisi lopulta HTML 3.2-version tammikuussa 1997. Suurin osa WWWkehittäjistä luottaa W3C:n suosituksiin. (W3C 2014)
24
1990-luvun loppupuolella ja 2000-luvun alussa suosituimmat Internet-selaimet olivat
Internet Explorer ja Netscape, jotka ajautuivat tahtomattaan selainsotaan. Molempiin
selaimiin kehitettiin erillään uusia ominaisuuksia, joka haittasi useita kehittäjiä, koska
näitä ei ollut standardoitu W3C:n taholta. Ei ollut lainkaan epätavallista, että WWWkehittäjä saattoi tuohon aikaan joutua tekemään samasta sivustosta useampia versioita
eri selaimille varmistaakseen toimivuuden joka tilanteessa. Tämä oli luonnollisesti pelottava suunta WWW-kehityksen kannalta, koska aina oli pyritty yhtenäiseen ja standardoituun julkaisukieleen. Tästä johtuen World Wide Web Consortium päätti lopettaa
selainsodan ja yhtenäistää käytännöt yhteen suositukseen. XHTML on HTML:n tapainen kuvauskieli ja se on ollut W3C:n käyttämä suositus tammikuusta 2000 alkaen.
XHTML perustuu XML:ään ja on siksi HTML:ää tarkempi määrittelyissään. Molemmat
kielet perustuvat tageihin, jotka määritellään <- ja >-merkeillä. Tagien oikeaoppinen
käyttö on XML-kielessä huomattavasti tarkemmin määritelty kuin HTML:ssä. (Davis &
Phillips 2007: 250–252)
Monesti WWW-sivuja ei katsota vain perinteisellä tietokoneella, vaan esimerkiksi erilaisilla mobiilipäätelaitteilla, kuten matkapuhelimilla sekä tableteilla, jotka kasvattavat
suosiotaan WWW-käytössä langattomien verkkojen nopeuden kasvun myötä. On oletettavaa, että nopeampien ja luotettavimpien langattomien verkkojen myötä verkkosivujen
katselu mobiililaitteilla tulee kasvamaan räjähdysmäisesti. Tiukempi standardi helpottaa
näiden laitteiden ohjelmistokehitystä, koska laitteiden eri selaimet tukevat sivustoa ja se
näkyy eri selaimilla juuri sellaisena kuin tekijä on sen halunnutkin alun perin näkyvän.
Lähdekoodia tarkastelemalla XHTML-dokumentin tunnistaa välittömästi tiedoston
alussa sijaitsevasta XML-deklaraatiosta, joka kertoo lukijalle siinä käytetyn version ja
mahdollisesti merkistökoodauksen. Xmlns-atribuutti on lisätty uutena ominaisuutena
myös <html>-elementtiin, joka viittaa käytettyyn XML-nimiavaruuteen. Suurimmat erot
perinteisen HTML-kielen välillä on muun muassa pienellä kirjoitetut tagit sekä aloitettujen elementtien pakollinen sulkeminen. Esimerkiksi <div>-tagi vaatii aina lopetuksekseen </div>-tagin. HTML:ssä aikoinaan käytetty <br>-tagi suljetaan nykyään kirjoittamalla se muotoon <br />. (Davis & Phillips 2007: 252)
XML-deklaraatiota seuraa dokumentin tyyppimäärittely (DTD, Document Type Definition), joka kertoo selaimelle dokumentin rakenteen ja mitä tageja se voi sisältää. Selain
useimmissa tapauksissa osaa esittää dokumentin oikein ilman tyyppimäärittelyä, mutta
25
tällöin dokumentti ei ole enää standardin mukainen. <html>-elementti ilmoittaa selaimelle, koska varsinainen html-osuus alkaa dokumentissa ja vastaavasti </html>elementti kertoo sen päättymisestä. Ennen käyttäjälle näkyvää sisältöä on dokumentissa
<head>-tagi, jonka sisällä määritellään sivun otsikko ja linkit mahdollisiin tyylitiedostoihin sekä JavaScript-tiedostoihin. Metatietoa on mahdollistaa sisällyttää <head>tagien väliin esimerkiksi hakukoneita varten.
WWW-sivun osa, joka näkyy selaimessa käyttäjälle, kirjoitetaan <body>-tagien väliin.
XHTML sisältää monia erilaisia elementtejä ja tageja, joita käytetään esittämään haluttuja asioita riippuen siitä, mitä halutaan esittää. Tekstikappaleiden muotoiluun käytettäviä tageja ovat esimerkiksi:
• <p> - muotoiltu kappale
• <h1> - <h6> - eri tavalla määritellyt otsikot
• <blockquote> - tekstilainaus
• <ul> ja <ol> - numeroimaton ja numeroitu lista.
Varsinaiseen tekstin muotoiluun voidaan käyttää esimerkiksi <b>- tai <i>-tageja lihavoimaan tai kursivoimaan tekstiä. Muita yleisimmin käytettyjä tageja XHTML:ssä ovat
W3Schoolsin (2014c) mukaan esimerkiksi:
• <table> - esittää tiedon taulukkomuodossa
• <form> - lomake
• <img> - esittää kuvan
• <a> - linkki tai url.
Suositeltu toimintatapa WWW-sivuja rakennettaessa on erottaa sisältö ja ulkoasu toisistaan. Yksinkertaisesti tämä tarkoittaa sitä, että varsinaiseen HTML-dokumenttiin kirjoitetaan vain sivun rakenne ja sisältö niitä parhaiten kuvaavilla elementeillä, jotka kutsutaan oikeille paikoilleen. Tätä tapaa on hyödynnetty monissa dynaamisissa WWWsivustoissa. Selaimen tuottama lopputulos, joka näytetään käyttäjälle, toteutetaan CSStyylitiedoston avulla. Tällä tavoin toimimalla esimerkiksi sivuston taustakuvan muuttaminen onnistuu vain yhdellä muutoksella CSS-tyylitiedostoon. Näin vältetään työläs
jokaisen HTML-dokumentin erikseen muokkaaminen. Myös HTML-koodi pysyy selkeämpänä, kun kaikki tarvittavat tyylimäärittelyt kutsutaan erillisestä tiedostosta. (W3C
2014)
26
CSS-tyylin sääntö muodostuu kahdesta osasta, valitsimesta ja määrittelyosasta. CSS:llä
voidaan määrittää ominaisuuksia kaikille tietyn tyyppisille elementeille ja tageille yhtä
aikaa tai yksilöidä eri elementille id- tai class-attribuutteja hyödyntäen. Attribuutti id
yksilöi elementin ja sille määriteltävä tyyli esiintyy vain kyseisen id:n omaavassa
HTML-elementissä, kun taas class-attribuuttia voidaan käyttää useammissa toistuvissa
elementeissä. (W3Schools 2014a)
27
5
POHDINTA
Sivusto on ollut käytössä opinnäytetyön aloittamisen jälkeen jo hetken aikaa ja sitä on
kehitetty myös runsaasti. Asiakkaan palautteen perusteella sisällönhallintajärjestelmään
on luotu uusia ominaisuuksia ja laajennuksia. Asiakas pystyy nyt myös lisäämään uusia
sivuja helposti sekä myös uusia tuotteita tai artikkeleita sivulleen haluamalleen paikalle.
Tässä on muistettu säilyttää helppokäyttöisyys sekä virhemahdollisuuksien minimoiminen. Järjestelmän tuottamaa HTML-koodia on optimoitu ja tehty sopivammaksi eri selain-versioille, jotta näkymä olisi sama kaikille käyttäjille. Iso osa toteutusosan työajasta
meni testaamiseen sekä käyttäjälle helpoimman ratkaisun löytämiseen.
Järjestelmää käyttää tällä hetkellä viisi eri pienyritystä ja kehityksen myötä omat ylläpitotehtäväni ovat vähentyneet huomattavasti. Alun perin tarkoituksena oli tehdä asiakkaalle helppokäyttöinen järjestelmä, jolla he pystyvät ylläpitämään itsenäisesti WWWsivustoa, eikä minun apuani siinä enää tarvita sivuston perustamisen jälkeen. Jatkokehitystä on tiedossa vielä kuvagallerioiden monipuolisempaan hallintaan sekä erityyppisten
valikoiden ja navigaatiomahdollisuuksien luomiseen sivustolle. Olen luonut myös lisäosia omaan järjestelmään, joita asiakkaat voivat hyödyntää ja helposti lisätä verkkosivuilleen. Joomla ja Wordpress hyödyntävät lisäosia sekä laajennuksia, joten jatkossa on tarkoitus myös tutkia mahdollisuutta hyödyntää, niitä omalla sivustollani.
Onnistuin työssä saavuttamaan asetetut tavoitteet, koska sisällönhallintajärjestelmä on
osoittautunut helppokäyttöiseksi, mutta silti monipuoliseksi ominaisuuksiltaan. Järjestelmä on kattava ratkaisu pienyrityksille, jota kaipaavat heidän tarpeensa huomioon ottaen rakennettua sisällönhallintajärjestelmää. Paras palaute, jonka olen tehdystä työstä
saanut, on se että asiakkaan ei ole tarvinnut olla yhteydessä WWW-ammattilaiseen sivujen päivityksessä ja muokkaamisessa.
28
LÄHTEET
Boiko, B. 2005. Content Managment Bible, 2nd Edition. Indianapolis, IN: Wiley Publishing, Inc.
Davis, M., Phillips, J. 2007. Learning PHP and MySQL, 2nd Edition. Sebastopol, CA:
O’Reilly Media, Inc.
Joomla 2014a. Luettu 21.2.2014.
http://www.joomla.org/
Joomla 2014b. Luettu 3.3.2014.
http://www.joomla.fi/
PHP.net 2014. Luettu 18.2.2014.
http://www.php.net/manual/en/history.php.php
Samela, J. 2002. Verkkosisällön hallinta. Helsinki: Edita Prima Oy.
Ukkola, J. 2013. Tim Berners-Lee: Kaaoksen järjestelijä. Suomen kuvalehti. Luettu
4.12.2014.
http://suomenkuvalehti.fi/jutut/tiede/tim-berners-lee-kaaoksen-jarjestelija/
W3C 2014. Luettu 15.2.2014.
http://www.w3.org/MarkUp/
W3Schools 2014a. Luettu 13.1.2014.
http://www.w3schools.com/css/css_intro.asp
W3Schools 2014b. Luettu 13.1.2014.
http://www.w3schools.com/php/php_intro.asp
W3Schools 2014c. Luettu 15.1.2014.
http://www.w3schools.com/html/html_intro.asp
WMhost 2014. Luettu 16.11.2013.
http://www.wmhost.com/asiakkaille/ohjeet/webhotelli/htaccessin-luonti
WordPress 2014.
Luettu 2.3.2014. http://fi.wordpress.com/
Fly UP