/
EO Conversion guidelines

EO Conversion guidelines

Content


With the introduction of a new PDR structure; there is the need to migrate existing PDRs over to use the new PDR structure. That is, using multi-rank PDRs as well.

This guide holds all information require to successfully convert an existing PDR structure to the new PDR structure.

PDR Generator

Configuration

The following configuration needs to be done on the PDR Generator.

App.config
    <appSettings>
        <add key="OrgUserName" value="OrgName-Users"/> e.g "CMG-Users"
    	<add key="organizationPath" value="OrgPath"/> e.g "/Root/Carnival/CMG"
    	<add key="PDRLocationPath" value="Org PDR path"/> e.g /Root/Carnival/CMG/PDRs
     </appSettings>

<!--Add list of all vessels on this site-->
   <Vessels>
    <!-- CCL -->
    <add key="CCLBreeze"    value="Carnival Breeze" />
    <add key="CCLConquest"  value="Carnival Conquest"/>
  </Vessels>


Program.cs
#region Configurable Parameters...

	        var pdrName = "PDR Name"; e.g EO
			var ranks = new List<string> { "Rank1", "Rank2", "Rank3" }; e.g "Env Off HAL", "Env Off PCL", "Env Off POA", 
			var assessors = new List<string>{ "AssessorRank1", "AssessorRank2", "AssessorRank3" }; e.g "Ch Eng HAL", "Ch Eng PCL", "Ch Eng POA",
			var verifiers = new List<string> { "VerifierRank1", "VerifierRank2", "VerifierRank3" }; e.g "Commodore PCL", "Capt PCL", "Capt POA", "Mstr HAL",

	        var title = "PDR Title"; e.g EO

			var targetFolder = $@"File location path\{pdrName}";   e.g D:\temp\HAG-EO-LivePDRsv1\{pdrName}    
			
            RankPdrLevels = new List<int>() {1, 2, 3};   // Specify the Rank PDR levels
            VesselPdrLevels = new List<int>() { 1,2,3 };  // must be a sub-set of RankPdrLevels

            var noVesselsPDR = false;           // Flag to NOT generate any vessel 
			var courseLevel = "$CourseLevel$";

 #endregion Configurable Parameters.

Generated files

PDR Generator would generate the following files 

PDRs FolderNavPage for PDR Course (to be imported)
OrgLevelPermissions.txtClient commands to add OrgLevel permission for instructors
canViewPermissionsForPDRLinkAttributesCommandLines.txtClient commands to add CanView capabilities  for Instructors(Assessor/Verifiers) ranks
ConversionCommandLines.txtClient commands to remove old PDR structure permission from PDR level downwards.Some old PDR structure are require to be manually removed.(Those would be mentions later). Adds new permissions in line with the new PDR structure 
InstructorRegistrationRuleMatrix.csvInstructor rule matrix used by the RegistrationRules tool to generate registration rules for instructor ranks
StudentRegistrationRuleMatrix.csvStudent rule matrix used by the RegistrationRules tool to generate registration rules for student ranks
regCompletionRuleCommandLines.txtClient commands to add Registration completion rules for courses
SIRMappingsCommandLine.txtClient commands to add SIRMappings attrivutes to the NavPage. 
OrgCertificateRulesClientCommands.txtClient commands to add Certificate rules for PDR Courses except Rank PDRs.
AwardCertForCompletedCertClientCommands.txtClient commands to award certificate to latest completed registration for all EO PDRs (except Rank PDRs)

Stepwise conversion

OrgLevel permission. 

Full EO Conversion : If you are carrying out a full conversion, then you can run this command lines to delete the following capabilities

- System.Capability.CanEvaluateStudent
- System.Capability.CanViewCourseOfferingAudits
- System.Capability.CanViewExamInstanceAudits
- System.Capability.CanViewExamReport
- System.Capability.CanViewRegistrationAudits
- System.Capability.CanViewRegistrations

NB:This is only for full EO conversion

Ext/dev Commands
deleteLinkAttributes [OrgPath] System.Capability.CanEvaluateStudent "" 
deleteLinkAttributes [OrgPath] System.Capability.CanViewCourseOfferingAudits "" 
deleteLinkAttributes [OrgPath] System.Capability.CanViewExamInstanceAudits "" 
deleteLinkAttributes [OrgPath] System.Capability.CanViewExamReport "" 
deleteLinkAttributes [OrgPath] System.Capability.CanViewRegistrationAudits "" 
deleteLinkAttributes [OrgPath] System.Capability.CanViewRegistrations "" 

Mixed EO Conversion: If the old PDR structure would co-exist with the new PDR structure, we just add the aforementioned capabilities for instructors. 

Ext/dev commands
addLinkAttribute [OrgPath] "System.Capability.CanEvaluateStudent" "OrgAdmin : ALLOW : IsInstructor()"
addLinkAttribute [OrgPath] "System.Capability.CanViewCourseOfferingAudits" "OrgAdmin : ALLOW : IsInstructor()"
addLinkAttribute [OrgPath] "System.Capability.CanViewExamInstanceAudits" "OrgAdmin : ALLOW : IsInstructor()"
addLinkAttribute [OrgPath] "System.Capability.CanViewExamReport" "OrgAdmin : ALLOW : IsInstructor()"
addLinkAttribute [OrgPath] "System.Capability.CanViewRegistrationAudits" "OrgAdmin : ALLOW : IsInstructor()"
addLinkAttribute [OrgPath] "System.Capability.CanViewRegistrations" "OrgAdmin : ALLOW : IsInstructor()"

If Certificates with expiry is introduced.

Add certificate if it currently does not exist. To check if certificate exist, execute command line

Ext/dev : Check if certificate exist
GetCertificatesByPath [OrgPath] e.g GetCertificatesByPath /Root/Carnival/HAG


Add Certificate NB: Only If certificate currently does not exist

Add certificate to Organization
1.Copy certificate to a location on the server
2.Execute client command:  
    createCertificate -- Usage: createCertificate [OrgPath] [ShortId] [DisplayName] [TemplateFileName]
3.Set validity for certificate 
    setCertificateValidityDuration -- Usage SetCertificateValidityDuration [organization path] [base certificate short Id] [integer value for Validity Duration (or null)] 

Add Certificate Rules NB: PDR Generator generates this client commands 'OrgCertificateRulesClientCommands.txt'

Certificate rules
Run client commands in OrgCertificateRulesClientCommands.txt. 


Award Certificate for any Completed Registration.

award certificate
Run client commands in the AwardCertForCompletedCertClientCommands.txt