CMS Schreiben

Du hast eine Idee für ein Projekt?
Benutzeravatar
nkoehring
User
Beiträge: 543
Registriert: Mittwoch 7. Februar 2007, 17:37
Wohnort: naehe Halle/Saale
Kontaktdaten:

blackbird hat geschrieben:
BlackJack hat geschrieben:AJAX ist sehr wohl ein Buzzword. Das hat nichts damit zu tun ob man JavaScript verteufelt oder nicht, sondern das AJAX überall erwähnt und eingesetzt wird, weil es "hip" ist und nicht nur nach rationalen Gesichtspunkten. Buzzword eben.
Ich gebe zu AJAX wird mometan fast überall verwendet aber es werden auch schon Dinge AJAX genannt die mit AJAX nichts zu tun haben. Seiteneffekte sind kein AJAX ;-) Ich persönlich finde AJAX bzw AJAJSON eine tolle Sache. Es macht Webanwendungen unglaublich flexibel und angenehmer für den Anwender.
ehm... ich muss ehrlich gestehen, dass ich zwar den Begriff AJAX kenne... auch weiß womit das ungefaehr zu tun hat... aber absolut keinen blassen schimmer hab, was eigentlich dahinter steckt ^^

Ist das verwerflich? :roll:
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

monocult hat geschrieben:Der Punkt der mich auch interessiert ist wie man das Klassische CMS System Vielleicht verbessern kann. Innovative Content Erstellung und Verwaltung. Einfach mal was neues ausprobieren.

Vielleicht habt ihr ja Gedanken oder Ideen. Vielleicht eine Mischform aus Wiki und CMS mit blog Funktionen wie pingback etc.
Wer sich in diese Richtung schon einiges überlegt hat ist Yves Goergen (Autor der Forensoftware UNB). Er überlegt zur Zeit nämlich wie eine Version 2 seiner Software aussehen könnte, und hat hier ein paar interessante Überlegungen aufgestellt:
http://beta.unclassified.de/projekte/unb2/

MfG apollo13
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

nkoehring hat geschrieben:Ist das verwerflich? :roll:
Naja, die Kurzbeschreibung in der Wikipedia erklärt schon mal vieles.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
monocult
User
Beiträge: 37
Registriert: Donnerstag 31. März 2005, 09:55
Wohnort: hennef
Kontaktdaten:

apollo13 hat geschrieben:Wer sich in diese Richtung schon einiges überlegt hat ist Yves Goergen (Autor der Forensoftware UNB). Er überlegt zur Zeit nämlich wie eine Version 2 seiner Software aussehen könnte, und hat hier ein paar interessante Überlegungen aufgestellt:
http://beta.unclassified.de/projekte/unb2/

MfG apollo13
genau sowas suche ich :D
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Dann fang mal an zu schreiben :)
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Wow, da hat sich einer aber ein paar Gedanken gemacht. Lesenswert.

Durchaus interessante Ideen. Wir benutzten ja auch diese Forum + unser Wiki. Ich hatte ja schon immer mal die Idee geäußert, Wiki und Forum zusammen zu bringen: http://www.python-forum.de/topic-4879.html
Das kann man IMHO sogar leicht erledigen. Der User muss nur leicht zwischen beiden Systemen hin und her transferiert werden.

EDIT: Ich hab mal angefangen zu experimentieren, mal sehen was daraus wird:
http://pylucid.net/trac/browser/branche ... 8django%29

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
dst
User
Beiträge: 27
Registriert: Mittwoch 28. Februar 2007, 23:42

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 ;)
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Und um mal meine "große" Idee noch mit einzureichen:

Für das CMS sollte/könnte auch eine Lokale Verwaltungssoftware bereitstehen.
Geht mir zumindest so, das ich öfters ma nur 5-10 Minuten online bin. Da fallen Newsschreibereien an, Forenaufräumarbeiten... umplanarbeiten etc.

Einige Sachen, wie das Newsschreiben sollten auch lokal abarbeitbar sein und dann hochgeladen werden können.


Die zweite Sache, die eventuell nicht so wichtig ist:
SQL-Abstraktionslayer, SQL, DBORM etc...
Eventuell könnte auch einfach die Verwaltung von TXT-Dateien mit zu gehören, sollte keine DB existieren.


MfG EnTeQuAk
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

