2. Kuka Joonas?
• Tutustuin Drupaliin vajaat kaksi vuotta sitten hypermedian
projektityön merkeissä
• Projektityöstä tuli päivätyö → tutkimusapulaiseksi
Hypermedialabraan
• Drupal ollut käytössä jokaisessa projektissa (10+)
• Olen opiskellut useita ohjelmointikieliä, mutta en ole rutinoitunut
minkään kielen osaajaksi → PHP-osaaminen on parantunut vasta
Drupalin moduuleja tutkiessa ja muokattaessa
• Drupal kehityksessä monialaisuus on plussaa; yksi kehittäjä voi
vastata kaikesta (tietomalli, toiminnallisuus, käyttöliittymä, ulkoasu...)
• Tällä hetkellä teen diplomityötä otsikolla “Streamlining creation of
social networking services”
4. Drupal 1.0.0 released
on January 15, 2001
“Today, drop.org announces the release of Drupal 1.00 after an
extensive period of testing. Drupal is a full-featured content
management/discussion engine using Apache/PHP/MySQL and
suitable to setup a news-driven community or portal site similar to
kuro5hin.org and slashdot.org. Current features include discussion
forums, web-based administration, theme support, an open
submission queue, content management, a modularized design, PHP
sessions, user management with access control and
username/profanity/hostname filters, error logging, a public diary
module, an affiliate site module, backend/headline generation
(RSS/RDF) and much more.”
5. Historiaa
• Alkoi 2001
• Dries Buytaert
• Antwerp, Belgia
• Dorpje (“pieni kylä”) → Drop →
Druppel → Drupal
6.
7. Yhteisö
• drupal.org ja groups.drupal.org
– ~300 000 käyttäjää
– ~2000 moduulia
– Lähes miljoona kommenttia
pingv.com/files/images/drupal-community.png
8. Onko Drupal oikea valinta?
Ei aina:
• Blogeja varten Wordpress toimii mainiosti
• Wikejä voi luoda vaikka MediaWikillä
• Joomlalla onnistuu yksinkertaisen sivuston luominen helposti
Mutta:
• Kun valmis ratkaisu ei miellytä, Drupalia voi laajentaa melkein
rajattomasti
• Erilaiset sisältötyypit, listaukset ja näkymät onnistuu helposti
• Valmiita ratkaisuita eri tarpeisiin löytyy valmiina moduuleina
10. Keskeisimmät termit
• Module (moduuli)
– Toimivat ytimen kanssa laajentaen
sen toimintaa PHP-koodilla
– Ytimen moduulit, muiden moduulit,
omat moduulit
– Kaksi pakollista tiedostoa, .info ja
.module
11. Keskeisimmät termit
• User, permission, role (käyttäjä, oikeus, rooli)
– Jokaisella käyttäjällä on ID: Vierailijoilla
ID=0, admin=1 ja muilla >1
– Käyttäjille voidaan antaa oikeuksia roolien
avulla
– Moduulit voivat määritellä omia oikeuksia
annettavaksi
12. Keskeisimmät termit
• Node (“solmu”)
– Jokainen sivuston sisältökappale on solmu
– Solmuille on määritetty sisältötyyppi (sivu,
uutinen, blogimerkintä jne.)
• Comment (kommentti)
– Liittyy aina johonkin solmuun
13. Keskeisimmät termit
• Taxonomy (taksonomia, luokittelu)
– Koostuu sanastoista, jotka sisältävät
termejä
– Sanastot liitetään sisältötyyppeihin
– Sanastot voivat olla (rakenteellisia)
listoja tai vapaita sanastoja (=tagit)
14. Ytimen sisältötyypit
• Page (sivu)
– Staattinen perussivu, joka yleensä
sijoitetaan johonkin valikkoon
• Story (juttu)
– Kuten sivu, mutta ei yleensä sijoiteta
valikkoon vaan listataan blogimaiseen
tyyliin esim. Etusivulla (“River of news”) ja
sitä voi kommentoida
• Blog Entry (blogimerkintä)
– Kuten juttu, mutta liittyy erityisesti tiettyyn
käyttäjään
• Book Page (kirjan sivu)
– Kirjat koostuvat kirjan sivuista ja niillä on
hierarkia sekä mahdollisesti versiohistoria.
15. Ytimen sisältötyypit
• Forum (foorumi)
– Sisältää aiheita (topic) ja niihin liittyviä
kommentteja. Aiheet järjestetään
keskustelualueiksi sanastojen (taxonomy) avulla.
• Poll (kysely)
– Käyttäjät voivat vastata kyselyihin ja nähdä
muiden vastaukset
• Comment (kommentti)
– Voi liittyä lähes mihin tahansa sisältötyyppiin
16. Teknologia
Vaatimukset:
• Palvelin: Apache (suositus) tai Miscrosoft IIS (versiot 5-7)
• PHP: Versio 4.3.5 tai uudempi, suositus 5.2.x (Drupal7 vaatimus)
• Tietokanta: MySQL 4.1 tai 5.0 (suositus) tai PostgreSQL 7.4 →
Selaintuki:
• Internet Explorer 6.x ja uudemmat
• Firefox 2.x ja uudemmat
• Opera 7 ja uudemmat
• Safari 1.x ja uudemmat (+Chrome)
• Camino 1.x ja uudemmat
http://www.nurweb.biz/wp-content/uploads/2009/06/browsers-icons.jpg
18. Mitä moduulit ovat?
• Ydin tarjoaa vain
perustoiminnallisuuden ja hyvät
“palvelut” moduulien käyttöön
(api.drupal.org)
• Moduulit laajentavat ytimen
ominaisuuksia tai toteuttavat
täysin uuden toiminnallisuuden
• Toimivat vain tietyssä ytimen
versiossa (Drupal6 vaatii 6.x-
version moduulin)
• Saattavat käyttää muita
moduuleja toimintaansa
(riippuvaisuudet) http://technbiz.blogspot.com/2009_06_01_archive.html
19. “Moduulia mä metsästän...”
Moduulien etsimiseen on useita tapoja
• Lukemalla moduulien ohjeita
http://drupal.org/handbook/config/contribmodules saa käsityksen
niiden toiminnasta
• Selaamalla moduulien sivuja http://drupal.org/project/modules
• Googlella (esim. “drupal podcast module”)
20. Yleisimmät moduulit
• Administration menu
– Helpottaa ylläpitäjän elämää
• CCK (Content Construction Kit)
– Uusia kenttiä olemassaoleviin sisältötyyppeihin
• Pathauto
– Automaattiset polut sääntöjen ja “tokenien” avulla (esim.
www.lehti.fi/blogit/joonas/2009/08
• Views
– Erilaisia listauksia
• Panels
– Omien näkymien määrittely
23. Asentaminen
1. Lataa oikea versio moduulista
2. Pura paketti
3. Lue ohjeet (varsinkin
riippuvaisuudet)
4. Kopioi palvelimelle oikeaan
kansioon (esim. sites/all/modules)
5. Kytke moduuli päälle Drupalin
valikosta
6. Säädä moduulin asetukset ja
oikeudet
7. Testaa toiminta
gadgetmaniac.mail2web.com/2006/07/ikea-buster/
24. CCK (Content Construction Kit)
• Mahdollistaa uusien kenttien luomisen sisältötyyppiin
• Laajennettavissa alimoduuleilla (email, link, number jne.)
33. Panels – ominaisuuksia
• Valmiita oletusnäkymiä
• Voi luoda kokonaan uusia “paneeleita”, joihin voi sijoittaa
haluamaansa sisältöä (esim. Lohkoja)
• Viewsin avulla voi listata haluamansa sisällön ja panelsilla sen voi
esittää haluamallaan tavalla
38. Yhteenveto
• Drupal tarjoaa
monipuolisen
ytimen, jota
yleensä joutuu
laajentamaan
moduulien avulla
vastaamaan
tarpeita
http://developmentseed.org
39. Yhteenveto
• Ohjelmointia ei
tarvitse osata
yleisesti ottaen
moduulien
käyttämiseen,
mutta moduulien
ohjeisiin
tutustuminen on
pakollista
• HTML/CSS/PHP-
taidot ovat http://developmentseed.org
hyödyksi, jos
haluaa luoda
räätälöidyn
kokonaisuuden
40. Yhteenveto
• Uuden sivuston rakentaminen vaatii määrittelyä,
suunnittelua ja toteutustyötä, Drupal ei tarjoa valmista
ratkaisua oikeastaan minkäänlaiseen sivustoon
http://developmentseed.org