Sitemagic CMS i forhold til andre systemer
|
   
|
Markedet for Content Management Systemer er efterhånden ved at eksplodere i en overflod af forskellige løsninger, der alle stiler efter at løse udfordringerne forbundet med indholdsstyring på websider. I denne artikel vil vi se nærmere på, hvordan Sitemagic CMS adskiller sig fra andre løsninger, og således er berettiget til sin plads blandt de mange andre produkter.
Derfor udviklede vi Sitemagic CMS
I Linos Danmark havde vi brug for at kunne udvikle nye web-applikationer, uden at skulle opfinde den dybe tallerken igen og igen. Vi ønskede et velstrukturetet framework med meningsfuld funktionalitet, til at løse de mest basale opgaver. Hertil havde vi en række tekniske krav:
- Velstruktureret og veldokumenteret kode baseret på Object Orienterede principper
- Understøttelse for konstruktion af systemer med 3-lags opdeling (præsentation, logik og data)
- Indbygget understøttelse for flere sprog (via en form for sprog-pakker)
- Mulighed for at gemme data i både filer og et rigtigt DBMS (database), gerne via samme interface
- Et GUI framework med HTML kontroller, også baseret på den Objekt Orienterede tilgang
Vi valgte at fokusere på eksisterende modulære Content Management Systemer, da de fleste af vores projekter har karakter af online præsentations-applikationer. Det stod dog hurtigt klart, at en række af de mest populære systemer går mange år tilbage, og således bærer præg af, at havde været udviklet af mange forskellige mennesker, på mange forskellige måder. Vi vurderede således koden i de forskellige løsninger til at være af en kvalitet, som ville være svær at vedligeholde og videreudvikle.
I listen ovenfor var de to første punkter af særlig vigtighed, og stortset ingen systemer levede op til vores strenge krav om struktur og design. Tilsvarende så vi gerne, at den valgte platform ikke var alt for tung, og i særdeleshed ikke indeholdt en masse overflødige standard-moduler - vi ville selv kunne vælge vores funktionalitet.
Efter en rum tid med søgen efter en passende platform, indså vi, at vi ikke kunne finde et system, som levede op til vores krav. Vi begyndte derfor at eksperimentere med et design til en ny platform, som understøttede vores krav til fulde. Efter kort tid kunne vi se, at vi havde fat i noget af det helt rigtige, og valgte derfor at arbejde videre med projektet. Det blev, et år senere, udgivet under navnet Sitemagic CMS.
Udviklingsframework først og fremmest
Selv om Sitemagic CMS ofte forbindes med et simpelt Content Management System der kan bruges af alle, har fokus i høj grad været på frameworket (ganske simpelt kaldet "Sitemagic" - altså uden "CMS"). Målet var at skabe en platform som opfyldte vores egne krav, og som kunne danne grundlag for andres systemer. Dette satte store krav til den tekniske implementering og dokumentationen, hvilket vi derfor har brugt mange ressourcer på. Resultatet er da heller ikke til at tage fejl af.
Sitemagic er et af de absolut mest velstrukturerede og veldesignede frameworks til udvikling af web-appliationer. Det er i skrivende stund ikke det mest omfattende set på funktionalitet, men til langt de fleste web-applikationer er det alt rigeligt.
|
|
|
Sitemagic vil efter al sandsynlighed også forblive ganske simpelt, da ny funktionalitet kan udvikles som udvidelser (extensions), og således optionalt installeres hvis man ønsker det. Denne fremgangsmåde skal sikre, at Sitemagic ikke bliver tungt (bloated), som mange andre løsninger.
Funktionaliteten i Sitemagic omfatter i grove træk følgende:
- Modulært (såkaldte extensions kan bruges til at udvide funktionaliteten).
- Fuld separation mellem præsentation, logik og data vha. Template Engine.
- Database lag til MySQL og XML-filer gennem samme SQL interface.
Dette er helt unikt for Sitemagic, og kendes således ikke fra andre systemer.
Man kan gemme og indlæse data via samme interface med SQL - også på XML-filer.
- Simplificeret løsning til opbevaring af Key-Value værdier (fx indstillinger).
- Sprogunderstøttelse via sprogpakker til hver udvidelse (extension).
- Log og fejlhåndtering indbygget for øget pålidelighed og stabilitet.
- Aktiv håndtering af data-typer - frameworket er pseudo-"strongly typed".
- GUI-bibliotek (grafiske kontroller som knapper, indtastningsfelter, lister, træ-menuer mm.)
- Diversel klasser til generel funktionalitet: Håndtering af filer/mapper, skriv/læs fra tekst-filer, håndtering af billed-pakker og meget mere. Se udvikler-dokumentationen for yderligere information.
Med ovenstående funktionalitet kan man med mindre kode og på kortere tid, realisere sine udviklingsprojekter, og i tilgift få øget pålidelighed og stabilitet. Tillige er Sitemagic et dansk produkt, hvilket betyder, at der er god kvalificeret hjælp at hente i et dansk udviklerforum.
Der er dog også begrænsninger, og dem skal der ikke lægges skjul på. Det anbefales ikke at bruge Sitemagic til eksempelvis store portaler og communities. Hertil vil deciderede community-løsninger egne sig langt bedre, hvor performance har haft prioritet over struktur og design.
Sitemagic CMS - framework med Content Management funktionalitet
Produktet "Sitemagic CMS" er således "Sitemagic" (frameworket) + ekstra funktionalitet (udvidelser/extensions). Vi har valgt at udgive produktet som et simpelt Content Management System, da et sådan indeholder grundlæggende funktionalitet til online præsentations-applikationer. Dette omfatter eksempelvis navigations-egenskaber (menu samt administration heraf), administrationssektion beskyttet af login, håndtering af filer til publisering (filhåndtering med upload) med mere. Dette er alt sammen funktionalitet som mange har brug for, og som således med rette kan inkluderes i standard-pakken, og dermed igen spare udviklere tid og penge.
Skal jeg vælge Sitemagic CMS?
Vi vil i det følgende forsøge, at give nogle gode argumenter for at vælge Sitemagic CMS, frem for andre løsninger.
Sitemagic CMS er noget for dig,
- Hvis du går op i velstruktureret og overskuelig kode, som reducerer udviklingstiden.
- Hvis du går op i pålidelighed og stabilitet.
- Hvis du har krav om en vel-dokumenteret platform.
- Hvis du ønsker at kunne komme i gang med at udvikle udvidelser hurtigt (flad indlærings-kurve)
- Hvis du ønsker support fra et dansk udviklerforum.
- Hvis du kan klare dig med basisk funktionalitet, og de udvidelser vi stiller til rådighed, eller selv kan lave ny funktionaltet.
- Hvis du selv kan lave en design-skabelon eller er tilfreds med de få der i øjeblikket er tilgængelig.
- Hvis du ønsker stortset samme fordele som man får med Open Source (læs vores licens), men tilgengæld i en (ofte) bedre kvalitet (i den tekniske implementering).
Sitemagic CMS er ikke noget for dig,
- Hvis du ønsker store mængder standard-funktionalitet (overvej Joomla, Drupal eller lignende i stedet).
- Hvis du ønsker tusindvis af færdige design-skabeloner.
- Hvis du ønsker at udvikle en stor portal eller et community.
- Hvis du ønsker fuld frihed over kildekoden (vælg "rigtig" Open Source i stedet).
Vi håber denne artikel har været dig behjælpelig i forhold til at afgøre, om Sitemagic CMS er det rette valg for dig. Hvis du ønsker yderligere information om bestemte emner, så kontakt os endelig, enten via vores
kontaktformular, eller på
vores forum.