wiki:ILIAS/Overlay

ILIAS-Overlaysystem zum WS 12/13

Die Implementierung wurde anhand eines Plugins gemacht. Siehe dafür die Wiki-Seite ILIAS/HTML-Plugin

Konzept

Zum WS12/13 sollen die essentiellen Tickets #3, #12, #13, die alle wegen der schrecklichen Wikiengine von ILIAS offen sind, geschlossen werden. Dazu ist mir eine Haurucklösung eingefallen, die ILIAS nicht berührt, sondern auf der fertig generierten Seite Textersetzungen macht. Das Konzept ist extrem simpel und eigentlich auch sehr performant. Im Rahmen der Performanceanalyse von ILIAS #375 wurde festgestellt, dass es kein globales Ausgabecaching von ILIAS gibt, weswegen ein Postprozessing von Seiten als Mehrarbeit akzeptabel ist.

Das Prozessing soll folgendermaßen aussehen:

  1. Eine fertige ILIAS-Seite wird als HTML von einem PHP-Script, was am besten noch im selben Kontext läuft, per strpos auf Magic Keywords untersucht
  2. Wenn gefunden, wird ein Regexp auf die Seite gejagt, der einen Identifier des Keywords findet und das ganze ersetzt durch einen extern geladenen Text

Identifier könnten von der Form $ident, [ident], <br class="ident"/> sein, wobei ident für das Keyword steht, was in einer externen Datenquelle, etwa einer Flatpage-Wiki, nachgeschaut wird und durch einen konstanten Text oder sogar eine dynamisch generierte Textquelle ersetzt wird. Fürs erste wird wohl eine Konstante reichen.

Das einzige Problem ist nun die Wartbarkeit dieser Lösung, insbesonder wie man diese Identifier an die richtigen Stelle in entsprechenden ILIAS-Seiten bekommt.

Beobachtung: Der Text-/Media-Editor von ILIAS escaped beim Bearbeiten von Seiten, in denen HTML erlaubt ist, das HTML (etwa Materialien-Startseite, Impressum, etc.). Bei Seiten, wo HTML nicht erlaubt ist, wird eingegebenes HTML ohnehin immer escaped. Daher sollte eine Identifier-Lösung auf einem HTML-Tag fußen.

Beobachtung: Die COPage erlaubt sogar HTML-Tags/Attribute, die ungültig sind, etwa <EXTERN id="hauptseite_oben_links">foo</EXTERN>.

Mit einem solchen Tag sollte gearbeitet werden. Dann kann nur die ILIAS-Administration solche Tags einführen (bzw jeder mit HTML-Rechten), und das externe System, in dem die Roh-HTML-Taginhalte bearbeitet werden können, ist dann ohnehin geschützt.

Implementierung

Siehe Ticket #378 zur Entwicklung.

Last modified 5 years ago Last modified on Oct 12, 2012 1:33:57 PM