[linux-l] Re: Wiki-Grundsatz-Diskusion

Rocco Rutte pdmef at cs.tu-berlin.de
Do Mai 18 08:41:25 CEST 2006


Hi,

* Peter Ross [06-05-18 10:46:17 +1000] wrote:

>Die saubere Loesung ist eine typunabhaengige ID.
[...]
>Zurueck zur Wiki-XML - gib einem Artikel dort einen abstrakten ID-Typ..

>Ich bin kein XML-Experte, aber "irgendwie" sollte da die Trennung von Inhalt und Strukturbeschreibung (Stichwort DTD) helfen.

Man könnte ja folgendes machen: wenn man einen Artikel anlegt, kann man 
aus Datum, Uhrzeit, User und Content eine Prüfsumme berechnen, die als 
Content-ID gilt und die wie auch immer gespeichert wird (DB, 
Filesystem). Die Abbildung ist dann von dieser ID auf den _aktuellen_ 
Artikel-Namen. Wenn man einem User die Seite präsentiert, kann man ja 
von der ID auf den Artikelnamen umbauen und beim Bearbeiten dann 
umgekehrt. Vorteil: der User würde nichts merken und man spart sich ewig 
lange Cronjobs, die bei Renames alle Artikel durchsuchen. Der Nachteil 
ist, dann man damit zwangsläufig Race Conditions hat, weil ein Artikel 
ja während der Edit-Session umbenannt werden könnte (und wenn man die 
Seite wieder kriegt, weiss man ja die ID nicht [mehr]).

Deshalb ein anderer Vorschlag, weil IDs einfach schlecht für Menschen 
sind: nach jedem Bearbeiten aktualisiert man im System eine Liste, die 
die Abhängigkeiten enthält. Also von welchen anderen ein bestimmter 
Artikel verlinkt wird. Wenn du den umbennenst, geht es schnell, weil man 
alle Abhängigkeiten schon kennt. Nachteil auch hier: Race Condition.

Oder Möglichkeit drei: man erlaubt 2 verschiedene Syntax-Varianten: eine 
zum Referenzieren per Artikelname und eine per ID. Wenn immer man Sachen 
per Name reinschiebt, wird das intern durch die ID-Variante verändert, 
die man auch beim nächsten Edit bekommt.

   bye, Rocco
-- 
:wq!



Mehr Informationen über die Mailingliste linux-l