Expertenregeln Beispiele

Version 55.1 von Carina Enke am 20.12.2023
Warnung: Aus Sicherheitsgründen wird das Dokument in einem eingeschränkten Modus angezeigt, da es sich nicht um die aktuelle Version handelt. Dadurch kann es zu Abweichungen und Fehlern kommen.


Expertenregeln bieten vielfältige Einsatzmöglichkeiten und können unterschiedliche Auswirkungen haben. Einen kleinen Einblick geben die Beispiele zur Anwendung auf dieser Seite.


Unbekanntes Makro: scroll-ignore. Klicke auf diese Nachricht, um Details zu erfahren.

Expertenregeln in Beispielbildern

    • ==

In diesen Beispielen sehen Sie, wie Expertenregeln konfiguriert werden und wie sie sich in der Kursansicht auswirken.


In einem öffentlichen Kurs einzelne Inhalte nur für registrierte Nutzer sichtbar schalten ...

Sie wollen Inhalte in einem öffentlichen Kurs vor Gästen verbergen?

Tragen Sie im Tab Sichtbarkeit des betreffenden Kursbausteins bei Expertenmodus in das Textfeld nachfolgenden Inhalt ein.

isGuest()=false

Damit wird der Kursbaustein in einem öffentlich zugänglichen Kurs für nicht registrierte Gastnutzer angezeigt.

Kurseditor - Konfiguration nur registrierte Nutzer_de.png

Nach dem Publizieren sehen Nutzer folgende Ansicht:

Ansicht als registrierter Nutzer

Ansicht als Gastnutzer

Ansicht als Kursverantwortlicher

Kursrun - Ansicht registrierte Nutzer_de.png

Kurseditor - Konfiguration nicht für Gäste_de.png

Kursrun - Ansicht Kursverantwortlicher_de.png

In einem öffentlichen Kurs einzelne Inhalte nur für Gäste sichtbar schalten ...


Sie wollen Inhalte in einem öffentlichen Kurs ausschließlich Gästen und Kursverantwortlichen anzeigen?

Tragen Sie im Tab Sichtbarkeit des betreffenden Kursbausteins bei Expertenmodus in das Textfeld nachfolgenden Inhalt ein.

isGuest() or isCourseAdministrator() 

Damit wird der Kursbaustein in einem öffentlich zugänglichen Kurs nur Gastnutzern und Kursverantwortlichen angezeigt.

Kurseditor - Konfiguration nur Gäste und Kursverantwortliche_de.png

Nach dem Publizieren sehen Nutzer folgende Ansicht:

Ansicht als registrierter Nutzer

Ansicht als Gastnutzer

Ansicht als Kursverantwortlicher

Kursansicht - nicht für registrierte Nutzer_de.png

Kursrun - Ansicht nur Gäste_de.png

Kursrun - Ansicht Kursverantwortlicher_de.png

Kursinhalte nach Testergebnis freigeben ...

Sie wollen Inhalte in Abhängigkeit eines Tests freigeben? Die Umsetzung dieses Szenarios wird auf der Seite Lernwegsteuerung nach Testergebnis erläutert.


Expertenregeln zur Prüfung von Nutzereigenschaften

Information

Alle nachfolgenden Beispielregeln lassen sich für die Sichtbarkeit und ebenso für den Zugang eines Kursbausteins anlegen. Zur Vereinfachung wird in den folgenden Beispielen immer nur ein Szenario beschrieben.


Prüfung auf eine Nutzerrolle

Nur Gäste sehen den Kursbaustein, alle registrierten Nutzer dagegen nicht.

Tragen Sie im Tab Sichtbarkeit ein:

isGuest()

Alternativ: isGuest()=true oder isGuest()=1

Gäste haben keinen Zugang zu diesem Kursbaustein.

Tragen Sie im Tab Zugang ein:

isGuest()=false

Alternativ: !isGuest()

Prüfung auf eine Gruppenzugehörigkeit

Mit Ausnahme der (Lern)Gruppe mit dem Titel "Anfänger" sehen alle Kursteilnehmer den Kursbaustein.

Tragen Sie im Tab Sichtbarkeit ein:

inLearningGroup("Anfänger")= false

Alternativ: !inLearningGroup("Anfänger")

