Dit weekend ontstond er kennelijk een storing bij mijn hostingprovider; Space1.nl. Op zich niet zo’n probleem, kan ten slotte gebeuren, zeker als medewerker van een technische dienstverlener weet ik dat storingen nou eenmaal voorkomen. Zolang dat niet te vaak is, zal je mij niet horen.
Toch uitte deze storing zich op een vreemde en inconcistente manier. Het zelf ontwikkelde SiteManager systeem maakt op verschillende plekken gebruik van een datum. Bijvoorbeeld in dit blog gedeelte. Boven aan ieder blogje staat netjes een datum. Het formaat waarin je de datum kan tonen, in dit geval in de vorm van “22 Apr 2007”, kan je op twee manieren vorm laten geven. Of in je SQL statement, op het moment dat je de datum uit de database trekt, of bij het generen van de pagina’s.
Beide heeft verschillende voordelen, wanneer je e.e.a. direct vanuit je SQL statement doet, ben je er direct vanaf. Voordeel is bijvoorbeeld dat je geen extra programmeer code nodig hebt om de datum vorm te geven. Wat je vanuit de database krijgt, kan je direct verwerken in je te generen pagina. Nadeel is echter dat je ook direct aan het gebruikte formaat vast zit en dus dat er weinig flexibiliteit in zit.
Wanneer je het formaat aanpast tijdens het generen van de pagina dan heeft dat als nadeel dat iedere keer dat je ergens een datum gebruikt (blogs, comments op blogs, gastenboek, etc.) je telkens dezelfde methode dient aan te houden. Dit kan eigenlijk alleen gegarandeerd worden door een functie te schrijven die je telkens opnieuw aanroept. In deze functie definieer je vervolgens op welke wijze je datum formatteerd.
Voordeel van de laatste methode, zo zat ik mij vandaag te bedenken, is dat je natuurlijk wel veel flexibeler met het datum formaat kan omgaan. Stel, iemand wil op een website liever het datum formaat “Zondag 22 april 2007” aanhouden, dan is dat mogelijk met een beetje slim programmeer werk. Of wil je liever “April 22, 2007”, zoals dat in het buitenland nog al eens gebruikt wordt, dan kan dat. Zolang je de formaten maar in de geschreven functie vastlegd.
En dus leidt de verstoring van dit weekend tot een volledig nieuwe functionaliteit. Om de verstoring een klein beetje voor te zijn, ben ik begonnen met het formaat “22 Apr 2007” te definieren, zodat in ieder geval alle pagina’s het weer netjes doen. Daarna gaan we uiteraard aan de slag met de rest.