Mijn verlanglijstje voor Drupals toekomst

Met sinterklaas voor de deur (als ik de pepernoten in de supermarkt moet geloven) en nu Drupal 7 gestalte begint te krijgen wordt het tijd voor een verlanglijstje voor wat ik in de volgende Drupal releases graag zou zien verschijnen.

1190808104158.jpg

  • Beter Templating Systeem

Een van de volgende stappen die hopelijk in de toekomst gemaakt worden aan Drupal is een beter templating systeem. Een templating systeem als Phptemplate waarbij je zonder problemen php code in de templates kan plaatsen is niet echt netjes volgens het MVC principe. Code en layout zouden gescheiden moeten worden en door het Phptemplate systeem wordt dit niet echt afgedwongen door Drupal. Hopelijk wordt dit in de toekomst nog verbeterd door het (her)introduceren van een echte templating engine zoals Smarty.

Een ander groot voordeel van Smarty boven Phptemplate is dat themers geen PHP hoeven te leren. Wat je voorheen voornamelijk zag in Drupal discussies op Drupal.org waren developers die al PHP kunnen, die in PHP dromen, die beslissingen namen over Drupal. Maar Drupal is nu verder dan dat. Professionele bedrijven ontwikkelen websites voor (grote) bedrijven in Drupal. Er wordt door de project manager een beroep gedaan op verschillende functies zoals module developer, hosting administrator en web designer. Deze designers zijn professionals in photoshop, html en css. Maar vaak ontbreekt de ervaring binnen PHP, for-loops, debugging, arrays, objecten en vooral de kosten van een extra SQL query en het cachen van data.

Door een template systeem als Phptemplate beperk je de vrijheid van een designer terwijl het fundament onder de keuze voor Phptemplate nu juist vrijheid voor de ontwikkelaar was. Iemand die al PHP kan programmeren kan zonder problemen een extra variabele naar de Smarty engine sturen. Iemand zonder PHP kennis heeft behoorlijk wat moeite om uit Drupal een variabele te krijgen.

Want zeg nu zelf wat ziet er netter uit? Phptemplate...

<div id=”breadcrumbs”><?php if ($breadcrumb) { print $breadcrumb; }?></div>

...of Smarty...

<div id=”breadcrumbs”> {$breadcrumb}</div>
  • Classes en Objecten

Als Java ontwikkelaar ben ik opgegroeid in een wereld met Classes en Objecten. Nu is het niet volledig correct om te zeggen dat Drupal niet object georiënteerd is aangezien content typen eigenlijk classes zijn en nodes zijn objecten. En het hook systeem is eigenlijk een overerving systeem zoals ook in OO-talen normaal is. Maar toch vaak verlang ik naar een systeem waarbij ik een bestaande module kan pakken en een methode uit deze module kan wijzigen zonder dat ik de module hoef te wijzigen. Bij theme functies kan dit al maar ik zou ook graag gewoon een normale functie van een module kunnen overriden. Ik denk dan aan een info file waarbij je iets doet als dit:

dependencies[] = “fckeditor”
overrides[] = “fckeditor”

En dan in deze module herdefinieer je bepaalde fckeditor editor functies. Op deze manier wordt Drupal een stuk beter te onderhouden als je modules wijzigt.

Wijzigingen als deze kunnen Drupal 8 een extra boost geven zodat ook grotere bedrijven over zullen stappen naar Drupal. Want Drupal is met Drupal 7 al bijna perfect voor de traditionele webdesigner die alles doet van theming tot php coding maar voor grotere development teams kan aan Drupal nog wel het een en ander vervolmaakt worden.

4 visitors responded

  • 1. Door Albert (not verified) 20 Nov, 2008 | Helaas, door de economische
     

    Helaas, door de economische crisis moet iedereen inleveren - het wordt een sobere sinterklaas en kerst en dit soort verlanglijstjes kunnen dus echt niet!

    But seriously, het lijkt me inderdaad ook erg handig wanneer je elke functie zou kunnen overriden, niet alleen theme_functies en hooks. Geeft natuurlijk wel allemaal problemen met upgrades als je zoiets mogelijk maakt...

  • 2. Door Johnny 20 Nov, 2008 | dat probleem heb je
     

    dat probleem heb je eigenlijk ook al met theme functies want als daar iets aan de functie veranderd dan werkt je overridden theme functie ook niet meer.

    maar ik denk dat module functies vaker wijzigen dan theme functies dus dit zal inderdaad een punt zijn waar je dan rekening mee moet houden.

  • 3. Door Anonymous (not verified) 02 Mar, 2009 | ik heb geen problemen met
     

    ik heb geen problemen met het maken van de templates.. ik hou de code netjes in de modules en gebruik alleen jquery en html in de tamplates. ik weet dat je in de templates php codes kan plaatsen maar dat light bij jezelf of je dat ook doet.. ik doe het niet het heet niet voor niets template.

  • 4. Door Johnny 02 Mar, 2009 | een drupal template kan
     

    een drupal template kan alleen maar gemaakt worden met php codes erin. je moet namelijk altijd variabelen uitprinten in je template

  • Post new comment

    The content of this field is kept private and will not be shown publicly.
    • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <h1> <h2> <h3> <br> <br/> <p> <img>
    • Lines and paragraphs break automatically.
    • Web page addresses and e-mail addresses turn into links automatically.