Ny blog: Version2's udviklingschef deler CMS-erfaringer

Version2's nye blogger er hentet fra de interne rækker. Casper Thomsen er chef for digitale medier i Mediehuset Ingeniøren og vil blogge om content management-systemer, digitale medier og den mobile revolution.
Casper Thomsen, chef for digitale medier på Version2 Illustration: Michelle Bea Lund

Hvad er din professionelle baggrund?

»Jeg er uddannet journalist fra Danmarks Journalisthøjskole i Århus og nåede at arbejde i alt 4 år og skrive omkring 1.800 it-artikler for Computerworld, inden jeg skiftede til Mediehuset Ingeniøren som digital udviklingschef.«

»Her har jeg de seneste seks år arbejdet med at udvikle vores digitale strategi og opbygge nye digitale platforme, mens jeg sideløbende har gennemført en HD i økonomistyring og procesledelse.«

»It har altid interesseret mig dybt, og jeg udviklede mit første website i 1996, hvilket senere bevægede sig i retning af et regulært CMS bygget i PHP og MySQL - med alt, hvad dertil hører af spaghettikode og sikkerhedshuller. Jeg elsker stadig at rode med teknikken på det niveau, og det har givet mig en god teknisk forståelse, selv om jeg fornuftigt nok ikke får lov at komme i nærheden af kode, der bliver brugt til noget seriøst.«

Hvilke projekter og opgaver arbejder du med nu?

»Her i mediehuset har jeg to primære kasketter - dels som redaktionschef for Version2, dels som chef for digital udvikling. På Version2 arbejder jeg sammen med vores erfarne redaktion om at udvikle Version2's redaktionelle profil samt vores blog-univers og øvrige community.«

»Som udviklingschef er jeg involveret i mange projekter. Blandt andet er vores to dygtige webudviklere nu gået i gang med flytte ing.dk til samme Drupal-platform, som version2.dk blev relanceret på sidste sommer, men baseret på teknikken responsive design - det er et enormt spændende projekt set i lyset af Ingeniørens indhold og tradition som det første danske netmedie tilbage i 1994.«

Hvad ser du som de største udfordringer på it-området?

»Fra min placering som udviklingschef er den største udfordring hastigheden af de forandringer, der sker. Det betyder, at der hele tiden er nye muligheder at forholde sig til og behov for en kraftig prioritering af indsatsen, ofte baseret på utilstrækkelig viden om, hvor tingene ender.«

»Generelt ser jeg en udfordring i at få it til at skabe den rette værdi og konkurrenceevne i vores samfund og erhvervsliv. Informationsteknologi er et fantastisk værktøj, men vi ser alt for mange eksempler på, at it-projekter fejler i forhold til brugerne eller er tænkt forkert helt fra begyndelsen. I det offentlige kan det være en succes, hvis et it-projekt leveres til tid og pris, uden at man kigger på, om det egentlig giver værdi i forhold til brugerne eller de ressourcer, der er brugt.«

»Endelig så jeg gerne en større bevidsthed om, hvor it er med til at flytte vores samfund hen. Mennesker skaber teknologien, og bagefter skaber teknologien mennesker. Teknologiske fremskridt har både fordele og ulemper, og vi har nok brug for en mere langsigtet tilgang til de løsninger, vi vælger. Men det er en meget stor diskussion at åbne op for.«

Hvilke tendenser oplever du på it-markedet lige nu?

»Ingen, der arbejder med digitale medier, kan lige nu komme uden om den mobile revolution, vi befinder os midt i. Da jeg i 2004 var it-journalist med ansvar for teleområdet, var det en stående joke, at hvert år siden 1999 havde været året, hvor mobilen ville slå igennem. Gennembruddet kom først, da Apple lancerede den første iPhone.«

»Nu ser smartphones og tablets ud til at vende op og ned på alt - indholdsstrategi, brugeroplevelse, forretningsmodeller. De fleste virksomheder og myndigheder i Danmark har slet ikke fået øjnene op for omfanget og hastigheden af den omvæltning.«

Hvad forventer du at bidrage med på Version2?

»I forvejen er jeg jo dybt involveret i både indhold og teknik på Version2, men som blogger håber jeg at give vores brugere et lidt bedre grundlag for at udvikle deres egen digitale strategi og træffe bedre beslutninger med værdi for både forretning og brugere.«

» Helt centralt bliver selvfølgelig den dialog, der er en naturlig del af alle blogs på Version2. Jeg glæder mig til at dele viden og blive udfordret.«

