noCMS Entwicklung

Kompatiblität

  • frühere [[ platzhalter durch {{ ersetzen
  • allgmeein testen ob der neue template parser korrekt arbeitet
  • beachten das der content von "if" nun getrimmt ist und evtl. bei css classes leerzeichen als trennung fehlen
  • if/ifnot durch if mit bedingunen und then/else konstrukt ersetzen

Crawler/prerender/indexer

  • aufruf über localhost/bytestrom.eu/__module_crawler.html?code=secret_code
  • simuliert seitenaufrufe mit page class:
    • löscht den cache bevor er anfängt
    • generiert seite und speichert sie im cache
    • extrahiert links (page class kann diese vin iLink/pagelink liefern)
    • geht alle links durch, vermeidet dopplungen
    • kann eine sitemap erzeugen und speichern (später kompatibel zu google sitemap format)
    • (später) indiziert die seiteninhalte für eine suchfunktion

Aufräumarbeiten

  • ...

Weiterentwicklung allgemein

  • Imageslidebox als richtiges module (inkl. Css)
  • Mehrsprachigkeit
  • pagination modul für Blog/News/Artikelliste. (Modi: klassisch mit einzelnen Seiten, ajax-seiten, ajax-scrolling liste
  • Module o.Ä. um alle noCMS standardsachen (js/css) in das template einzubauen. z.B. {{nocmsdefault:js}}
  • JavaScript Teil noch verbessern und erweitern, eigene Klassen für client-only code. sowas wie clientseitige modules
  • Schwächen des neuen parsers verbessern:
    • Erkennt json/js mit {{ in code als platzhalter
    • Deswesen muss support für [[]] deaktiviert sein, da sonst debug json array weg ist!
  • Noch besseres Resourcen handling mit etag, cache header,… siehe: https://github.com/Retina-Images/Retina-Images/blob/master/retinaimages.php
  • evtl. auch Retina detection?
  • crawler (siehe oben)
  • Separates caching für bilder, damit nicht immer alle bilder neu skaliert werden müssen
  • Module "alternative" das entweder z.b. {{*filename}}.jpg oder {{image_name}} nutzt, je nachdem welche datei im dateisystem existiert
  • Verbessert img modul, welches formate konvertiert und bilder optimieren kann (testen ob ein jpg oder png kleiner/besser ist)
  • Formular engine
    • Definition der felder (layout, felddtypen)
    • Generierung des codes (html/css/js)
    • Validierung client/server (js/php)
    • Verarbeitung (mail/speichern)
  • Admin funktionen (login/settings,...)

Caching – Mögliche side-effects

  1. module foreignvar (seite und eine teil deren inhalts)
  2. module pagelink (seite und deren titel)
  3. module articlesrenderer

Seite AR

*** Start Crawler ***

absichtlicher fehler