Netsensei

Much Ado About Nothing

Backend

WordPress 3.0

Hoera! WordPress 3.0 “Thelonious” is uit! Feestje! Upgraden maar!

Belangrijke wijzigingen? Een volledig nieuwe look voor de backend en Twenty-Ten vervangt Kubrick als default theme zijn de eerste dingen die opvallen. Maar belangrijker is dat Wordpres MultiUser en WordPress nu één zijn. Je kan dus meerdere blogs opzetten vanaf dezelfde installatie.

De, naar mijn mening, belangrijkste toevoeging is dat je naast pages en posts ook zelf je eigen inhoudstypes kunt bouwen. Da’s een eerste, bescheiden stap in de richting van wat Drupal’s kunstjes met content types en content fields. Drupal 7.0 heeft die begrippen nog verder doorgetrokken in zijn Fields API. Nu, als je naar de rauwe code van WordPress kijkt, dan zal je al snel merken dat daar (en elders) nog veel, heel veel, werk in gaat kruipen om een unified API te bouwen die op eenzelfde niveau staat. In versie 2.x waren er wel al een aantal plugins zoals PodsCMS, maar die bieden niet dezelfde flexibiliteit en gebruiksvriendelijkheid.

Een succesvol CMS is meer dan alleen maar de software. Het gaat ook om community. En dat heeft Matt Mullenweg duidelijk begrepen. Ze doorbreken de development cycle even om de focus te leggen op het verbeteren van documentatie (codex.wordpress.org), de plugin repository en what-not. WordPress.org kent immers het centrale begrip “issue queue” zoals dat op drupal.org bestaat, niet. Nochtans is een centrale plaats om bugs, features,… per project/module te melden dé kern van de zaak als het gaat om de participatiekracht van de community te maximaliseren.

Naar mijn mening blijft WordPress net dat: een uit de kluiten gewassen blogging tool waar Drupal ontegensprekelijk een flexibele blokkendoos of content management framework is. Wil dat zeggen dat WordPress ondergeschikt is aan Drupal? Verre van. Maar met WordPress stoot je gewoon veel eerder tegen grenzen dan met Drupal als het gaat om de implementatie van een site die veel meer wil zijn dan alleen maar een blog.

En ondanks de verbeteringen in WordPress 3.0 blijft het uitkijken naar wat de toekomst zal brengen.

Interfaces

Hm. OOP programmeren is heel erg fijn. Alleen heb ik nog nooit ‘advanced trickery’ nodig gehad. Maar vandaag ben ik toch verzeild geraakt in een situatie waar ik interfaces in PHP 5.x op een nuttige manier kon aanwenden: abstractie maken van een database backend!

Het verhaal gaat als volgt: een bepaald object A krijgt bij inistantiëring een ander object B als argument mee. B zorgt voor de connectie en dataoverdracht met een database backend. Zoals we allemaal wel weten heb je daar een pleiade aan mogelijkheden: MSSQl, MySQL, PEAR, PostGreSQL,… en dan vergeet ik er nog wel een paar. Omdat ik natuurlijk niet kan inschatten aan welke database men A zou willen koppelen, heb ik een interface gemaakt waaraan iedere database object B moet voldoen wil een instantie ervan kunnen worden doorgegeven als argument aan A.

Het gevolg is dus dat ik mij niet meer druk hoef te maken over honderd-tig mogelijke databaseobjecten, errorhandling op dat niveau,… Dat is nu voor diegene die ooit de koppeling zou willen leggen. En die heeft enkel maar de regeltjes te volgen die ik afdwing in een goedgedocumenteerde API en presto!

Het is fijn soms eens het licht te zien!

« Vorige blogposts Pagina 1 van 1 pagina's