Nur Mitglieder der Gruppe "Intern" sehen den Kursbaustein. Auch Kursverantwortliche und Gruppenbetreuer sehen den Kursbaustein in der Kursnavigation nicht.

inLearningGroup("Intern")

Der Kursbaustein ist innerhalb eines Zeitraums (22.03.2020 - 23.08.2020) für alle Kursteilnehmer sichtbar, während er für Mitglieder der Lerngruppe mit dem Titel "Betreuer" jederzeit sichtbar ist.

Tragen Sie im Tab Sichtbarkeit ein:

(now >= date("22.03.2020 12:00")) and (now <= date("23.08.2020 18:00")) or inLearningGroup("Betreuer")

Der Kursbaustein ist innerhalb eines Zeitraums (03.09.2020 - 13.10.2020) für alle Kursteilnehmer der Rechtegruppe mit dem Titel "Assessoren" sichtbar, während er für die Person mit dem Benutzernamen "natalie" jederzeit sichtbar ist.

Tragen Sie im Tab Sichtbarkeit ein:

(now >= date("03.09.2020 00:00")) and (now <= date("13.10.2020 00:00")) and inRightGroup("Assessoren")or isUser("natalie")

Prüfung von Benutzerattributen

Information

Neben den allgemeinen Beispielen, die unabhängig von der Institution verwendet werden können, sind auch Einschränkungen zu Daten möglich, welche institutionsspezifisch sind und je nach Institution übermittelt werden.
Für OPAL Nutzer enthält die Seite Übersicht der OPAL-Shibboleth-Attribute alle aktuell verwendbaren institutionsspezifischen Attribute sächsischer Institutionen.

Der Kursbaustein ist für alle Personen, deren Attribut Studiengang die Buchstabenfolge "Chemie" enthält zugänglich.

Somit können Personen mit dem Studiengang "Chemie BA" und auch "Chemie MA" den Kursbaustein nutzen, Nutzer mt dem Studiengang "Chemische Wasseraufbereitung" jedoch nicht.

Tragen Sie im Tab Zugang ein:

isInAttribute("studySubject","Chemie")
Beispiele für weitere Attribute ...
Information

Je nach System sind unterschiedliche Nutzerattribute konfigurierbar. Prüfen Sie deshalb vorher welche Benutzerattribute in Ihrer Plattform verfügbar sind.

Beispiele für Nutzerattribute:

  • Nutzername: username
  • E-Mail-Adresse: email
  • Fachsemester: termsOfStudy
  • Institution: institutionalName
  • Matrikelnummer: institutionalUserIdentifier
  • Standort: standort
  • Studiengang: studySubject
  • Studiengruppe: studyGroup
  • Organisationseinheit: orgUnit
  • Vorname: firstName
  • Nachname: lastName

Nur Personen aus der Organisationseinheit "Marketing" sehen den Kursbaustein.

Tragen Sie im Tab Sichtbarkeit ein:

(getUserProperty("orgUnit") = "Marketing")


Auswertung Einschreibezeitpunkt

Information

Einige der nachfolgenden Beispielregeln prüfen auf einen Kursbaustein Einschreibung. Dafür kann getInitialEnrollmentDate genutzt werden, wenn nur die erstmalige Einschreibung, unabhängig von einem späteren Austragen aus dem Kursbaustein, beachtet werden soll. Oder alternativ getRecentEnrollmentDate, wenn jede Einschreibung neu ausgewertet werden soll. Zur Vereinfachung wird in den folgenden Beispielen immer nur ein Szenario beschrieben.

Der Zugang zu einem Kursbaustein wird abhängig von einem konkreten Zeitpunkt einer Einschreibung möglich.

Kursteilnehmer, die sich vor dem 26. Mai 2020, 18:00 Uhr über einen Kursbaustein Einschreibung (Kursbaustein-ID "70323786958847") eingeschrieben haben, können den Kursbaustein nutzen.

Tragen Sie im Tab Zugang ein:

getInitialEnrollmentDate("70323786958847") <= date("26.5.2020 18:00")

Jeder Kursteilnehmer kann ab einem relativen Zeitpunkt, z. B. erst 2 Stunden nach der Einschreibung (Kursbaustein-ID "70323786958847"), den Kursbaustein sehen.

Tragen Sie im Tab Sichtbarkeit ein:

