[linux-l] Was mich an WebApplikationen immer und?immerwiderAnkotzt...

Rocco Rutte pdmef at gmx.net
Mo Aug 18 13:27:20 CEST 2008


Hi,

* Olaf Radicke wrote:
>Am Montag 18 August 2008 11:18:40 schrieb Rocco Rutte:
>> * Olaf Radicke wrote:
>> >Am Samstag 02 August 2008 17:18:49 schrieb Rocco Rutte:

>> >> Ein CMS ist vom Modell her viel komplexer, weil es meist Versionierung,
>> >> Vielsprachigkeit, Workflows und ACLs kann. Bei Nicht-Web-Clients greifen
>> >> unterschiedliche User auf die DB zu, d.h. man die Security in die DB
>> >> schieben, was bei einem WebCMS nicht geht und da über Queries laufen
>> >> muss.

>> >== Versionierung ==
>> >Das Dokumenten-Management beherrscht zuverlässig Versionierung und
>> >Reservierung. Ob alte Versionen gelöscht werden können entscheidet der
>> >DB-Admin. Sugar CRM - z.B. - versioniert auch nicht die Veränderung von
>> >Kontakten. Aber wenn du paranoid bist und nichts und niemanden traust,
>> > gibt es auch auf DB-Ebenen alles - absolut - _alles_ zu versionieren, in
>> > dem du jeden DELETE, UPDAT und INSERT mitlogst. Wenn du deinen
>> > Mitarbeiter nicht trauen kannst, ist das aber meist nicht das Problem
>> > deiner DB.

>> Das meine ich nicht so richtig. Versionierung heisst auch, dass die
>> Anwendung ein UI dafür hat, diffs produzieren kann, etc. Der DB-Admin
>> hat über den Content und alte Versionen nicht zu entscheiden, das geht
>> nur die Applikation und deren Konfiguration etwas an.

>Das deckt sich nicht mit meinen Erfahrungen im SOHO-Bereich. Bei Binär-Dateien 
>(PDF, jpg, mp3) ist ein Diff nicht sinnvoll. Bei ODTs ist das Tool schon bei 
>Openoffice dabei. Besser könnte ich es auch nicht.

Ein CMS verwaltet aber in aller Regel hauptsächlich keine Binärdateien 
sondern Text. Klar muss man bei Binärdateien nur alte Versionen der 
Files komplett aufheben und kann im UI einen Download/Speichern anbieten 
und das dann nur über Trigger an der Anwendung vorbei in der DB 
implementieren... aber wenn man hauptsächlich verwaltet Text ist das 
unsinnig.

Bei einem CMS könnte man bei einem Review ein diff über beliebige 
Textversionen haben wollen. Zum Beispiel erweitert man die Seite mit 
mehreren Änderungen und will ein Review machen, bevor man es 
veröffentlicht. Klar kann man dann mit pgadmin oder psql auf der 
Kommandozeile rummfummeln und SQL fahren bis man Muskelkater in den 
Fingern hat oder Views definieren oder... aber für sowas will man nativ 
Support in der Anwendung (siehe z.B. Wikipedia). Ein besseres CMS weiss 
u.U. auch selbst welche Versionen live ist und welche nicht und kann dir 
ein diff geben (muss ja auch kein unified diff sein, es kommt ja eher 
drauf an, was man dem User zumuten kann).

>> >==  ACL ==
>> >ACLs sind auch in gewisser Hinsicht eine Glaubensfrage. Artikel23 hat
>> > ACLs. Allerdings auf DB-Ebene. Das ist gewöhnungsbedürftig. Auf diese
>> > Weise gehen einige Dinge die man von anderen CRM nicht kennt. Manches
>> > funktioniert etwas anders. Und manches geht nicht.

>> Ja, und es ist geschummelt, weil es in artikel23 dann kein UI dafür
>> gibt, um die ACLs zu bearbeiten. Mit dem Argument können alle
>> DB-basierten Tools ACLs.

>Ja, nur wird das bei anderen nicht konsequent durchgezogen. Als UI könnte man 
>pgAdmin III benutzten - wenn man das möchte.

Siehe oben, das ist nicht praktikabel weil sehr unfreundlich den Nutzern 
gegenüber. ACL ist ja meist mehr als nur Rechte auf Tabellen-Ebene der 
DB. Da braucht man schon mehr Tabellen dafür, weil die Modelle meist 
Rollen-basiert sind. Und da fände ich es nicht akzeptabel, wenn ich ein 
INSERT absetzen muss, um einem User/Rolle Schreibrechte an einem 
Dokument zu geben oder ein UPDATE, um die Standardrechte einer Rolle 
anzupassen. Klar, das geht mit Stored Procedures komfortabler, aber 
selbst SQL ausführen zu müssen ist IMHO unzumutbar für ein CMS.

MfG, Rocco



Mehr Informationen über die Mailingliste linux-l