CMS Schreiben

Du hast eine Idee für ein Projekt?
monocult
User
Beiträge: 37
Registriert: Donnerstag 31. März 2005, 09:55
Wohnort: hennef
Kontaktdaten:

Freitag 16. Februar 2007, 12:22

Hallo zusammen,

ich weiß CM Systeme gibt es eigentlich genug. Aber ich habe wirklich schon mit einigen gearbeitet und bin doch immer wieder an grenzen gestoßen. Oder das cms ist einfach zu groß zu kompliziert(für den Redakteur) etc.

Ich möchte daher etwas selber schreiben. Dazu einige Ideen Technischer Natur.

-es sollen vom Konzept keine Einschränkungen für einen späteren Ausbau bestehen. (auch wenn am Anfang noch nicht alles genutzt wird. betrifft wahrscheinlich hauptsächlich den DB Aufbau.)

-möglichst vielseitig einsetzbar (CGI, mod_python, fastcgi, verschiedene Datenbanken z.b. sqllight, mysql, etc)

-caching der Seiten (nicht nur Template caching als python Code sondern statischen HTML Code entweder aus einer Datei alternativ aus der DB)

-Plugin Schnittstelle

-Einfach zu bedienen (ja ja das sagt sich so leicht)

Zusätzlich würde ich gerne ein paar neue Ideen einbauen zb. alternative Content Zuordnung über Tags. Ich würde da gerne einfach mal was neues Ausprobieren.

Wenn ihr Ideen hab oder Dinge die ihr an anderen CMS gut findet, würde ich mich freuen wenn hier einige Anregungen entstehen würden. Gerne auch vollkommen unkonventionelle Vorschläge.

Zum schluß noch etwas zur Technik bisher habe ich meist auf den Einsatz von externen frameworks oder Template Systemen verzichtet. Hauptsächlich um unabhängig zu bleiben und weil es für mich einfacher ist den eigenen Code anzupassen als mich dann in ein fremdes Programm einzuarbeiten. Wahrscheinlich werde ich aber bezüglich der Templates und der DB Schnittstelle nicht an anderen Projekten vorbeikommen. Vielleicht habt ihr ja auch da noch eine Idee oder Erfahrungs berichte.

gruß Daniel



-
Benutzeravatar
jens
Moderator
Beiträge: 8483
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Freitag 16. Februar 2007, 12:57

monocult hat geschrieben:ich weiß CM Systeme gibt es eigentlich genug. Aber ich habe wirklich schon mit einigen gearbeitet und bin doch immer wieder an grenzen gestoßen. Oder das cms ist einfach zu groß zu kompliziert(für den Redakteur) etc.
Genau deswegen habe ich mit PyLucid CMS angefangen, siehe: http://pylucid.org/index.py/Genesis/

Generell würde ich dir davon abraten was ganz neues Anzufangen. In Python gibt es zwar wenige CMS Systeme, aber das Rad nochmals neu zu erfinden ist einfach super Aufwendig. Da spreche ich aus eigener Erfahrung. Ich arbeite an PyLucid schon fast zwei Jahre und es gibt immer noch einen riesigen Haufen Arbeit.

Alternativ gibt es noch http://orangoo.com/skeletonz/ CMS, was allerdings IMHO nicht so ohne weiteres als CGI läuft. Dafür ist es allerdings Buzzword kompatibel, weil es viel auf AJAX setzt.
Alle anderen CMS System die in Python geschrieben sind, brauchen Zope und/oder sind dicke Dinger.

Hier mal deine Punkte in bezug auf PyLucid beantwortet:
monocult hat geschrieben:-es sollen vom Konzept keine Einschränkungen für einen späteren Ausbau bestehen. (auch wenn am Anfang noch nicht alles genutzt wird. betrifft wahrscheinlich hauptsächlich den DB Aufbau.)
Einschränkungen wird es wohl immer geben. In PyLucid versuche ich deswegen in ersterlinie das Basissystem möglichst schlank zu halten und alles andere über Plugins zu realisieren.
Das ist allerdings auch nur eingeschränkt möglich, bzw. immer mit Mehraufwand verbunden.
z.B. ist das tinyTextile Markup, der Syntaxhighlighter Pygments und das Template System Jinja, fester Bestandteil und nicht wirklich über Plugins austauschbar. Das könnte man natürlich ändern, ist aber mit dem momentanen Plugin-System so nicht machbar, also mit mehraufwand verbunden.

