Direkter Modulzugriff

Durch das Inhaltsentfaltungsverfahren von aitsu lassen sich Module innerhalb von Modulen aufrufen. Ebenso kann ein Modul auch einzeln aufgerufen werden. Und das ist auch dann möglich, wenn das Modul in der aktuellen Seite gar nicht erst eingebunden ist (unter der Voraussetzung, dass es den Wert des geschützten Members $_renderOnlyAllowed auf true gesetzt hat).

Was etwas seltsam anmutet, ist eine direkte und gewünschte Funktion, die sich aus dem Entfaltungsverfahren ergibt. Dabei wird zunächst ein Template verwendet, welches ein Modul enthält. Dieses erzeugt eine Ausgabe (typischerweise HTML) welches wieder Module enthalten kann. Von aitsu ausgeführt wird durch dieses Verfahren nur Code, der für die Ausgabe der Seite tatsächlich benötigt wird. Genau dasselbe lässt sich auch durch Aufruf eines Modules induziert über einen GET-Parameter erreichen. Und zwar wie folgt:

 
http(s)://my.domain.tld/my/page/(modulname)
 

...wobei modulname optional einen Index aufweisen darf (abgetrennt mit einem Doppelpunkt). Wird ein Index übergeben und das Modul liegt in der Seite konfiguriert vor, werden die Konfigurationsparameter zur Ausführung verwendet.

Die Ausgabe enthält in diesem Fall keinerlei Layout und kein HTML-Gerüst. Lediglich der vom Modul zurückgegebene Inhalt wird an den Client weitergeleitet. Allfällige Header können vom Modul überschrieben werden.

Anwendungen

Die möglichen Anwendungen werden durch aitsu nicht eingeschränkt. Die primäre Zielsetzung ist jedoch...

  • die Bereitstellung von Informationen zur Konfiguration von Medien (z.B. Flash oder Java Applets u.ä.),
  • die Ausgabe von HTML-Fragmenten sowie XML- und JSON-Daten für AJAX-Anwendungen,
  • die Ausgabe von Inhaltsfragmenten für Proxy-Anwendungen
  • sowie die Ausführung von Code durch einfache Referenzierung im ausgelieferten HTML (z.B. als Bildreferenzierungen).

Die Ausführung des Modulcodes erfolgt im Kontext der bezeichneten Seite. Das bedeutet, dass alle seiten-, mandanten- und installationsspezifischen Informationen verfügbar sind. Liegt das Modul konfiguriert vor und der Aufruf erfolgt mit dem zutreffenden Modulindex wird die gespeicherte Konfiguration berücksichtigt.

Sicherheit

Da das nachgefragte Modul in der Seite nicht eingebunden sein muss oder die Ausführung ausserhalb des Gesamtkontextes unerwünscht sein kann, lassen sich Module nicht ohne entsprechende Auszeichnung auf die bezeichnete Weise ausführen. Damit ein Modul so ausgeführt werden kann, muss folgender Member auf true gesetzt werden (false ist default):

 
protected $_renderOnlyAllowed = true;
 

Ticker

03.01.12  -  Die Pause ist vorüber und wir sind mit neuem Tatendrang wieder an der Arbeit. Willkommen im 2012!

23.12.11  -  Wir wünschen allen frohe Festtage und einen guten Rutsch ins Neue Jahr!