HoNet CMS, portal engine baziran na m3w platformi

Dizajn sistema počinje kreiranjem šablonâ, najprostije XML ispravne HTML strukture. Za traženi URL po automatizmu se bira šablon (template) fajl (najčešće jedan za cio sajt) i zatim se isti dekoriše (popunjava) na osnovu dobijenog URI, priloženih argumenata (urlencoded ili multipart encoded) i podataka karakterističnih za sesiju (korisnik i njegovi preferences, ostale varijable upamćene u samoj sesiji).

Usvajanje CSS u m3w diktira načelnu strukturu XML šablona. Izražajnost CSS ukida potrebu za većinom tagova u šablonu. Programer razmišlja samo o zadatom šablonu, a dizajner pravi CSS za zadati šablon i sâm šablon ne dodiruje. Standardni koraci su:

  • Arhitekta sajta skicira XML šablon (odnosno šablone) za stranice koje će generisati aplikacija;
  • Programer preuzima šablon i počinje rad na osnovu skupa svojih zaduženja;
  • Dizajner preuzima šablon, u kratkom roku pravi rudimentaran CSS čija je glavna funkcija da omogući programeru da u početnim fazama razvoja ne gleda “lynx” renderisani izlaz aplikacije koju pravi;
  • Programer u toku svog rada kreira određen skup karakterističnih slučajeva i generisani (X)HTML daje dizajneru kao statičke fajlove. Funkcija ovih statičkih fajlova je da posluže kao osnova za razvoj i testiranje “teme”, odnosno “tema”, koje razvija dizajner;

Rezultat rada dizajnera je arhiva sljedeće strukture (primjer je za temu zamišljenog imena orange:

orange/
orange/about.xml
orange/main.css
orange/border-tl.jpg
orange/...

Fajl about.xml u folderu određene teme sadrži metadata teme (dugačko ime, autor, opis...); main.css je “common” ime koje se referencira iz generisane (X)HTML strane, a ostali fajlovi su sadržaj koji referencira main.css. Referenciranje iz CSS je relativno tako da browser “nalazi” potrebne resurse na jednostavan i direktan način. Ukoliko postoji potreba za dubljom strukturom u okviru ovog foldera, to je potpuno na raspolaganju dizajneru sve dok je referenciranje konzistentno.

S obzirom da XML šablon sadrži minimum (idealno nijedan) dodatni atribut u čvorovima XML stabla koje generiše, briga programera o izgledu portala je minimalna. Obaveza programera je da na mjestima gdje definiše CSS klase slijedi generalne upute koje su dio inicijalnog šablona. Na taj način će dizajn automatski da se aplicira bez grešaka i izuzetaka.