Wichtiger ist mir jedoch, das man in der Ausgabe alle Freiheiten hat. Also, wie die generierten Seiten hinterher aussehen. Da ist PyLucid recht flexibel. Man kann nahezu alle Ausgaben selber ändern, wenn man möchte.
monocult hat geschrieben:-möglichst vielseitig einsetzbar (CGI, mod_python, fastcgi, verschiedene Datenbanken z.b. sqllight, mysql, etc)
Das ist PyLucid so halb. Theoretisch ist es dank [wiki]WSGI[/wiki] sehr flexibel gestaltet. Praktisch ist es aber so, das es bisher nur einwandfrei als CGI läuft. Ich habe es zwar auch schon einmal mit fastCGI am laufen gehabt, aber da gibt es noch Probleme.
z.Z. ist PyLucid auf MySQL festgelegt. Nicht weil ich spezielle Features nutzte, die nur MySQL bietet. Viel mehr deswegen, weil die Installation mit einem SQL-Dump funktioniert und der nicht direkt in SQLite rein passen mag (Die CREATE TABLE Statements müßten umgeschrieben werden). Es ist allerdings der Einsatz von SQLAlchemy geplant, damit ist man DB unabhängiger.
monocult hat geschrieben:-caching der Seiten (nicht nur Template caching als python Code sondern statischen HTML Code entweder aus einer Datei alternativ aus der DB)
Statischen Code rausschreiben hab ich mir auch schon mal überlegt. Das ist im Grunde das, was die Jungs von daucms.de realisieren wollen. daucmd soll später mal ein PyLucid Plugin werden.
Ansonsten gibt es bisher nur ein Object-Cache system, siehe: http://pylucid.org/index.py/DbCache/
monocult hat geschrieben:-Plugin Schnittstelle
Gibt es in PyLucid schon lange: siehe u.a.: http://pylucid.org/index.py/ModuleManager/
monocult hat geschrieben:-Einfach zu bedienen (ja ja das sagt sich so leicht)
Das ist PyLucid nur bedingt. Es ist nicht Dummuser tauglich. Allerdings finde ich das es auch nicht sonderlich kompliziert ist, wenn man sich erstmal eingefunden hat. Zumindest nicht so kompliziert, wie die großen CMS Systeme...
monocult hat geschrieben:Zusätzlich würde ich gerne ein paar neue Ideen einbauen zb. alternative Content Zuordnung über Tags. Ich würde da gerne einfach mal was neues Ausprobieren.
Mit PyLucid-Plugins läßt sich da einiges machen. Zum Thema Tags: Da hatte ich mal die Idee, das über die HTML-Keywords zu machen.


Würde mich freuen wenn du dir mal PyLucid ansiehst und vielleicht dabei mithilftst. Wir können weitere Entwickler gut gebrauchen, siehe http://pylucid.org/index.py/Developer/

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Freitag 16. Februar 2007, 13:24

jens hat geschrieben:Alternativ gibt es noch http://orangoo.com/skeletonz/ CMS, was allerdings IMHO nicht so ohne weiteres als CGI läuft.
Klar tut es das. Skeletonz ist eine WSGI Anwendung :roll:
Dafür ist es allerdings Buzzword kompatibel, weil es viel auf AJAX setzt.
AJAX hat mit Buzzwords sehr wenig zu tun. Irgendwie hab ich das Gefühl, dass hier jeder JavaScript verteufelt.
monocult hat geschrieben:-möglichst vielseitig einsetzbar (CGI, mod_python, fastcgi, verschiedene Datenbanken z.b. sqllight, mysql, etc)
Das ist PyLucid so halb. Theoretisch ist es dank [wiki]WSGI[/wiki] sehr flexibel gestaltet. Praktisch ist es aber so, das es bisher nur einwandfrei als CGI läuft. Ich habe es zwar auch schon einmal mit fastCGI am laufen gehabt, aber da gibt es noch Probleme.
Das geht auch praktisch so, wenn du keine Threading issues einbaust. Das heißt keine globalen Variablen, die nicht auf threading.local objekte gebunden sind etc. Skeletonz, alle django Anwendungen, pocoo, MoinMoin, trac sind genug Python Webanwendungen die Dank WSGI ohne weitere Arbeit auf jedem Interface laufen.
daucmd soll später mal ein PyLucid Plugin werden.
NEIN!

