Welkom bij deze nieuwe serie op ons weblog waar we de ontwikkeling van de nieuwe versie van ons CMS, de Webmagiër, gaan volgen. Deze nieuwe versie maken we vooral omdat de huidige versie niet meer goed aansluit bij Scrum, onze nieuwe methodologie van ontwikkelen.
Waarom een nieuwe versie?
Allereerst willen we benadrukken dat de huidige versie van de Webmagiër een goed werkend systeem is waarop we al zeer veel succesvolle implementaties hebben gedaan.
We hebben binnen Insyde echter sinds halverwege 2010 de Scrum methodologie omarmd (voorheen maakten we altijd gebruik van de watervalmethode. Binnenkort kunt u op ons weblog meer lezen over de Scrum methodologie).
Scrum is een agile methodologie. Tijdens de ontwikkeling is het dus belangrijk dat je snel kunt inspelen op nieuwe inzichten en veranderingen van prioriteit. De huidige versie van de Webmagiër leent zich daar niet zo goed voor. Er bestaan teveel afhankelijkheden tussen stukken code en de scheiding tussen data, presentatie en businesslogica is niet zo strikt.
Daarnaast draait de Webmagiër al enige tijd mee en hebben we vrij veel legacy code. Dit vanwege backwards compatibility met oudere versies van PHP en opgeleverde websites en systemen.
Tenslotte krijgen we van klanten steeds vaker de vraag waarom de Webmagiër niet Open Source is. Ook intern lopen we steeds vaker tegen het feit aan dat we veel dingen zelf ontwikkelen en moeten onderhouden. Vaak blijkt echter dat er ook al goed geteste standaardoplossingen of best practices beschikbaar zijn in het Open Source circuit.
Structuur
Vorige week zijn we met een team van 3 developers bezig geweest met het nadenken over hoe we de vernieuwde Webmagiër voor ons zien. We zijn hierbij gekomen tot de volgende structuur:

Op dit moment is de Webmagiër eigenlijk het framework, het CMS en de standaard websitecomponenten in één laag. Hierdoor is het voor ons vrij lastig om nieuwe functionaliteit toe te voegen en daarbij ook backwards compatibility te garanderen.
In de nieuwe versie worden zoveel mogelijk standaardtaken met betrekking tot data-access, routing en template rendering door een Open Source framework afgevangen. Hierop draait een Webmagiër schil: een verzameling hooks, tools en helper functies die ervoor zorgen dat we kunnen rapid prototypen en overall sneller kunnen ontwikkelen.
Het CMS zien we vanaf nu ook als een webapplicatie die wordt ontwikkeld op de Webmagiër, maar er verder wel los van staat. Ook de standaard websitecomponenten staan los van de Webmagiër en het CMS.
Het uiteindelijke CMS dat de klant gaat gebruiken is gebaseerd op het standaard CMS met eventuele custom uitbreidingen voor de specifieke wensen voor de klant. De website van de klant maakt zoveel mogelijk gebruik van onze standaard websitecomponenten, maar bevat ook custom uitbreidingen voor specifieke klantwensen.
Hoe nu verder?
Op dit moment zijn we druk bezig met het vergelijken van en experimenteren in Open Source frameworks. In de volgende stap gaan we verder in op onze wensen en eisen aan het framework en onze uiteindelijke keuze.
Reageer
Laat zien wie je bent met een Gravatar. Hiervoor dien je wel je e-mail adres in te voeren, deze zal echter nooit getoond worden. HTML is niet toegestaan. Een URL in je reactie toevoegen werkt wel.
