26 Coole Drupal modules voor site builders | Maart 2018

12 Mar 2018

Erik de Kamps
Drupal developer
+31 (0)20 - 261 14 99

De grootste 'module' die geüpdate werd was uiteraard de Drupal core: Drupal 8.5.0 kwam 07 maart uit, lees hier meer. Verder, wat ons opviel aan module updates van afgelopen maand, enjoy:

1. Password Policy

Standaard accepteert Drupal álle wachtwoorden die gebruikers in kunnen stellen voor hun user account, zelfs als hij maar uit één letter bestaat.

Deze module scherpt dat aan, je kunt hiermee bepalen wat het wachtwoord beleid van je Drupal systeem wordt, bijvoorbeeld:

  • minimaal 8 karakters;
  • minimaal één speciaal karakter;
  • niet hetzelfde zijn als je username of e-mail adres;
  • het mag niet een wachtwoord zijn dat al eerder gebruikt is.

https://www.drupal.org/project/password_policy

2. Content-Security-Policy

Content Security Policy (CSP) is een extra beveiligingslaag die helpt bij het detecteren en beperken van bepaalde soorten aanvallen, waaronder Cross Site Scripting (XSS) en injection attacks, bijvoorbeeld SQL injection. Deze aanvallen worden gebruikt voor van alles, van gegevensdiefstal tot defacen van websites of verspreiding van malware.

Deze module kan automatisch deze Content-Security-Policy headers genereren voor je, nadat je de juiste instellingen hebt gedaan in het Drupal backend

https://www.drupal.org/project/csp

3. Comment Notify

Stuur een notificatie naar een Drupal content manager of administrator zodra een reactie geplaatst wordt door een website bezoeker. Dit kan voor zowel anonieme als ingelogde bezoekers ingesteld worden.

https://www.drupal.org/project/comment_notify

4. Rest menu items

Headless Drupal blijft hot, en terecht. Wij maken er ook enthousiast gebruik van in een aantal installaties, waaronder deze website.

Deze module helpt bij het opzetten van een endpoint om de menu items uit te serveren. Er kunnen query parameters meegegeven worden om te bepalen hoeveel menu level je terug krijgt in deze web service.

De json data kan je gebruiken om een menu op te bouwen in een frontend framework als React, Angular of in een iOS / Android App.

https://www.drupal.org/project/rest_menu_items

5. Breakpoints

Een website die niet responsive is telt al een tijdje niet meer mee. Deze Drupal module faciliteert management van breakpoints voor je responsive web design, waardoor de juiste media queries gezet worden.

https://www.drupal.org/project/breakpoints

6. Simple hierarchical select

Als een content manager een selectie moet maken waar categorieën en subcategorieën bij komen kijken, dan is deze manier van selectie wellicht handig.

https://www.drupal.org/project/shs

7. Block Visibility Groups

Binnen het block systeem in de Drupal core kan je per block instellen waar dat block moet komen en wie het block mag zien. Maar dit kan niet in bulk voor een groep blocks.

Met deze Drupal module kan je wel blocks in groeperen en per block group configureren wie wat mag zien.

https://www.drupal.org/project/block_visibility_groups

8. Empty Page

Als wij een pagina binnen een Drupal systeem ontwikkelen, dan voegen we een route toe en faciliteren via controllers, services en Twig files de html dynamisch naar het scherm van de bezoekers van betreffende pagina in Drupal. Hierin kunnen we eventueel met blocks werken, zodat data via blocks juist gepositioneerd wordt.

Als je geen ontwikkelaar bent, dan zou je in bepaalde use cases ook een pagina met behulp van alléén blocks op willen maken. Bijvoorbeeld een landing page, waar geen node nodig is.

Binnen de Drupal core kan je in zo'n scenario nergens je blocks kwijt omdat je geen pagina hebt om het block te plaatsen.

Deze module lost dat op doordat je hierin een empty page kan maken en op die empty page je blocks kwijt kunt.

Zo hoef je niet omslachtig een lege node aan te maken, wat onnodig overhead genereert. Precies het probleem wat de ontwikkelaar van deze module aangeeft op te lossen.

https://www.drupal.org/project/empty_page

9. EU Cookie Compliance

Toont een melding in de footer van je Drupal site, waarin bezoekers akkoord kunnen geven op je cookie beleid, of door kunnen klikken voor meer informatie. Deze module maakt het je makkelijk om aan deze verplichte melding te voldoen.

https://www.drupal.org/project/eu_cookie_compliance

10. Shield


Deze module gebruiken we in bijna elke Drupal installatie voor de test -en acceptatie omgevingen. Het schermt je volledige website af voor de buitenwereld, tenzij je dus inlogt. Zo kunnen anonieme bezoekers en zoekmachines niet bij onze testomgevingen komen, maar wij en klanten wel.

We deden dit hiervoor altijd middels het handmatig aanmaken van een .htpasswd, wat nogal omslachtig is en lokaal in de weg zit gezien je het ook in .htaccess moet opnemen.

https://www.drupal.org/project/shield

11. Access unpublished

Binnen de Drupal core is het niet mogelijk om unpublished content te laten bekijken door anonieme website bezoekers. Ook niet als zij een directe link naar betreffende content item hebben.

Middels deze module is dat wel mogelijk, handig voor bijvoorbeeld content checkers en proofreaders: zij hoeven dan geen inlog te krijgen op de website, handig en veilig.

