Op deze pagina komen mijn eigen ervaringen met Drupal. Drupal is een mooi systeem, maar soms loop je toch tegen problemen aan. Deze pagina is voor mezelf als geheugensteun en om ervaringen te delen.
Installeren en updaten
Updaten staat beschreven op: http://drupal.org/upgrade/tutorial-introduction. In feite komt het neer op het veilig stellen van de site en bijbehorende data, dan het kopieren van de nieuwe versie over de oude heen en het uitvoeren van update scripts.
Errors weergeven
Om tijdelijk errors weer te geven, voeg aan index.php na <?php het volgende toe:
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
Modules uitschakelen
Als een module problemen geeft en de site niet werkt kunnen modules worden uitgeschakeld door in de Drupal database, in de tabel system in de rij van de module de status van 1 in 0 te veranderen.
PHP5
Bij mijn host (Hosting2go) is PHP5 niet standaard ingeschakeld. Inschakelen werkt m.b.v. een regel in de .htaccess van de site. Een Drupal core update kan de .htaccess overschrijven waardoor PHP5 is uitgeschakeld. Bepaalde modules werken dan niet meer waardoor de totale site kan blokkeren. Om het opnieuw in te schakelen:
AddHandler x-httpd-php5 .php
toevoegen aan de .htaccess.
Backup and Migrate
De Backup and Migrate module is er om relatief eenvoudig alle Drupal data (exclusief niet noodzakelijke zaken als cache) te backuppen. Ook is het de enige manier waarmee het me is gelukt een Drupal installatie van een lokale (Windows) server naar een online (Linux) server te verplaatsen.
Pagina's beheren
Interne links
Probleem:
Een pagina is onder node/# en onder een alias beschikbaar waardoor interne links niet altijd goed uitkomen. (Voorbeeld: een link naar de pagina met alias webdesign komt vanaf /node/# uit in /node/webdesign en komt vanaf een pagina met enkel alias uit op /webdesign).
Oplossing:
Maak de links goed voor gebruik met het alias en gebruik de module Global Redirect om automatisch van /node/# naar het alias door te sturen. Voor gebruik in templates (PHP code) is het veiliger om de functie base_path() te gebruiken om het relatieve adres van het begin van de site te krijgen.
Code editor
Als een link verschijnt als [url=...] etc. staat waarschijnlijk in de WYSIWYG editor de optie BBCode aan. Dan wordt bepaalde code automatisch in dit speciale formaat gezet. Als er geen BBCode filter is geïnstalleerd wordt dit niet goed weergegeven.
Nuttige modules
Hieronder volgt een lijstje van Drupal uitbreidingen die volgens mij erg nuttig zijn.
- cck, om eigen inhoudtypes te maken, ook nodig voor sommige andere plugins
- views, om het uiterlijk van pagina’s aan te passen, vooral als ze uit meerdere nodes zijn samengesteld.
- Administration menu, een handige manier om als administrator het menu te bedienen
- advanced_help, spreekt voor zich
- calendar, voor een kalender uiterlijk om te werken met een datum type inhoud.
- date, nodig voor voorgaande, voegt het datum inhoudtype toe.
- menu_block, nieuwe menu-blokken aanmaken en geeft ook de mogelijkheid automatisch een hoofd/submenu aan te maken
- contemplate, hiermee kun je beïnvloeden hoe dingen worden geprint (bijvoorbeeld divjes er omheen)
- Global Redirect, deze module geeft een pagina met alias een doorverwijzing van het /node/# adres naar de alias.
- Backup and Migrate, Drupal database backup- en migratiehulp
- rules, om allerlei taken (zoal mail versturen) automatisch uit te laten voeren. Voor een introductie: zie http://vimeo.com/10399747.
Deze uitbredingen zijn allemaal terug te vinden op de Drupal modules pagina.