getInitialEnrollmentDate("70323786958847") + 2h < now

Jeder Kursteilnehmer kann nur bis zu einem relativen Zeitpunkt, z. B. nur für die ersten 2 Stunden nach der Einschreibung (Kursbaustein-ID "70323786958847"), den Kursbaustein sehen.

Warning

Stellen Sie für die Nutzung dieser Regel sicher, dass ein übergeordneter Kursbaustein bereits die Sichtbarkeit auf die Lerngruppe einschränkt. Wenn Sie dies nicht tun und nur diese Regel nutzen, haben bspw. nicht eingeschriebene Nutzer und Gäste immer Zugang zu diesem Kursbaustein.

Tragen Sie im Tab Sichtbarkeit ein:

getInitialEnrollmentDate("70323786958847") + 2h > now

Jeder Kursteilnehmer kann den Kursbaustein nur innerhalb eines relativen Zeitraumes sehen, z. B. beginnend 2 Stunden nach der Einschreibung (Kursbaustein-ID "70323786958847") bis 5 Stunden nach der Einschreibung. Kursbetreuer sind von dieser Einschränkung ausgenommen.

Tragen Sie im Tab Sichtbarkeit ein:

(getInitialEnrollmentDate("101524102434663") + 2h < now and getInitialEnrollmentDate("101524102434663") + 5h > now ) or isCourseCoach() or isCourseAdministrator()

Jeder Kursteilnehmer kann nur während einer bestimmten Zeitdauer (während der ersten zwei Stunden des ersten Kursbesuchs) den Kursbaustein sehen.

Tragen Sie im Tab Sichtbarkeit ein:

(getInitialCourseLaunchDate() >= never) or (getInitialCourseLaunchDate() + 2h > now)

Der Kursbaustein wird erst sichbar, wenn sich der Benutzer seit mehr als 10 Minuten im Kurs bewegt.

Tragen Sie im Tab Sichtbarkeit ein:

(getRecentCourseLaunchDate() + 10min) > now


Expertenregeln mit spezifischen Kursbausteinen

Information

In allen nachfolgenden Beispielen werden spezifische Kursbausteine genutzt.

Notieren Sie sich für die Nutzung dieser Regeln vorher die Kursbaustein-IDs der betreffenden Kursbausteine für Ihr Szenario und passen Sie diese in den Expertenregeln entsprechend an.


Auswertung der Versuchsanzahl

Der Kursbaustein wird sichtbar, sobald der betreffende Kursteilnehmer den Kursbaustein Test (Kursbaustein-ID "70323786958847") ein erstes Mal durchgeführt hat.

Tragen Sie im Tab Sichtbarkeit ein:

getAttempts("70323786958847") > 0

Nutzer sollen einen Kursbaustein nicht mehr sehen, sobald sie in einem Kursbaustein Aufgabe (Kursbaustein-ID "70323524635734") mehr als 3 Dateien in den Abgabeordner gelegt haben.

Tragen Sie im Tab Sichtbarkeit ein:

getAttempts("70323524635734") <= 3


Auswertung von Bewertungsdaten anderer Kursbausteine

Der Kursbaustein ist sichtbar, sobald der Benutzer mindestens 10 Punkte im Test (Kursbaustein-ID "84692289655276") erreicht hat.

Tragen Sie im Tab Sichtbarkeit ein:

getOnyxTestOutcome("84692289655276","SCORE") >= 10

Der Kursbaustein ist sichtbar, sobald der Nutzer den Test (Kursbaustein-ID "84389429397045") bestanden hat.

Tragen Sie im Tab Sichtbarkeit ein:

getOnyxTestOutcomeZK("84389429397045","PASS") ="true"

Der Kursbaustein ist sichtbar, wenn die Note des Nutzers für den angegebenen Baustein (Kursbaustein-ID "84692289655276") besser als 4 ist.

Tragen Sie im Tab Sichtbarkeit ein:

getMark("84692289655276") < 4

Der Kursbaustein ist sichtbar, wenn der Nutzer den angegebenen Kursbaustein (Kursbaustein-ID "69742969114730") erledigt hat (Kursfortschritt).

Tragen Sie im Tab Sichtbarkeit ein:

getProgress("69742969114730")>=100
Information

