• Save
Cevora opleiding drupal 7.x slides februari 2012
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Cevora opleiding drupal 7.x slides februari 2012

on

  • 2,621 views

 

Statistics

Views

Total Views
2,621
Views on SlideShare
2,617
Embed Views
4

Actions

Likes
0
Downloads
4
Comments
0

1 Embed 4

http://www.linkedin.com 4

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Cevora opleiding drupal 7.x slides februari 2012 Presentation Transcript

  • 1. www.slideshare.net/davidhosseCevora opleiding Drupal 7.x David Hosse david.hosse@ehb.be @davidhosse www.cevora.be | www.ehb.be | www.drupal.org Februari 2012
  • 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 naamkaartjeCevora 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 beheerCevora 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 beheerCevora opleiding Drupal 7.x - David Hosse 4 Februari 2012
  • 5. Inleiding 1. Content Management Systems 2. DrupalCevora 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 CMFCevora 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.comCevora 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 beheerCevora 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.xCevora 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 = PerlCevora 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 = PHPCevora 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 beheerCevora 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’sCevora 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 rechtenCevora 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 = gebruikersgroepenCevora 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 beheerCevora opleiding Drupal 7.x - David Hosse 39 Februari 2012
  • 40. Architectuur 1. Overzicht 2. Entities en velden 3. Nodes 4. Taxonomy 5. Modules 6. ThemingCevora 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/contactCevora 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 optioneelCevora 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++ CobolCevora opleiding Drupal 7.x - David Hosse 58 Februari 2012
  • 59. Architectuur 4. Taxonomy (5) Hiërarchical Object Procedureel georiënteerd C Cobol C++ JavaCevora 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++ JavaCevora 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.cssCevora 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
  • 69. Architectuur 6. Theming (3) $blocks_left = theme_blocks(left); $blocks_right = theme_blocks(right); $output = "<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">n"; $output .= "<html xmlns="http://www.w3.org/1999/xhtml" lang="$language" xml:lang="$language" dir="$direction">n"; $output .= "<head>n"; $output .= drupal_get_html_head(); $output .= " <title>". ($title ? strip_tags($title) ." | ". variable_get("site_name", "Drupal") : variable_get("site_name", "Drupal") ." | ". variable_get("site_slogan", "")) ."</title>n"; $output .= drupal_get_css(); $output .= drupal_get_js(); $output .= "</head>"; $output .= "<body>n"; $output .= " <div id="header">"; ... return $output; }Cevora opleiding Drupal 7.x - David Hosse 69 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/phptemplateCevora 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
  • 73. Architectuur 6. Theming (7) <body class="<?php print $classes; ?>" <?php print $attributes;?>> <div id="skip-link"> <a href="#main-content" class="element-invisible element- focusable"><? php print t(Skip to main content); ?></a> </div> <?php print $page_top; ?> <?php print $page; ?> <?php print $page_bottom; ?> </body> </html>Cevora opleiding Drupal 7.x - David Hosse 73 Februari 2012
  • 74. Architectuur 6. Theming (8) node.tpl.phpblock.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 beheerCevora opleiding Drupal 7.x - David Hosse 75 Februari 2012
  • 76. Gebruikersbeheer 1. User module 2. Roles en permissions 3. User profilesCevora 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 its not used. -- [site:name] teamCevora 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 beheerCevora opleiding Drupal 7.x - David Hosse 85 Februari 2012
  • 86. Werken met velden 1. Inleiding 2. Content types 3. Andere entitiesCevora 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 waardeCevora 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 beheerCevora 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 patchesCevora 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 beheerCevora 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: ZenCevora 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 beheerCevora opleiding Drupal 7.x - David Hosse 122 Februari 2012
  • 123. Dagelijks beheer 1. Backup and restore 2. Logging 3. Cron jobs 4. Optimalisatie van DrupalCevora 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