Statusabhängige Sichten

Das Hilfe-Wiki bietet die Möglichkeit, abhängig vom Stud.IP-Status (nobody, user, autor, tutor, dozent, admin,root), Informationen unterschiedlich anzuzeigen.

1. Umschalten der Sichten

Die Sicht wird über die Wiki-Aktion ?setstudipview= festgelegt. Über ein Cookie bleibt diese Einstellung dann auf den nachfolgenden Seiten erhalten.

Beispiele zum Umschalten auf Tutorensicht:

  • Externer Link: http://zentrum.virtuos.uni-osnabrueck.de/studi.ip/Main/HomePage?setstudipview=tutor
  • Interner Link: [[Main.Homepage?setstudipview=tutor|Tutorensicht]]
  • Umschalten und aktuelle Seite beibehalten: [[{$FullName}?setstudipview=tutor|Tutorensicht dieser Seite]]

2. Einzelne Sicht aufrufen, ohne umzuschalten

Einzelne Seite können auch in einer anderen Sicht angezeigt werden, ohne dass dauerhaft umgeschaltet wird. Hierfür ist die Aktion ?studipview= zuständig. Die obigen Beispiele gelten analog, ?setstudipview= ist durch ?studipview= zu ersetzen.

3. In Wiki-Seiten auf den Status zugreifen

3.1 Variable {$StudipView}

Das Wiki-Markup {$StudipView} wird durch den Bezeichner für die momentan eingestellte Sicht ersetzt. Default ist all.

3.2 Bedingte Textausgabe

Innerhalb von Wikiseiten können Blöcke mit

(:if view <status>:)
...
(:ifend:)

nur für einzelne Sichten zugänglich gemacht werden.

Dabei wird berücksichtigt, dass höhere Stufen alle Sichten/Möglichkeiten niedrigerer Stufen enthalten.

4. Technischer Hintergrund

Der Mechnismus ist eine spezifische Erweiterung für pmwiki, die in der Konfigurationsdatei local/config.php aktiviert werden muss.

Das kann z.B. so aussehen:

// View switching mechanism for Stud.IP help
$StudipView="all";
$StudipViewList=array("All"=>"All",
                      "Nobody"=>"Nobody",
                      "User"=>"User",
                      "Autor"=>"Autor",
                      "Tutor"=>"Tutor",
                      "Dozent"=>"Dozent",
                      "Admin"=>"Admin",
                      "Root"=>"Root");
$FmtPV['$StudipView']='$GLOBALS["StudipView"]';
require_once("local/studipviewchange.php");

In der Variable $StudipViewList werden die gültigen Sichten gespeichert, außerdem der übergebene Name auf interne Namen gemappt. Damit lässt sich z.B. eine lokal angepasste Sicht für Dozenten erzeugen, ohne den Übergabemechanismus zu ändern und die Basisseiten der Hilfe überschreiben zu müssen. In diesem Fall würde z.B. "dozent" => "dozentOsnabrueck" gemappt. Auf gleiche Weise können Sichten deaktiviert (aus der Liste löschen) oder zusammengefasst (auf den gleichen Wert mappen) werden.

 

 

Quelle: Basis-Wiki-Hilfe | Letzte Änderung: 28.03.2009 22:25 Uhr, mbohnsa | Local view: Basis-Hilfe