[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