Die Umsetzung eines weiteren Beispiels zur Nutzung von Expertenregeln wird auf der Seite Lernwegsteuerung nach Testergebnis erläutert.


Steuerung auf Basis von Ausgabevariablen eines Tests (ONYX)

Werden in einem Kursbaustein Test globale Testvariablen genutzt, können diese ebenfalls zur Sichtbarkeits- und Zugangssteuerung verwendet werden.

Information

Die verfügbaren Testvariablen sind im entsprechenden Kursbaustein Test im Tab Test-Konfiguration über den Link Ausgabevariablen dieser Ressource einsehbar. Neben Sichtbarkeits- und Zugriffsregeln (Expertensyntax) können sie ebenfalls als Platzhalter in Zertifikatstemplates genutzt werden.

Kurseditor - Ausgabevariablen_de.png


Der Kursbaustein ist sichtbar, wenn der Nutzer im angegebenen Kursbaustein Test (Kursbaustein-ID "69742969114730") für die Testvariable "S1_max" mehr als den Wert 10 erreicht hat.

Tragen Sie im Tab Sichtbarkeit ein:

getOnyxTestOutcome("84692289655276","S1_max") > 10

Der Kursbaustein ist sichtbar, wenn der Nutzer im angegebenen Kursbaustein Test (Kursbaustein-ID "69742969114730") für die Testvariable "feedbackE" genau den Wert "Wiederholen" hat.

Tragen Sie im Tab Sichtbarkeit ein:

getOnyxTestOutcome("84692289655276","feedbackE")="Wiederholen" 


Punktevergabe oder Bestandenstatus automatisch setzen

Information

Diese Regeln können in einem Kursbaustein Struktur im Tab Bewertung im jeweils passenden Eingabefeld gesetzt werden.

Kurseditor - Expertenregeln zur Bewertung_de.png

Automatische Punktevergabe:

Für einen Kursbaustein Struktur sollen automatisch 10 Punkte vergeben werden, wenn einer von drei Kursbausteinen Test (Kursbaustein-IDs "69742969114730", "69742969115733" oder "69742969118009") bestanden wurde. Ist das nicht der Fall, sollen automatisch 0 Punkte für den Strukturbaustein gesetzt werden.

Diese Regel wird im Abschnitt Punkte verarbeiten gesetzt.

getPassed("69742969114730") or getPassed("69742969115733") or getPassed("69742969118009")) * 10

Automatisch Status Bestanden setzen:

Ein Kursbaustein Struktur soll automatisch als bestanden angezeigt werden, wenn in allen Kursbausteinen Test (Kursbaustein-IDs "69742969114730", "69742969115733" oder "69742969118009") zusammen mindestens 140 Punkte erzielt wurden oder wenn für den Kursbaustein Bewertung (ID "69978845384688") manuell ein "Bestanden" gesetzt wurde.

Diese Regel wird im Abschnitt Bestanden wenn gesetzt.

(getScore("69742969114730") + getScore("69742969115733") + getScore("69742969118009")) >= 140 or getPassed("69978845384688")

Expert rules offer a wide range of applications and can have different effects. The examples on this page give a brief insight into possible application scenarios.

Unbekanntes Makro: scroll-ignore. Klicke auf diese Nachricht, um Details zu erfahren.

Expert rules in example images

In these examples, you can see how to configure expert rules and how they affect the course view.


Making individual content in a public course visible only to registered users ...

Do you wish to hide content in a public course from guests?

Enter the following content in the text field next to Expert rule in the Visibility tab of the respective course element.

isGuest()=false

This will prevent the course element in a publicly accessible course from being displayed to guest users.

Kurseditor - Konfiguration nur registrierte Nutzer_de.png

After publishing, users will see the following view:

View as a registered user

View as a guest user

View as a course owner

Kursrun - Ansicht registrierte Nutzer_de.png

Kurseditor - Konfiguration nicht für Gäste_de.png

Kursrun - Ansicht Kursverantwortlicher_de.png

Making individual content in a public course visible only to guests ...

Do you wish to display content in a public course exclusively to guests and course owners?

Enter the following content in the text field next to Expert rule in the Visibility tab of the respective course element.

isGuest() or isCourseAdministrator() 

This will make the course element in a publicly accessible course visible only to guest users and course owners.

Kurseditor - Konfiguration nur Gäste und Kursverantwortliche_de.png


