DrupalJam 2011
Drupal, het was niet liefde op het eerste gezicht maar ben er ondertussen wel weg van. Na meer dan twee ontwikkelen in Drupal leek het me wel leuk om een keer een dag mee te maken met allemaal Drupal liefhebbers. Dit was DrupalJam 2011. Voorheen werd het gegeven wanneer er genoeg animo voor was en wanneer de sponser bereidwillig genoeg waren. Want zoals ook met Drupal zelf, is deze Jam gratis. Vanaf 2011 willen ze DrupalJam elk jaar geven. Drupal in Nederland begint aardig van de grond te komen, vooral in de overheid begint het steeds meer zijn kop op te steken. Er zaten wat interessante sessies tussen, hieronder een overzicht van degene waar ik geweest ben.
Drupal automatiseren
Iets wat ik zelf veel tegenkom en wat een direct resultaat is van het feit dat Drupal alles via de database doet is dat Drupal het in OTAP omgevingen niet zo heel goed doet. Het vereist veel werk om al je omgevingen gelijk te trekken zodat je je applicatie goed kan testen. De sessie ging over een bedrijf, Hoppinger, dat een oplossing had gebouwd. Een soort wrapper om heel Drupal heen waarbij een groot deel van de configuratie in code gezet kan worden. Voordeel hiervan is dat je wijzigingen allemaal worden meegenomen in je versiebeheer applicatie. Tevens kunnen via deploy instructies, alle omgevingen in je OTAP omgeving dezelfde configuratie meekrijgen.
Het was duidelijk nog een work-in-progress en was wel gebaseerd op de wensen van het bedrijf zelf. Het biedt daarom zeker geen kant-en-klare oplossingen voor iedereen. Hoewel het er mooi uitzag en de integratie met drush goed geregeld was zie ik het mezelfd nog niet gebruiken. Daarvoor erger ik me nog te weinig aan het deployen op verschillende omgevingen. Het overzetten van database via mysql gaat me tot nu toe nog steeds goed af en het bijhouden van je configuratiewijzigingen kan je zien als een soort documentatie en beargumentatie van bepaalde keuzes die je maakt tijdens het maken van een website. Vond het wel boeiend om te zien hoe anderen hiermee omgaan maar voor mij is het niet direct een oplossing. Sterker nog, er is niet eens een probleem.
What the Entity?
Een Drupal 7 specifieke sessie. Over entities. Een entity is geintroduceerd in Drupal 7. Volgens de spreker kan je een entity in D7 vergelijken met een node in D4. In D6 is alle content een node. Aan die node zitten een paar standaard modules vast. Zoals comments, de integratie met taxonomie en het rechtensysteem. Maar D6 kent meer contentsoorten, zo heb je gebruikers, taxonomie termen en reacties. Drupal 7 voegt een extra niveau toe, en wel aan de bovenkant van de ladder. In Drupal 7 is alles een entity. Een node is nog steeds een node zoals we die kennen uit Drupal 6. Maar in Drupal 7 zijn reacties, gebruikers en termen ook entities. Waarom dit zo boeiend is is vanwege het volgende, iedereen die veel met Drupal werkt kent de module CCK. Een module om extra velden toe te voegen aan nodes, in Drupal 6 kon dat ook echt alleen aan nodes. CCK hebben ze in Drupal 7 geintegreerd. Alleen niet op node-niveau maar op entity-niveau. Het is nu dus mogelijk om entities uit te breiden met extra velden. Dit is vooral in mijn ervaring een hele grote vooruitgang voor iedereen die wel eens wat met gebruikersprofielen gedaan heeft. Je kan nu dus gewoon aan alles wat een entity is een extra veld toevoegen.
Drupal 7 komt standaard met een aantal entities, nodes, termen, gebruikers en reacties zijn daar een paar voorbeelden van. Het is echter ook mogelijk om zelf entities aan te maken via een module. Een voorbeeld hiervan is de Drupal Commerce module (opvolger van Ubercart). Deze heeft orders bijvoorbeeld aangemaakt als entity.
Keynote: De Lessen van Open Source voor de Journalistiek
Ik was gewend om de keynote als eerste sessie te hebben, deze was halverwege de dag. Qua Drupal was deze sessie niet zo heel boeiend. Het ging over het toepassen van open source software bij het opstarten van en nieuwssite dat draait op medewerking van de communitie. Dichtbij.nl was het initiatief en werd als case behandeld om de verschillen te laten zien tussen de oude journalistiek en het internet.
Connecting Drupal
Op welke manieren is Drupal te koppelen aan de buitenwereld en is de buitenwereld te koppelen aan Drupal. Dat is in een notendop waar deze sessie over ging. Een van de conslusies van zijn betoog was dat het soms makkelijker is om zelf een connectie te bouwen dan een bestaande module te gebruiken. Zoals bijvoorbeeld in het geval van een verbinding met Twitter. Verder kwamen alle verschillende mogelijkheden aan bod in een zeer korte tijd, het werd vrij hectisch en aan het einde werden sommige slides overgeslagen i.v.m. tijdsdruk.
Uitgaande verbindingen, dus Drupal die iets plaatst op een externe website, vallen bijvoorbeeld Twitter onder. bij het plaatsen van een blogitem zal er automatisch een tweet uitgaan. Maar ook een RSS feed die op een andere website wordt ingelezen kan daaronder vallen. RSS feeds kunnen ook dienen als inkomende bron van informatie waarbij content uit externe websites wordt ingelezen in Drupal. Een mooie module daarvoor is FeedAPI of zijn opvolger, Feeds. Hiermee kan je periodiek RSS feeds laten inlezen in je website als content.
Multimediagebruik in Drupal 7 met de Media-module
Websites zonder afbeeldingen zijn bijna niet meer weg te denken. Helaas is de ondersteuning daarvoor voor Drupal 6 erg beperkt. Je hebt veel verschillende modules nodig om een goede mediabelevenis te bieden voor de gebruiker van de website. Elk van die modules komt met een eigen configuratie en erger nog, een eigen user interface. Uit het oogpunt van gebruikersgemak is dat vreselijk. In Drupal 7 zijn ze hard opweg om dat een heel stuk te verbeteren. De Media module zou daar de oplossing voor moeten zijn.
Handvatten voor toegankelijk bouwen in Drupal
Hoe bouw je een website zodat die voldoet aan de webrichtlijnen. De webrichtlijnen zijn de opvolger van de oude Drempelsweg richtlijnen. Je website bouwen voor mensen die niet op een normale manier websites kan bezoeken. Mensen die bijvoorbeeld browsen met een tekstbrowser zoals Lynx, of mensen die kleurenblind zijn, zijn daar een aantal voorbeelden van. Het begint uiteraard allemaal bij je HTML template. Je code moet er schoon en overzichtelijk uitzien. bouw je templates met de content boven en zorg bijvoorbeeld voor skiplinks naar belangrijke navigatieonderdelen van je website die zich onderaan de website horen te bevinden. Op deze manier zorg je ervoor dat gebruikers van een tekstbrowser niet heel erg veel moeten scrollen naar je navigatie maar via een link er makkelijk naartoe kunnen springen. Iedereen die wel eens themes heeft gemaakt over ermee heeft gewerkt weet dat deze vol zitten met extra div's span's en zijn voorzien met zoveel mogelijk classes om het geheel schaalbaar te houden. In het oogpunt van bouwen voor toeegankelijkheid is dit niet zo goed. Toegankelijk bouwen is dus een keuze waar je rekening moet houden wanneer je een website gaat bouwen. Je verliest waarschijnlijk de mogelijkheid van een dynamische website, maar als dat sowieso al niet nodig was maakt dat niet uit.
Schaalbaar themen
Deze sessie stond haaks op de vorige sessie, wat opzich wel interessant was. De sprekers waren van mening dat de grote hoeveelheden div's span's en classes juist wel goed waren. Je theme wordt hierdoor veel dynamischer en is via CSS voor een groot deel aan te passen zonder dat je aan de templates moet sleutelen.
Een ander onderdeel van deze sessie was hoe ontwerpers tegen Drupal aan moeten kijken. Uit ervaring weet ik dat ontwerpers graag ontwerpen vanuit pagina's. Een nieuwspagina, een contactpagina enzovoorts. Helaas werkt Drupal niet met pagina's. Drupal werkt met componenten. Een ontwerper zou daarom moeten ontwerpen vanuit het oogpung van componenten. Een blok met nieuwsberichten dat bestaat uit een header, een bulletlijst met nieuwsberichten en een lees meer link. Dit blok zou dan overal op de website neergezet kunnen worden en er hetzelfde uitzien. Hierdoor hoeft de ontwerper niet op elke pagina dat blok te ontwerpen. Hetzelfde geldt voor detailpagina's van een nieuwsbericht bijvoorbeeld.
Conclusie
Mijn eerste DrupalJam was meteen een geslaagde. Bijna alle sessies waren interessant en het is vooral leuk om te zien hoe andere bedrijven en personen omgaan met dezelfde problemen. En dat voor de meeste problemen wel verschillende manieren zijn om het op te lossen. Drupal is en blijft een mooi systeem.
Handige modules en tips
- Semantic Views. Om de "divitis" van Drupal wat te verminderen
- Probeer altijd eerst de DEV versie boven de BETA versie van een module, deze bevatten over het algemeen minder fouten.




















Reactie toevoegen