Författare:
Per Stenebo
Skapad:
2011-09-19 12:40:59
Ändrad:
2017-07-11 10:55:08
sv

Teknik

  • BendCMS är en samling PHP-skript som dynamisk framställer webbsidor i XHTML.
  • Teckenuppsättningen (charset) är UTF-8 som standard, både i header och källkodsfiler.
  • XHTML 1.0 Transitional används som standard, främst för att tillåta taggen target. Sätts i mallfilen (template).
  • Radbrytning i källfiler bör vara enbart LF (standard i Unix och GNU/Linux).
  • PHP-skripten är huvudsakligen skrivna med procedurell programmeringsstandard.
  • Javaskript används för att höja användarupplevelsen, men den huvudsakliga funktionaliteten är serverbaserad.
  • Koden är ganska väl kommenterad för att underlätta underhåll och utveckling.
  • Den bärande principen är "Allt är en sida", det betyder att allt du ser är uppbyggt av moduler, fragment, som var för sig är enkla att modifiera.
  • Alla fragment som tillsammans bygger en färdig sida tilldelas en stackordning där även logik, CSS och Javaskript ingår.
  • Modulariseringen med fragment liknar principen med CSS (Cascading Style Sheets).
  • Modulariseringen möjliggör maximal återanvändning av innehåll och kod mot en viss kostnad i komplexitet.
  • För sidor som skall svara på anrop från tex Ajax kan visuella fragment, som meny, tas bort från sidstacken.
  • Maximalt antal sidor bestämms teoretiskt av det underliggande filsystemet och serverns RAM-minne, men den praktiska gränsen torde vara något tusental sidor.
  • All data lagras i textfiler, en databas krävs inte av grundsystemet men kan mycket väl användas av enskilda applikationer i BendCMS.
    -Vänta lite, nästan alla andra CMS lagrar data i en databas, varför gör inte ni det?
    • Enkelhet vid installation.
    • Prestanda, ett filanrop går oftast snabbare än ett anrop till databasen. Databaser ligger dessutom ofta på en annan server.
    • Anpassa verktyget till uppgiften, en databas vore lite overkill för denna tämligen enkla sak.
    • Billigare webbhotell ger bara en databas, ibland behövs den till andra tillämpningar.
    • Flexibilitet, filer kan hanteras på många vis, inte bara i dom inbyggda verktygen.
  • Grundsystemet använder separata filer för konfiguration, logik, sidmall, CSS, Javaskript och innehåll.
  • Filer som ska kunna manipuleras av webbservern är samlade i några undermappar, som således behöver vara skrivbara av webbservern.
  • Enskilda filer i mappen ~/files, tex bilder, behöver inte vara skrivbara.
  • Mappar är oftast utrustade med en indexfil som försvårar obehörig listning av innehåll.
  • Sidan 0 (noll) innehåller standardkonfiguration för nya sidor.
  • Konfigurerade värden som överenstämmer med standardvärden tas bort från den aktuella sidans konfigurationsfil.
  • Användaren 0 (noll) innehåller standardkonfiguration för nya användare.
  • Systemet är anpassat för AJAX-funktionalitet, en (ny) sida kan konfigureras för att enbart visa resultatet från logikfilen. Grundsystemet innehåller några ajax-funktioner från start.

Kommentarer till sidan Teknik