@Threadstarter: Da hast du dir etwas größeres vorgenommen. Und zwar wegen dem Plugin Zeug. Vielleicht willst du dir mal das django Framework ansehen, ideal für CRUD. Ansonsten rate ich dir zwecks CMS einmal Paste bzw Pylons genauer anzusehen. Das sind verhältnismäßig dünne Aufsätze für WSGI und momentan sehr im Rennen.

@jedie: Gibt es eigentlich einen Thread von dir ohne pylucid Werbung? PyLucid stufe ich momentan als nicht mit anderen CMS Systemen vergleichbar ein. Die Codebase hat bereits die Drupal Codebase überschritten, der Quellcode ist ein deutsch/englisch gemisch. Wer soll da dem Team beitreten? Es sind Features drin die niemanden etwas bringen (md5 login). Ein System im Umfang von PyLucid kann man mit django an einem Nachmittag schreiben. Sogar mit Plugins.
TUFKAB – the user formerly known as blackbird
BlackJack

Freitag 16. Februar 2007, 13:57

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.

Und was die "Werbung" angeht: Es gibt auch Leute, die das Kürzel WSGI nicht oft genug schreiben können. ;-)
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Freitag 16. Februar 2007, 14:08

blackbird hat geschrieben: AJAX hat mit Buzzwords sehr wenig zu tun. Irgendwie hab ich das Gefühl, dass hier jeder JavaScript verteufelt.
Gerade bei Jens würde ich mir da keine Sorgen machen...
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Freitag 16. Februar 2007, 14:23

Nu hört aba ma auf, immer auf Jens einzuschlagen.

blackbird hat schon recht, das PyLucid sehr schwer zu verstehen ist und der Code (nichts gegen dich Jens) an manchen Stellen schwer durchschaubar ist.

Das würde ich aber auf die Entwicklungszeit/dauer etc. anwenden. Ich weiß net, ob Jens damals auch schon so viel Ahnung von python hatte, wie heute... und da kommen halt neue Begriffe gerne dazu :D

Des weiteren ist mir schon aufgefallen, das PyLucid teils alten Schrott dabei hat... ich für meinen Teil wollte mithelfen und tue das indem ich mit Mr_Snede dauCMS entwickle (UND das war keine Werbung ;) ) und das später als Plugin für PyLucid bereit stehen soll.

Vorerst ist es aber ein eigenständiges Projekt.


Ich habe es ja schonmal bei Jens versucht, nochmal alles zu überdenken und neu anzufangen (gute Sachen können ja ruhig übertragen werden).
Das würde im Enddefekt die komplette Überarbeitung für die Datenbankumstellung, die Codeüberarbeitung usw. sparen. Damals hat er mich aber erfolgreich abgeblockt... (warum weiß ich grad net mehr ;) )...

Skeletonz... hmm blackbird, das kommt/kam aber auch oft von dir :D
Kommt es mir nur so vor oder wird da seit ewigkeiten nichts dran gemacht. Zumindest kenne ich bisher NUR die Version 1.0beta und das schon seit einer langen Zeit...

Mir persönlich sind aber kaum in Python realisierte CMS bekannt.

Ansich währe ich dafür, einen neuen "Versuch" zu wagen. Gleich von Anfang an auf WSGI + Datenbankunabhängigkeit dank SQLAlchemy (oder einem anderen OEM) und guter Pluginschnittstelle setzen.

Gute Sachen aus PyLucid können ja gerne übernommen werden. ;)