(!) Let wel op dat de pagina geïndexeerd kan worden door Google en daardoor vindbaar wordt voor iedereen. Houd een draft dus niet te lang open op deze manier en deel zeker geen gevoelige informatie via deze weg.

https://www.drupal.org/project/access_unpublished

12. Anonymous login

Wij ontwikkelde eerder soortgelijke custom code in Lus om deze functie te benutten: alle niet-ingelogde bezoekers redirecten naar de login pagina.

Deze Drupal module biedt soortgelijke functie: hij redirect ook alle anonieme bezoekers, maar alleen als die een admin path opvragen. Als iemand vervolgens succesvol inlogt dan wordt degene doorverwezen naar het originele admin path waar hij op binnen kwam.

https://www.drupal.org/project/anonymous_login

13. Simplelogin

Genereert een andere inlogpagina, die simpeler, compacter en potentieel mooier is. Ook kan je er een mooie achtergrond afbeelding plaatsen en het in eigen huisstijl zetten.

https://www.drupal.org/project/simplelogin

14. BeautyTips

Laat makkelijk tips zien als iemand over een bepaalde tekst hovered met zijn muis, soortgelijk als de Bootstrap tooltip.

https://www.drupal.org/project/beautytips

15. Schema.org Metatag

Een goede toevoeging aan je website voor zoekmachine optimalisatie (SEO). Het verrijkt je html, waardoor zoekmachines jouw Drupal systeem beter kunnen 'lezen'.

https://www.drupal.org/project/schema_metatag

16. Login History

Drupal core houdt geen geschiedenis van logins bij, maar er zullen ongetwijfeld scenario's zijn waar dit nodig is. Deze module genereert onder andere:

  • globaal overzicht van alle logins;
  • logins van individuele gebruikers;
  • een block met inlog gegevens voor de bezoekers zelf: wanneer was zijn laatste login en een link naar zijn login geschiedenis.

https://www.drupal.org/project/login_history

17. Minify JS

Drupal optimalisatie tool, deze module minified al je javascript, waardoor javascript bestanden kleiner worden en minder zwaar voor een netwerk en browser.

https://www.drupal.org/project/minifyjs

18. Minify Source HTML

Soortgelijk aan 'Minify JS', maar dan voor de gegenereerde html.

https://www.drupal.org/project/minifyhtml

19. IMCE Rename (D8)

IMCE is een populaire tool voor Drupal content managers om media mee te beheren. Deze plugin zorgt ervoor dat namen van bestanden gewijzigd kunnen worden, om zo alles beter te kunnen ordenen en beheerbaar te maken.

https://www.drupal.org/project/imce_rename_plugin

20. Create and continue

Een handige tool als je veel content moet invoeren, deze module genereert een extra button onder je content item: 'Save and add another'. Zo kan je direct door met invoeren van een nieuw item.

https://www.drupal.org/project/createandcontinue

21. Block Refresh

Wil je informatie in een Drupal block up-to-date houden, zelfs als de pagina niet ververst wordt door de bezoeker? No problem, deze module faciliteert het voor je:

  • automatisch de content in een block verversen na xx seconden;
  • bezoekers kunnen handmatig verversen;
  • verversen na page refresh;
  • optioneel uit te sluiten in Drupal's page cache of elke externe cache (bv Varnish).

https://www.drupal.org/project/block_refresh

22. Single Date Time Picker

Makkelijk invoeren van een benodigde datum én tijd.

https://www.drupal.org/project/single_datetime

23. Secure Login

Forceert inloggen via een veilige lijn, om zo privacy van je bezoekers optimaal te beschermen.

https://www.drupal.org/project/securelogin

24. Menu target

Niet aanwezig in Drupal core: aangeven per menu item of de aangeklikte link voor bezoekers moet openen in huidig -of een nieuw venster. Installeer deze module et voilá: aangeven of je in nieuw of huidig venster wilt laten openen.

https://www.drupal.org/project/menu_target

25. Persistent Login

Drupal kent standaard geen ‘remember me’ functie op het inlogscherm. Deze module biedt deze functie wel en hierbij zijn extra veiligheidsmaatregelen zijn genomen: hij implementeert namelijk niet een standaard langere ‘PHP session time’.

Volgende onderdelen kan je instellen:

  • hoe lang de gebruikers ingelogd blijven, voordat ze opnieuw hun gegevens moeten invoeren;
  • hoe veel persistente sessies mag één Drupal user tegelijk hebben;
  • instellen bij welke pagina’s de gebruiker wél opnieuw moet inloggen, bijvoorbeeld: wanneer je je gebruikersgegevens wilt wijzigen.

https://www.drupal.org/project/persistent_login

26. CacheExclude

Zonder ingeschakelde page caching zal een Drupal website niet enorm veel bezoekers aan kunnen, vandaar dat het standaard aan staat. Maar het kan voorkomen dat je bepaalde pagina's uit wilt sluiten van die cache, omdat er altijd realtime / dynamische data getoond moet wordt. Bij behoefte aan een random afbeelding of bijvoorbeeld wisselende content, check dus deze Drupal module even.

https://www.drupal.org/project/cacheexclude

Wrap up

Alright, that's it for now. Ik hoop dat je hiermee je Drupal site verder kunt verrijken, optimaliseren en meer gebruiksvriendelijk maar.

Vragen? Let me know!

Comments

Stay up-to-date

Ontvang onze Lucius nieuwsbrief direct in je inbox
en wees als eerste op de hoogte van nieuwe artikelen!

Nóg meer
kennis nodig?

Check ons ons blog archief >