Welkom bij TheHotSeat, pseudoniem voor een Gentse freelance webontwikkelaar. Maar bovenal een blog over webdesign, webontwikkeling en (digitale) vormgeving
Upgraden naar ExpressionEngine 2.0
21 jan 2010•Wie mijn blog al een tijdje volgt, weet dat ik websites maak met ExpressionEngine, een krachtig contentmanagementsysteem. ExpressionEngine maakt het mijn klanten makkelijk om hun website van inhoud te voorzien. Tegelijk legt het CMS me geen designbeperkingen op. (Meer informatie daarover in dit artikel.)
Onlangs heeft ExpressionEngine een grondige upgrade gekregen. Eerder deze week vond ik de tijd om de gloednieuwe versie 2.0 (weliswaar nog in bèta) op mijn eigen website uit te testen. En wellicht had je helemaal niets gemerkt maar dit is de eerste blogpost die is opgemaakt in ExpressionEngine 2.0. Hoera!
Upgraden
Het upgradeproces is goed gedocumenteerd. Zorg er wel voor dat je de juiste documentatie gebruikt op de ExpressionEngine website. Het volstaat niet om op het Documentation menu-item te klikken want dan lees je de upgradeinstructies voor versie 1. Het duurde een tijdje vooraleer ik dat inzag.
Upgraden op zich was best eenvoudig: enkele mapjes ftp’en naar de juiste locatie, rechten instellen en dan via de browser naar een upgradepagina surfen waar ExpressionEngine de rest automatisch doet.

Na enkele seconden kreeg ik de melding dat de installatie van versie 2.0 geslaagd was.
Even de site checken
Probleempje: de relationships tabel in de database had blijkbaar geen upgrade gekregen waardoor relaties tussen blogposts niet werden overgezet. Ik gebruik die relaties onderaan elke blogpost (ook hieronder te zien) om links te leggen naar inhoudelijk verwante artikelen. Toen ik na de upgrade de website controleerde zag ik meteen dat die links allemaal om zeep waren.
Relatiesbug
Het ExpressionEngine support team heeft ondertussen bevestigd dat dit een bug is. Je kan de status van de bug hier volgen. Laat ons hopen dat het probleempje snel wordt verholpen. Wil je toch al upgraden en maak je ook gebruik van relaties tussen artikels? Dan is er een tussentijdse oplossing: open elke blogpost in het administratiepaneel en klik op Submit. Vervelend maar effectief.
Plugins, extensies en modules
Als je van plan bent om zelf de upgrade te doen, zorg er dan voor dat je goed weet welke add-ons je in versie 1 had geïnstalleerd. Je kan ze allemaal zien via het administratiepaneel. Controleer of ze compatibel zijn met de nieuwe ExpressionEngine versie. Na de upgrade kan je ze dan met een gerust gemoed opnieuw installeren. Als je dat niet doet dan verlies je uiteraard hun functionaliteit. In sommige gevallen kan dat leiden tot lelijke foutmeldingen, zeker wanneer je add-onafhankelijke tags hebt gebruikt in je templates.
Low NoSpam add-on
Zelf had ik alleen een probleempje met de Low NoSpam add-on: een fantastische extensie die comment spam blokkeert met behulp van Akismet. Low NoSpam bleek nog niet compatibel met de nieuwe ExpressionEngine versie. Maar gelukkig was NoSpam developer Lodewijk Schutte heel erg behulpzaam en mailde hij me een bètaversie van NoSpam. Die lijkt — voorlopig althans — uitstekend dienst te doen.
Verder had ik geen problemen met de weinige add-ons die ik op thehotseat.be gebruik. Ze bleken allemaal al compatibel te zijn met de nieuwe ExpressionEngine versie. Als je zelf wil upgraden en je twijfelt over de bruikbaarheid van bepaalde add-ons, dan is er dit mooi overzicht van EE2.0 compatibele add-ons.
En voilà!
Met uitzondering van de relatiesbug is de upgrade heel vlot verlopen. ExpressionEngine 2.0 draait nu soepel achter de schermen van deze website. Aan de zichtbare buitenkant is alles bij het oude gebleven. Aan de achterkant blinkt nu dit gloednieuwe administratiepaneel:

Dit administratiegedeelte bevat trouwens nog heel wat vervelende kinderziektes, maar daar blog ik later ongetwijfeld nog eens over.
Categorieën: ExpressionEngine,
Over titels en witruimte
3 mei 2009•Op het web is het vaak wat behelpen wanneer het op typografie aankomt. Letters en teksten worden door de verschillende browsers en platformen anders weergegeven. En zowat elke tekst is dan nog eens vrij updatebaar door de webmaster. Als ontwerper is het dan ook moeilijk om webtekst voor elke eindgebruiker met zekerheid mooi vorm te geven.
Neem nu even de titel van dit heel eenvoudig ontwerp voor een nieuwspagina:

De titel ziet er goed uit. Maar wat als een klant via het contentmanagementsysteem van zijn site een langere titel ingeeft? Dan kan er wel eens een typografisch probleempje optreden:

Zoals je ziet verschuift het laatste woord van de titel naar een nieuwe regel. Omdat dat laatste woord heel kort is, bestaat die regel uit teveel witruimte. De titel staat daardoor helemaal niet meer mooi en is minder makkelijk te lezen.
Een oplossing
Shaun Inman schreef al in 2006 een makkelijk te implementeren php-functie die het probleem gedeeltelijk oplost door een harde spatie (non-breaking space) tussen de laatste twee woorden van de titel te plaatsen. Die zorgt er voor dat die twee altijd op dezelfde regel blijven. Het resultaat zie je hieronder:

Ongetwijfeld veel beter. Alleen kan het in bepaalde gevallen ook minder goede resultaten opleveren. Als het laatste woord lang genoeg is zoals in het voorbeeld hieronder, dan is het soms niet nodig om de harde spatie te gebruiken die je in het voorbeeld ziet toegepast:

Uiteraard is die laatste titel niet per sé slecht gezet, maar ik hou niet zo van de vele witruimte op beide regels. Ook de volgende situaties komen wel eens voor:

In dit laatste voorbeeld is de tweede regel langer dan de eerste regel en dat is natuurlijk best helemaal te vermijden: het lijken twee titels te zijn, of een titel en een onderschrift.
Een aanpassing
Eén van mijn laatste projecten was het ontwerpen en ontwikkelen van een nieuwswebsite waar dagelijks meerdere artikels gepost worden. Omdat ik vrij veel met een van de bovenstaande titelproblemen te kampen had, heb ik een kleine en eenvoudige aanpassing aan Inmans php-functie toegevoegd.
Ze laat me toe om een parameter op te geven: bestaat het laatste woord uit minder dan x-aantal tekens dan wordt er automatisch een harde spatie tussen het laatste en het voorlaatste woord geplaatst. Is het laatste woord een lang woord dan kan het dus eventueel alleen op de laatste regel staan.