vielleicht schaut man, ob man eventuell auf pocoo aufbauen kann (oder einzelnen Komponenten). Die Pluginschnittstelle gefällt mir jedenfall sehr und ich denke, das ließe sich eventuell auf ein CMS umbiegen. (und mit der verwandschaft zu pocoo ließe sich später auch ein Forensystem mit einfügen lassen ;) )

MfG EnTeQuAK
Zuletzt geändert von EnTeQuAk am Freitag 16. Februar 2007, 14:27, insgesamt 1-mal geändert.
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Freitag 16. Februar 2007, 14:25

blackbird hat geschrieben:Ein System im Umfang von PyLucid kann man mit django an einem Nachmittag schreiben. Sogar mit Plugins.
Habe ich schon erwähnt, dass es Ellington gibt, welches ein Django-basiertes CMS ist. Aber es ist "etwas" größer und "etwas" teuer. Aber immerhin bin ich mir ziemlich sicher, dass man für das Geld auch ein hochqualitatives Stück Code bekommt - ist von den Django-Entwicklern geschrieben.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Freitag 16. Februar 2007, 14:28

EnTeQuAk hat geschrieben:Kommt es mir nur so vor oder wird da seit ewigkeiten nichts dran gemacht. Zumindest kenne ich bisher NUR die Version 1.0beta und das schon seit einer langen Zeit...
Es gibt die SVN-Version. Außerdem kann man sich jederzeit an amix wenden, den sehe ich manchmal im IRC und hab ihn zusammen mit blackbird überredet Skeletonz WSGI-kompatibel zu machen.
EnTeQuAk hat geschrieben:Gute Sachen aus PyLucid können ja gerne übernommen werden. ;)
Was genau? (Ernst gemeint, das würde mich wirklich interessieren, was man aus PyLucid übernehmen könnte)
My god, it's full of CARs! | Leonidasvoice vs Modvoice
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Freitag 16. Februar 2007, 14:30

Leonidas hat geschrieben:
blackbird hat geschrieben:Ein System im Umfang von PyLucid kann man mit django an einem Nachmittag schreiben. Sogar mit Plugins.
Habe ich schon erwähnt, dass es Ellington gibt, welches ein Django-basiertes CMS ist. Aber es ist "etwas" größer und "etwas" teuer. Aber immerhin bin ich mir ziemlich sicher, dass man für das Geld auch ein hochqualitatives Stück Code bekommt - ist von den Django-Entwicklern geschrieben.
Warum die Suite nicht billiger ist, als beide zusammen, soll mal wer verstehen :roll:
[ot]
BTW: Django hat beim Google Summer of Code ein paar Projekte laufen, unter anderem auch, dass man auf der Adminseite nur Einträge ändern kann die einem (bzw. der Gruppe) gehören :mrgreen:
[/ot]
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Freitag 16. Februar 2007, 14:30

Also, wer 10.000 $ mal so eben parat hat und mir das kaufen kann, der melde sich :D

Es hört sich jedenfalls sehr schön an, was es alles kann. Aber ich meine guter Code hin und oder her... die Funktionen sind auch super... aber der ein Preis von 10.000$ ??? -- Sorry, das mag ich net verstehen.

€dit
Leonidas hat geschrieben:
Was genau? (Ernst gemeint, das würde mich wirklich interessieren, was man aus PyLucid übernehmen könnte)
hmm -- kA ;) vielleicht die Dynamischkeit, das ein Plugin verschiedene Ausgabemethoden verwenden kann (verschiedene TemplateEngines).
Ansonsten ... ich stecke nicht so extrem in der Materie drinne -- aber der JS-MD5-Login ist denke ich nicht von schlechten Eltern (auch, wenn in meinen Augen ein klein wenig übertrieben...)

MfG EnTeQuAk
Zuletzt geändert von EnTeQuAk am Freitag 16. Februar 2007, 14:33, insgesamt 1-mal geändert.
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Freitag 16. Februar 2007, 14:32

Man muss aber auch sagen, dass Ellington bis jetzt mehr oder weniger das einzige CMS ist und die Enterpriselösung schlechthin ist.

