Table of Contents | ||||
---|---|---|---|---|
|
Introduction
This document contains proposals and descriptions for (new) offering rule predicates expressed in the offering rule matrix for registration rules and instructor rules.
View file | ||
---|---|---|
|
Offering Rule Generator
(pre-release and minimally tested version - use with caution!)
The attached offering rule generator (incl. sample matrices for Registration and Instructor rules) is a pre-release version which was barely tested. Please double check the created rules if they look OK before adding to a live system!
View file | ||
---|---|---|
|
Example
...
Commands
Code Block |
---|
RegistrationRuleGeneratorOfferingRuleGenerator.exe Instructor -f "D:\temp\2022-03-22-Instructor-NewOfferingRuleMatrix.csv" -p /Root/TestOrg -o "D:\temp\2022-03-22-Instructor-NewOfferingRuleMatrix-Commands.txt" -v RegistrationRuleGeneratorOfferingRuleGenerator.exe Student -f "D:\temp\2022-03-22-Registration-NewOfferingRuleMatrix.csv" -p /Root/TestOrg -o "D:\temp\2022-03-22-Registration-NewOfferingRuleMatrix-Commands.txt" -v |
Notes
Registration Rules ignore the rows De-Registration Rules and Users (UserNames)
Instructor Rules ignores the row Users (UserNames)
Registration Rules
Additional Rows
New Registration Rule Predicates
Some additional rows were added to support new predicates:
...
Note: De-Registration can’t be used for any of the above predicates, including the existing predicate CertificateWillExpire.
Rows
Course-Prerequisite (latest registration is completed) - MostRecentRegistrationCompletedFor
Define courses which are prerequisite to the course column. That is, those courses need to be completed BEFORE someone gets registered in this course.
...
Note: If more than one course is prerequisite, add multiple course paths separated with pipe '|'.
Course-Prerequisite (completed after current completion) - CompletedForSinceCurrentCompletion
Define courses which are prerequisite to the course column. That is, those courses need to be completed BEFORE someone gets registered in this course.
The predicate is only true if the prerequisite course was either completed AFTER the current course or the current course has not been completed yet and the prerequisite course has been completed at least once.
Examples
prerequisite course
not completed
AND current coursenot completed
=> falseprerequisite course
completed 2021-10-08
AND current coursenot completed
=> trueprerequisite course
completed 2021-10-08
AND current coursecompleted 2021-10-07
=> trueprerequisite course
completed 2021-10-08
AND current coursecompleted 2021-10-09
=> false
Note: If more than one course is prerequisite, add multiple course paths separated with pipe '|'.
OrgProfileFieldChanged (since latest completion) - ProfileChangedSinceLastCompletion
Predicate ProfileChangedSinceLastCompletion
is true if the specified profile field value has changed since the user's last course completion.
CertificateWillExpireInCourse (course, certId, daysBeforeExpiry)
The predicate CertificateWillExpireInCourse
is true if the certificate for the specified course is expiring in x days or less or has expired already.
Users (UserNames)
List user names (separated with pipe '|') who should get registered in the current course independent of their OPF values. It is important to note that all the x for OPF values are ignored for that user - this is realized in creating one registration rule per user.
The any settings for that course (column) are included in the registration rule. Therefore, the users would still adhere to the prerequisites, Registration Type and , certificate configuration and OPF values for the course.
Notes:
This predicate is used similar to OPFs - it indicates the specific users who should get registered
De-Registration can be used with the User Users predicate!
The currently existing predicate IsUser can’t take multiple users - Core needs to be extended to a predicate like- as a (temporary) work-around the Offering Rule generator will generate one offering rule per user (including any other configurations for that column).
The IsUser predicate will need to be replaced in the future to take multiple users:
Users(userName1|userName2|…)
which should work similar to ProfileValueIn with multiple values but checking for users. Any user in the list should get registered. This makes it possible to add one offering rule instead of one offering rule per user.
Instructors
Additional Rows
Users (UserNames)
List user names (separated with pipe '|') who should get added as instructors for the course independent of their OPF values set further below. It is important to note that all the x for any selected OPF values are ignored for that user - this is realized in creating one instructor rule per userincluded in the instructor rule as well.
Notes:
This predicate is used similar to OPFs - it indicates the specific user(s) who should get registered and not necessarily defining under which circumstances (i.e. expiring certificate, prerequisites).Remove Instructor does not have any affect on users mentioned in Users row.added as instructor(s)
Remove Instructor can be used with the Users predicate!
The currently existing predicate IsUser can’t take multiple users - Core needs to be extended to a predicate like- as a (temporary) work-around the Offering Rule generator will generate one offering rule per user (including any other configurations for that column).
The IsUser predicate will need to be replaced in the future to take multiple users:
Users(userName1|userName2|…)
which should work similar to ProfileValueIn with multiple values but checking for users. Any user in the list should get registeredget added as instructor. This makes it possible to add one offering rule instead of one offering rule per user.