GENTICS News
Verhalten des Browser Back-Buttons in Gentics® Portal.Node®
Bei Gentics® Portal.Node® handelt es sich um einen JSR-168 compliant portlet container der per Definition stateful reagiert. Portale die mit Genitcs® Portal.Node® implementiert werden verhalten sich dem entsprechend ebenso stateful.
stateful - zustandsabhängig
Die Statusinformationen des Portals (z.B.: aktuelle Seite einer mehrseitigen Auflistung, Formularauswahl, Suchergebnisse, etc.) werden in der User-Session am Server abgespeichert. Die Anzeige der Portalseite hängt von den Informationen am Portalserver ab.
stateless – zustandslos
Es wird kein Status des Portals am Server mitgespeichert. Statusinformationen des Portals müssen in der URL enthalten sein, um eine korrekte Darstellung des Portals zu ermöglichen.
URL Verhalten
Eine Action URL im Portal enthält in der Regel einen TimeStamp und Key. Durch diese Kombination ist eine Action URL nur einmalig aufrufbar („Double-Click Protection“).
Wenn ein bereits aufgerufener URL mehrmals aufgerufen wird, werden die, dem URL zugrunde liegenden Aktionen vom Portal ignoriert, da die Action URL bereits ungültig ist. Es wird der aktuelle Status des Portals dargestellt.
Browser Back-Button
Beim Betätigen des Browser Back-Buttons wird veranlasst, dass die zuletzt dargestellte Seite aus dem Browser-Cache erneut angezeigt wird.
Wenn der Benutzer nun auf einen Aktion URL klickt, ist diese URL bereits ungültig. Daher werden keine Aktionen ausgeführt und das Portaltemplate im aktuellen Zustand (bevor der Browser Back-Button betätigt worden ist) dargestellt.
Anwendungsfall
Betroffene Komponenten
Dieses Verhalten betrifft vor allem das ViewPlugin und dessen Action URLs.
Nicht betroffene Komponenten
Action-URLs von anderen Portlets, Render URLs und alle übrigen Links sind von diesem Verhalten nicht betroffen, da diese keine Timestamp/Key Kombination enthalten und daher nicht ungültig werden.
Diese URLs und können also beliebig oft aufgerufen werden.
stateful - zustandsabhängig
Die Statusinformationen des Portals (z.B.: aktuelle Seite einer mehrseitigen Auflistung, Formularauswahl, Suchergebnisse, etc.) werden in der User-Session am Server abgespeichert. Die Anzeige der Portalseite hängt von den Informationen am Portalserver ab.
stateless – zustandslos
Es wird kein Status des Portals am Server mitgespeichert. Statusinformationen des Portals müssen in der URL enthalten sein, um eine korrekte Darstellung des Portals zu ermöglichen.
URL Verhalten
Eine Action URL im Portal enthält in der Regel einen TimeStamp und Key. Durch diese Kombination ist eine Action URL nur einmalig aufrufbar („Double-Click Protection“).
Wenn ein bereits aufgerufener URL mehrmals aufgerufen wird, werden die, dem URL zugrunde liegenden Aktionen vom Portal ignoriert, da die Action URL bereits ungültig ist. Es wird der aktuelle Status des Portals dargestellt.
Browser Back-Button
Beim Betätigen des Browser Back-Buttons wird veranlasst, dass die zuletzt dargestellte Seite aus dem Browser-Cache erneut angezeigt wird.
Wenn der Benutzer nun auf einen Aktion URL klickt, ist diese URL bereits ungültig. Daher werden keine Aktionen ausgeführt und das Portaltemplate im aktuellen Zustand (bevor der Browser Back-Button betätigt worden ist) dargestellt.
Anwendungsfall
- Benutzer klickt in der Navigation auf einen Navigationspunkt, der Subnavigationspunkte enthält.
- Subnavigationspunkte werden im Portal dargestellt (Status A)
- Benutzer klickt auf Subnavigationspunkt 1
- Inhalt Subnavigationspunkt 1 wird im Portal dargestellt (Status B)
- Benutzer betätigt Browser Back-Button
- Browser wird veranlasst Status A des Portals aus dem Cache darzustellen
- Benutzer klickt auf Subnavigationspunkt 2
- Inhalt Subnavigationspunkt 1 wird im Portal dargestellt (Status B):
- Das Portal ignoriert die Aufforderung den Inhalt von Subnavigationspunkt 2 darzustellen, da die Aktions-URL bereits ungültig ist und stellt deswegen Status B dar (Status vor Betätigen des Browser Back-Buttons).
Betroffene Komponenten
Dieses Verhalten betrifft vor allem das ViewPlugin und dessen Action URLs.
Nicht betroffene Komponenten
Action-URLs von anderen Portlets, Render URLs und alle übrigen Links sind von diesem Verhalten nicht betroffen, da diese keine Timestamp/Key Kombination enthalten und daher nicht ungültig werden.
Diese URLs und können also beliebig oft aufgerufen werden.