PHP på NT
Firmaet NTV Communications A/S, som holder til på Jarmers Plads i København, er blandt de mange danske firmaer som producerer Content Management-systemer (CMS). Flagskibet hedder edIMag, og kunderne er blandt andre Carl Bro, Motorola og EU-kommissionens danske kontor. Carl Bro benytter produktet til sine egne websites, samt til intranet-brug med specialudviklede moduler til eksempelvis dokumenthåndtering.
En ting, som adskiller NTV Communications fra konkurrenterne, er at firmaet bygger på XSLT, XML-skabeloner, med scripting-sproget PHP. Men det er ikke bare Linux og Apache, som er platformen. Firmaets kunder anvender også NT og Internet Information Server (IIS) som serverplatform, og det er ikke så almindeligt i forbindelse med PHP.
Det hele begyndte ellers med udgangspunkt i Microsofts ASP-teknologi, men utilfredshed med den måde, ASP håndterer sessioner på, fik firmaets udviklere til at skifte til PHP. Ofte betyder det også et skift fra NT og IIS til Apache på Unix eller Linux, men flere af NTV Communications kunder benytter PHP under IIS på NT-servere, da det er platforme, som kunderne føler sig trygge ved. Ved NTV Communications mellemkomst kan kunderne også benytte sig af webhoteller, som tilbyder PHP under NT og IIS.
XML-skabeloner
NTV Communications indfaldsvinkel til CMS var ellers ganske traditionel, og byggede på skabelon-teknikker med PHP-klassen FastTemplate, men et lille XML-kursus via vennekredsen overbeviste øjeblikkeligt udviklerne om de indlysende muligheder i XML til informationshåndtering. Den grundlæggende pointe er separering af indhold og præsentation.
På overfladen ligner edIMag de fleste portal- og CMS-løsninger, men det er heller ikke her, at systemet adskiller sig væsentligt fra konkurrenterne. Systemet benytter som andre CMS-systemer en bagvedliggende relationsdatabase, som for eksempel MySQL og Microsoft SQL Server. Systemet er udviklet på basis af en kerne, som benytter en række moduler til at generere siderne. De forskellige informationsklumper bliver stykket sammen til et XML-dokument, som så processeres med en XSLT-skabelon. Skabelonen genererer den færdige XHTML-kode, der sendes til browseren.
Den færdige side som XML, umiddelbart før data videresendes til XSLT-processoren.
Enkelte dele af inddata er blot gammeldags HTML i XHTML-udformning, men enkelte moduler, som et diskussionsforum, NTV Communications har udviklet til Carl Bros intranet, gemmer data som XML.
Mere XML i fremtiden
Et af problemerne ved at bruge XML som format til de bagvedliggende data i større omfang er PHP's mangelfulde understøttelse af DOM, som er en standardiseret programmeringsflade til XML-dokumenter. Her er Microsofts scripting-miljø og Java-miljøet (med den kommende JDK 1.4) længere fremme. Jesper Hess Nielsen er hyppig gæst i PHP's udviklingsfora på nettet, og han kan fortælle, at den kommende version 4.2 af PHP skulle byde på meget mere på XML-fronten.
Selve skabelonerne i XSLT kodes af en HTML-udvikler, på baggrund af grafiske forlæg. HTML-udvikleren er ikke programmør, men har kunnet varetage opgaven efter et lille XSLT-kursus. Rollefordelingen er altså, som den plejer at være. Men HTML-udvikleren er nu ikke afhængig af en programmør for at ændre i sidernes opbygning og udformning.
Mulighederne for at anvende XML til informationshåndtering stopper dog ikke her. På længere sigt vil en større del af datamængden blive repræsenteret som XML i backend-delen, og NTV Communications har også kig på Software AG's XML-databaser.