After publishing, users will see the following view:

View as a registered user

View as a guest user

View as a course owner

Kursansicht - nicht für registrierte Nutzer_de.png

Kursrun - Ansicht nur Gäste_de.png

Kursrun - Ansicht Kursverantwortlicher_de.png

Releasing course content based on test results ...

Do you wish to release content depending on a test? The implementation of this scenario is explained on the help page Learning path control by test result.


Expert rules for checking user properties

Information

All of the following example rules can be created for both the visibility and access of a course element. For simplicity, the following examples only describe one scenario at a time.


Checking for a user role

Only guests but no registered users can see the course element.

Enter the following on the Visibility tab:

isGuest()

Alternatively enter: isGuest()=true or isGuest()=1

Guests do not have access to this course element.

Enter the following on the Access tab:

isGuest()=false

Alternatively enter: !isGuest()

Checking for a group membership

Except of the (learning) group with the title "Anfänger", all course participants can see the course element.

Enter the following on the Visibility tab:

inLearningGroup("Anfänger")= false

Alternatively enter: !inLearningGroup("Anfänger")

Only members of the "Intern" group can see the course element. Course owners and group tutors also cannot see the course element in the course navigation.

inLearningGroup("Intern")

The course element is visible to all course participants within a certain time frame (22.03.2020 - 23.08.2020), while being visible to members of the learning group with the title "Betreuer" at any time.

Enter the following on the Visibility tab:

(now >= date("22.03.2020 12:00")) and (now <= date("23.08.2020 18:00")) or inLearningGroup("Betreuer")

The course element is visible to all course participants in the right group with the title “Assessoren" within a certain time frame (03.09.2020 - 13.10.2020), while being always visible to the person with the username "natalie".

Enter the following on the Visibility tab:

(now >= date("03.09.2020 00:00")) and (now <= date("13.10.2020 00:00")) and inRightGroup("Assessoren")or isUser("natalie")

Checking of user attributes

Information

In addition to these institution-independent examples, there are also institution-dependent rules that restrict and transmit data according to the user's institution.
For OPAL users, the help page Overview of OPAL Shibboleth attributes contains all currently usable institution-specific attributes of Saxon institutions.

This course element can be accessed by everyone whose study subject attribute contains the letter sequence "Chemie".

This means that users with the study subject "Chemie BA" or "Chemie MA" can use the course element, but users with the study subject "Chemische Wasseraufbereitung" cannot.

Enter the following on the Access tab:

isInAttribute("studySubject","Chemie")
Examples of further attributes ...
Information

Different user attributes can be configured depending on the system. Therefore, it is advisable to check beforehand which user attributes are available on your platform.

Examples of user attributes:

  • Username: username
  • Email address: email
  • Term: termsOfStudy
  • Institution: institutionalName
  • Matriculation number: institutionalUserIdentifier
  • Location: standort
  • Study subject: studySubject
  • Study group: studyGroup
  • Organisation unit: orgUnit
  • First name: firstName
  • Last name: lastName

Only users from the "Marketing" organisation unit can see the course element.

Enter the following on the Visibility tab:

(getUserProperty("orgUnit") = "Marketing")


Evaluation of the enrolment date

Information

Some of the following example rules check for an enrolment course element. For example, you can use getInitialEnrollmentDate if only the initial enrolment is to be considered, independent of a later deregistration from the course element. Alternatively, you can also use getRecentEnrollmentDate if each enrolment is to be re-evaluated. For simplicity, the following examples only describe one scenario at a time.

Access to a course element is possible depending on a specific enrolment date.

Course participants who got enrolled via an enrolment course element (course element ID "70323786958847") before May 26, 2020, 6 pm can use the course element.

Enter the following on the Access tab:

getInitialEnrollmentDate("70323786958847") <= date("26.5.2020 18:00")

Each course participant can see the course element from a relative point in time, e. g. only 2 hours after the enrolment (course element ID "70323786958847").

Enter the following on the Visibility tab:

getInitialEnrollmentDate("70323786958847") + 2h < now

Each course participant can only see the course element up to a relative point in time, e. g. only for the first 2 hours after the enrolment (course element ID "70323786958847").

Warning

When using this rule, make sure that the visibility of the learning group is already limited by a higher level course element. Otherwise, if you only use this rule, non-enrolled users and guests will always have access to this course element.