Læs Casper Thomsens første indlæg her

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (4)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Rasmus Schultz

Hej Casper,

Jeg håber du vil blogge om mere end dit gamle CMS, og om Drupal, der jo er næsten ligeså gammelt (og ligså fyldt med spaghettikode og sikkerhedshuller) som dit gamle CMS.

Der er mange, nye, og langt stærkere CMS på markedet, både på PHP, .NET og Java platforme - både når det drejer sig om koncept, performance, bruger venlighed, sikkerhed, og måske vigtigere end alt andet, arkitektur og udvikler-venlighed.

Når det drejer sig om arkitektur, kan Drupal ikke måle sig med de fleste nyere CMS, inden for de sidste 5 år - da der stort set ikke er sket nogen udvikling siden 2001. Drupal kører på den samme kerne, og bygger på de samme trætte koncepter, som altid.

Drupal har 11.000 moduler, bygget på en arkitektur der var designet til PHP4, og ikke har flyttet sig betydeligt siden da - og af samme årsag, heller aldrig kommer til at flytte sig.

Jeg forstår ikke mentaliteten med at bygget til fortiden. Der sker så mange begejstrende ting indenfor software og sprog, og især er der sket mange betydelige spring i PHP, der har fået nyt liv de sidste 2-3 år.

Hvor længe kan vi forsvare at slæbe rundt på så gammel teknologi? Flere og flere moduler øger bare den teknologiske gæld vi skylder, fordi det er svært at bryde med et så veletableret økosystem.

Lad os bygge til fremtiden!

  • 3
  • 3
Casper Thomsen

Hej Rasmus.

Tak for dit input.

Min blog bliver ikke en Drupal-blog, men et sted, hvor jeg vil fokusere på mere generelle problemstillinger på tværs af content management-systemer - specielt set i lyset af den øgede brug af mobile enheder.

Hvad angår Drupal, som vi benytter her på version2.dk og snart også på ing.dk: De fleste, der arbejder med Drupal, har et had-kærligheds-forhold til systemet. Drupal er kompleks, og mange ting kunne gøres nemmere, hurtigere og mere fleksibelt. Der er masser af dårlig kode i Drupal - både i kernen og de mange contrib-moduler.

Sandheden er dog, at Drupal for vores organisation med vores behov gør det let at bygge de ting, vi gerne vil, med en god struktur på den ret store mængde af indhold, vi løbende hælder i systemet - og samtidig har givet tilfredse brugere.

Du skriver, at Drupal har stået stille, men jeg oplever et system i fuld bevægelse. Arbejdet med Drupal 8 er godt i gang, og eksempelvis beslutningen om at basere sig på Symfony2 er en stor ændring med store konsekvenser. Du kan læse mere om ændringerne her - http://groups.drupal.org/drupal-initiatives

Jeg sidder i dag på konferencen Drupalhagen, hvor to kerneudviklere netop har præsenteret fremtiden for Typo3 - hvor der er mange spændende tanker. Jeg oplever, at både Drupal og alternativer som Wordpress, Joomla og Typo3 gennemgår store forandringer. Og i stigende grad er gode til at lære af hinanden.

Men det kunne være interessant at høre, hvilke systemer du ser som fremtidens bedste bud til content management? Det vil give et bedre grundlag for diskussion.

Mvh Casper

  • 2
  • 0
Rasmus Schultz

Integrationen med visse Symfony 2 komponenter er efter min mening et markedsførings-træk, der i det store hele ikke kommer til at ændre noget på selve arkitekturen i Drupal - det er ikke der, problemerne ligger i første omgang.

Selve modul-arkitekturen i Drupal er håbløst forældet, og vil aldrig ændre sig - at ændre på selve grundstenene i Drupal på nuværende tidspunkt, ville betyde at alle moduler skulle skrives om. Da den primære (eller i det mindste den opfattede) værdi i Drupal ligger i nogen af de vigtigste moduler og i moduler i det hele taget, ville det være en dødsdom. Så det kommer aldrig til at ske.

Drupal behandler funktions-navne som magiske strenge, for at implementere "hooks", så sender så arrays rundt mellem funktioner, fyldt med flere magiske strenge. Alle disse magiske strenge skal man finde i dokumentation, lære udenad, eller forsøge at gætte. Det er klodset og gør det utroligt nemt at lave fejl - især fejl som ikke giver nogen fejlmeddelelse. Det drager heller ingen fordel af nyere optimeringer i PHP 5.3 og 5.4, der kan spare betydelige mængder RAM og gøre afviklingen hurtigere, da disse optimeringer kun påvirker konkrete klasser/objekter.

