Hi,
ich habe mich gerade aufgrund dieses Threads in diesem Forum registriert und dränge euch einfach mal ein paar Gedanken von mir auf.
Ich plane schon seit mehreren Jahren(!) an einem CMS, dass mich wirklich zufrieden stellen würde. Alle Ideen und Gedanken jetzt im einzelnen auszubreiten würde den Rahmen (und vor allem meine Tippfaulheit) sprengen.
Nur soviel sei gesagt: Code existiert bei mir praktisch noch keiner, nur Konzepte etc. sicherlich könnte ich auch weiter sein, allerdings mache ich das ganze in meiner nicht unbedingt umfangreichen Freizeit, allerdings sollte demnächst ein praktischer Anfang gemacht werden.
Python stand für mich bislang noch nicht als zu nutzende Plattform zur Diskussion, seit ich mich seit kurzem nebenbei mit Python beschäftige, hat sich das aber geändert. Ich kann mir durchaus vorstellen, dass Python sich sehr gut dazu eignet.
Warum möchte ich ein neues CMS?
Nun, es gibt natürlich schon einen ganzen Haufen an Systemen, die teilweise auch wirklich nette Ideen beinhalten, aber (wie auch ihr) bin ich der Ansicht, dass sie entweder zu eingeschränkt, zu umfangreich/komplex oder zu inkonsistent bzw. die Grundkonzepte zu schwammig sind.
Es ist zwar im Laufe der Zeit schon besser geworden, aber wirklich zufrieden bin ich noch immer nicht (derzeit nutze ich hauptsächlich Typo3, was viele Vorteile, aber eben auch ein paar Nachteile [selbst wenn man die steile Lernkurve außer acht lässt] hat).
Was erwarte ich von einem CMS?
Es sollte so schlank und klar strukturiert wie möglich sein.
Ähnliche Aufgaben sollten gezwungenermaßen stets auf ähnliche Weise gemacht werden.
Es sollte nahezu alles über eine intuitive GUI einzustellen sein.
Erweiterbarkeit!
Wie möchte ich das erreichen?
Wenn man sich 99% der dynamischen Websites anguckt -- egal ob CMS, Wiki, Forum -- kann man nahezu alles auf relativ wenige Grundfunktionen herunterbrechen. Leider gibt es praktisch keinen Standard, diese Grundfunktionen zusammenarbeiten zu lassen.
Wer jemals ein CMS, ein Forum und ein Wiki unter einen Hut bringen wollte (und zwar richtig unter einen Hut; gemeinsame Benutzerdatenbank, allgemeiner Datenaustausch etc.), weiß wovon ich rede - es ist ein Krampf!
Ich stelle mal die folgende Theorie in den Raum: Mit einem durchdachten, erweiterbaren und klar Strukturierten Grundsystem lassen sich die meisten individuellen Anwendungen relativ simpel auf eine Weise Erstellen, dass tatsächliche interaktion von vornherein möglich ist.
Was sollte solch ein Grundsystem enthalten?
Für den Datenzugriff eine ausgeklügelte ORDB-Mapping-Ebene. D.h. auf Daten wird nur über die damit korrespondierenden Objekte zugegriffen. Inline SQL, auch über Abstraktionslayer vereinfacht, ist eine zu 99% unnötige Angewohnheit.
Wir wollen Daten und dessen Beziehung zu anderen Daten. Eine Unabhängkeit vom dahinterliegenden DB-Server ist praktisch inklusive.
Außerdem ist die Datenverwaltung auf diese Weise kein Problem. Datensätze und Relationen können Problemlos in Formularen abgebildet werden, die Formularfelder ergeben sich automatisch.
Wer mal den Extension-Kickstarter für Typo3 benutzt hat, weiß was ich meine. Nur das es halt noch besser geht
Der Datenzugriff ist eigentlich das wichtigste. Die Erweiterbarkeit ist natürlich ebenso wichtig und vermutlich eignet sich Python als Sprache geradezu wundervoll für diesen Zweck.
Oh, eine andere Sache ist die Generierung der Ausgabe. Zunächst mal sollte das natürlich vereinheitlicht sein. Während ich lange Zeit dachte, dass ein mächtiger Output-Prozessor wie JSP oder Smarty (aus der PHP-Welt) unbedingt nötig ist, bin ich mir da nicht mehr so sicher.
Wenn es um HTML-Output angeht, kann das allermeiste per CSS abgehandelt werden und eine größere Beeinflussung des HTML ist oft kontraproduktiv. Naja, wie gesagt, da bin ich derzeit nicht ganz sicher.
So, das reicht mir erstmal. Hab keine Lust jetzt noch mehr zu tippen, der Tag war lang genug
