Murphy's World @ homeserver holyghost alias dyndns.murphys-world.de | |||||||||||||
| START
Projekt Murphy's CMSmini
JavaScript TIPPS & TRICKS
GeoCaching
NEWS
TERMINE
FUNSTUFF
LINKS
VIP-BEREICH
KONTAKT
IMPRESSUM
|
Allgemeines |
||||||||||||
| Editor | Pluspunkte |
Minuspunkte |
| CKEditor |
- mächtiger Editor mit vielen Funktionen |
- Größe Basisinstallation > 2 MB - komplexe Struktur mit vielen Einzeldateien - aufwendige Integration in CMSmini - keine Unterstützung für alte Browser |
| nicEdit |
- Größe Basisinstallation ca. 40 KB |
- MIT Lizenz |
| widgEditor |
- Dateigröße ca. 64 KB |
- stellt nur rudimentäre Funktionen zur Verfügung |
Fazit:
Der CKEditor ist vom Funktionsumfang ein sehr mächtiges Werkzeug vergleichbar mit dem TinyMCE. Er scheidet dennoch aus, da er zum einen keinen signifikanten Benefit zum bereits unterstützten TinyMCE bietet und zum anderen mit einer Größe von über 2 MB in der Basisinstallation bereits 8x so groß wie CMSmini selbst ist.
Der widgEditor bietet einen für heutige Verhältnisse viel zu geringen Funktonsumfang, allerdings ist er der einzige Editor, welcher auch mit den älteren Browsern zusammenarbeiten kann, die von CMSmini unterstützt werden. Die Integration in CMSmini und das Ergänzen wichtiger Funktionen hat sich leider als zu aufwendig herausgestellt, weswegen er in der aktuellen Betrachtung nicht mehr berücksichtigt wird. Allerdings ist er ein heißer Kandidat für eine spätere Betrachtung.
Aktuell favorisiert ist somit der nicEditor, welcher zwar nicht unter GPL Lizenz steht und somit nicht direkt in die Distributionspakete von CMSmini integriert werden kann, aber er bietet das ausgewogenste Verhältnis zwischen Größe, Funktionsumfang, Erweiterbarkeit und Integrationsfähigkeit in CMSmini.
Seit heute steht die erste vollständige Version 2.6 von Murphy's CMSmini mit allen Features zum Download bereit. Nur noch ein paar Codeoptimierungen und -bereinigungen stehen aus. Sobald diese durch sind und auch das vollständige Testing auf den verschiedenen Referenzsystemen keine gravierenden Mängel aufweist, geht es in die Betaphase.
Ein zweites, fehlerbereinigtes Release der kommenden Version 2.6 von CMSmini ist verfügbar.
Die Unterstützung eines weiteren WYSIWYG-Editors habe ich auf Version 2.7 verschoben, da ich noch unschlüssig bin, welcher Editor es werden los. Momentan schwanke ich zwischen dem CKEditor als AddOn-Lösung, wie sie auch beim TinyMCE realisiert ist, oder dem NicEdit bzw. dem widgEditor als schlanke Lösung mit vollständiger Systemintegration inklusive Aufnahme in die Distributionspakete von CMSmini.
Seit heute steht das aktuelle Entwicklersystem von Version 2.6 öffentlich zum Download bereit. Bis auf einige wenige Ausnahmen sind alle Todos aus dem Lastenheft eingearbeitet und grob angetestet. Ich gehe aber mal davon aus, dass noch der ein oder andrere Bug enthalten sein dürfte, was sich im nun folgenden Testing zeigen sollte.
Die Feiertage sind um, das neue Jahr hat begonnen und dank meines Weihnachtsurlaubs ist das Lastenheft für Version 2.6 bis auf wenige Punkte abgearbeitet. Als nächstes folgt der Umstieg auf aktuelle Apache, PHP und MySQL-Versionen.
Die letzten Tage habe ich damit verbracht, das System unter der alten Ubuntu 12.04 LTS stabil zum Laufen zu bringen. Eigentlich ist dieses Linux-Release bereits lange aus dem Support raus, aber mit den enthaltenen älteren Versionen von Apache (2.2.22), PHP (5.3.10) und MySQL (5.5.54) war es einfacher, die Bugs innerhalb von CMSmini zu beseitigen.
Jetzt werden die offenen Punkte aus dem Lastheft abgearbeitet und, wenn CMSmini danach zufriedenstellend läuft, der schrittweise Umstieg auf neuere Infrastruktur durchgeführt.
Die erste halbwegs lauffähige Entwicklerversion von CMSmini 2.6 steht, aber es liegt noch ein gutes Stück Arbeit vor mir, bevor daraus ein produktiv einsetzbares System wird. Der Umfang der error.log, die idealerweise leer sein sollte, erinnert eher an eine Staatsbibliothek.
Die Datenbankemulation SDB liegt seit letzter Woche in Version 0.0.3 vor, ist ausgiebig getestet und wurde heute final freigegeben. Allerdings gilt dies nur für die in CMSmini verwendete PHP-Klasse SDBquery zur Datenmanipulation. Das Administrationstool SDBmyAdmin und das Konvertierungsscript für bestehende SDB 0.0.2 Installtionen musste ich aus Zeitgründen erst einmal zurückstellen. Vorrang haben momentan die großen offenen Punkte aus dem Lastenheft für CMSmini Version 2.6.
Das Lastenheft für CMSmini Version 2.6 steht und ist deutlich umfangreicher geworden als erwartet., ohne dabei nennenswerte neue Features für das System zu enthalten. Es handelt sich zum überwiegenden Teil um reine Anpassungen an die geänderten technischen Anforderungen bei der Webausspielung. Als am aufwendigsten wird sich dabei voraussichtlich die Wahrung der Kompatibilität zu älteren Systemen (z.B. Apache 1.x, PHP 4.x, MySQL 3.x) gestalten.
Zu den bisher identifizierten wichtigsten geplanten Anpassungen gehören:
Auf der Agenda stehen noch gut zwei Dutzend weitere kleine Punkte, die abgearbeitet werden müssen.
Nach dem Überschlagen der Aufwände habe ich mal Ende Q1/2017 als möglichen Releasetermin ins Auge gefasst.
Nach gut drei Jahren Stillstand habe ich heute die Weiterentwicklung an CMSmini wieder aufgenommen, da sich zwischenzeitlich einge Veränderungen und Neuerungen technischer Art ergeben haben.
Die vorliegende aktuelle Version 2.5 von CMSmini wird leider den geänderten Anforderungen im World Wide Web nur noch bedingt gerecht. Seien es die niemals versiegenden UTF8-Probleme oder Inkompatibilitäten mit neueren PHP- und MySQL-Versionen oder ganz banal eine unterschiedliche Berechnung von CRC32-Checksummen auf 32-Bit- und 64-Bit-Systemen. All dies trägt dazu bei, dass ein produktiver Einsatz des in die Jahre gekommenen CMSmini-Releases eigentlich nicht mehr möglich ist.
Für die nächsten Tage plane ich erst einmal eine Bestandsaufnahme der bereits erfolgten Entwicklung an Version 2.6 und stelle ein neues Lastenheft zusammen. Erst dann kann ich grob abschätzen, wieviel Zeit ich für das Projekt benötigen werde.
In den letzten Wochen wurde ich von mehreren Personen unabhängig voneinander auf den aktuellen Status von Murphy's CMSmini angesprochen und um Support gebeten.
Dabei hat sich gezeigt, dass die aktuelle "Langlauf"-Version 2.5 nach fünf Jahren nicht mehr ganz dem Stand der Technik genügt. Auch wenn in allen oben genannten Fällen ein Workaround gefunden werden konnte, so ist doch eine generelle Überarbeitung des Systems angebracht, um den geänderten Anforderungen im WWW genüge zu tun.
Eine neue Version von CMSmini, die sowohl Probleme mit Unicode bei MySQL als auch die unterschiedlicher CRC32-Berechnung auf 32- und 64-bit Systemen beseitigt, wird in ein paar Tagen als Beta verfügbar sein.
Die Online-Demo von CMSmini wurde nun endgültig eingestellt. Zum einen war die Version zwischenzeitlich veraltet und zum anderen war es mir nicht möglich, ohne eine Virtualisierung das frei zugängliche Backend des Demo-Systems so vom Rest des Servers abzuschirmen, dass es kein Sicherheitsrisiko für diesen mehr darstellen konnte.
An dieser Stelle auch noch ein Dankeschön an den anonymen Hinweisgeber. Falls er sich denn noch einmal melden möchte, im Kühlschrank steht schon ein Bierchen für ihn kalt. ;-)
Wie heute bekannt wurde, gibt es Probleme bei Verwendung der in CMSmini integrierten SDB-Datenbankemulation auf Maschinen, welche unter einem 64bit-Betriebssystem laufen. Diese Probleme konnten reproduziert werden. Bereits die Anmeldung am Backend war hier nicht mehr möglich.
Nach genauer Untersuchung konnte die PHP-Funktion crc32() als Übeltäter identifiziert werden. Unverständlicherweise liefert diese PHP-Funktion auf 64bit-Systemen eine andere Checksumme als auf 32bit-Systemen. In Folge dieses Verhaltens bricht SDB korrekterweise die weitere Verarbeitung aufgrund einer vermeintlichen Dateninkonsistenz ab.
Dieses Verhalten von PHP konnte bisher bei folgenden Betriebssystemen beobachtet werden:
Es ist sehr wahrscheinlich, dass dies ein generelles Problem auf 64bit-Systemen ist. Daher wird mit dem nächsten Release von CMSmini die Checksummenberechnung in SDB von crc32() auf md5() umgestellt.
Das bereits angekündigte Release 2.5.007 von CMSmini ist fertig und kann heruntergeladen werden. Nachfolgend die Liste aller Änderungen:
Und wie immer der obligatorische Hinweis, dass ein Feedback zur aktuellen Version mehr als erwünscht ist.
Mit der kommenden Version 6 von PHP werden einige veraltete Funktionen entfallen, die bis dato auch im Code von CMSmini enthalten waren. Seit PHP 5.3.0 wird dies auch durch entsprechende Warnungen (Fehlermeldungen) wie beispielsweise
[16-Nov-2010 23:42:16] PHP Deprecated: Function ereg() is deprecated in /var/www/test.php on line 9
unübersehbar angezeigt. Dies ist für mich Grund genug, ein Zwischenrelease des Content-Management-Systems zur Verfügung zu stellen, welches zwar keine neuen Features dafür aber besagte Bereinigungen, Optimierungen und ein paar Bugfixes enthalten wird.
Die Veröffentlichung erfolgt, sobald die Test abgeschlossen sind, voraussichtlich in der KW 47.
Der Fehlerteufel hat beim Packen der Distributionspakete für CMSmini wieder zugeschlagen. Die Konfigurationsdatei enthält noch den Datenbanknamen des RC1. Dies ist zwar eher als kosmetisches Problem zu sehen, da dieser Name in der Regel an die Vorgaben des Providers angepasst werden muss. Um jedoch Verwirrungen vorzubeugen, stehen neue Distributionspakete mit der Revisionsnummer 2.4.054 zum Download bereit. Bereits in Betrieb genommene Installationen der Version 2.4.053 müssen nicht aktualisiert werden.
Nun ist die neue Version auch als Online-Demo verfügbar. Wie bereits angekündigt unterscheidet sich die neue Online-Demo von dem regulären CMSmini Release dahingehend, dass sowohl Dateiuploads als auch die Einbindung von PHP-Quelltexten aufgrund früherer Vorkommnisse deaktivert wurden.
Es ist geschafft. Das Backend von CMSmini (Skripte + Bilder) bewegt sich nun mit 248 KB wieder in Rahmen der Vorgaben. Damit ist diese Version zur Nutzung freigegeben. Nachfolgend eine Liste der wichtigsten Neuerungen der Version 2.4.053:
Und wie immer der obligatorische Hinweis, dass ein Feedback zur aktuellen Version mehr als erwünscht ist.
Durch die notwendigen GPL-Lizenzhinweise in den Dateien von CMSmini ist die Gesamtgröße des Systems stark angewachsen. Aktuell liegt sie bei 273 KB alleine für die Backend-Skripte und überschreitet damit das Limit von 250 KB deutlich. In den nächsten Tagen werde ich durch die ein oder andere Optimierung versuchen, das Volumen wieder unter die magische Grenze zu drücken.
Leider gibt es immer wieder Zeitgenossen, die jede sich bietende Gelegenheit nutzen, fremde Rechner als Spam-Schleudern zu missbrauchen. Also habe ich heute die Online-Demo wieder abgeschaltet. Es wird sie in der bisherigen Form auch nicht mehr geben. An ihre Stelle tritt mit Erscheinen der finalen CMSmini Version 2.4 eine eingeschränkte Version des Systems, bei der alle Funktionalitäten betreffend Dateiuploads und Einbindung fremder PHP-Quelltexte deaktiviert sind.
Seit heute ist eine voll funktionsfähige Online-Demo der aktuellen Version von CMSmini verfügbar. Sie ist öffentlich zugänglich und kann somit von jederman zum Kennenlernen des Systems genutzt werden.
![]()
Mit dem heutigen Erscheinen der dritten Beta von CMSmini Version 2.4 ändert sich das CMSmini-Lizenzmodell von klassischer Freeware hin zu Open Source. Das Content Mangement System steht nun offiziell unter der GNU General Public License. Dies treibt zwar die Dateigröße der Distribution etwas in die Höhe, doch bietet die neue Lizenz sowohl für Anwender als auch Entwickler mehr Rechtssicherheit.
Der Aufwand ist doch höher als erwartet. Auch wenn vieles reine Fleißarbeit ist, so kostet es doch enorm Zeit. Daher wird das erste Release von Version 3.0 erst Mitte 2010 erscheinen.
Ein erster Snapshot steht zum Download bereit. CMSmini Version 2.4 wird lediglich Detailverbesserungen und den ein oder anderen Bugfix enthalten. Das Datenmodell bleibt gegenüber Version 2.3 unverändert, was ein Update vereinfacht. Um Feedback wird gebeten.
Nachdem der neue Server nun läuft, ist auch endlich wieder Zeit die Entwicklung von CMSmini voran zu treiben. In den nächsten Tagen stelle ich die Update-Anleitung von Version 2.2 auf Version 2.3 fertig und beginne mit der Dokumentation der neuen Version 2.3.
Heute wurde die finale Version von CMSmini Version 2.3 veröffentlicht. Neben den angekündigten Patches bezüglich suPHP und anderer exotischer Konfigurationen enthält die neue Version bereits einige Erweiterungen, die für die kommende Version 3.0 geplant waren:
Heute wurde der gerade frisch erschienene Release Candidate 1 von CMSmini Version 2.3 erfolgreich auf einer AVM FRITZ!Box mit modifizierter Firmware installiert und in Betrieb genommen. Das für diesem Zweck verwendete Firmware-Image des DSL-Routers enthält einen Webserver Apache/1.3.41 mit PHP/4.4.9. Als Datenhaltung dient die SDB-Datenbankemulation und für die Persistierung wird ein an den Router angeschlossener USB-Stick genutzt. Ein herzliches Dankeschön geht hierbei an meinen Arbeitskollegen Matthias Sturm, der die Idee dazu hatte, die Tests durchgeführt hat und das Ganze nun unter der Domain http://imperialgalaxy.de betreibt.
Leider gab es bisher zuwenig Resonanz auf die beiden veröffentlichten Beta-Versionen von CMSmini, so dass sich der Release Candidate nun auf unbestimmte Zeit verzögert, bis ich selbst die Zeit für ein umfassendes eigenes Testing haben werde.
Die Entwicklung von Version 3.0 geht parallel zu den Arbeiten an Version 2.3 in großen Schritten voran. Neben einem vollständig überarbeiteten Datenmodell und der Einführung von Ressorts wird das dritte große Release von CMSmini erstmalig mit dem Webserver Lighttpd und der Datenbank Postgres zusammenarbeiten.
Vor ein paar Minuten ist die erste offizielle Beta-Version (Revisionsnummer 2.3.034) fertig geworden. Sie ist vorab schon einmal grob durchgetestet und scheint soweit stabil zu laufen. Außer dem angekündigten Hotfix bezüglich suPHP wurde noch die Oberfläche des Menü-Moduls überarbeitet, die Struktur der Menüpunkte vereinfacht (bei gleichzeitig größerer Flexibilität) sowie einige weitere Anpassungen zur Verbesserung der Kompatibilität bezüglich "exotischer" PHP-Konfigurationen (z.B. short_open_tag = Off) gemacht. Der Vollständigkeit halber sei noch darauf hingewiesen, dass sich auch ein paar Menüpunkt-Platzhalter geändert haben (LINKZIEL statt FENSTER, LINKNAME statt NAME, usw.) Für Fragen und Feedback stehe ich natürlich wie immer zur Verfügung.
Auf der Downloadseite steht aber sofort ein erster Entwickler-Snapshot der kommenden Version zum Testen bereit. Er trägt die Revisionsnummer 2.3.012. Dabei handelt es sich zwar um ein vollständiges System, doch sind nicht alle Teile funktionsfähig. Der Download enthält bereits die (z.Z. noch ungetesteten) Anpassungen für suPHP sowie ein überarbeitetes Menümodul. Um Feedback wird gebeten.
Aufgrund einer aktuellen Nutzeranfrage bezüglich schwerwiegender Probleme in Verbindung mit suPHP wird der Erscheinungstermin von Version 2.3 vorgezogen. Diese Version wird (wahrscheinlich) schon Ende August und nicht erst Anfang 2010 zur Verfügung stehen, aber noch nicht die geplanten Erweiterungen enthalten, sondern ein reines Service Release mit Verbesserungen der bestehenden Funktionalität darstellen. Aus diesem Grund muss nun auch die Fertigstellung der Handbücher auf einen späteren Terminen verschoben werden.
Beim Packen der Archive für die Distribution von CMSmini in Version 2.2.031 haben sich Fehler eingeschlichen, die dazu führen, dass das System nicht fehlerfrei arbeitet. Davon betroffen sind sowohl das TAR.GZ- als auch das ZIP-Archiv. Auf der Downloadseite stehen korrigierte Pakete unter der Revisionsnummer 2.2.032 zum Download bereit. Ich bitte eventuelle Unannehmlichkeiten zu entschuldigen.
Die neue Version von CMSmini ist seit heute verfügbar. Zu den Verbesserungen zählen:
© 2026 Murphy's World Alle Rechte vorbehalten Impressum