Enter the following on the Visibility tab:

getInitialEnrollmentDate("70323786958847") + 2h > now

Each course participant can only see the course element within a relative time period, e. g. starting 2 hours prior to the enrolment (course element ID "70323786958847") until 5 hours after the enrolment. Course tutors are exempt from this restriction.

Enter the following on the Visibility tab:

(getInitialEnrollmentDate("101524102434663") + 2h < now and getInitialEnrollmentDate("101524102434663") + 5h > now ) or isCourseCoach(0) or isCourseAdministrator(0)

Each course participant can only see the course element for a certain period of time (during the first two hours of the first course visit).

Enter the following on the Visibility tab:

(getInitialCourseLaunchDate() >= never) or (getInitialCourseLaunchDate() + 2h > now)

The course element becomes only visible if the user has been active in the course for more than 10 minutes.

Enter the following on the Visibility tab:

(getRecentCourseLaunchDate() + 10min) > now


Expert rules with specific course elements

Information

In all of the following examples, specific course elements are used.

Before using these rules, note down the course element IDs of the relevant course elements for your scenario and adjust them accordingly in the expert rules.


Evaluation of the number of attempts

The course element becomes visible as soon as the respective course participant has performed the test course element (course element ID "70323786958847") for the first time.

Enter the following on the Visibility tab:

getAttempts("70323786958847") > 0

Users should no longer be able to see a course element as soon as they have placed more than 3 files in the drop box of a task course element (course element ID "70323524635734").

Enter the following on the Visibility tab:

getAttempts("70323524635734") <= 3


Evaluation of other course elements' assessment data

The course element is visible as soon as the user has reached at least 10 points in the test (course element ID "84692289655276").

Enter the following on the Visibility tab:

getOnyxTestOutcome("84692289655276","SCORE") >= 10

The course element is visible as soon as the user has passed the test (course element ID "84389429397045").

Enter the following on the Visibility tab:

getOnyxTestOutcomeZK("84389429397045","PASS") ="true"

The course element is visible if the user's grade for the indicated element (course element ID "84692289655276") is better than 4.

Enter the following on the Visibility tab:

getMark("84692289655276") < 4

The course element is visible when the user has completed the indicated course element (course element ID "69742969114730") (course progress).

Enter the following on the Visibility tab:

getProgress("69742969114730")>=100
Information

The implementation of another example of the use of expert rules is explained on the help page Learning path control by test result.


Controlling visibility and access based on test output variables (ONYX)

If global test variables are used in a test course element, they can also be used to control visibility and access.

Information

The available test variables can be viewed in the corresponding test course element in the Test configuration tab via the Output variables of this resource link. In addition to visibility and access rules (expert syntax), they can also be used as placeholders in certificate templates.

Kurseditor - Ausgabevariablen_de.png

The course element is visible if the user has reached a value greater than 10 for the test variable "S1_max" in the indicated test course element (course element ID "69742969114730").

Enter the following on the Visibility tab:

getOnyxTestOutcome("84692289655276","S1_max") > 10

The course element is visible if the user has exactly the value "Wiederholen" for the test variable “feedbackE" in the indicated test course element (course element ID "69742969114730").

Enter the following on the Visibility tab:

getOnyxTestOutcome("84692289655276","feedbackE")="Wiederholen" 


Set scoring or passing status automatically

Information

These rules can be set in a structure course element in the Assessment tab in the respective input field.

Kurseditor - Expertenregeln zur Bewertung_de.png

Automatic scoring:

10 points should automatically be awarded for a structure course element if one of three test course elements (course element IDs "69742969114730", "69742969115733" or "69742969118009") has been passed. If this is not the case, 0 points should automatically be set for the structure course element.

This rule is set in the Process points section.

getPassed("69742969114730") or getPassed("69742969115733") or getPassed("69742969118009")) * 10

Set passing status automatically:

A structure course element should automatically be displayed as passed if a total of at least 140 points has been reached in all test course elements (course element IDs "69742969114730", "69742969115733" or "69742969118009") together or if a "passed" was manually set for the assessment course element (ID "69978845384688").

This rule is set in the Passed if section.

(getScore("69742969114730") + getScore("69742969115733") + getScore("69742969118009")) >= 140 or getPassed("69978845384688")