Wenn das Opensource wäre *lechz*
@EnTeQuAk: Stimmt beim Preis spinnen die sich etwas aus^^
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Freitag 16. Februar 2007, 14:38

EnTeQuAk hat geschrieben:Also, wer 10.000 $ mal so eben parat hat und mir das kaufen kann, der melde sich :D
Ist ja auch nicht für Endnutzer gedacht sondern für Corporate-Kunden und dort ist der Preis sicher nicht einmal so überhöht.
EnTeQuAk hat geschrieben:Aber ich meine guter Code hin und oder her...
Nein, es gibt kein hin und her. Guter Code ist essentiell für ein brauchbares Projekt. Sonst erstellt man ein Monster mit Sicherheitslücken, welches schwer erweiterbar, schwer wartbar ist, schwer verständlich ist. Das willst du dir nicht antun, schon gar nicht in einer Firma.
EnTeQuAk hat geschrieben:die Funktionen sind auch super... aber der ein Preis von 10.000$ ??? -- Sorry, das mag ich net verstehen.
Das ist der Preis seiner gut getesteten, Corporate-Ready Software. Man kann mit guter, freier Software auch gut Geld verdienen - wenn Ellington nicht wäre, würde Django sicher nicht solches Momentum haben. Denn die Ellington-Entwickler haben ein sehr persönlcihes Interesse, dass Django so gut wie möglich funktioniert und so flexibel wie möglich ist - sich selbst zuliebe und auch den Nutzern von Ellington.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Freitag 16. Februar 2007, 14:41

EnTeQuAk hat geschrieben:hmm -- kA ;) vielleicht die Dynamischkeit, das ein Plugin verschiedene Ausgabemethoden verwenden kann (verschiedene TemplateEngines).
Ist mit Buffet auch kein Problem - ich denke das TGs Widgets das ebenso können.
EnTeQuAk hat geschrieben:Ansonsten ... ich stecke nicht so extrem in der Materie drinne -- aber der JS-MD5-Login ist denke ich nicht von schlechten Eltern (auch, wenn in meinen Augen ein klein wenig übertrieben...)
Unsicher und löst ein Problem welches nicht wirklich existiert. Aber zumindest kann man das auch wieder abschalten.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Freitag 16. Februar 2007, 14:44

Ja gut, aus Sicht von Enterpriselösung und Firmen habe ich nun nicht geschaut ;) Die haben meißtens ein klein wenig mehr Geld, als ich hier @ home :D


Und das mit dem Code war nicht so gemeint. Guter Code ist essentiell, um ein Projekt weiterzubringen. Das ist mir klar und darauf treffe ich jetzt schon bei dauCMS. Da bin ich auch gerade dabei alles etwas umzuschreiben, um alles etwas "haltbarer" zu machen. Einfach eine klare Struktur reinzubringen. Bisher war es ja nur ein "ich mach mal das. Ohh, das funktioniert FERTIG!" ;D
Das versuche ich nun etwas auszubauen und klare Linien reinzubringen. Schon, damit Mr_Snede es etwas einfacher hat, sich in meinen Code reinzuarbeiten. Denn das ganze ist ja als Lernprojekt an den Start gegangen. Und da ich einfach mehr Zeit habe schriebe ich auch mehr, als Mr_Snede und daher hängt er meißt etwas zurück.

Klarer Code ist wichtig und hat man ihn nicht ist es argh schwierig, überhaupt in angemessener Zeit Umbauten oder allgemein Erweiterungen einzubauen.
Das ist mir schon klar.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Freitag 16. Februar 2007, 14:45

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.
Und was die "Werbung" angeht: Es gibt auch Leute, die das Kürzel WSGI nicht oft genug schreiben können. ;-)
Ich bekenne mich schuldig. Aber ich fürchte WSGI ist noch zu wenig Buzzword. Aber hey. Vor 2 Jahren als mir Leonidas das erste mal das PEP gezeigt hat war ich irgendwie der einzige, der von WSGI überzeugt war. Jetzt schaut die Situation eindeutig schon besser aus :D
TUFKAB – the user formerly known as blackbird
Antworten