Einstieg in die Expertenregeln
Bei vielen Kursbausteinen können Sie unter den Tabs Sichtbarkeit und Zugang weitere Einstellungen vornehmen. Sie können den Kursbaustein beispielsweise für Lernende sperren, nur für bestimmte Gruppen zugänglich machen oder ihn datumsabhängig freischalten.
Bei komplizierten Sichtbarkeits- und Zugangsregeln können Sie den Expertenmodus verwenden. Dies erlaubt Ihnen, die Sichtbarkeit und den Zugang eines Kursbausteins frei nach Ihren Bedürfnissen zu konfigurieren. Beispielsweise können Sie den Zugang zu einem Kursbaustein nur für bestimmte Benutzernamen freischalten, mehrere Einschränkungen miteinander verknüpfen oder mit relativen Daten arbeiten. Ein Beispiel soll dies erläutern:
Sie haben den Kursbaustein „Fragebogen“ datumsabhängig freigeschaltet, damit Sie sich im Kursverlauf nicht mehr darum kümmern müssen. In den Tabs Sichtbarkeit und Zugang des „Fragebogens“ können Sie hierfür im einfachen Modus das genau Anfangs- und Enddatum eingeben. Möchten Sie diesen Kurs in einem anderen Semester erneut verwenden, müssen Sie das Datum ändern, damit der „Fragebogen“ freigeschaltet wird. Dies ist machbar, wenn nur ein Kursbaustein einer solchen Regel unterliegt. Bei mehreren solcher Regeln können Ihnen Expertenregeln diese Arbeit abnehmen: Sie geben lediglich für die jeweiligen Kursbausteine ein relatives Datum an, das sich auf das Anfangs- oder Enddatum des Kurses bezieht. Vereinfacht bedeutet dies, dass z.B. der Fragebogen nicht vom 20.7.2016 bis 27.7.2016 freigeschaltet wird, sondern zu „Kursende“ (20.7.2016), und exakt zu „Kursende plus 7 Tage“ nicht mehr zugänglich ist. So müssen Sie bei einem erneuten Einsatz des Kurses nur das Kursanfangs- und Kursenddatum ändern. Die genaue Expertenregel dieses Szenarios finden Sie unter dem Thema Fragenbogen in Kapitel 12 How to.…
Expertenregeln dienen in erster Linie dazu, Ihnen Arbeit abzunehmen oder sie zu erleichtern, daher lohnt es sich, sie etwas näher zu betrachten. Wie bei einer Sprache folgen die Expertenregeln einer Syntax oder Satzbauregel. Sollte man einen syntaktischen Fehler machen, dann weist OpenOLAT Sie darauf hin. Dies hilft einem vor allem am Anfang, wenn man keine oder nur geringe Programmierkenntnisse hat. Eine Expertenregel überprüft, ob ein bestimmtes Attribut WAHR oder FALSCH ist.
Als Einstieg in die Syntax der Expertenregel empfiehlt es sich, zunächst im einfachen Modus eine Regel zu definieren. Sie erstellen z.B. eine „Einzelne Seite“ und klicken unter dem Tab „Zugang“ auf „Für Lernende gesperrt“.
Dann klicken Sie auf „Expertenmodus anzeigen“ und sehen Ihre erste Expertenregel:
( ( isCourseCoach(0) | isCourseAdministrator(0) ) )
Der gesamte Ausdruck ist doppelt eingeklammert. Die beiden äußeren Klammern kann man in diesem Fall auch weglassen. Probieren Sie es einfach aus. CourseCoach ist der Kursbetreuer und CourseAdministrator der Kursbesitzer. Der senkrechte Strich in der Mitte „|“ steht für den Booleschen Operator ODER. Diese Expertenregel ist WAHR für den Betreuer ODER den Besitzer. Nur diese beiden haben Zugang auf diese „Einzelne Seite“.
Nun ändern Sie den Booleschen Operator in „&“:
isCourseCoach(0) & isCourseAdministrator(0)
Dies bedeutet, dass nur Betreuer, die gleichzeitig auch Besitzer sind, Zugriff haben. Diese Einstellung ist nur im Expertenmodus möglich.
Sie können beliebig viele Szenarien durchspielen und weitere Attribute und Operatoren einfügen. Um sich in die Funktion der Regeln besser einzuarbeiten, finden Sie in diesem Kapitel weitere Attribute und Beispiele, deren Auswirkungen näher erläutert werden.
Konfiguration von Expertenregeln
Eine Expertenregel prüft, ob ein Attribut einen bestimmten Wert besitzt.
Attribut | Beschreibung | Beispiel Expertenregel |
---|---|---|
isGuest | nur für Gäste zugänglich | isGuest(0) |
isCourseCoach | nur für Benutzer verfügbar, die eine Gruppe betreuen | isCourseCoach(0) |
isUser | nur für einen bestimmten Benutzer verfügbar | isUser("pmuster") |
Arbeiten mit den Konstanten "TRUE" und "FALSE"
Die Konstanten „true“ und „false“ prüfen das Vorhandensein („true“ bzw. „1“) oder Nicht-Vorhanden-Sein („false“ bzw. „0“) eines Attributs. Man spricht von einer sogenannten Boolschen Variablen (benannt nach George Boole dem Begründer der Boolschen Algebra). Dabei handelt es sich um eine Variable, die nur endlich viele Werte oder Zustände einnehmen kann. In diesem Fall kann die Variable nur zwei Zustände oder Werte annehmen („true“ = „1“ = wahr, vorhanden oder „false“ = „0“ = falsch, nicht-vorhanden).
Zur praktischen Erläuterung im OLAT-Kontext soll uns eine Expertenregel für den Zugang zu einem Kurs dienen.
Fall 1: Nur Gast-Nutzer sollen Zugang zum Kurs erhalten. Der jeweilige Nutzer erhält also Zugang, wenn er das Attribut „isGuest“ wahr ist. Für diese Expertenregel gibt es drei Alternativen:
isGuest(0) oder isGuest(0)=1 oder isGuest(0)=true
Fall 2: Hier sollen alle Nutzer außer den Gast-Nutzern einen Zugang erhalten. Der jeweilige Nutzer erhält also Zugang, wenn das Attribut „isGuest" nicht wahr bzw. nicht vorhanden ist. Für diese Expertenregel gibt es zwei Alternativen:
isGuest(0)=0 oder isGuest(0)=false
Eine ausführliche Liste aller wichtigen Bestandteile für die Expertenregeln finden Sie in der nachfolgenden Box.
Es gibt verschiedene Möglichkeiten, die einzelnen Regeln miteinander zu verknüpfen. Die beiden wichtigsten Operatoren zur Verknüpfung von Attributen sind:
- UND-Verknüpfung: &
- ODER-Verknüpfung: |
Bitte beachten Sie, dass eine ODER-Verknüpfung vor einer UND-Verknüpfung gemacht wird. Damit die UND-Verknüpfung zuerst gemacht wird, müssen Klammern gesetzt werden.
Beispiel: Die Expertenregel (inGroup("Teilnehmende Intensivkurs") | isCourseCoach(0)) lässt entweder Teilnehmende des Intensivkurses oder alle Gruppenbetreuer auf den Kursbaustein zugreifen.
Nachfolgend sind einige Beispiele aufgeführt, die Ihnen zeigen, wie Sie die Expertensyntax verwenden können.
Liste der User-Property-Namen
Syntax | User-Property-Name | Feldbezeichnung |
getUserProperty | "username" | Benutzername |
"firstName" | Vorname | |
"lastName" | Nachname | |
"email" | ||
"birthDay" | Gebutsdatum | |
"gender" | Geschlecht | |
"telPrivate" | Telefon Privat | |
"telMobile" | Telefon Mobil | |
"telOffice" | Telefon Geschäftlich | |
"skype" | Skype ID | |
"mSN" | MSN | |
"xing" | ||
"iCQ" | ICQ | |
"homepage" | Homepage | |
"street" | Strasse | |
"extendedAddress" | Adresszusatz | |
"poBox" | Postfach | |
"zipCode" | Postleitzahl | |
"region" | Region | |
"city" | Stadt | |
"country" | Land | |
"institutionalName" | Institution | |
"institutionalUserIdentifier" | Matrikelnummer | |
"institutionalEmail" | Institutions E-Mai | |
"orgUnit" | Organisation/ Studiengruppe | |
"studySubject" | Studienfach |
Beispiele für die Anwendung:
Es sollen nur Kurteilnehmer eines bestimmten Studienganges Zugang erhalten:
getUserProperty("studySubject") = "Maschinenbau"
Nun muss, wer Zugang haben möchte, in seinem Profil, im Feld Studienfach Maschinenbau eingetragen haben.
Sollen nur Kursteilnehmer Zugang erhalten, die nichts im Feld Studiengang eingetragen haben, lautet die Regel:
getUserProperty("studySubject") = ""
Sollen nur Kursteilnehmer Zugang erhalten, die irgendeinen Studiengang eingetragen haben, muss die Regel lauten:
getUserProperty("studySubject") = "" = false
oder
getUserProperty("studySubject") = "" = 0
Einsatz von AAI-Attributen
Wenn Sie sich an einer Schweizer Hochschule befinden, oder einer anderen Institution die auf eine AAI - Infrastruktur Zugriff hat, können Sie mit AAI-Attributen im Kurs Zugriffsregeln setzen, damit nur Kursteilnehmer mit bestimmten Benutzerattributen (z.B. Teilnehmer, die einer bestimmten Institution angehören) auf das Kursmaterial zugreifen können. Die Abkürzung AAI steht für „Authentication and Authorization Infrastructure“ und ermöglicht es Angehörigen einer Hochschule, mit nur einem Benutzernamen und Passwort Zugriff auf Systeme aller teilnehmenden Hochschulen zu erhalten. Weitere Informationen zu AAI finden Sie z.B. bei Switch oder dem deutschen Forschungsnetz.
Verfügbare Attribute und mögliche Werte sind in der AAI Attribute Specification bei Switch (Dokument in englischer Sprache) und DFN-AAI beschrieben. Zwei an schweizer Hochschulen häufig gebrauchte Attribute und Beispiele der entsprechenden Expertenregeln finden Sie in der folgenden Tabelle:
Attribut | Beschreibung | Beispiel Expertenregel und Erklärung |
---|---|---|
swissEduPerson-HomeOrganization | Universität oder Heimorganisation | hasAttribute ("swissEduPersonHomeOrganization", "uzh.ch"): Nur Angehörige der Universität Zürich sind zugelassen. |
swissEduStudyBranch3 | Studienrichtung 3. Klassifikation | hasAttribute ("swissEduPersonStudyBranch3","6400"): Nur Studierende der Studienrichtung Veterinärmedizin sind zugelassen. |
Anwendung
Sie können AAI-Attribute mit der Syntax
hasAttribute("[AttrName]","[string]") oder
isInAttribute("[AttrName]","[substring]") abfragen.
Dabei gilt folgendes:
[AttrName] | ist der Attributnamen, den Sie in der nachfolgenden Tabelle und auch in der Spezifikation der AAI-Attribute (pdf-Datei) (Spalte LDAP Namen) auf Seite 5 vorfinden. |
[string] | ist der Wert des AAI-Attributes mit Namen [AttrName]. |
[substring] | ist ein beliebig grosser Teil von [string]. |
Einen Link zur Liste der möglichen Attribut-Werte finden Sie im Appendix der Spezifikation der AAI-Attribute (pdf-Datei) ab Seite 20. Spezifikation der AAI-Attribute (pdf-Datei)
Für weitere Informationen zu Werten oder der Anwendung von AAI-Attributen, wenden Sie sich in der Schweiz bitte an Switch, und in Deutschland an das Deutsche Forschungsnetz.