WORDS
Navigera i webbdjungeln: Cms
Som programmerare kan det vara svårt att acceptera, men ibland är den bästa lösningen en som kräver minimal mängd programmering. Om målet är att skapa en webbplats där redaktörer själva ska kunna lägga till mestadels textbaserat innehåll, kan det vara en bra idé att använda ett färdigt innehållshanteringssystem, det vill säga ett cms (content management system).
En av dom största fördelarna är att man får ett admingränssnitt på köpet, som låter användare utan några särskilda tekniska färdigheter lägga till, redigera och publicera innehåll. Vidare finns ofta plugin och teman, som gör det lätt att anpassa sin sajt efter sina egna behov. Om man däremot behöver funktioner som inte finns inbyggda eller i ett plugin, så är det sällan trivialt att utveckla bara dessa delar.
Säkerhet är ett annat stort problem när man använder cms. Eftersom dom innehåller mycket funktionalitet och av nödvändighet har tillgång till databas och normalt även filsystemet, är säkerheten svår att bibehålla. Det finns gott om sajter som blivit hackade på grund av cms:et, vilket kan resultera i allt från att sajten går ner, till att känslig data kommer i fel händer och att sajten börjar utsätta besökarna för andra virus. Om man väntar mer än ett par timmar med att uppdatera en Wordpress-sajt, efter att en uppdatering kommit ut, så är risken stor att sajten blir hackad. Jag har själv städat upp efter att två olika sajter blivit hackade. Med plugin som kanske eller kanske inte får uppdateringar, blir säkerheten ännu sämre.
Här följer en lista över några av dom vanligaste cms:en.
Cms | Programmeringsspråk för plugin |
---|---|
Wordpress | PHP |
Drupal | PHP |
Umbraco | C# (.Net) |
Episerver | C# (.Net) |
Sitevision | Java |
Mediawiki | PHP |
Joomla | PHP |
Magento | PHP |
Sharepoint | Vilket som helst1 |
Välja ett cms
Det finns många saker att tänka på när man väljer ett cms. Här följer några problemområden, som jag själv stött på.
Uppdateringar. Sker uppdateringar automatiskt?
Plugin och teman.
- Finns dom plugin eller teman man behöver? Går det att lita på dom som har skapat dessa plugin och teman?
- Hur lätt är det att utveckla egna plugin om det krävs? Går det lätt att integrera dessa plugin i admingränssnittet? Finns bra dokumentation?
Import och export. Hur lätt är det att migrera sidor och bilder mellan olika miljöer, t.ex. en testmiljö och produktionsmiljön?
Internationalisering. Hurdan språkhantering stöds?
- Kopierar man sidor? Hur håller man översättningarna synkade?
- Går det att exportera sidor till översättarnas egna översättningsverktyg, och därefter importera resultatet?
Versionshantering. Ofta behöver man skapa olika sidtyper. Går det enkelt att versionshantera dessa med Git, eller är man bunden till admingränssnittet?
Kostnad. Vad kostar cms:et? Vad kostar uppdateringar och underhåll?
Statiska sajtgeneratorer
Tänk om du inte behöver ett komplett cms? Om din webbplats:
- inte tar input från användarna,
- inte har dynamiskt innehåll, och
- inte behöver någon databas,
så kan det räcka med en statisk sajtgenerator (static site generator). Särskilt bloggar passar i den här kategorin av webbplatser.
En statisk sajtgenerator tar en uppsättning filer (t.ex. HTML och Markdown) och genererar utifrån dessa en mängd HTML-filer, som därefter kan laddas upp på en webbserver. Eftersom servern bara tillhandahåller statiska filer, och inte exekverar någon cms-kod, minskar man attackytan markant. Detta skyddar mot många attackmetoder.
Två av dom vanligaste sajtgeneratorerna är:
Sajtgenerator | Skriven i |
---|---|
Hugo | Go |
Jekyll | Ruby |
Bloggen som du läser just nu är implementerad med Hugo, framförallt av säkerhetshänsyn.