Gruss Mathias,
Du hast ein interessantes und technisch reizvolles wie komplexes
Thema mal wieder nicht nur umfassend analysiert sondern eben
auch, wie es so Deine Art ist, schon fast alle wichtigen Antworten
hinzugepackt, so daß es mir schwerfällt, zusätzlich Gehaltvolles
beizusteuern, ohne zu repetieren - also:
- Das Traverse-Modell. ...
Diesen Ansatz würde ich ebenfalls verwerfen, denn ...
... da Du bereits in den Kategorien einer potenten clientseitigen
»SELFForum-JavaScript-Api« denkst, drängt sich für mich genau
eine der von Dir vorgeschlagenen XML/XSLT/JavaScript-Lösungen
geradezu auf.
Dabei finde ich den Ansatz der Variante »XSL-Transformation
erzeugt aus Forums-XML sowohl die (X)HTML-Struktur des
Dokuments als auch eine geeignete JSON-Hirarchie« unter
folgenden Gesichtspunkten am vielversprechendsten:
Themen, Threads, Postings, Nutzer etc. sind allerspätestens
unmittelbar vor dem finalen onload-event schon durch das
von Dir sogenannte »Alternativ-DOM« abgebildet/referenziert.
Wie Du schon sagtest, entfällt damit dieses hier:
Nachteil: Das Aufbauen der riesigen tausendfach verwobenen
Objekt- und Arraystruktur beim onload ist elend lahm ...
... und zumindest für das Endergbnis JSON ist jenes schon
wieder vertretbar:
... und verbraucht einigen Speicher.
Im Idealfall wird der Server auch noch um die Transformationen
entlastet. Diese Arbeit übernehmen die modernen Clients gleich
selber.
Es sind natürlich auch andere Formate denkbar. Etwa die Forumsseite
direkt im JSON-Format, aus der dann der XHTML-Code erzeugt wird.
Das war Spaß, oder ?-)
Außerdem habe ich folgendes nicht richtig verstanden:
... wie man das Forum ajaxifizieren könnte. Anstatt der HTML-Struktur
gibt es z.B. eine XML-Struktur, die mit XSLT in das gewünschte
XHTML transformiert wird. JavaScript dient als Kitt und hat idealerweise
Zugriff auf die XML-Struktur, ...
Ich dachte bisher immer, daß bei clientseitiger Transformation nur auf das
generierte DOM und nicht auch noch auf das Ausgangs-DOM zugegriffen
werden kann. Lieg ich da falsch?
... mit der es einfacher arbeiten kann, und
das letztliche XHTML-Dokument. Das XML-Dokument wird dann lediglich
mit JavaScript »angereichert« und es werden einige Indizes und
Referenzen angelegt. Die letztlichen Operationen können immer »live«
am XML-DOM durchgeführt werden, Ergebnisse von Abfragen sowie
Änderungen werden immer wieder päckchenweise über das XHTML-
DOM dargestellt.
bis später - peterS. - pseliger@gmx.net
"Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive." - Douglas Crockford
ie:( fl:) br:> va:( ls:& fo:) rl:| n3;} n4:} ss:} de:µ js:} mo:? zu:]