Zeitgeist ZMS V3.0
 

Admin-Feature Edit ohne I-Frames
09.06.2009

Endlich ist es geschafft - die Includes in den Features werden nun ohne I-Frames dargestellt und können in einer zusammenhängenden Seite editiert werden. Diese Erneuerung bringt nicht nur bei der Geschwindikeit massive Vorteile sondern auch bei der Browserkompatibilität.
Includebarbeitung ohne I-Frames
Includebarbeitung ohne I-Frames

Hinweis bei nicht gespeicherten Werten
Hinweis bei nicht gespeicherten Werten

Die Überarbeitet Version des Admin-Feature-Edit stellt nun alle editierbaren Felder des Hauptfeatures und dessen Includes in einem Formular dar. Dadurch hat sich die Anzahl der Request für das Darstellen eined Editierformulars auf (konstant!) einen Zugriff reduziert (früher Anzahl Includes + 1 Zugriffe). Zudem sind die unterschiedlichen JAvascripts zur Synchronisationd er verschiedenen I-Frames mit dem Hauptfeature nicht mehr nötig, wodurch das Editierformular auf auf dem Internetexplorer stabil läuft. Die Zwischenzeitlich aufgetretenen Timing-Probleme, welche das korrekte Editieren oder Verschieben von Includes beeinträchtigt haben, sind damit auch behoben.

Überblick über die Umbauarbeiten

Die Umstellung im Admin-Feature-Edit war deutlich grösser als von Aussen sichtbar. Die ganzen Datenstrukturen mussten um eine Dimension (die Angabe des Features - Includes sind ja nichts anderes als das) erweitert und viele Hilfsfunktionen dadurch auch angepasst werden.

Die wichtigsten Dateien zeigen folgende Diff-Werte:

  • pages/admin/admin_feature_edit.php: 185 Zeilen in 38 Bereichen
  • inc/admin/admin_feature_edit.class.php: 413 Zeilen in 99 Bereichen

Diese Arbeiten haben rund 20 Stunden in Anspruch genommen. Dadurch ergibt sich ein LOC/hr (Codezeilen pro Stunde) von 30, was für die gegebene Komplexität aus meiner Sicht ganz gut ist. Natürlich weiss ich, dass LOC/hr nur einen Anhaltspunkt über die Produktivität gibt (gute Algorthmen zum Beispiel haben wenig Zeilen und brauchen in der Entwicklung sehr lange).

Zusätzlich mussten viele sekundäre Administrtationsbereiche (Seiten, Featurestile, Wörter und Medien, Includes und Komponenten) ebenfalls angepasst werden, da diese einige Darstellungsfunktionen aus der Klasse ADMIN_FEATURE_EDIT benutzen.

Bessere Kontrolle über das Speichern

Bei der Überbeitung wurde ebenfalls die Änderungskontrolle des Formulars eingebaut. So wird neu beim verlassen der Seite über eine Link-Aktion (Include hinzufügen, verschieben oder löschen, Media löschen und Komponentenwechsel) eine Warnmeldung angezeigt, falls Werte im Formular verwendet wurden, die durch die geplante Aktion verloren gehen würden.