Update - 2018-09-06

Antworten
Benutzeravatar
shadowcat
Administrator
Beiträge: 4054
Registriert: Di 5. Feb 2013, 10:36
Kontaktdaten:

Update - 2018-09-06

Beitrag von shadowcat » Do 6. Sep 2018, 14:07

Da ich diesen Monat keine Zeit mehr für BC2 haben werde, versuche ich mal zusammenzufassen, was ich vorher noch geschafft habe.

Backend-Bereiche

Dashboard

Ist soweit durchgetestet und es gibt Beschreibungen für die Testfälle. Ein Punkt ist noch auf der ToDo-Liste, das wird aber außerhalb des eigentlichen Dashboards umgesetzt, nämlich in den Benutzer-Präferenzen. Ich habe alle Widgets nochmal gecheckt und für "so bleibt's erst mal" befunden. :mrgreen:

Menüs und Breadcrumb

Sind auf den neuen ListBuilder umgestellt. Backend-Menüs werden analog zu Frontend-Menüs in der Datenbank definiert.
In manchen Bereichen war der Breadcrumb "zu kurz", z.B. wenn man bei den Admintools ein Tool aufgerufen hat, stand da weiterhin nur "Admintools". Jetzt steht da "Admin Tools > Tool > <Toolname>".

Seitenbaum

Hat wieder mal *hust* ein neues Layout bekommen. Der Status der auf- bzw. zugeklappten Seiten bleibt im LocalStorage des Browsers erhalten. Das Hinzufügen neuer Seiten vor oder hinter einer bestimmten Seite ist ebenfalls möglich. (Für das Umsortieren gibt es den eigenen Bereich "Seiten".) Zudem kann man jetzt jede Seite direkt im Frontend aufrufen, das ging bisher nur über das Bearbeiten der Inhalte und dort dann über den Link "Vorschau". Den Seitenbaum kann man bei Bedarf "wegklappen".

Dateien

Bisher konnte man sinnigerweise Verzeichnisse, die als "gelöscht" markiert waren, nur "wiederherstellen", aber nicht "endgültig löschen". Dateien und Verzeichnisse werden nicht mehr bei jedem Aufruf automatisch mit der Datenbank synchronisiert, sondern nur manuell durch Anklicken eines Buttons. Bei großen Medien-Verzeichnissen wäre das sonst ein Performance-Problem. Die Dateiansicht habe ich auf eine Variante reduziert (vorher gab es eine Grid- und eine Listenansicht, jetzt nur noch die letztere), das erleichtert die Pflege des Themes. Ich arbeite noch am Upload-Bereich.

Erweiterungen

Habe ich insoweit geändert, dass die Tabs nicht mehr per JavaScript / Ajax gefüllt werden, sondern jeder Tab lädt die Seite neu.
Manche Erweiterungen wurden fälschlicherweise als "nicht installiert" angezeigt.
Beim Katalog wird die vorausgesetzte Mindest-Version des Core berücksichtigt, was momentan keine Auswirkungen hat, weil die Module alle für die Version 1.x sind. 2.x bekommt später einen eigenen Katalog.
Zudem ist jetzt die globale install() Methode implementiert, die bei "einfachen Modulen" wie Libraries vollkommen ausreicht. Standardmäßig erstellt sie den Eintrag in der Datenbank und importiert, falls vorhanden, eine SQL-Datei. Module, die mehr brauchen, müssen ihre eigene install() Methode implementieren.

Adminwerkzeuge

Hier gibt es nur insoweit etwas zu berichten, als dass der "JavaScript Plugin Manager" die Versionsnummer 1.0 erhalten hat und somit als "fertig" deklariert wurde. :mrgreen:

Administration

Man kann sich jetzt zumindest schon mal die angelegten Sites anschauen, aber noch keine anlegen.
Bei Benutzern und Gruppen habe ich das Bootstrap Javascript Plugin "x-editable" wieder eingebaut, das eigentlich nicht kompatibel zu Bootstrap 4 ist, es gibt aber außerhalb vom offiziellen Repository Korrekturen dafür. Das Plugin ermöglicht das direkte Ändern von z.B. dem Benutzernamen über ein Popup.
Die verfügbaren Rechte wurden nochmal komplett neu aufgebaut und verschachtelt. Screenshot siehe viewtopic.php?f=31&t=809#p6479


Sonstiges

Einige bisher als lib_* installierte Bibliotheken werden jetzt über Composer hinzugelinkt und liegen daher im vendor-Unterverzeichnis unter <Pfad>/cat_engine/CAT. Das erleichtert Updates, weil wir nicht ständig die Module aktualisieren müssen. Da diese notwendigen Bibliotheken aber nicht ins GitHub Repository geladen werden, bedeutet das, dass eine Installation von BC2 über einen GitHub Download nur möglich ist, wenn man vorher per Composer das vendor-Verzeichnis füllt. Kurz: Das ist eher was für Spezialisten. Macht aber nichts, weil wir ja mit dem Installer ein ZIP mit allem drin liefern. :mrgreen: GitHub ist normalerweise ohnehin nicht die Quelle für den "normalsterblichen Anwender".

Fixes, fixes, fixes...

Unter anderem war es bei abgelaufener Session möglich, durch Neuladen der Seite (F5) ohne erneute Eingabe des Kennworts wieder ins Backend zu kommen.
An vielen Stellen wurde Code bereinigt, verschoben oder gar neu geschrieben.

Admintool "MenuAdmin"

Damit das Drama mit den unverständlichen Parametern wie bei show_menu2() und den cat_*menu() Markups endlich mal aufhört, habe ich die Menüdefinitionen in die Datenbank verschoben und einen neuen Menü-Helper geschrieben, der wiederum den neuen ListBuilder verwendet. Das ist noch nicht ganz ausgegoren, was aber schon ganz gut funktioniert: Man kopiert einfach das Markup eines vorhandenen Menüs (z.B. aus einem Bootstrap-Template) in ein Textfeld und das Tool analysiert das und extrahiert die verschiedenen CSS-Klassen. Funktioniert derzeit am besten mit Bootstrap, ist aber wie gesagt ja auch noch längst nicht fertig.

WYSIWYG

Die "eierlegende Wollmilchsau" auf Basis von Multicolumn läuft schon ganz gut. Ideen für Varianten sind gern willkommen. :) Zum Beispiel Akkordion und Tabs?


Wie Ihr seht, es geht voran, an vielen Stellen sind wir schon beim "Testen & Bugfixing", die offenen Punkte werden weniger.
My software never has bugs, it just develops random features.
BC1: PHP 5.5.11 (cli), mySQL 5.6.16 with 'strict' enabled, Apache 2.4.9
BC2: PHP 7.2.7, mariaDB 10.2.13, no Apache

Antworten