Drupal gør det let at bygge - ingen argument der. Hvis det grundlæggende gør hvad du har brug for, og brugerne ikke klager, hvordan kan jeg så argumentere for, at det ikke er godt nok? :-)

Dries fandt i 2001 en meget simpel metode til at implementere event-drevet, modulær programmering i PHP. Drupal's success skyldes, at event-drevet udvikling gør det muligt at afkoble moduler, og/eller koble dem meget løst, hvilket giver en arkitektur, der kan skalere i kompleksitet, stort set op til den menneskelige begrænsning.

Drupal skylder med andre ord sin success til en ide - et mønster. Og derefter, længere nede af vejen, til de folk der byggede de moduler, som nu gør det let for dig at bygge og vedligeholde et website.

Drupal's implementation af den ide, er desværre forældet.

Hvis du vil se hvordan en moderne implementation af samme mønster kan se ud, så tag f.eks. et kig på ProcessWire:

http://processwire.com/

Jeg har allerede udviklet et par moduler i min fritid - det var nemt at lære, nemt at forstå, og langt hurtigere at udvikle. Og dermed en langt bedre oplevelse end at udvikle et Drupal-modul - hvilket jo ikke er en faktor man bør undervurdere, da det trods alt er vigtigt for enhver IT virksomhed, at medarbejderne kan lide det de laver.

ProcessWire starter også med en data-model, der er meget stærk - at alting er en "node" i Drupal, er jo desværre en halv sandhed, hvad du bl.a. kan se når du kigger i databasen, hvor der ligger alt muligt andet end "noder". I ProcessWire er alting en "side" - uden undtagelse. Databasen starter med to tabeller: "sider" og "templates".

Derudover er "sider" automatisk tilknyttet et hierarki, hvilket viser sig at være en meget naturlig ting i et univers der er bygget på URL, som jo er et hierarki. Hvor Drupal starter med en flad liste over alle "noder" i systemet, starter ProcessWire meget naturligt med et sitemap i stedet, hvilket er meget mere nærliggende og naturligt, og dermed også resulterer i en langt mere elegant bruger-flade og workflow.

ProcessWire er født med noget der ligner Drupal's CCK, men bygger på en langt mere moderne og gennemsigtig arkitektur - og fordi den havde denne arkitektur før den havde noget som helst andet, er selve ProcessWire opbygget på samme arkitektur. For eksempel er bruger-styrings modulet (og bruger-konceptet i sig selv) derfor langt mere enkelt og elegant, og langt nemmere at udvidde - der skal ikke noget modul til, for at tilføje nye felter til bruger-konti, men åbner bare bruger-templaten og redigerer den, ligesom enhver anden template.

Fordi kerne-koncepterne var på plads først (hvor f.eks. CCK først blev bidraget længe efter mange andre moduler) er selve kodebasen også langt mindre og nemmere at forstå. Det er f.eks. langt nemmere som udvikler, at finde den rigtige API til en specific udviddelse, hvor jeg tit har oplevet i Drupal, at man prøver 3, 4 eller 5 forskellige hooks, inden man finder den rigtige.

ProcessWire er langt fra perfekt, og laver stadig nogen af de samme fejl som f.eks. Drupal og mange andre CMS - f.eks. lagres meta-data (felter og templates) fortsat i databasen, hvilket gør det klodset at løbende integrere ændringer i data-modellen.

Men det er ikke desto mindre et kvantespring fra Drupal.

Og ProcessWire er så bare ét eksempel på en mere moderne CMS arkitektur - der er som sagt mange, nye, interessante tiltag på markedet. Jeg bruger bare ProcessWire som eksempel her, for at give dig nogen konkrete sammenligninger.

Jeg kan ikke argumentere mod Drupal, hvis dit eneste krav er, at det løser en opgave. Jeg kan bare blive ved med at gøre dig opmærksom på, at jo mere du investerer i gammel arkitektur, desto mere øger du din teknologiske gæld - Drupal er jo bare software, der som alt andet software, en dag vil være forældet.

Drupal har været her længe, og det er ikke blevet bedre i sig selv, der er bare kommet flere og bedre moduler. Selve konceptet og udviklings-metoden har ikke (og kan ikke) flytte sig - selv hvis de forsøgte, ville Drupal ikke længere være Drupal.

Hvor længe kan du blive ved med at finde udviklere, der er villige til at udvikle til fortiden?

  • 0
  • 0
Log ind eller Opret konto for at kommentere