Zwischenruf und so #2
Seit der letzten Auskopplung vor gut vier Wochen bin ich damit beschäftigt die Validierung der Inhalte beim Anlegen und Bearbeiten dieser voranzutreiben--zugegebener Maßen kann ich dazu im Moment leider nur wenig Zeit aufbringen, von der Muße ganz zu schweigen.
Die Validierung geschieht unter Zuhilfenahme einiger Klassen (für jeden Baustein-Typ eine), die in einer abstrakten Fabrik zusammengefasst sind. Das Thema ist für mich noch etwas komplex--habe mir extra ein bischen Lektüre besorgt--darüber hinaus sollen die Klassen auch noch einige andere Aufgaben, als das reine Validieren der Inhalte, übernehmen. Dazu gehört die auch Validierung der Attribute der Blöcke eines Inhaltsmodells und die Spezifikation des Baustein-Typs.
Zu guter Letzt aber noch die gute Nachricht, dass ich nur noch gut die Hälfte der Baustein-Klassen testen muss. Ich hoffe also, dass ich die nächte Auskopplung im Laufe der nächsten Woche zur Verfügung stellen kann.
muhli-2008-08-10
Wie angekündigt gibt es eine neue Auskopplung von muhli, deren Versionsnummer den heutigen Tag trägt. Sämtliche Änderungen sind wie gehabt im (hoffentlich vollständigen) Changelog verzeichnet.
Die wichtigstens Änderungen im kurzen Überblick:
- Beim Hochladen von Bild-Dateien werden zur Schonung der Bandbreite und des Traffics Vorschaubilder angelegt
- Das Datenmodell der Inhalte wurde komplett umgeschmissen und damit die Zahl der nötigen Datenbankabfragen reduziert
- Neuer Baustein-Typ textrte mit Rich Text Editor Wymeditor
Der LIESMICH.txt könnt ihr entnehmen welche Anpassungen ihr vornehmen müsst, damit muhli läuft (oder laufen sollte). Den Download und den Changelog findet ihr auf der Seite Downloads. Die Seite zur Erläuterung des Datenmodells der Inhalte habe ich bis zu deren Aktualisierung vorerst von der Website genommen.
RTE Editor
Für die nächste Auskopplung von muhli möchte ich einen weiteren Bausteintyp mit Rich Text Editor auf Javascript-Basis verbauen. Von den Markführern
FCKeditor und TinyMCE möchte ich dabei aber absehen, der Funktionsumfang beider ist so groß und für mein Empfinden sind beide dadurch zu schwergewichtig.
Besser gefallen haben mir Wymeditor und NicEdit. Beide sind verhältnismäßig leichtgewichtig, bieten aber den für muhli ausreichenden Funktionsumfang Text zu formatieren. Tabellen, Bilder und Mediadaten beherrscht muhli von sich aus durch entsprechendes Anlegen von Blöcken im Zusammenspiel mit deren Templates.
Vorläufig ist die Wahl auf den unter der MIT und GPL lizensierten Wymeditor in der Version 0.5 alpha 1 gefallen, da ich für NicEdit noch keinen Weg gefunden habe nur bestimmte Textareas durch diesen ersetzen zu lassen. Desweiteren basiert der Wymeditor auf jQuery, das schon an anderer Stelle im Backend verwendet wird. Einige nette Features wie ein XHTML- und CSS-Parser sprechen auch für diesen RTE. Letztendlich werde ich mich aber weiter umschauen und würde mich sehr über Tipps zu schlanken RTEs freuen!
Sobald die vorläufige Wahl gefallen ist, erscheint die nächste Version von muhli. Ich denke also in den nächsten Tagen.
Zwischenruf und so
Der letzte Release ist schon wieder einige Zeit her, und der nächste wird vermutlich auch noch etwas brauchen. Zeitlich bin ich im Moment etwas eingeschränkt. Eine Neuerung habe ich allerdings bereits einbauen können. Im Dateibrowser werden nun für Bilder doch Vorschaubilder angelegt, sodass in den Listing-Modi Vorschau, Detail und Kacheln die Bandbreite etwas geschont wird, da nicht das Original geladen werden muss. Die Funktion ist vorerst nur rudimentär eingebaut und hat noch die ein oder andere Kante.
Der nächste Release wird einige größere Änderungen mit sich bringen, da ich mir — mit der hohen Anzahl der Datenbank-Abfragen bei der Frontend-Ausgabe im Hinterkopf — das Baustein-Block-Gerüst noch einmal zu Gemüte geführt habe und dort einige Anpassungen vornehmen möchte. Das Ganze wird etwas entschlackt.
Einiges Kopfzerbrechen machen mir insgesamt vor allem zwei noch fehlende Funktionalitäten. Zum einen habe ich noch keinen blassen Schimmer, wie mit dem jetzigen System auf Basis der Strukturpunkte Detailseiten / Teaser (z.B. für News) zu realisieren sind. Der zweite Stein im Weg sind Formulare. Da habe ich zwar schon die ein oder andere Idee, bin aber für Vorschläge und Denkanstösse offen!
muhli-2008-07-07
Etwas verspätet gibt's heute eine aktualisierte Version von muhli. Bis auf zwei kleine Bugfixes ist die Version eigentlich schon knapp zwei Wochen alt. Die wohl wichtigste Neuerung ist der Dateibrowser im Popup für die Bausteine file und image, der ein komfortables Auswählen der Datei ermöglicht.
Alle weiteren Änderungen sind wie gehabt in der Changelog aufgeführt. Bei Problemen, Anmerkungen oder sonstiger Kritik würde ich mich sehr über Feedback eurerseits freuen!
Die Dokumentation ist nun ebenfalls auf dem aktuellen Stand.
muhli-2008-06-21 und Datenbankstruktur Inhalte
In der Rubrik Downloads steht die heutige Version von muhli zum herunterladen bereit. Ab dieser Version gibt es auch Changelogs, die unter den Download-Links gelistet werden, und die die vorgenommenen Änderungen dokumentieren.
Darüber hinaus habe ich in der Rubrik Terminologie eine neue Seite angelegt, auf der die Struktur der Datenbanktabellen, die sich für die Speicherung der Inhalte verantwortlich zeigen, aufgezeigt wird. Mit Bildern :)
Sourcecode
Ab sofort steht der Sourcecode von muhli unter muhli > Downloads zum Download bereit. Ich werde versuchen regelmäßig den aktuellen Entwicklungsstand hochzuladen.
Außerdem habe ich mich dazu entschlossen muhli vorerst unter der GPLv3 zu lizensieren. Im Archiv befindet sich eine kleine LIESMICH.txt, die unter anderem ein paar Installationshinweise beinhaltet. Sollten Probleme mit der im Archiv enthaltenen Version Probleme auftreten, meldet euch bitte (ICQ, E-Mail oder ganz laut schreien.)
Auf der Seite Terminologie > Templatesystem gibt es nun auch Informationen zum Templatesystem - mit Bild.
Dokumentation
Unter http://muhli.tillermaennle.com/documentation/ findet ihr eine Dokumentation von muhli, die auf dem Code zum jetzigen Zeitpunkt basiert.
Der Code ist über die automatisch erstellte Doku ebenfalls einsehbar, nur noch nicht komplett kommentiert.
Testinstallation online
Wie bereits angekündigt habe ich nun eine Testinstallation aufgesetzt, die ihr unter http://test.muhli.tillermaennle.com erreicht. Einige Funktionen sind deaktiviert. So kann der Benutzeraccount von muhli und dessen Benutzergruppe weder bearbeitet noch entfernt werden. Außerdem können keine Dateien über den Dateibrowser hochgeladen werden. Das Löschen dieser ist ebenfalls nicht möglich.
Ansonsten bestehen keine weiteren Einschränkungen. Falls ihr Fehler findet oder sonstige Anmerkungen und Wünsche habt, speichert diese einfach auf der Seite Anmerkungen. Fehler und Bugs sind unzweifelhaft vorhanden, handelt es sich doch noch um eine sehr frühe Version der Software.
Kleines Update
Einige weitere Punkte der To-Do-Liste sind mittlerweile abgearbeitet, wirklich kleiner geworden ist sie aber dennoch nicht, da immer wieder welche hinzukommen.
Ein paar der Punkte werde ich wohl auch selber gar nicht lösen können, da mir zum einen teilweise noch die Ideen für die Umsetzung, als auch die dafür notwendigen Programmierfähigkeiten fehlen. Bei wenigstens einem der Punkte macht wohl auch das Software-Design einen Strich durch die Rechnung.
Dazu kommt, dass die Anzahl der Datenbank-Querys unter Umständen noch Probleme bereiten kann. Das muhli zu Grunde liegende Baustein-Block-Inhaltsmodell-Konzept bedingt eine recht hohe Anzahl an Abfragen, so sind für die Darstellung dieser Seite und dieser News vermutlich etwa 60 nötig. Das einzig Positive daran ist, dass die meisten Abfragen klein sind und bestimmte einzelne Einträge abholen.
Vermutlich lässt sich noch einiges an den Zugriffen und der Datenbank optimieren, darüber hinaus wird wohl nur gutes Caching helfen.
Zum Abschluss gibt es aber noch eine gute Nachricht: in den nächsten Tagen werde ich eine Test-Installation aufsetzen, die dann auch einen Blick ins Backend ermöglichen wird.
Den Sourcecode wird es dann vermutlich auch demnächst zum Download geben.
muhli startet in die Pre-Alpha
muhli ist ein ein Web Content Management System, das sich in erster Linie an Webentwickler richtet, die Websites im Auftrag erstellen. muhli bietet mit einem auf Flexibilität ausgerichteteten Konzept viele Möglichkeiten die unterschiedlichstens Anforderungen zu erfüllen. Ein weiterer Kernpunkt des Konzepts ist die Pflege der Website für den Redakteur möglichst einfach zu gestalten.
Zum jetzigen Zeitpunkt ist muhli in der Lage als Basis einer Website zu dienen, ist aber vom wirklich produktiven Einsatz noch ein gutes Stück entfernt. Bisher ist auch noch keine Versionierung und Veröffentlichung vorgesehen. Die Software wird Open-Source sein, die Art der Lizenz steht aber noch nicht fest.
Code-Einsicht wird bei Interesse und auf Anfrage natürlich gerne gewährt! Eine Demo-Installation soll ebenfalls kommen, für die Testzugänge erteilt werden können.
Selbstverständlich basiert diese Website bereits auf muhli. Die Inhalte sind unter Umständen etwas durcheinander strukturiert, eine mehr oder weniger (un-) vollständige Ansammlung an Informationen rund um die Software, die laufend ergänzt wird.