Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

**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:

...

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
languagec#
titleProgram.cs
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
languagexml
titleApp.Config
<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>

...

  1. Copy the notification template StudentEvaluationFinishedFull.cshtml to the '/NotificationTemplates' folder in MarineLMS.Service.Main project
  2. Add SShoreside user with email address
    1. 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)
  3. Create user group [OL-Name]-Notification-Users
    1. createGroup [OrgPath] [OL-Name]-Notifcation-Users
  4. Add all Captain Notification users to group ‘[OL-Name]-Notification-Users’ so they get notified:
    1. Set Vessel for which the Captain Notification user should be notified for
    2. Set Rank to Captain
  5. Add SIR Mapping
    1. addNavPageAttribute [OrgPath] Customer.CUK.SIRMapping “EO:Captain”
    2. example: addNavPageAttribute /Root/Carnival/ExampleCCL Customer.CUK.SIRMapping “EO: Captain”
  6. Execute the following command to add notification rule
    1. addOrgNotificationRule [OrgPath] IsCategory(Exam,StudentEvaluationCompleted);LinkAttributeIsEqualTo(Customer.Course.Assessment,SignOff);AssessmentGradeGreaterOrEqual(99) User([SShoreside user name]) Email
    2. example: addOrgNotificationRule "Root/CUK" IsCategory(Exam,StudentEvaluationCompleted);LinkAttributeIsEqualTo(Customer.Course.Assessment,Assess);AssessmentGradeGreaterOrEqual(99) SignOffUser([OL-Name]-Notification-Users) Email
  7. The 2 notification predicates LinkAttributeIsEqualTo and IsLinkAttributePresent use the NotificationAttributes attached to the notification item. 
    1. to Captain
  8. Add SIR Mapping
    1. addNavPageAttribute [OrgPath] Customer.CUK.SIRMapping “EO:Captain”
    2. example: addNavPageAttribute /Root/Carnival/ExampleCCL Customer.CUK.SIRMapping “EO: Captain”
  9. Execute the following command to add notification rule
    1. addOrgNotificationRule [OrgPath] StudentRegistration IsCategory(RegistrationExam,StudentRegistrationStudentEvaluationCompleted);IsLinkAttributePresentLinkAttributeIsEqualTo(SystemCustomer.Customer.SendNotificationOnRegistration) Subjects(Course.Assessment,SignOff);AssessmentGradeGreaterOrEqual(99) User([SShoreside user name]) Email
    2. 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!

...

  1. Make sure a course offering exists for the selected PDR level 
    1. e.g PDR level : EO Rank PDR2
  2. Add user to the required PDR level. Go to Manage user and edit user properties.
    1. 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

...