**The following guide assumes familiarity with the MarineLMS and use of the Client tool on /Pages/**The following guide assumes familiarity with the MarineLMS and use of the Client tool on /Pages/Dev, as well as the /wiki/spaces/CMD/pages/5432378246 system**
...
/Root/Carnival/CCL
/Root/Carnival/HAG
/Root/Carnival/CMG
/Root/CUK
Files located at Carnival EO PDRs
Setup Batch Size for importCarnivalUsers
...
JSON Files for VesselLocations and RankBasedValues
RankBasedValuesByRank ([OrgName]).json
VesselLocations ([OrgName]).json
Import NavPageAttributes
Page attributes for CUK org page:
...
You will need a repository to get the PDR Generator (GIT repository: psdev/CUK/PdrGenerator) http://gitlab.docker.marinels.local/marinels/psdev (ssh://git@gitlab.docker.marinels.local:222230100/marinels/psdev.git)
PDR Generator configuration
Open the PDR Generator solution in Visual Studio
Program.cs
In the function Main in the Program.cs; set the following variables:
Code Block | ||||
---|---|---|---|---|
| ||||
var targetFolder = @”D:\temp\EO”; // Generated PDR files will be put here var rank = “EO”; // Short Rank title var title = “Environmental Officer”; // Full Rank title var noVesselPDR = false; // Flag to NOT generate any vessel PDRs RankPdrLevels = new List<int>() {2, 3}; // Specify the Rank PDR levels VesselPdrLevels = new List<int>() {3}; // must be a sub-set of RankPdrLevels |
App.Config
In the App.config you will find a list of all the vessels by OL. Note if sections are not commented out, this will generate for all the uncommented OLs.
Code Block | ||||
---|---|---|---|---|
| ||||
<configuration> <appSettings> <add key="OrgUserName" value="[OrgName]-Users"/> <add key="organizationPath" value="[OrgPath]"/> <add key="PDRLocationPath" value="[PDR Location Path]"/> </appSettings> <Vessels> <!-- vessel names --> <add key="[Vessel 1]" value="[Vessel 1]" /> <add key="[Vessel 2]" value="[Vessel 2]"/> ... </Vessels> </configuration> |
...
- Copy the notification template StudentEvaluationFinishedFull.cshtml to the '/NotificationTemplates' folder in MarineLMS.Service.Main project
- Add SShoreside user with email address
- Note the user name if multiple Orgs exist in the same instance (user names will be unique and may have numbers at the end if the same user gets created - e.g. SShoreside1)
- Create user group [OL-Name]-Notification-Users
- createGroup [OrgPath] [OL-Name]-Notifcation-Users
- Add all Captain Notification users to group ‘[OL-Name]-Notification-Users’ so they get notified:
- Set Vessel for which the Captain Notification user should be notified for
- Set Rank to Captain
- Add SIR Mapping
- addNavPageAttribute [OrgPath] Customer.CUK.SIRMapping “EO:Captain”
- example: addNavPageAttribute /Root/Carnival/ExampleCCL Customer.CUK.SIRMapping “EO: Captain”
- Execute the following command to add notification rule
- addOrgNotificationRule [OrgPath] IsCategory(Exam,StudentEvaluationCompleted);LinkAttributeIsEqualTo(Customer.Course.Assessment,SignOff);AssessmentGradeGreaterOrEqual(99) User([SShoreside user name]) Email
- example: addOrgNotificationRule "Root/CUK" IsCategory(Exam,StudentEvaluationCompleted);LinkAttributeIsEqualTo(Customer.Course.Assessment,Assess);AssessmentGradeGreaterOrEqual(99) SignOffUser([OL-Name]-Notification-Users) Email
- The 2 notification predicates LinkAttributeIsEqualTo and IsLinkAttributePresent use the NotificationAttributes attached to the notification item.
- to Captain
- Add SIR Mapping
- addNavPageAttribute [OrgPath] Customer.CUK.SIRMapping “EO:Captain”
- example: addNavPageAttribute /Root/Carnival/ExampleCCL Customer.CUK.SIRMapping “EO: Captain”
- Execute the following command to add notification rule
- addOrgNotificationRule [OrgPath] StudentRegistration IsCategory(RegistrationExam,StudentRegistrationStudentEvaluationCompleted);IsLinkAttributePresentLinkAttributeIsEqualTo(SystemCustomer.Customer.SendNotificationOnRegistration) Subjects(Course.Assessment,SignOff);AssessmentGradeGreaterOrEqual(99) User([SShoreside user name]) Email
- example: addOrgNotificationRule "/Root/CUK" StudentRegistration IsCategory(RegistrationExam,StudentRegistrationStudentEvaluationCompleted);IsLinkAttributePresentLinkAttributeIsEqualTo(SystemCustomer.Customer.SendNotificationOnRegistration) Subjects(Course.Assessment,Assess);AssessmentGradeGreaterOrEqual(99) SignOffUser([OL-Name]-Notification-Users) Email
ATTENTION PITFALL:
If there are multiple Orgs hosting PDRs in the same MarineLMS installation the user SShoreside may have different user name as it must be unique per installation. You need to set the proper SShoreside username (e.g. SShoreside1) for the first notification rule!
...
- Make sure a course offering exists for the selected PDR level
- e.g PDR level : EO Rank PDR2
- Add user to the required PDR level. Go to Manage user and edit user properties.
- e.g Set User’s rank : EO ; Rank PDR Level : 2
...
CCL-Notification-Users:CaptainBreeze,CaptainDream
SIRMapping:EO:Captain
Notifications
Complete ‘Assess Criteria’ for Rank PDR
...