Ik heb het gevoel dat dit in de meeste gevallen een mooier gezette titel oplevert. Het aantal tekens kan ik hoger instellen wanneer de kop veel ruimte in de breedte inneemt en lager wanneer de titel in een smalle ruimte gezet is.
Wil je het zelf eens proberen op je website? Download gerust de php-functie of de ExpressionEngine plugin. Extra suggesties of aanpassingen zijn trouwens meer dan welkom.
Categorieën: ExpressionEngine, Ontwerp, Typografie, Opinies,
Waarom ik koos voor ExpressionEngine als cms voor mezelf en mijn klanten
10 nov 2008•In een vorige blogpost had ik het over de reden waarom ik destijds gestopt ben met het ontwikkelen van mijn eigen handgecodeerd contentmanagementsysteem (cms) voor klanten. Vandaag wil ik je vertellen waarom ik uiteindelijk voor ExpressonEngine heb gekozen als vervangend cms.
Ontwerpen in alle vrijheid
ExpressionEngine laat me websites ontwerpen in alle vrijheid. Het systeem is zo flexibel dat het me de vrijheid geeft te ontwerpen en coderen op exact dezelfde manier waarop ik het altijd al heb gedaan. En dat is heel belangrijk voor mij. Pas wanneer de front-end perfect werkt zoals ik het wil, begin ik met de implementatie van ExpressionEngine als back-end. Het cms legt me dankzij het ingenieuze gebruik van templates, velden en tags geen enkele beperking op op het vlak van vormgeving of technische functionaliteit.
Krachtig genoeg voor de meeste websites
ExpressionEngine is heel krachtig en aanpasbaar zodat 95% van de websites die ik ontwikkel uitgewerkt kunnen worden met ExpressionEngine als back-end. Geen enkele websitestructuur bleek tot nu toe niet te passen in het EE plaatje. Daarenboven laat ExpressionEngine me toe om veel sneller de meestgevraagde websitefuncties (ik denk aan contactformulieren, weblogs of fotogalerijen) aan mijn klanten aan te bieden, én is het uiterst zoekmachinevriendelijk.
Eenvoudig aan te leren
ExpressionEngine werkt heel intuïtief en was voor mezelf heel eenvoudig om aan te leren. Ik lieg niet wanneer ik je vertel dat ik in één dag in staat was om een eenvoudige bestaande website gebruiksklaar en updatebaar te maken via ExpressionEngine. Hoewel de broncode van EE vrij beschikbaar en aanpasbaar is, is het cms niet gratis te gebruiken in een commerciële omgeving. Dat hoeft in mijn ogen niet meteen een nadeel te zijn: als wederdienst kan je rekenen op hun uitstekende uitgebreide documentatie en de technische ondersteuning die je als EE klant krijgt is tot nu toe ongelooflijk snel en to the point gebleken.
Gebruiksvriendelijk voor mijn klanten
Op het eerste zicht leek de back-end mij klantonvriendelijk en dat is en was dan ook het grootste minpunt aan Expression Engine. Het is vaak wat zoeken naar de meest banale opties en onderdelen. Maar gelukkig kan je het cms vrij goed aanpassen via een uitgebreid rechtensysteem zodat mijn klanten toch op een overzichtelijke en duidelijke manier hun weg vinden in het updategedeelte van hun websites. Dit is essentieel in mijn ogen. Ik wilde een cms dat ook voor computerleken eenvoudig te gebruiken is.
Ik kan nog een tijdje doorgaan maar de bovenstaande punten zijn voor mij de meest belangrijke. Ter informatie geef ik je nog een lijstje mee van andere contentmanagementsystemen die ik meer of minder uitgebreid heb getest: CMS Made Simple, Modx, Wordpress, Joomla!, Textpattern, Plone en Drupal. Om één of meerdere van bovenstaande redenen hebben deze het echter niet gehaald.
Categorieën: ExpressionEngine, Opinies, Webomgeving,
Wat je zelf doet doe je daarom niet beter
29 aug 2008•Tot voor kort bood ik mijn klanten een eigen handgemaakt contentmanagementsysteem (cms) aan. Het was meer dan degelijke software, ontwikkeld in PHP, die de webmaster op een intuïtieve manier toeliet de website van zijn organisatie te onderhouden met teksten, foto’s en andere multimedia.
De keuze om, anno 2003, te beginnen met de ontwikkeling van een eigen cms was vrij snel gemaakt. Er was in die tijd nu eenmaal geen software op de markt die voldeed aan mijn (ik dacht nochtans vrij voor de hand liggende) eisen. Ik wilde een cms dat:
- gebruiksvriendelijk was voor mijn klanten
- krachtig genoeg was om ook voor grotere bedrijven oplossingen te bieden
- me websites liet ontwerpen in alle vrijheid
“Wat niet bestaat, maak ik dan maar zelf”, was mijn redenering, gestuwd door de groeiende vraag van klanten naar onderhoudbare websites. Maar een cms programmeren is één ding, het constant up-to-date brengen met features die de klant de mogelijkheid geven z’n website een moderne uitstraling te doen geven is iets anders.
Door de jaren heen stak ik meer en meer tijd in het aanpassen van het cms, iets wat voor een freelancer als mezelf natuurlijk geen sinecure is: er valt altijd wel zoveel te doen, te leren en te onderhouden. En een cms ontwikkelen was nu niet bepaald het perspectief dat ik voor ogen had toen ik de stap in de freelancewereld zette.
Zelfreflectie
En dan komt er plots een moment waarop je beseft dat je eigenlijk veel betere software achternaholt. Want ondertussen was het internetlandschap natuurlijk al grondig veranderd. Waar een cms in 2003 een luxe was, is het nu een noodzaak geworden voor elke website. Het resultaat is dat er vandaag de dag tientallen uitstekende contentmanagementsystemen op de vrije markt zijn, die wél voldoen aan mijn bovenstaande eisen. Systemen waar soms veel geld en mankracht achter zit, gemaakt door firma’s of community’s die van een cms hun core business hebben gemaakt.
Tijd voor de volgende stap
En de volgende stap kan je al raden: met wat misplaatste melancholie besliste ik enkele maanden geleden om mijn eigengebreide cms vaarwel te zeggen en over te stappen op één van de vele verkrijgbare alternatieven. Het vergde wat tijd om me het cms eigen te maken, maar het was één van de beste beslissingen die ik tot nu toe genomen heb:
- De tijd die ik uitspaar met het ontwikkelen van features voor mijn eigen cms kan ik investeren in nieuwe, meer uitdagende projecten.
- Ik kan mijn klanten een cms aanbieden dat voldoet aan eerder vermelde eisen: gebruiksvriendelijk, krachtig, flexibel.
- Ik kan mijn klanten de zekerheid bieden van een cms dat op grote schaal getest en gebruikt wordt.
- Een team ontwikkelaars concentreert zich nine-to-five op nieuwe features voor het cms zodat ik met vertrouwen aan mijn klanten kan vertellen dat hun software altijd up-to-date zal zijn.
- ...
Sommige beslissingen liggen zo voor de hand dat je jezelf de vraag stelt waarom je ze niet vroeger hebt genomen. Over een win-win situatie gesproken.
Categorieën: ExpressionEngine, Opinies,
Over
TheHotSeat is Thomas Byttebier, freelance webontwikkelaar en grafisch ontwerper.
Op deze website blog ik over alles wat met webdesign en digitale vormgeving te maken heeft. Meer informatie over mij.
RSS Feed TheHotSeatLaatste blog posts
- Upgraden naar ExpressionEngine 2.0
- Hoe het ontwerp van Transistor tot stand kwam
- Transistor: radio op de iPhone
- Over HTML5
- Scrollen in het oneindige
Laatste reacties
- Hendrik op Upgraden naar ExpressionEngine…
- Thomas Byttebier op Hoe het ontwerp van Transistor…
- Thomas Byttebier op Upgraden naar ExpressionEngine…
- Kevin op Upgraden naar ExpressionEngine…
- Frederik Severijns op Hoe het ontwerp van Transistor…
Categorieën
Alle • ExpressionEngine • iPhone • Transistor • Marketing • SEO • Ontwerp • Typografie • Ontwikkeling • jQuery • PHP • Zend Framework • Opinies • Overige • Photoshop • Webomgeving