EnTeQuAk hat geschrieben:Für das CMS sollte/könnte auch eine Lokale Verwaltungssoftware bereitstehen.
Sowas kann man ja i.d.R. über XMLRPC regeln. Ich persönlich brauche sowas aber nicht. Jeder der eine Flat hat IMHO auch nicht.
EnTeQuAk hat geschrieben:Eventuell könnte auch einfach die Verwaltung von TXT-Dateien mit zu gehören, sollte keine DB existieren.
Wozu? Dann nimmt man einfach SQLite. Bei Django's DB-Abstraktionsschicht müsste man normalerweise nichts anpassen ;)

Ich denke mit dem django Unterbau bin ich auf dem richtigen weg. So kann ich mich theoretisch auf das wichtigeste Konzentrieren.

@dst: Vieles von dem was du geschrieben hast ist auch mein grundlegender Ansatz. Ich möchte ein möglichst kleinens Grundsystem haben, welches man mit Plugins erweitern kann. Aber mehr noch, das Grundsystem läuft ohne wichtige Plugins erst gar nicht richtig. z.B. ist das Hauptmenü ein Plugin. Ohne die Navigation hat man kein CMS ;)
Wenn du Interesse hast, dann schau mal hier vorbei: http://pylucid.org/phpBB2/viewtopic.php?t=122

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Hallo dst, willkommen im Forum,
dst hat geschrieben: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.
Was hat Smarty mit CSS zu tun? Ich würde sagen nur wenig. Das man HTML über Template-Engines generiert möchte ich nicht missen und dass das Aussehen dieses soweit wie möglich über CSS kontrolliert wird ebenso.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
dst
User
Beiträge: 27
Registriert: Mittwoch 28. Februar 2007, 23:42

@jens
Ich werds mir mal angucken. Wie gesagt, ich beschäftige mich erst seit kurzem mit Python, habe aber das Gefühl, dass die Sprache durch Ihre Flexibilität wirklich gut für ein absolut veränderbares System eignet. Mal gucken, wie gut ich mich zurechtfinde ;)

Ich kenne Django noch überhaupt nicht, was für eine Art von DB-Abstraktion bietet das? Wie gesagt, von klassischen Abstraktionsschichten, die auf (vereinfachtes) Inline-SQL setzen, würde ich gerne verzichten und alle Daten Objekt-Relational mappen.

Wie auch immer, im minimalen Grundsystem und dem Grundsatz "alles ist ein Plugin" stimmen wir wohl überein :)

@Leonidas
Wie gesagt, ich bin da im Moment am zweifeln. Wie gesagt, ich arbeite im Moment hauptsächlich mit Typo3. Dort ist das wenigste per klassischem Template zu bearbeiten.
Allerdings gibt es per TypoScript die möglichkeit fast alles anzupassen. TS allerdings ist eine Sache, die ich nicht als Vorbild nehmen möchte. Alles was konfigurierbar ist, sollte das meines Erachtens auch mitteilen, so dass automatisch eine entsprechende Oberfläche zur Verfügung gestellt wird.
Meine Gedanken gehen ein wenig in die Richtung, dass man statt mit Templates auf eine Art semantische Controls setzen kann.
Aber vermutlich ist ein relativ mächtiger Output-Prozessor (dann wirklich in der Art von Smarty, aber wohl etwas abgespeckt) doch sinnvoll.
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

dst hat geschrieben:@jens
Ich kenne Django noch überhaupt nicht, was für eine Art von DB-Abstraktion bietet das? Wie gesagt, von klassischen Abstraktionsschichten, die auf (vereinfachtes) Inline-SQL setzen, würde ich gerne verzichten und alle Daten Objekt-Relational mappen.
Django kommt mit einem OR Mapper. Das kuhle daran ist das er nicht aus der DB zur Laufzeit "Models Generiert" wie Rails, sondern aus den Models die Datenbank generiert ;) Hat zwar beides Vor und Nachteile, mir gefällt Djangos Ansatz jedoch bisher klar besser.
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Jens hat geschrieben: Wozu? Dann nimmt man einfach SQLite. Bei Django's DB-Abstraktionsschicht müsste man normalerweise nichts anpassen Wink
Gut... mag sein ;) --> Aber ich mag halt immer Lösungen, die möglichst portabel sind und sagen wir ma... keine Installationen voraussetzen. Klar ist das optional... währe aber noch etwas, was man mit einbauen könnte. (aber nicht muss)

MfG EnTeQuAk
dst
User
Beiträge: 27
Registriert: Mittwoch 28. Februar 2007, 23:42

