Blog

Hersenspinsels en bevindingen. Merendeels bedoeld opdat ik het zelf kan onthouden.

Deze blog bevat voornamelijk artikelen die ik heb geschreven zodat ik niet iedere keer hoef te Googlen naar een antwoord wat ik eigenlijk wel weet maar niet op kan komen. Of dat ik door mijn projecten moet spitten om te zien "waar had ik dat ook al weer toegepast". Dus noem het blog, noem het een kennisbank, doe er je voordeel mee. Dat doe ik ook :)

Doordat het framework van CKEditor 5 volledig anders is geworden, moet je bij het migreren van bestaande CKEditor 4 plugins naar CKEditor 5 de plugin opnieuw opbouwen.
Bij het upgraden van de website van Drupal 9 naar 10 moest ook de GraphQL module worden bijgewerkt naar een hogere versie. En dat ging gepaard met een aantal onaangename verrassingen. Hier bespreek ik de grootste verschillen en hoe je daar omheen kan.
Voor een klant gebruik ik Citrix Workspace om toegang te krijgen tot het interne netwerk. Op Mac OS is dat over het algemeen geen probleem, maar met Ubuntu gaf het iets meer uitdaging. In mijn geval kreeg ik na installatie een foutmedling "You have not chosen to trust "[insert Certificate Authority]", the issuer of the server's security certificate (SSL error 61)."
Tijdens COVID werken we allemaal vanuit huis. Voor sommige projecten heb ik een VPN nodig om toegang te krijgen tot bepaalde bestanden of servers die anders niet bereikbaar zijn van buiten een bepaald netwerk. Maar tijdens het werken op een VPN merkte ik een probleem op in Ubuntu (16.04).
In eerdere blogs had ik het al over de keuze voor module om Drupal te koppelen aan Gatsby. Er zijn twee smaken, nl. JSON:API en GraphQL. In eerste instantie had ik gekozen voor JSON:API omdat ik toch geen meertaligheid nodig had. Nu wel ;-)
Een developer (moi) koppelt Gatsby aan Drupal. Drupal zegt "Ik heb een gerelateerd content veld waar je 7 verschillende entity-types aan kunt refereren, maar maximaal 3 waarden zijn toegestaan". Developer zegt "Dat is prima". Gatsby zegt "Je moet wel zorgen dat die 7 types in die 3 velden zitten". Badumtss.
Bij het bouwen van de headless site wilde ik ook het menu ontsluiten. Standaard komt van JSON:API een allMenuMenu en menuMenu query wat toegang geeft de menu's maar niet tot de menu-items die er in zitten.
Een tijdje had ik hinder van het feit dat het ontwikkelen op de Mac niet vreselijk snel verliep. Met name de response vanuit Apache was niet vreselijk snel. Het probleem leek te schuilen in de resolving van lokale adressen (bijv. http://project.dev) wat bijzonder veel tijd in beslag nam (gemiddeld 5-10 seconde per request).
Er zijn vele wegen die naar Rome leiden en zo is het ook met Drupal. Zo zijn er om te beginnen ook al verschillende manieren op Drupal te installeren.
Het wordt beschreven (en door mij in den beginne ook) als het CMS uit de diepsten krochten van de hel; lelijk, geheugen intensief, traag, moeilijk te begrijpen en nog moeilijker om er voor te ontwikkelen en op documentatie moet je niet rekenen.
Ook al heb je al 10 jaar ervaring op het gebied van PHP en denk je van alle fratsen op de hoogte te zijn, toch kan de taal je nog verrassen. Zo ook met dit.
Problemen met het verzenden van attachments vanuit Drupal 7? Je bent vast niet de enige. Ik heb toch een tijdje moeten googlen om hier het kneepje van te leren kennen.
Features is een veelgebruikte module om settings, inhoudstypen en allerlei andere zaken te exporteren naar code. Een nadeel van Features die te noemen is, is dat het niet bepaald vlot werkt.
Met alle IDE's die tot je beschikking kunnen staan (persoonlijke voorkeur is PhpStorm) is het soms niet mogelijk om "even" iets te doen, maar vaak kan het met VI wel (als je maar weet hoe)
Sinds vandaag mag ik mij officieel Acquia Certified Developer noemen. Tijdens de DrupalCon 2014 in Amsterdam was het mogelijk om het examen te doen om dit te behalen.
Er is sinds 24-9 een bug ontdekt in de Bash command interpreter wat een enorm beveiligingsrisico omvat voor Unix / Linux systemen en ook op OSX wat op Macs draait.
Drupal deployment, het blijft vaak een dingetje. Zoveel wegen als er naar Rome zijn, zoveel manieren zijn er om een Drupal site uit te rollen. Door het gebruik van een OTAP straat (Ontwikkel / Test / Acceptatie / Productie) is het ondoenlijk om alles nog via FTP te realiseren. En daarom gebruik ik voor eigen projecten graag Capistrano.
Port forwarding is soms een ellende om in te stellen. Aangezien er bij mij 3 routers in het netwerk zitten (Modem/Router -> Time Capsule -> Airport Extreme) is het ondoorgrondelijk waarom port-forwarding niet werkt. Maar gelukkig biedt het 'Back to my mac' principe de oplossing.
In Drupal 6 kreeg elk menu item wat een onderliggend actief item had automatisch de class "active-trail". In Drupal 7 is dat helaas niet zo. Of dit een bug is of gewenste functionaliteit zijn de geleerden nog niet over uit, maar ik heb gelukkig een oplossing kunnen schrijven.
De EntityFieldQuery van Drupal is een makkelijke manier om data uit tabellen te trekken zonder alle gelinkte tabellen in je query op te nemen. Het is tegenwoordig mijn favoriete alternatief voor het gebruik van Views. Maar een van de nadelen op dit moment is dat er geen manier is om een willekeurige sortering toe te passen. Er is al een issue op drupal.org maar wat nu als je het per direct wilt?
Stichting Drupal Nederland organiseert op 26 september een Drupal Training Day. Dit evenement vindt plaats voorafgaaand aan de grootste Drupal conferentie van Europa, de DrupalCon, die dit jar in Amsterdam gehouden wordt.
Er zijn een groot aantal mensen die (na een tijd) problemen hebben met inloggen op Facebook. Ze krijgen dan een "Error 500" in beeld. Hier vind u een mogelijke oplossing.