2. Cevora
Opnemen van aanwezigheden + uitdelen van lesmateriaal (syllabus, bijlagen, …)
Informatiefiche in syllabus
Introductiefilm:
http://www.cevora.be/nl/bedrijven/ons-beter-leren-kennen/wie-zijn-wij/
Op het einde van de opleiding ontvangt iedere deelnemer een getuigschrift (80%
aanwezigheid vereist!)
GSM = op stil of volledig uitgeschakeld.
Indien dringend telefoontje ga in stilte naar buiten.
Opleidingsdagen:
13/02/2012, 20/02/2012, 27/02/2012 telkens van 9u tot 16u30.
Pauzemomenten:
Voormiddag: +/- 10u45-11u.
Middag: 12u30 – 13u.
Namiddag: +/- 14u45-15u.
Plaats naamkaartje
Cevora opleiding Drupal 7.x - David Hosse 2 Februari 2012
3. Overzicht
Inleiding
Installatie
Een eerste kennismaking met Drupal 7.x
Architectuur
Gebruikersbeheer
Werken met velden
Extra modules
Themes
Dagelijks beheer
Cevora opleiding Drupal 7.x - David Hosse 3 Februari 2012
4. Overzicht
Inleiding
Installatie
Een eerste kennismaking met Drupal 7.x
Architectuur
Gebruikersbeheer
Werken met velden
Extra modules
Themes
Dagelijks beheer
Cevora opleiding Drupal 7.x - David Hosse 4 Februari 2012
5. Inleiding
1. Content Management Systems
2. Drupal
Cevora opleiding Drupal 7.x - David Hosse 5 Februari 2012
6. Inleiding
1. Content Management Systems (1)
Drupal, Wordpress, Joomla, …
Definitie (Wikipedia):
“Een software toepassing, meestal een web-applicatie, die het mogelijk
maakt dat mensen eenvoudig, zonder al te veel technische kennis,
documenten en gegevens op internet kunnen publiceren.”
CMS = opvolger statische websites (HTML, CSS, Javascript)
Aanpassen van statische websites vergt kennis van HTML, CSS en
Javascript.
CMS genereert zelf de nodige HTML-, CSS- en Javascript-code via een
gebruiksvriendelijke interface om inhoud aan te passen.
Cevora opleiding Drupal 7.x - David Hosse 6 Februari 2012
7. Inleiding
1. Content Management Systems (2)
Drupal gaat nog stapje verder:
= Content Management Framework
CMS geeft inhoud in bepaalde vorm weer:
vb. blogging. Met een specifieke blog CMS kan je
geen kalender/agenda systeem opzetten.
CMF is flexibeler en kan gebruikt worden om CMS’en op te
bouwen.
vb. opzetten van blogging systeem en dit
uitbreiden met kalender/agenda functionaliteit.
CMS eenvoudiger in gebruik dan CMF
Cevora opleiding Drupal 7.x - David Hosse 7 Februari 2012
8. Inleiding
1. Content Management Systems (3)
Verschil CMS en CMF aan de hand van soorten gebruikers:
Content lezers:
Surfers die kennis hebben van links.
Content schrijvers:
Gebruikers die kennis moeten hebben om het CMS te gebruiken om
nieuwe content toe te voegen en bestaande content te wijzigen of te
verwijderen.
Site beheerders:
Moeten kennis hebben om:
andere gebruikers toegang te geven tot de website.
dagdagelijkse problemen op te lossen.
backups te nemen en data te restoren.
voorgedefinieerde functionaliteit toe te voegen (cfr. Drupal modules)
Cevora opleiding Drupal 7.x - David Hosse 8 Februari 2012
9. Inleiding
1. Content Management Systems (4)
Verschil CMS en CMF aan de hand van soorten gebruikers:
Site ontwikkelaars:
Programmeerervaring voor deze gebruikers is noodzakelijk!
Goede kennis van HTML, CSS, Javascript.
Kennis om met een CMF een CMS op te zetten en eventueel
functionaliteit toe te voegen.
Deze opleiding concentreert zich vooral op
gebruikerstypes 2 en 3, nl. “Content schrijvers” en “Site
beheerders”.
Cevora opleiding Drupal 7.x - David Hosse 9 Februari 2012
10. Inleiding
2. Drupal (1)
Ontwikkeld door Dries Buytaert (° 19 november 1978 te Wilrijk –
Stichter/eigenaar Acquia), versie 1.0 uitgebracht op 15 januari 2001.
Oorspronkelijk een news site voor beperkt aantal personen
(Universitaire Instelling Antwerpen).
Typfout door Dries bij het controleren van de domeinnaam dorp.org
drop.org (versie van website in 2000).
Software van deze website werd open source en ter beschikking gesteld
van anderen.
De naam werd vertaald naar het Engelse woord voor “Druppel”
Drupal (www.drupal.org).
Drupal is gebaseerd op PHP en MySQL (= populaire combinatie voor
webontwikkeling).
Cevora opleiding Drupal 7.x - David Hosse 10 Februari 2012
11. Inleiding
2. Drupal (2)
Drupal vooral populair omwille van:
modulaire opbouw
ontwikkelaars van modules kunnen via hooksysteem ingrijpen in de
verwerking van een pagina.
1000den modules beschikbaar voor allerhande doeleinden.
Huidige versies:
Drupal 6.x: 6.24
Drupal 7.x: 7.12
Versie in ontwikkeling: Drupal 8
In deze opleiding: Drupal 7.x met verwijzingen naar Drupal 6.x
(veel websites gebruiken deze versie nog).
Cevora opleiding Drupal 7.x - David Hosse 11 Februari 2012
12. Inleiding
2. Drupal (3)
Enkele bekende websites gemaakt met Drupal:
www.telenet.be
www.ubuntu.com
www.nasa.gov
www.whitehouse.gov
www.erasmushogeschool.be
Nog meer voorbeelden te bekijken via
www.drupalshowcase.com
Cevora opleiding Drupal 7.x - David Hosse 12 Februari 2012
13. Overzicht
Inleiding
Installatie
Een eerste kennismaking met Drupal 7.x
Architectuur
Gebruikersbeheer
Werken met velden
Extra modules
Themes
Dagelijks beheer
Cevora opleiding Drupal 7.x - David Hosse 13 Februari 2012
14. Installatie
1. Inleiding
2. Installatie en configuratie van XAMPP
3. Installatie en configuratie van WampServer
4. Installatie van Drupal 6.x
5. Installatie van Drupal 7.x
Cevora opleiding Drupal 7.x - David Hosse 14 Februari 2012
15. Installatie
1. Inleiding
Drupal heeft 2 andere applicaties nodig:
een webserver (met PHP ondersteuning): Apache (Linux &
Windows) of IIS (Windows).
een databank: MySQL (bekendste en meest gebruikt),
PostgreSQL, Oracle, MS SQL Server, MariaDB of SQLLite (Drupal
6.x enkel MySQL en PostgreSQL).
Online: webhost (domeinnaam + webruimte met PHP en databank
ondersteuning) of eigen serverinfrastructuur.
Lokaal: XAMPP(Lite) (gebruikt in deze cursus) of WampServer
(éénvoudiger qua installatie, configuratie en gebruik) te installeren.
Minstens PHP 4.3.5 (Drupal 6.x), liefst één van de meest recente versies
van PHP PHP 5.2.x of hoger (Drupal 6.x en minimaal voor Drupal 7.x).
Cevora opleiding Drupal 7.x - David Hosse 15 Februari 2012
16. Installatie
2. Installatie en configuratie van XAMPP
Zie cursus hoofdstuk 2.2 p. 8 t.e.m. 12
Ter info:
X = Platformonafhankelijk:
kan zowel onder Windows, Linux als Mac OS X
geïnstalleerd en gebruikt worden
A = Apache
M = MySQL
P = PHP
P = Perl
Cevora opleiding Drupal 7.x - David Hosse 16 Februari 2012
17. Installatie
3. Installatie en configuratie van WampServer
Zie bijlage
“Installatie en configuratie van WampServer”
Ter info:
W = Windows
A = Apache
M = MySQL
P = PHP
Cevora opleiding Drupal 7.x - David Hosse 17 Februari 2012
18. Installatie
4. Installatie van Drupal 6.x
Zie cursus hoofdstuk 2.3 p. 13 t.e.m. 16 bovenaan.
Download Drupal 6.x via www.drupal.org
Opmerkingen:
Het definiëren van een alias om je Drupal-website bereikbaar te
maken, heeft enkel betrekking wanneer XAMPP(Lite) gebruikt wordt.
Bij WampServer dien je enkel een subfolder aan te maken binnen de
“www”-folder van de WampServer-installatie.
Vb. C:wampwww<naam van subfolder> (Windows explorer)
http://localhost/<naam van subfolder> (Browser)
Cevora opleiding Drupal 7.x - David Hosse 18 Februari 2012
19. Installatie
5. Installatie van Drupal 7.x
Zie cursus hoofdstuk 2.4 p. 16 t.e.m. 19.
Download Drupal 7.x via www.drupal.org
Opmerkingen (idem als bij Drupal 6.x):
Het definiëren van een alias om je Drupal-website bereikbaar te
maken, heeft enkel betrekking wanneer XAMPP(Lite) gebruikt wordt.
Bij WampServer dien je enkel een subfolder aan te maken binnen de
“www”-folder van de WampServer-installatie.
Vb. C:wampwww<naam van subfolder> (Windows explorer)
http://localhost/<naam van subfolder> (Browser)
Cevora opleiding Drupal 7.x - David Hosse 19 Februari 2012
20. Overzicht
Inleiding
Installatie
Een eerste kennismaking met Drupal 7.x
Architectuur
Gebruikersbeheer
Werken met velden
Extra modules
Themes
Dagelijks beheer
Cevora opleiding Drupal 7.x - David Hosse 20 Februari 2012
21. Een eerste kennismaking
met Drupal 7.x
1. De structuur van een pagina
2. Een basic page
3. Een gebruiker maken
4. Roles en gebruikersrechten
5. Module: Forum
6. Blocks
7. Menu’s
Cevora opleiding Drupal 7.x - David Hosse 21 Februari 2012
22. Een eerste kennismaking
met Drupal 7.x
1. De structuur van een pagina (1)
Na installatie, bij bezoek aan website:
Automatisch ingelogd als administrator (User 1 – zie later).
Deze gebruiker krijgt standaard het management menu te
zien (in Drupal 6.x nog te installeren via de module admin
menu).
Onder het management menu staat het short cut menu.
Standaard 2 menu-items aanwezig: “Add content” en “Find
content”
Via “Edit shortcuts” (in cursus staat “Edit content” = te
verbeteren) kunnen er shorcuts toegevoegd of gewijzigd
worden.
Cevora opleiding Drupal 7.x - David Hosse 22 Februari 2012
23. Een eerste kennismaking
met Drupal 7.x
1. De structuur van een pagina (2)
Na installatie, bij bezoek aan website:
Onder het short cut menu staat het user menu (My Account,
Logout).
Het main menu bevat standaard 1 item: “Home”. Wordt
meestal gebruikt om te navigeren door de grote onderdelen
van de website.
Laatste menu: het navigation menu:
Bevat het item “Add content”.
Als bezoeker (wanneer je niet ingelogd bent) zie je enkel het
main menu en het navigation menu.
Cevora opleiding Drupal 7.x - David Hosse 23 Februari 2012
24. Een eerste kennismaking
met Drupal 7.x
2. Een basic page (1)
Na installatie van Drupal 7.x zijn er 2 soorten content
beschikbaar:
Article:
Geschikt voor het posten van nieuwsartikelen, -berichten.
Standaard is de instelling om commentaar te plaatsen door
gebruikers, die hiervoor permissies hebben, geactiveerd.
Standaard op de front page weergegeven.
In Drupal 6.x heette dit een Story.
Cevora opleiding Drupal 7.x - David Hosse 24 Februari 2012
25. Een eerste kennismaking
met Drupal 7.x
2. Een basic page (2)
Basic page:
Geschikt voor statische content zoals bv. een “About us”-
pagina.
Geen tags voorzien.
Standaard niet weergegeven op de front page.
Standaard is het ook niet toegelaten commentaar te geven op
een basic page.
Aanmaken van een Basic page kan via “Add content” in het
short cut menu. De velden “Title” en “Body” moeten ingevuld
worden.
Cevora opleiding Drupal 7.x - David Hosse 25 Februari 2012
26. Een eerste kennismaking
met Drupal 7.x
2. Een basic page (3)
Basic page:
Bij “Menu settings” kan een menu item worden
aangemaakt zodat de pagina achteraf vlot bereikbaar is.
Het menu-item kan als hoofdmenu in het Main Menu of als een
submenu in een bestaand hoofdmenu toegevoegd worden.
Via “Weight” kan het gewicht van een menu-item aangegeven
worden: hoe lager het gewicht, hoe hoger in het menu.
Cevora opleiding Drupal 7.x - David Hosse 26 Februari 2012
27. Een eerste kennismaking
met Drupal 7.x
2. Een basic page (4)
Basic page:
Verder kunnen via de tabs aan de linkerzijde nog volgende
opties in gesteld worden:
Revision information: we kunnen verschillende versies van een
basic page bijhouden. Dit noemt men revisies. (Dit principe geldt ook
voor alle andere content (=nodes) in Drupal).
URL path settings: we kunnen een alias definiëren voor de url
waarmee de pagina bereikbaar zal zijn. De nieuwe node krijgt
standaard /node/<nodenummer> als url. Indien het de allereerste
node betreft is dit /node/1. Via een alias kunnen wie hier bv. /over-ons
van maken.
Comment settings: commentaar toegelaten of niet.
Cevora opleiding Drupal 7.x - David Hosse 27 Februari 2012
28. Een eerste kennismaking
met Drupal 7.x
2. Een basic page (5)
Basic page:
Authoring information: auteursinformatie, geeft aan
wie de node gemaakte heeft en wanneer die is
toegevoegd of gewijzigd.
Publishing options: de node gepubliceerd of niet?
Weergegeven op de front page of niet? Sticky of niet?
Indien Sticky dan blijft de node altijd bovenaan de lijst
staan.
Cevora opleiding Drupal 7.x - David Hosse 28 Februari 2012
29. Een eerste kennismaking
met Drupal 7.x
3. Een gebruiker maken
Zie cursus hoofdstuk 3.3 p. 22 – 24 bovenaan.
Na installatie van Drupal 7.x, slechts 1 gebruiker:
Administrator = user 1 = beheerder van de website die over
alle rechten beschikt.
Ook nog: Anonymous = user 0
= bezoeker
= gebruiker die niet ingelogd is
= anonieme gebruiker, zeer beperkt in
rechten
Cevora opleiding Drupal 7.x - David Hosse 29 Februari 2012
30. Een eerste kennismaking
met Drupal 7.x
4. Roles en gebruikersrechten
Zie cursus hoofdstuk 3.4 p. 24 t.e.m. 25 bovenaan
Roles = gebruikersgroepen
Cevora opleiding Drupal 7.x - David Hosse 30 Februari 2012
31. Een eerste kennismaking
met Drupal 7.x
5. Modules: Forum (1)
De grote kracht van Drupal:
Modulaire uitbreidbaarheid.
Drupal heeft standaard een aantal (systeem)modules.
Niet allemaal geactiveerd bij installatie.
Bijkomende modules te downloaden via
www.drupal.org/project/modules.
Eerste kennismaking: reeds beschikbare of bijkomende,
ingebouwde (systeem)module(s) activeren voor gebruik.
Via onderdeel “Modules” in het management menu.
Cevora opleiding Drupal 7.x - David Hosse 31 Februari 2012
32. Een eerste kennismaking
met Drupal 7.x
5. Modules: Forum (2)
In de modulelijst zie je per module ook welke andere modules
nodig zijn voor de betreffende module (required) en voor welke
andere modules de betreffende module nodig is (required by).
In Drupal 7.x kan je ook automatisch modules installeren,
mogelijks wordt hier naar een ftp-account gevraagd.
Drupal 7.x heeft standaard een aantal (systeem)modules die
altijd actief zijn na installatie, deze maken deel uit van de Drupal -
Core:
Field: nieuw in Drupal 7.x – API (Application Programmer Interface)
om extra informatie toe te voegen aan nodes , gebruikers, ...
Field SQL Storage: ook nieuw in Drupal 7.x – Field informatie opslaan
in een SQL databank.
Cevora opleiding Drupal 7.x - David Hosse 32 Februari 2012
33. Een eerste kennismaking
met Drupal 7.x
5. Modules: Forum (3)
Nodes: contentbeheer - Bijna alle content in Drupal is een
node. Een node kan alle vormen (content types) aannemen:
bv. een basic page, een article, een evenement, een
forum(bericht), enz …
Filter: filter voor gebruikersinvoer bv. Full HTML, Filtered
HTML of Plain text.
System: algemene site configuratie voor beheerders.
Text: tekstvelden definiëren.
User: gebruikersbeheer en loginsysteem.
Cevora opleiding Drupal 7.x - David Hosse 33 Februari 2012
34. Een eerste kennismaking
met Drupal 7.x
5. Modules: Forum (4)
Werken met velden is nieuw in Drupal 7.x. In Drupal 6.x
moest hiervoor bijkomend de CCK (Content Construction
Kit) module geïnstalleerd worden.
Voor de verdere kennismaking in dit deel van de cursus:
forum module activeren: zie cursus hoofdstuk 3.5 p. 25
t.e.m. 28 bovenaan.
Cevora opleiding Drupal 7.x - David Hosse 34 Februari 2012
35. Een eerste kennismaking
met Drupal 7.x
6. Blocks (1)
Modules definiëren soms ook blocks.
Blocks zijn aparte panelen die op een Drupal pagina gezet
kunnen worden binnen een specifieke region.
vb. forum module heeft 2 blocks:
“Active forum topics” en “New forum topics”
Een Drupal pagina is verdeeld in verschillende regions of
gebieden waarin blokken kunnen geplaatst worden.
Na de installatie staat de inhoud standaard in de region
“Content”.
Cevora opleiding Drupal 7.x - David Hosse 35 Februari 2012
36. Een eerste kennismaking
met Drupal 7.x
6. Blocks (2)
De region “First sidebar” (linkerkant van de website)
bevat standaard de blokken “Search Form”,
“Navigation” en “User Login”.
De administrator kan zelf ook blokken toevoegen,
deze bestaan op zichzelf los van de modules en
kunnen eender welke content hebben.
Zie cursus hoofdstuk 3.6 p. 28 t.e.m. 30 bovenaan.
Cevora opleiding Drupal 7.x - David Hosse 36 Februari 2012
37. Een eerste kennismaking
met Drupal 7.x
6. Blocks (3)
Via het configure menu van elke block kunnen we een
titel die de standaard titel (bepaald door de
implentatie in de module) overschrijft ingeven. Om
geen titel voor een bepaald block weer te geven vul
je <none> in dit veld in.
Cevora opleiding Drupal 7.x - David Hosse 37 Februari 2012
38. Een eerste kennismaking
met Drupal 7.x
7. Menu’s
Naast blocks installeert de forum module ook enkele menu-items.
Standaard terug te vinden in het navigation menu.
Gemakkelijk bepaalde functionaliteit of onderdelen van de website
oproepen.
Via het onderdeel “Structure” – “Menus” kunnen we menu’s
beheren, standaard aanwezig:
”Main menu”, “Management menu”, “Navigation menu”, “User menu”.
Voor elk menu: settings wijzigen, de lijst met items opvragen en
deze wijzigen - zelfs items onzichtbaar maken (≠ verwijderen).
Nieuwe menu’s kunnen toegevoegd worden.
Zie cursus hoofdstuk 3.7 p. 30 t.e.m. 31.
Cevora opleiding Drupal 7.x - David Hosse 38 Februari 2012
39. Overzicht
Inleiding
Installatie
Een eerste kennismaking
Architectuur
Gebruikersbeheer
Werken met velden
Extra modules
Themes
Dagelijks beheer
Cevora opleiding Drupal 7.x - David Hosse 39 Februari 2012
40. Architectuur
1. Overzicht
2. Entities en velden
3. Nodes
4. Taxonomy
5. Modules
6. Theming
Cevora opleiding Drupal 7.x - David Hosse 40 Februari 2012
41. Architectuur
1. Overzicht (1)
xHTML + CSS + JavaScript
Drupal theme system
Drupal add-on modules (views, …)
Drupal Drupal core modules (block, filter, node, system, user)
Drupal core subsystems
PHP Databank
(MySQL, PostgreSQL, …)
Web server (Apache, IIS, …)
Operating System (Windows, Linux, Mac OS, …)
Cevora opleiding Drupal 7.x - David Hosse 41 Februari 2012
42. Architectuur
1. Overzicht (2)
PHP:
Populairste programmeertaal voor webapplicaties.
PHP-versie bepaalt mee de mogelijkheden in Drupal.
Web server:
Nodig om PHP-applicaties aan te spreken via HTTP.
Apache (meest gebruikt) of Internet Information Server
(clean urls best met IIS 7.0 of hoger).
Clean urls of schone url’s:
Vb.:
http://localhost/drupal?q=contact http://localhost/drupal/contact
Cevora opleiding Drupal 7.x - David Hosse 42 Februari 2012
43. Architectuur
1. Overzicht (3)
Databank:
De content of informatie beheerd met Drupal wordt hierin
bewaard.
Drupal 6.x: enkel MySQL of Postgresql.
Vanaf Drupal 7.x: ook MariaDB, SQLLite, Oracle en MS SQL
Server.
xHTML + CSS + JavaScript = Output van Drupal
CSS of Cascading Style Sheets opmaak.
JavaScript dynamisch maken van websites.
vb: het uitklappen van menu’s.
Cevora opleiding Drupal 7.x - David Hosse 43 Februari 2012
44. Architectuur
1. Overzicht (4)
Drupal:
Modulair opgebouwd.
Bestaat uit verschillende onderdelen.
De basis = de Core subsystems = de “kernel” , verantwoordelijk voor:
Sessiebeheer van gebruikers
Authenticatie
Autorisatie of security filtering
Rendering van templates
De Core modules maken gebruik van de Core subsystems
Deze staan in de modulelijst:
http://localhost/drupal/admin/build/modules
Zijn verplicht en altijd actief, kunnen niet worden uitgeschakeld.
Cevora opleiding Drupal 7.x - David Hosse 44 Februari 2012
45. Architectuur
1. Overzicht (5)
De 7 Core modules:
Field: nieuw in Drupal 7.x – API (Application Programmer
Interface) om extra informatie toe te voegen aan nodes ,
gebruikers, ...
Field SQL Storage: ook nieuw in Drupal 7.x – Field
informatie opslaan in een SQL databank.
Filter: filter voor gebruikersinvoer bv. Full HTML, Filtered
HTML of Plain text. Ongewenste content zoals gevaarlijke
JavaScript- of PHP-code wordt weggefilterd.
Cevora opleiding Drupal 7.x - David Hosse 45 Februari 2012
46. Architectuur
1. Overzicht (6)
Nodes: Bijna alle content in Drupal is een node. Een node
kan alle vormen (content types) aannemen: bv. een basic
page, een article, enz …
Elke node heeft een uniek nummer en is bereikbaar via de
url node/<nodenummer>
(http://localhost/drupal/node/<nodenummer>). Een node
is een speciaal soort entity (vanaf Drupal 7.x is alle basis
content = entity).
System: algemene siteconfiguratie voor beheerders.
Text: tekstvelden definiëren.
User: gebruikersbeheer en loginsysteem.
Cevora opleiding Drupal 7.x - David Hosse 46 Februari 2012
47. Architectuur
1. Overzicht (7)
7 Core modules ≠ interessante website.
Modules zelf schrijven.
Optionele modules (≠ 7 Core modules en standaard niet
geactiveerd) in Drupal-installatie activeren voor gebruik.
Zie lijst met optionele modules in cursus hoofdstuk
4.1 p.33 t.e.m. p.35 bovenaan.
Extra modules (van derden) installeren.
Cevora opleiding Drupal 7.x - David Hosse 47 Februari 2012
48. Architectuur
1. Overzicht (8)
Theme-system:
“Theming” = de beschrijving van het proces waarmee
inhoud wordt getoond volgens een bepaalde opmaak.
De opmaak bepaalt:
bepaalde structuur die een pagina krijgt.
welke regions er aanwezig zijn.
welke kleuren er worden gebruikt.
Cevora opleiding Drupal 7.x - David Hosse 48 Februari 2012
49. Architectuur
2. Entities en velden (1)
Een entity = nieuw begrip in Drupal 7.x.
Een goede definitie is mogelijk te geven, een werkbare definitie zou
kunnen zijn:
“De dingen die we in Drupal willen gebruiken.”
Alle content in Drupal 7.x = entities.
Users, commentaar, nodes, …
Elke entity heeft een uniek id of nummer.
Optioneel kunnen entities velden bevatten.
Velden zijn eigenschappen die aan een entity kunnen toegekend worden.
Hieraan kunnen ook widgets gekoppeld zijn vb. een kalender waarmee je
een datum kan aanduiden voor een datumveld.
Cevora opleiding Drupal 7.x - David Hosse 49 Februari 2012
50. Architectuur
2. Entities en velden (2)
Entities zijn een manier om alle content in Drupal op
een gemeenschappelijke manier te behandelen.
Vóór Drupal 7.x had je aan de ene kant nodes en aan de
andere kant alle andere content (user, commentaar, …).
Cevora opleiding Drupal 7.x - David Hosse 50 Februari 2012
51. Architectuur
3. Nodes (1)
Meeste content in Drupal wordt weergegeven onder de vorm van
een node. 2 grote uitzonderingen: commentaar en user-informatie.
Elke node bevat de volgende onderdelen:
Een node id: uniek nummer.
Een version id: wanneer revisions voor nodes actief zijn kunnen we
verschillende versies per node bijhouden. Bij elke wijziging van de node
wordt een nieuwe versie aangemaakt. Iedere versie krijgt een uniek
nummer of version id. Dit laat toe om terug te keren naar een vorige
versie.
Type: een node type (of content type) laat toe om nodes te definiëren
die meer informatie kunnen bevatten dan de standaard nodes (zie later:
CCK-module ). In de core modules zijn 2 node of content types
gedefinieerd: page en story.
Cevora opleiding Drupal 7.x - David Hosse 51 Februari 2012
52. Architectuur
3. Nodes (2)
Taal: de taal waarin de node is gemaakt.
Titel: de titel van de node.
UserID: de id van de gebruiker die eigenaar is van de node. Standaard is
dit de gebruiker die de node aangemaakt heeft, is echter aanpasbaar.
Status: geeft aan of een node al dan niet gepubliceerd is. Het is mogelijk
om gewone gebruikers een draft van een node te laten opslaan, welke
door de administrator goedgekeurd kan worden en vervolgens
gepubliceerd wordt.
Created & changed: tijdstip waarop de node gecreëerd werd en het
laatst gewijzigd is.
Comment: geeft aan of commentaar toegelaten is. Voor page content is
dit niet het geval, voor story content standaard wel (is beheerbaar via
het beheer van content types).
Cevora opleiding Drupal 7.x - David Hosse 52 Februari 2012
53. Architectuur
3. Nodes (3)
Promote: geeft aan of de node op de startpagina van de Drupal
installatie moet getoond worden. Voor een page is dit weer niet het
geval, voor een story wel (ook weer beheerbaar). Let wel de startpagina
betreft hier de standaard startpagina van Drupal, niet een node dat als
startpagina ingesteld is door de administrator.
Sticky: geeft aan of de node bovenaan de lijst met nodes weergegeven
moet worden.
Vb. je kan een story met een belangrijk onderwerp dat voor langere
periode beschikbaar moet blijven als sticky instellen waardoor deze
steeds bovenaan de lijst blijft staan terwijl de gewone nodes onderin
mekaar blijven opvolgen volgens een bepaalde sorteer optie.
Vanaf Drupal 7.x is de body optioneel
Cevora opleiding Drupal 7.x - David Hosse 53 Februari 2012
54. Architectuur
4. Taxonomy (1)
Taxonomie = het maken en definiëren van categorieën en het
onderbrengen van informatie in deze categorieën.
Het definiëren van categorieën gebeurt aan de hand van het
maken van sleutelwoorden of keywords.
Bij het aanmaken van content kan een gebruiker deze content in
een bepaalde categorie onderbrengen.
Content kan daarnaast ook per categorie opgevraagd worden.
Forum module (zie hoofdstuk 3) maakt gebruik van het
taxonomie principe. Het forum wordt aan de hand van keywords
(categorieën) opgebouwd en posts kunnen in één of meerdere
categorieën gepubliceerd worden.
Cevora opleiding Drupal 7.x - David Hosse 54 Februari 2012
55. Architectuur
4. Taxonomy (2)
Alle berichten met hetzelfde keyword behoren tot hetzelfde forum.
Het oproepen van een bepaald forum = opvragen van alle berichten
met hetzelfde keyword.
Een aantal begrippen:
Term: een keyword dat we kunnen toekennen aan een node.
Synoniem: een ander woord voor een bepaalde term.
Vocabulary: een verzameling van termen of keywords.
Vb. een lijst met landen.
Een vocabulary kan aan één of meerdere content types gekoppeld
worden.
Een vocabulary kan verplicht gemaakt worden. De gebruiker is dan
verplicht een term aan te duiden bij het aanmaken van een nieuwe node.
Cevora opleiding Drupal 7.x - David Hosse 55 Februari 2012
56. Architectuur
4. Taxonomy (3)
Een vocabulary kan ook ”controlled” zijn:
De reeks termen is van vooraf bepaald, de gebruiker moet kiezen
uit een bepaalde lijst.
Drupal laat ook “tagging” toe waarbij de gebruiker zelf termen
kan definiëren.
Vocabularies kunnen een hiërarchie vormen. Men kan bij het
ingeven van een term een parent term aanduiden.
vb. voor een vocabulary van landen kan een parent term
continent zijn. Voor elke term kan je ook een “related” term
(≠ synoniemen) aanduiden.
Cevora opleiding Drupal 7.x - David Hosse 56 Februari 2012
57. Architectuur
4. Taxonomy (4)
Aan elke vocabulary kan ook een gewicht toegekend
worden = een getal tussen -10 en +10. Dit principe komt ook
op andere plaatsen voor. Hoe lager het gewicht, hoe hoger
in de lijst.
Verschillende types van taxonomoieën:
1. Flat: staan op hetzelfde niveau, er is geen hiërarchie volgens
het parent – child principe.
2. Hiërarchical: termen kunnen 1 parent hebben.
3. Multiple hiërarchical: termen kunnen meerdere parents
hebben.
Cevora opleiding Drupal 7.x - David Hosse 57 Februari 2012
58. Architectuur
4. Taxonomy (5)
Flat
C C++ Cobol
Cevora opleiding Drupal 7.x - David Hosse 58 Februari 2012
59. Architectuur
4. Taxonomy (5)
Hiërarchical
Object
Procedureel
georiënteerd
C Cobol C++ Java
Cevora opleiding Drupal 7.x - David Hosse 59 Februari 2012
60. Architectuur
4. Taxonomy (6)
Multiple hiërarchical
Object
Procedureel
georiënteerd
C Cobol PHP C++ Java
Cevora opleiding Drupal 7.x - David Hosse 60 Februari 2012
61. Architectuur
5. Modules (1)
Voegen extra functionaliteit toe aan Drupal.
Worden ontwikkeld in PHP.
Worden aan het Drupal framework gekoppeld.
Downloaden of zelf ontwikkelen.
In beide gevallen: minstens een folder met een .info en een
.module bestand.
Het .info bestand bevat informatie over de module: naam,
beschrijving, versienummer, afhankelijkheid, package,
core, …
Cevora opleiding Drupal 7.x - David Hosse 61 Februari 2012
62. Architectuur
5. Modules (2)
vb. van de inhoud van het .info bestand van de forum module,
gebruikt om in Management menu-Modules de module te
tonen:
name = Forum
description = Provides discussion forums.
dependencies[] = taxonomy
dependencies[] = comment
package = Core
version = Version
core = 7.x
files [] = forum.test
configure = admin/structure/forum
stylesheets[all][] = forum.css
Cevora opleiding Drupal 7.x - David Hosse 62 Februari 2012
63. Architectuur
5. Modules (3)
In de modulelijst zal de forum module onder het package
“Core” weergegeven worden.
De forum module is afhankelijk van de modules taxonomy
en comment.
De forum module is ontwikkeld voor Drupal 7.x = core 7.x
Het .module bestand bevat de PHP code van de module.
Deze code bestaat uit “hook”-implementaties en
hulpfuncties.
Cevora opleiding Drupal 7.x - David Hosse 63 Februari 2012
64. Architectuur
4. Modules (4)
De module koppelt zich aan de hand van deze “hook”-
implementaties aan Drupal:
Bij iedere request van een gebruiker voert Drupal een
aantal taken uit:
Opbouw van het menu
Hiervoor roept Drupal de modulenaam_menu( ) functie van
iedere module op (indien deze bestaat).
een module ontwikkelaar kan op deze manier eigen menu-
items definiëren.
deze functie noemt men de hook (hook_menu).
Cevora opleiding Drupal 7.x - David Hosse 64 Februari 2012
65. Architectuur
5. Modules (5)
Vb. van de “hook”-functie hook_menu:
/**
* Implements hook_menu().
*/
function forum_menu() {
$items['forum'] = array(
'title' => 'Forums',
'page callback' => 'forum_page',
'access arguments' => array('access content'),
'file' => 'forum.pages.inc',
);
...
return $items;
}
Cevora opleiding Drupal 7.x - David Hosse 65 Februari 2012
66. Architectuur
5. Modules (6)
Voor sommige modules ook .install bestand.
de code die hierin staat wordt uitgevoerd bij het
activeren van de module.
wordt doorgaans gebruikt om extra tabellen en data in
de database te installeren.
er kan ook een uninstall functie voorzien zijn welke
uitgevoerd wordt bij het desactiveren of desinstalleren
van de module.
Cevora opleiding Drupal 7.x - David Hosse 66 Februari 2012
67. Architectuur
6. Theming (1)
= het proces waarbij data omgezet wordt naar HTML, CSS
en JavaScript. Dit aan de hand van een “theme” of thema.
Een thema = technisch gezien een reeks van template
bestanden, tekeningen, afbeeldingen en CSS-bestanden.
Thema bepaalt de indeling van de regions en de look-and-
feel van de pagina.
Standaard bevat Drupal een aantal Core-thema’s.
Bijkomende thema’s kunnen gedownload worden vb. via
www.drupal.org/project/themes.
Zelf thema’s ontwikkelen eveneens mogelijk.
Cevora opleiding Drupal 7.x - David Hosse 67 Februari 2012
68. Architectuur
6. Theming (2)
Een theme kan een pagina volledig opbouwen via PHP-code.
In Drupal 7.x is er geen theme meer aanwezig die op deze manier is opgebouwd.
In Drupal 6.x bestond het Chameleon theme. Vb. van stukje code:
function chameleon_page($content, $show_blocks = TRUE, $show_messages =
TRUE) {
$language = $GLOBALS['language']->language;
$direction = $GLOBALS['language']->direction ? 'rtl' : 'ltr';
if (theme_get_setting('toggle_favicon')) {
drupal_set_html_head('<link rel="shortcut icon" href="'.
check_url(theme_get_setting('favicon')) .'" type="image/x-icon" />');
}
$title = drupal_get_title();
// Get blocks before so that they can alter the header (JavaScript,
Cevora opleiding Drupal 7.x - David Hosse 68 Februari 2012
70. Architectuur
6. Theming (4)
Theme dat pagina volledig opbouwt via PHP is zeer effectief.
Opmaak zeer moeilijk aan te passen indien geen kennis van PHP.
Meeste themes maken gebruik van templates en template
engines.
Template engine vertaalt een template bestand naar PHP/HTML-
code.
Standaard template engine in Drupal: PHPTemplate engine.
Terug te vinden in
drupal/themes/engines/phptemplate
Cevora opleiding Drupal 7.x - David Hosse 70 Februari 2012
71. Architectuur
6. Theming (5)
De hoofdtemplate van PHPTemplate is:
in Drupal 7.x: html.tpl.php
in Drupal 6.x: page.tpl.php
In Drupal 7.x bestaat page.tpl.php ook maar omvat enkel het body
gedeelte van de pagina, waarin volgende onderdelen beschreven
worden:
header
footer
linker en rechter sidebar
content
Voor blocks en nodes zijn er aparte templates.
Cevora opleiding Drupal 7.x - David Hosse 71 Februari 2012
72. Architectuur
6. Theming (6)
De template html.tpl.php is terug te vinden onder modules/system en ziet er als volgt
uit:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
"http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language-
>language; ?>" version="XHTML+RDFa 1.0" dir="<?php print $language->dir; ?
>"<?php print $rdf_namespaces; ?>>
<head profile="<?php print $grddl_profile; ?>">
<?php print $head; ?>
<title><?php print $head_title; ?></title>
<?php print $styles; ?>
<?php print $scripts; ?>
</head>
Cevora opleiding Drupal 7.x - David Hosse 72 Februari 2012
74. Architectuur
6. Theming (8)
node.tpl.php
block.tpl.php
page.tpl.php
Cevora opleiding Drupal 7.x - David Hosse 74 Februari 2012
75. Overzicht
Inleiding
Installatie
Een eerste kennismaking
Architectuur
Gebruikersbeheer
Werken met velden
Extra modules
Themes
Dagelijks beheer
Cevora opleiding Drupal 7.x - David Hosse 75 Februari 2012
76. Gebruikersbeheer
1. User module
2. Roles en permissions
3. User profiles
Cevora opleiding Drupal 7.x - David Hosse 76 Februari 2012
77. Gebruikersbeheer
1. User module (1)
Bij installatie van Drupal wordt 1 gebruiker aangemaakt user 1 =
administrator = beheerder met alle rechten.
Net zoals bij nodes heeft elke user een uniek user id en krijg je deze
op gelijkaardige wijze in de URL te zien vb. user/1.
Elke gebruiker een unieke gebruikersnaam en uniek paswoord!
Bij creatie ook nog een e-mailadres ingeven. Onder meer voor het
contacteren van de gebruiker indien nodig.
Volgende informatie kan ook interessant zijn:
signature: de signature van de gebruiker bij bv. posts.
status: geeft aan of de gebruiker actief of geblokkeerd is.
picture: pad naar de picture van de gebruiker.
Cevora opleiding Drupal 7.x - David Hosse 77 Februari 2012
78. Gebruikersbeheer
1. User module (2)
Aantal gebruikersinstellingen via Management menu-Settings
Account settings (admin/config/people/accounts):
User registration settings:
hoe worden nieuwe gebruikers aangemaakt?
Door de administrator: interessant als men alleen “bekenden” een
account willen geven.
Door de bezoekers die zich registreren en waarna ze automatisch
geactiveerd worden.
Aan te raden: require e-mail verification om te voorkomen dat via
een programma, spam of virus zomaar gebruikeraccounts kunnen
worden aangemaakt. De gebruiker zal pas geactiveerd worden na
succesvole verificatie van zijn of haar e-mailadres.
Cevora opleiding Drupal 7.x - David Hosse 78 Februari 2012
79. Gebruikersbeheer
1. User module (3)
Door de bezoekers die zich registreren en waarna de administrator deze
registratie moet goedkeuren.
Personalization:
Hier kunnen we bepalen of een gebruiker een signature kan definiëren of
een gebruikersfoto kan uploaden.
E-mail settings:
Hiermee kan men bepalen wanneer e-mails naar een gebruiker worden
gestuurd:
Eerste 3 mails hebben te maken met de registratie van een nieuwe
gebruiker.
De Password recovery email wordt verstuurd wanneer de gebruiker
aangeeft dat hij of zij zijn of haar paswoord vergeten is.
Cevora opleiding Drupal 7.x - David Hosse 79 Februari 2012
80. Gebruikersbeheer
1. User module (4)
De 3 laatste mails worden verstuurd wanneer de status van
een gebruiker wijzigt: geactiveerd, geblokkeerd of verwijderd.
In de e-mails kan men gebruik maken van variabelen, vb.:
[user:name],
A request to reset the password for your account has been made at
[site:name].
You may now log in by clicking this link or copying and pasting it to your
browser:
[user:one-time-login-url]
This link can only be used once to log in and will lead you to a page
where you can set your password. It expires after one day and nothing will
happen if it's not used.
-- [site:name] team
Cevora opleiding Drupal 7.x - David Hosse 80 Februari 2012
81. Gebruikersbeheer
2. Roles and permissions (1)
De toegang van Drupal-onderdelen wordt beheerd via rollen.
Rol = type gebruiker = actor = (gebruikers)groep.
In sommige systemen spreekt men van “hoed” = “een bepaalde
hoed dragen”.
1 gebruiker kan lid zijn van meerdere rollen.
Standaard 2 rollen:
“anonymous user” en “authenticated user”.
Elke gebruiker behoort tot één van beide rollen.
Niet aangemeld = anoniem.
Aangemeld = authenticated users.
Cevora opleiding Drupal 7.x - David Hosse 81 Februari 2012
82. Gebruikersbeheer
2. Roles and permissions (2)
Wanneer men tot meerdere rollen behoort, worden de
permissies van alle rollen opgeteld.
niet mogelijk om rechten af te nemen via deny rechten.
belangrijk om aan de “authenticated users” rol enkel de
rechten toe te kennen die voor alle gebruikers gelden.
wil je bepaalde “authenticated users” toch nog andere
rechten toekennen, maak dan een nieuwe rol aan voor deze
gebruikers.
Vanaf Drupal 7.x bestaat er nog een bijkomende role:
“administrators”. Bij installatie van nieuwe modules krijgt deze
role steeds alle rechten van die module.
Cevora opleiding Drupal 7.x - David Hosse 82 Februari 2012
83. Gebruikersbeheer
2. Roles and permissions (3)
Indien we een andere rol als beheerdersrol willen
instellen, kunnen we dit doen via Management menu-
Settings Account settings
(admin/config/people/accounts).
Permissies kunnen we instellen via Management
menu-People Tab “Permissions”.
belangrijkste beheerpermissies staan bij de system
module.
Cevora opleiding Drupal 7.x - David Hosse 83 Februari 2012
84. Gebruikersbeheer
3. User profiles
In drupal 6.x was er een aparte module om extra
informatievelden voor op het gebruikersprofiel te
voorzien.
Vanaf Drupal 7.x zijn users net zoals nodes “fieldable”
entities (zie volgend hoofdstuk 6: Werken met velden).
geen extra module meer nodig om extra informatie te
definiëren.
Zie toepassing in cursus hoofdstuk 5.3 pagina 45 t.e.m. 47.
Cevora opleiding Drupal 7.x - David Hosse 84 Februari 2012
85. Overzicht
Inleiding
Installatie
Een eerste kennismaking
Architectuur
Gebruikersbeheer
Werken met velden
Extra modules
Themes
Dagelijks beheer
Cevora opleiding Drupal 7.x - David Hosse 85 Februari 2012
86. Werken met velden
1. Inleiding
2. Content types
3. Andere entities
Cevora opleiding Drupal 7.x - David Hosse 86 Februari 2012
87. Werken met velden
1. Inleiding (1)
Extra velden definiëren voor gebruikersinformatie.
Extra velden maken voor nodes.
Mogelijkheid om extra velden te maken bestond ook al in Drupal 6.x
via een extra te installeren module:
Content Construction Kit of CCK.
In Drupal 7.x maakt deze functionaliteit deel uit van de Drupal Core
via de Field API en de Field SQL Storage modules.
In Drupal 6.x konden we CCK niet standaard gebruiken om extra
velden voor users te voorzien. Hiervoor moesten we nog een extra
module “Profile” installeren.
CCK-module kan enkel gebruikt worden voor nodes en users zijn geen
nodes in Drupal.
Cevora opleiding Drupal 7.x - David Hosse 87 Februari 2012
88. Werken met velden
1. Inleiding (2)
In Drupal 7.x zijn nodes, taxonomies, comments, users, …
allemaal entities.
Alle entities zijn “fieldable”: geen onderscheid meer in de
verschillende content types voor het aanmaken/ toevoegen van
extra velden.
Fields of velden kunnen herbruikt worden.
Verschillende veldtypes (tekstveld, numeriek veld, …) die elk
bepaalde eigenschappen kunnen hebben:
Vb: een tekstveld kan een maximale lengte van 4 karakters hebben.
Fields kunnen we aan eenders welke entity toevoegen Field
instance.
Cevora opleiding Drupal 7.x - David Hosse 88 Februari 2012
89. Werken met velden
1. Inleiding (3)
Een field instance kan ook bepaalde eigenschappen hebben.
De eigenschappen van een field instance gelden enkel voor de
combinatie van een field en een entity.
Vb. voor een tekstveld:
het label
verplicht veld of niet
help tekst
breedte van het veld
filter van toepassing of niet
default waarde
Cevora opleiding Drupal 7.x - David Hosse 89 Februari 2012
90. Werken met velden
2. Content types
Vbn.: article, basic page, event, forum post/entry,
blog post/entry, …
We kunnen ook zelf content types definiëren.
zie toepassing voor het aanmaken van het content type
“Cevora cursus” in de cursus hoofdstuk 6.2 pagina 48
t.e.m. 53 bovenaan.
Cevora opleiding Drupal 7.x - David Hosse 90 Februari 2012
91. Werken met velden
3. Andere entities
Zoals reeds aangehaald is in Drupal 7.x nieuw dat we
velden kunnen toevoegen aan niet-nodes.
Zie toevoegen van een geboortedatum veld aan een
user in hoofdstuk 5 Gebruikersbeheer.
Zie toepassing voor het toevoegen van een bestand
aan een gebruikersprofiel in cursus hoofdstuk 6.3
pagina 53 t.e.m. 56.
Cevora opleiding Drupal 7.x - David Hosse 91 Februari 2012
92. Overzicht
Inleiding
Installatie
Een eerste kennismaking
Architectuur
Gebruikersbeheer
Werken met velden
Extra modules
Themes
Dagelijks beheer
Cevora opleiding Drupal 7.x - David Hosse 92 Februari 2012
93. Extra modules
1. Vooraf: opgelet
2. Views 3
3. CKEditor en IMCE modules installeren en
configureren
4. Pathauto module
5. Panels 3
6. Installeren van updates en patches
Cevora opleiding Drupal 7.x - David Hosse 93 Februari 2012
94. Extra modules
1. Vooraf: opgelet
Veel Drupal 7.x modules verkeren nog in Beta of Alpha stadium.
Deze zijn niet aan te raden voor productiewebsites.
Installeren en activeren van modules via Management menu-
Modules (admin/modules).
Installeren van een nieuwe module:
Installeren via een url.
Uploaden van .zip of .tar.gz bestand.
Deze 2 opties vragen mogelijks een ftp-account naar de Drupal-
installatie om modules automatisch te installeren via ftp (niet van
toepassing in deze opleiding).
Cevora opleiding Drupal 7.x - David Hosse 94 Februari 2012
95. Extra modules
2. Views 3 (1)
Inleiding
De Views module behoort niet tot de Drupal Core. Apart te
installeren - http://drupal.org/project/views.
Deze hangt af van de Chaos tools suite module die ook
apart gedownload en geïnstalleerd moet worden.
http://drupal.org/project/ctools
2 onderdelen van de Views module moeten geactiveerd
worden: “Views” en “Views UI” (voor het aanmaken van
views via de webinterface van Drupal.
Cevora opleiding Drupal 7.x - David Hosse 95 Februari 2012
96. Extra modules
2. Views 3 (2)
Inleiding
De views module wordt gebruikt om gegevens te tonen. In
een view definiëren we:
welke velden van een node we in een lijst willen zien.
welke nodes we willen zien (filtering).
in welke volgorde we de nodes willen zien (sortering).
hoe we de lijst willen zien (bijvoorbeeld een list met bullets).
De eerste 3 elementen worden achterliggend omgezet
naar een SQL statement.
Cevora opleiding Drupal 7.x - David Hosse 96 Februari 2012
97. Extra modules
2. Views 3 (3)
Inleiding
SQL is de taal die we kunnen gebruiken om een databank te
ondervragen.
Kennis van SQL is niet nodig om met views te werken. Het helpt
wel om de werking van de views beter te begrijpen.
Mogelijkheden van een view zeer uitgebreid
configuratiescherm lijkt daarom zeer moeilijk.
1ste belangrijk concept: de default instellingen.
Een view kan verschillende displays hebben. Deze bepalen hoe
een view naar de gebruiker toe getoond wordt.
Cevora opleiding Drupal 7.x - David Hosse 97 Februari 2012
98. Extra modules
2. Views 3 (4)
Inleiding
De default instellingen bepalen het algemene gedeelte van alle
displays.
Per display kunnen we nog bepaalde instellingen overschrijven
zodat ze afwijken van de default instellingen.
Vanuit een display kunnen we ook de default instellingen
wijzigen, maar dan wijzigen wel alle andere displays mee.
Belangrijk onderscheid maken:
In de default instellingen aangeven wat er moet worden
getoond.
In de display zelf bepalen hoe het moet worden getoond.
Cevora opleiding Drupal 7.x - David Hosse 98 Februari 2012
99. Extra modules
2. Views 3 (5)
Inleiding
Standaard 4 soorten displays:
Page: maakt een pagina met een eigen URL die eventueel gekoppeld kan
worden aan een menu.
Block: maakt een block die getoond kan worden via de beheerpagina van
de blocks.
Attachment: een display die boven of onder een andere display kan
worden getoond.
Feed: een aanpasbaar RSS feed waarop gebruikers kunnen inschrijven.
Kunnen een eigen URL hebben en toegevoegd worden aan page en/of
block display.
Bijkomende displays kunnen worden toegevoegd.
Bekijk ook eens de module “insert view”. Deze laat toe om views via
hun naam en parameters weer te geven in nodes.
Cevora opleiding Drupal 7.x - David Hosse 99 Februari 2012
100. Extra modules
2. Views 3 (6)
Page displays
Zie toepassing in cursus hoofdstuk 7.2.2 pagina 58
t.e.m. 62 bovenaan.
Vergeet eerst niet het content type “Product” aan te
maken!
Een block display
Zie toepassing in cursus hoofdstuk 7.2.3 pagina 62.
Cevora opleiding Drupal 7.x - David Hosse 100 Februari 2012
101. Extra modules
3. CKEditor en IMCE modules installeren en configureren (1)
Inleiding
Mogelijkheden voor gebruik van HTML in Drupal zijn standaard
zeer beperkt.
Oplossing installatie van een WYSIWYG- (What You See Is
What You Get) of HTML-editor.
In deze cursus de CKEditor module.
Mogelijkheden om met bestanden te werken ook zeer beperkt.
Oplossing installatie van de IMCE module
Breidt de beperkte uploadfunctionaliteit van Drupal sterk uit.
Elke gebruiker kan beschikken over een homedirectory voor het
uploaden van bestanden.
Een beperking op de bestandsgrootte kan ingesteld worden.
Cevora opleiding Drupal 7.x - David Hosse 101 Februari 2012
102. Extra modules
3. CKEditor en IMCE modules installeren en configureren (2)
Inleiding
Bij het werken met WYSIWYG-editors moet je ook goed opletten
met de filters van Drupal. Sommige code die de editor zelf
genereerd kan gefliterd worden zodat het reslutaat van je
opmaak binnen de editor beïnvloedt wordt.
De filters kan je natuurlijk configureren of bijkomende
toevoegen met de juiste instellingen.
Cevora opleiding Drupal 7.x - David Hosse 102 Februari 2012
103. Extra modules
3. CKEditor en IMCE modules installeren en configureren (3)
CKEditor
Installatie is iets moeilijker dan het installeren van een gewone
module.
De module bevat niet de eigenlijke editor. Deze moet je nadien
via www.ckeditor.net downloaden, de inhoud van de directory
/ckeditor uitpakken en toevoegen in de juiste folder van de
module, nl. de subdirectory /ckeditor.
Na het activeren van de CKEditor en de IMCE module moeten
nog enkele configuratie instellingen gebeuren.
Zie cursus hoofdstuk 7.3.2 pagina 63 t.e.m. 65 bovenaan.
Cevora opleiding Drupal 7.x - David Hosse 103 Februari 2012
104. Extra modules
3. CKEditor en IMCE modules installeren en configureren (4)
CKEditor
Bekijk ook eens de WYSIWYG-module voor Drupal als alternatief op de
CKEditor module. Deze module biedt de mogelijkheden meerdere
editors te installeren via 1 interface en verschillende editors op één
Drupal installatie in te stellen voor verschillende doeleinden.
Let op! Hier worden de editors niet in subfolders van de WYSIWYG-module
geplaatst maar in de folder /sites/all/libraries (wordt ook gebruikt om andere
plugins vereist door andere modules in onder te brengen) die je zelf dient aan
te maken. Meer info is ook terug te vinden op de modulepagina:
http://drupal.org/project/wysiwyg.
Let op! De WYSIWYG-module heeft een bijkomende module nodig om met de
IMCE te kunnen samenwerken: http://drupal.org/project/imce_wysiwyg.
Cevora opleiding Drupal 7.x - David Hosse 104 Februari 2012
105. Extra modules
3. CKEditor en IMCE modules installeren en configureren (5)
IMCE
De CKEditor laat toe om afbeeldingen of andere bestanden toe te voegen .
Bestanden komen standaard terecht in /sites/default/files.
IMCE breidt de standaard bestandsbehandeling binnen Drupal uit en laat
toe om te bladeren door bestanden, bestanden up te loaden en grenzen
voor bestandsgroottes in te stellen via een gebruiksvriendelijke interface.
Zie configureren van IMCE in cursus hoofdstuk 7.3.3 pagina 65 t.e.m. 66
bovenaan. Zorg natuurlijk wel dat je de IMCE module eerst geactiveerd
hebt!
Een tip: Installeer ook de IMCE Mkdir module
http://drupal.org/project/imce_mkdir.
Deze breidt IMCE uit zodat je ook (sub)folders kan aanmaken en beheren.
Cevora opleiding Drupal 7.x - David Hosse 105 Februari 2012
106. Extra modules
4. Pathauto module (1)
We hebben reeds gezien dat we de klassieke URL’s
(index.php?q=node/1) via Clean Url’s kunnen “vertalen” naar
gebruiksvriendelijke URL’s (/node/1).
De core module Path laat toe voor bepaalde content dergelijke URL’s in
te stellen.
Voor elke node kunnen we een path alias instellen zodat /node/1 bv.
vervangen wordt door /about-us.
De lijst met aliassen kan je terugvinden in Configuration-URL aliases.
weinig beheerbaar en moeilijk om consistentie te bewaren als
iedere gebruiker per node een alias moet toevoegen.
Cevora opleiding Drupal 7.x - David Hosse 106 Februari 2012
107. Extra modules
4. Pathauto module (2)
De Pathauto module, die afhankelijk is van de Token module, breidt
deze core module uit om automatische aliassen te creëren.
Pathauto maakt gebruik van tokens via de Token module.
Token = bepaalde waarde.
Vb.: [month] zou kunnen staan voor de maandcomponent van de
creatiedatum van een node.
Modules kunnen tokens definiëren en registreren bij de Token
module.
Binnen de Pathauto module kunnen we de tokens gebruiken om
URL aliassen automatisch te definiëren.
Cevora opleiding Drupal 7.x - David Hosse 107 Februari 2012
108. Extra modules
4. Pathauto module (3)
Vb: Stel dat we blog posts hebben op onze website. Voor het content type
blog zouden we kunnen definiëren dat blogs moeten worden bewaard
onder volgende URL:
blog/[node:created:custom:Y]/[node:created:custom:m]/[node:created:custom:d]/[node:title]
Een blog post geschreven op 10 januari 2011 met als titel “Content
management systems” zal onder de volgende URL toegankelijk zijn:
blog/2011/01/10/content-management-systems
De configuratie van Pathauto gebeurt via de tab Configuration-URL.
Zie de configuratie van Pathauto in cursus hoofdstuk 7.3.4 pagina 66
t.e.m. 67 bovenaan.
Cevora opleiding Drupal 7.x - David Hosse 108 Februari 2012
109. Extra modules
5. Panels 3 (1)
Inleiding
Panels en Views zijn door dezelfde ontwikkelaars ontwikkeld.
Het wordt ook wel eens de gedopeerde versie van Blocks
genoemd.
Via Blocks kunnen bepaalde content in Drupal tonen, Panels
bouwt daarop verder.
Ze laten toe om eigen pagina’s te koppelen aan een Drupal URL
(/node/%/edit) en de layout en de inhoud van die pagina’s te
bepalen.
Op een panel kunnen we bv. views zetten.
Cevora opleiding Drupal 7.x - David Hosse 109 Februari 2012
110. Extra modules
5. Panels 3 (2)
Installatie
Voor de installatie van Panels moeten we 2 modules
downloaden:
Panels - http://drupal.org/project/panels.
Ctools - http://drupal.org/project/ctools.
(al geactiveerd voor de Views)
Zie de installatieprocedure en configuratie voor panels in cursus
hoofdstuk 7.5.2 pagina 68 t.e.m. 70 bovenaan.
Voorbeeld van het gebruik van Panels
Zie toepassing in cursus hoofdstuk 7.5.3 pagina 70 t.e.m. 74
bovenaan.
Cevora opleiding Drupal 7.x - David Hosse 110 Februari 2012
111. Extra modules
6. Installeren van upgrades en patches (1)
Hoewel ontwikkelaars van Drupal modules de grootste zorg dragen
om foutloos te werken, is het niet uitgesloten dat er fouten kunnen
voorkomen.
Meestal gaat het hier om kleine fouten die opgelost worden bij het
uitgeven van een nieuwe module versie.
Deze update/upgrade kan men over de bestaande versie van de
betreffende module kopiëren in de module folder.
Drupal controleert aan de hand van een cron job automatisch of er
nieuwe versies beschikbaar zijn voor enerzijds de Drupal core en anderzijds
de beschikbare modules.
Automatisch updaten van modules en de drupal core is binnen drupal
mogelijk al dan niet met het instellen van een ftp-account.
Sommige aanpassingen zijn onmiddellijk nodig en worden onder de
vorm van een patch ter beschikking gesteld.
Cevora opleiding Drupal 7.x - David Hosse 111 Februari 2012
112. Extra modules
6. Installeren van upgrades en patches (2)
De installatie van een patch is iets ingewikkelder dan de
installatie van een update/upgrade.
Een patch wordt uitgebracht onder de vorm van een patch
bestand.
Binnen een software ontwikkelingsomgeving kan men de patch
toepassen op de bestaande bestanden, los van zo’n omgeving
moet men de aanpassing manueel toepassen.
Maak altijd eerst een backup van het bestand dat je aanpast!
Zie voorbeeld van een patch bestand in cursus hoofdstuk 7.6
pagina 74 t.e.m. 75.
Cevora opleiding Drupal 7.x - David Hosse 112 Februari 2012
113. Overzicht
Inleiding
Installatie
Een eerste kennismaking
Architectuur
Gebruikersbeheer
Werken met velden
Extra modules
Themes
Dagelijks beheer
Cevora opleiding Drupal 7.x - David Hosse 113 Februari 2012
114. Themes
1. Inleiding
2. Eenvoudige theming
3. Een subtheme maken
4. Template bestanden
5. Starter theme: Zen
Cevora opleiding Drupal 7.x - David Hosse 114 Februari 2012
115. Themes
1. Inleiding (1)
Themes worden gebruikt voor de opmaak van pagina’s
technisch = “Presentation Layer”.
Via een theme kan men:
page layouts definiëren.
bepalen welke grafische elementen er getoond worden.
eigenschappen van fonts en graphics bepalen.
output van modules overschrijven.
Voorkennis die nodig is om met themes te werken hangt af wat
men precies wenst te doen.
Om het logo te veranderen is weinig voorkennis nodig omdat dit
via de instellingen van een actief thema aangepast kan worden.
Cevora opleiding Drupal 7.x - David Hosse 115 Februari 2012
116. Themes
1. Inleiding (2)
Voor andere aanpassingen is voorkennis nodig van xHTML, CSS,
JavaScript, jQuery, PHP en eventueel ook grafische programma’s
als Photoshop, Illustrator, Fireworks ...
Drupal 7 wordt standaard geïnstalleerd met het Bartik theme,
andere beschikbare themes zijn Garland en Stark.
Voor administration pagina’s is het Seven theme standaard
actief.
De Drupal themes zijn terug te vonden in de /themes root folder
van de Drupal installatie.
Eigen themes of themes ontwikkeld door andere ontwikkelaars
worden in sites/all/themes opgenomen.
Cevora opleiding Drupal 7.x - David Hosse 116 Februari 2012
117. Themes
2. Eenvoudige theming (1)
Via het administratiemenu van Drupal kunnen bepaalde
instellingen van themes aangepast worden.
Er zijn instellingen die standaard zijn voor alle themes.
Daarnaast zijn er instellingen die theme specifiek zijn.
Specifieke instellingen overschrijven de globale instellingen.
Globale instellingen kunnen gewijzigd worden via Appearance-
Settings tab Global settings.
We kunnen bepalen wat er getoond wordt op een pagina (logo,
site naam, slogan, mission statement, search box, shortcut icon,
primary links, secondary links).
Cevora opleiding Drupal 7.x - David Hosse 117 Februari 2012
118. Themes
2. Eenvoudige theming (2)
Wanneer het gebruik van user pictures geactiveerd is kunnen we
ook bepalen of user pictures van de user verschijnen in posts en/of
commentaar = de Features.µ
Wanneer logo en/of shortcut icon (= favicon) zijn aangevinkt,
kunnen de URL’s meegegeven worden die verwijzen naar de
respectievelijke bestanden.
Site naam, slogan en mission statement kunnen ingevuld worden
bij Configuration-Site information. Hier wordt enkel bepaald of ze
getoond worden of niet.
Per theme kunnen de globale instellingen worden overschreven.
Sommige themes laten ook toe om kleuren aan te passen,
hiervoor moet de Color module (Drupal core) geactiveerd zijn.
Cevora opleiding Drupal 7.x - David Hosse 118 Februari 2012
119. Themes
3. Een subtheme maken
Zie toepassing in cursus hoofdstuk 8.3 pagina 77
t.e.m. 80 bovenaan.
Cevora opleiding Drupal 7.x - David Hosse 119 Februari 2012
120. Themes
4. Template bestanden
= vervolg op een subtheme maken.
Zie cursus hoofdstuk 8.4 pagina 80 t.e.m. 82
bovenaan.
Cevora opleiding Drupal 7.x - David Hosse 120 Februari 2012
121. Themes
5. Start theme: Zen
Zen = starterkit voor de ontwikkeling van een eigen
theme.
Nadeel aan het kopiëren van een bestaand thema is
niet goed weten wat men moet veranderen.
In een starter theme is de nodige documentatie en
zijn de nodige basisbestanden voorzien.
Zie toepassing in cursus hoofdstuk 8.5 pagina 82
t.e.m. 84.
Cevora opleiding Drupal 7.x - David Hosse 121 Februari 2012
122. Overzicht
Inleiding
Installatie
Een eerste kennismaking
Architectuur
Gebruikersbeheer
Werken met velden
Extra modules
Themes
Dagelijks beheer
Cevora opleiding Drupal 7.x - David Hosse 122 Februari 2012
123. Dagelijks beheer
1. Backup and restore
2. Logging
3. Cron jobs
4. Optimalisatie van Drupal
Cevora opleiding Drupal 7.x - David Hosse 123 Februari 2012
124. Dagelijks beheer
1. Backup and restore
Backup van databank
Via phpmyadmin
Via backup-migrate module.
http://drupal.org/project/backup_migrate
Zie toepassing in cursus hoofdstuk 9.1 pagina 85 t.e.m. 87.
Aan te raden is om op regelmatige basis (dagelijks of frequenter
voor belangrijkste bestanden) backups te nemen van de Drupal
installatie bestanden, zowel de core als de extra modules
(sites/all/modules), themes (sites/all/themes), ...
Vergeet zeker ook niet de sites/default/files folder regelmatig te
backuppen!
Cevora opleiding Drupal 7.x - David Hosse 124 Februari 2012
125. Dagelijks beheer
2. Logging
Standaard worden in Drupal fouten weggeschreven naar
logbestanden en naar het scherm naar de gebruiker toe in
de vorm van een foutmelding.
in productie best enkel naar logbestanden.
dit kan je instellen via Configuration-Error Reporting.
Onder Configuration-Site Information kan je ook instellen
welke pagina’s er moeten weergegeven worden voor
“Access Denied”- en “Not Found”-fouten.
hiervoor maak je best voor elk een extra node aan.
bij de URL’s vul je vervolgens het path van de node in.
Cevora opleiding Drupal 7.x - David Hosse 125 Februari 2012
126. Dagelijks beheer
3. Cron jobs (1)
Allerlei modules in Drupal hebben taken die regelmatig moeten
worden uitgevoerd.
Vb. verwijderen van oude log data, controleren of er updates zijn
voor Drupal of voor modules, web pagina’s cachen (enkel voor
anonieme gebruikers), indexeren van de site (voor degelijke
zoekoptimalisatie) …
Al deze taken worden uitgevoerd via zogenaamde cron jobs.
In Linux crontab job, in Windows Sheduled tasks.
Uitvoeren van cron job = het oproepen van cron.php in Drupal
installatie. Kan ook vanaf een andere computer uitgevoerd
worden.
Cevora opleiding Drupal 7.x - David Hosse 126 Februari 2012
127. Dagelijks beheer
3. Cron jobs (2)
Vanaf Drupal 7.x maakt de “Poor Man’s Cron”-module
deel uit van de core.
voegt aan elke pagina een stukje javascript code toe.
aan de hand van deze code en een Ajax call wordt er
gecontroleerd of cron onlangs heeft gelopen.
Indien dit niet zo is dan wordt de cron pagina uitgevoerd.
Via Configuration-Cron kan men instellen hoe frequent
cron moet worden uitgevoerd.
Cevora opleiding Drupal 7.x - David Hosse 127 Februari 2012
128. Dagelijks beheer
4. Optimalisatie van Drupal
Zie informatie in cursus hoofdstuk 9.4 pagina 89
t.e.m. 91.
Cevora opleiding Drupal 7.x - David Hosse 128 Februari 2012