Upload
joonas-merilaeinen
View
2.711
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
Vierailuluento:Lyhyt johdatus Drupaliin
Joonas Meriläinen([email protected])
TutkimusapulainenHypermedialaboratorio
Tampereen Teknillinen Yliopisto
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”
Taustaa ja historiaa
Drupal 1.0.0 releasedon 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.”
Historiaa• Alkoi 2001• Dries Buytaert• Antwerp, Belgia• Dorpje (“pieni kylä”) → Drop →
Druppel → Drupal
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
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
Toiminta5) Ulkoasu
4) Käyttöoikeudet
3) Lohkot ja valikot
2) Moduulit (ja ydin)
1) Data (tietokannassa)
http://drupal.org/getting-started/before/overview
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
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
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
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)
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.
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
TeknologiaVaatimukset:• 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
Drupal ja moduulitValitseminen, asentaminen, asetukset...
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
“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”)
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
Administration menu
http://drupal.org/node/523640
Administration menu
Asentaminen1. Lataa oikea versio moduulista2. Pura paketti3. Lue ohjeet (varsinkin
riippuvaisuudet)4. Kopioi palvelimelle oikeaan
kansioon (esim. sites/all/modules)5. Kytke moduuli päälle Drupalin
valikosta6. Säädä moduulin asetukset ja
oikeudet7. Testaa toiminta
gadgetmaniac.mail2web.com/2006/07/ikea-buster/
CCK (Content Construction Kit)• Mahdollistaa uusien kenttien luomisen sisältötyyppiin• Laajennettavissa alimoduuleilla (email, link, number jne.)
Views• Tarjoaa käyttöliittymän erilaisten (tietokanta)näkymien luomiseen ja
muokkaamiseen
Useita eri näyttöjä
Oletusasetuksia ja näyttökohtaisia asetuksia
Sisällön rajaaminen
Mitä halutaan näyttää?
Tulosjoukon laajentaminen
Sisällön järjestäminen
Panels• Mahdollistavat monipuolisten näkymien rakentamisen
http://drupal.org/project/panels
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
Asettelun voi valita valmiista vaihoehdoista...
… tai luoda kokonaan uuden (flexible)
Jonka jälkeen sisällön voi sijoittaa haluamaansa alueeseen
Jonka jälkeen sisällön voi sijoittaa haluamaansa alueeseen
Yhteenveto• Drupal tarjoaa
monipuolisen ytimen, jota yleensä joutuu laajentamaan moduulien avulla vastaamaan tarpeita
http://developmentseed.org
Yhteenveto• Ohjelmointia ei
tarvitse osata yleisesti ottaen moduulien käyttämiseen, mutta moduulien ohjeisiin tutustuminen on pakollista
• HTML/CSS/PHP-taidot ovat hyödyksi, jos haluaa luoda räätälöidyn kokonaisuuden
http://developmentseed.org
Yhteenveto• Uuden sivuston rakentaminen vaatii määrittelyä,
suunnittelua ja toteutustyötä, Drupal ei tarjoa valmista ratkaisua oikeastaan minkäänlaiseen sivustoon
http://developmentseed.org