EO Conversion guidelines
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.
<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>
#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 Folder | NavPage for PDR Course (to be imported) |
---|---|
OrgLevelPermissions.txt | Client commands to add OrgLevel permission for instructors |
canViewPermissionsForPDRLinkAttributesCommandLines.txt | Client commands to add CanView capabilities for Instructors(Assessor/Verifiers) ranks |
ConversionCommandLines.txt | Client 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.csv | Instructor rule matrix used by the RegistrationRules tool to generate registration rules for instructor ranks |
StudentRegistrationRuleMatrix.csv | Student rule matrix used by the RegistrationRules tool to generate registration rules for student ranks |
regCompletionRuleCommandLines.txt | Client commands to add Registration completion rules for courses |
SIRMappingsCommandLine.txt | Client commands to add SIRMappings attrivutes to the NavPage. |
OrgCertificateRulesClientCommands.txt | Client commands to add Certificate rules for PDR Courses except Rank PDRs. |
AwardCertForCompletedCertClientCommands.txt | Client 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
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.
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
GetCertificatesByPath [OrgPath] e.g GetCertificatesByPath /Root/Carnival/HAG
Add Certificate NB: Only If certificate currently does not exist
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'
Run client commands in OrgCertificateRulesClientCommands.txt.
Award Certificate for any Completed Registration.
Run client commands in the AwardCertForCompletedCertClientCommands.txt