@veers
Das klingt doch ganz nett.
Ich denke, dass der andere Weg (Models anhand einer Datenbankstruktur generieren) in unserem Fall überhaupt nicht passen würde.
Inwiefern lassen sich die Models denn "im laufenden Betrieb" ändern? Sprich, wenn ich z.B. eine Extension installiere, die ein zusätzliches Feld in Usertabelle braucht, lässt sich das mit vertretbarem Aufwand realisieren?


@entequak
SQLite erfordert keine Installation sondern arbeitet von Haus aus mit simplen Dateien. Natürlich müssen die entsprechenden "Treiber" für Python vorliegen, aber das müssen sie ja ohnehin.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

dst hat geschrieben:Inwiefern lassen sich die Models denn "im laufenden Betrieb" ändern? Sprich, wenn ich z.B. eine Extension installiere, die ein zusätzliches Feld in Usertabelle braucht, lässt sich das mit vertretbarem Aufwand realisieren?
Weitere Tabellen anlegen ist kein Problem. Dafür gibt es syncdb: http://www.djangoproject.com/documentat ... in/#syncdb

Existierende Tabellen ändern geht allerdings nicht out-of-the-box. Es gibt keine Routine dafür. Man muß also selber zusehen, das man die Tabellen aktualisiert.
IMHO ist das aber auch nicht so das Problem. Ich lege PyLucid immer eine Update Routine dabei: http://pylucid.net/trac/browser/trunk/P ... _Update.py (Das ist für die v0.7, die nicht django Version)
Wenn man allerdings verschiedene DBs unterstützten möchte, muß man die Update-Routine für jede einzelne DB anpassen, weil IMHO die ALTER TABLE Syntax nicht 100% gleich ist.
Eine andere Möglichkeit ist es die Tabellen zu löschen und neu erstellen zu lassen, aber das ist ja nicht wirklich ein Update ;)

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

SQLite erfordert keine Installation sondern arbeitet von Haus aus mit simplen Dateien. Natürlich müssen die entsprechenden "Treiber" für Python vorliegen, aber das müssen sie ja ohnehin.
Nicht? --> Dann hab ich bisher immer falsch gedacht. Also ich habe es immer (auf meinem Ubuntu) installiert. Obs ohne ging, hab ich nie ausprobiert.

hmm...


MfG EnTeQuAk
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

SQLite ist ab Python 2.5 direkt mit dabei... Für alle älteren Versionen muß man es nachinstallieren ;)
Siehe: http://docs.python.org/whatsnew/modules ... 0000000000

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

veers hat geschrieben:Django kommt mit einem OR Mapper. Das kuhle daran ist das er nicht aus der DB zur Laufzeit "Models Generiert" wie Rails, sondern aus den Models die Datenbank generiert ;)
Stimmt nicht ganz - auch in Rails musst du Scaffolding nicht nutzen - du kannst deine Modelle ebenso wie in den Python ORMs deklarieren.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Leonidas hat geschrieben:Stimmt nicht ganz - auch in Rails musst du Scaffolding nicht nutzen - du kannst deine Modelle ebenso wie in den Python ORMs deklarieren.
Hm, aber Rails kann afaik nicht aus einem Model eine Datenbank erstellen...

dst hat geschrieben:@veers
Das klingt doch ganz nett.
Ich denke, dass der andere Weg (Models anhand einer Datenbankstruktur generieren) in unserem Fall überhaupt nicht passen würde.
Inwiefern lassen sich die Models denn "im laufenden Betrieb" ändern? Sprich, wenn ich z.B. eine Extension installiere, die ein zusätzliches Feld in Usertabelle braucht, lässt sich das mit vertretbarem Aufwand realisieren?
Nunja für den Fall gibts es die Möglichkeit erweiterte User Attribute zu definieren ;) Ansonsten ist es vermutlich sinnvoller neue Felder Explizit anzulegen.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

btw. so sieht es z.Z. aus mit PyLucid in der django Version: pylucid.de
Aber da ist noch viel Arbeit zu machen, wie man sehen kann ;)

Einen _install Bereich gibt es auch wieder: pylucid.de/_install/XXX/ Da wo XXX ist, bitte als Passwort 12345678 eintragen ;)
Die ganz Artigen dürfen sich auch im django Admin einloggen. Der Username ist test und das Passwort das selbe, wie für die _install-Sektion ;) Login Link ist ja auf der Seite selber...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten