Sandbox Mode für Test User

Einleitung

Der Sandbox Mode erlaubt die Einrichtung von Testumgebungen für Kunden innerhalb einer Instanz. Jeder Kunde bekommt ein Passwort zugewiesen. 

Nicht eingeloggt sieht ein User die Beispielseiten, die vom Admin User geschrieben wurden. Nach der Anmeldung hat er dann Zugriff auf eine Übersichtsseite, die die Artikel auflistet, die von diesem User geschrieben wurden. 

Beim Schreiben von Artikeln kann ein Testuser auf eine vorbereitete Sammlung von Bildern und Videos zugreifen, jedoch selber nichts hochladen. Die öffentlich zugänglichen Seiten des Admin Users verwenden die gleichen Assets.


Konfiguration

global.php

'clientSandboxMode' => true / false

Aktivert den Sandboxmode für eine die Instanz. Teaser und Artikel werden je nach Login gefiltert.


Benutzergruppe

Benutzergruppe Test User
Benutzergruppe Test User

Unter Einstellungen muss die Benutzergruppe Test User (slag: 'testUser') eingerichtet werden. Die Zugangsrechte sind so einzustellen, dass folgendes erlaubt ist:

  • das Schreiben und Ändern von eigenen Artikeln 
  • Änderungen an der eigenen Übersichtsseite
  • Lesender Zugriff auf Datenquellen

Alle Test User werden dieser Benutzergruppe zugeordnet. Die frei zugänglichen Artikel werden vom Admin User geschrieben, der nicht zu dieser Benutzergruppe gehört. 

Control Panel für Test User

Das Controlpanel von Testusern ist sehr einfach gehalten.

  • Es werden keine Kategorien angezeigt, indem das auf den anderen Instanzen verwendete Plugin deaktiviert wird
  • Über die Plugin "Controlpanel CSS" und "Usergroup" werden Passworteingabe und der Menüpunkt "alle Einträge" ausgeblendet.

Test Content

Für jeden Kunden sind initial eine Übersichtsseite und ein paar Artikel anzulegen. Dafür sollten Beispielseiten vorbereitet werden, die kopiert werden und dann den jeweiligen Testuser als Autor zugewiesen bekommen.

Anpassungen am Code

Hinweis: Codeänderungen können über den Suchbegriff "sandbox" in den Templates gefunden werden.

Redirects

Das Templatemodul _client-sandbox-include.html steuert über Redirects, dass eingeloggte User nur den Content sehen, deren Autor sie selbst sind. Unberechtigte Zugriffe werden immer auf die eigene Übersichtsseite umgeleitet.

Nicht eingeloggte User sehen nur die Seiten, die vom Admin geschrieben wurden.

Übersichtseiten

Bei den Übersichtseiten ist ein weiterer Filter eingebaut, der dafür sorgt, dass nur die Artikelteaser angezeigt werden, die zu Artikeln der eingeloggten User gehören.

Navigation

Nicht eingeloggte User sehen die Navigation, die im Controlpanel vom Admin eingerichtet wurde.

Eingeloggte Testuser sehen eine hart verdrahtete Navigation, die im modul _header-macros.html angelegt ist.

{# Special menu items for test users in sandbox mode #} {% if craft.config.clientSandboxMode and currentUser and currentUser.isInGroup('testUser') %} <ul>
   <li><a href="/">Start</a></li>
   <li><a href="/dwAdmin">Adminbereich</a></li>
   <li><a href="{{ logoutUrl }}">Abmelden</a></li>
</ul>
Teilen