/
LMS V4.0.0

LMS V4.0.0

Version: V4.0.0 (Major Release)

New Features

  • Date of Assessment and Assessed By

    • Evaluations and exam now have the ability for an administrator to explicitly set the date on which the assessment occurred and the person who carried out the assessment. The LMS UI has been updated in a number of places to reflect this new capability, in particular when submitting an evaluation.

  • Completion Dates reflect Date of last Assessment

    • Completion dates will now reflect the date that the last required assessment was successfully submitted as opposed to the date the completion rule on the registration. This improves accuracy of completion dates across the system. Note this will only be for completions going forward.

  • ILT Web API Entry Point

    • A new web API has been made available that allows an external application to record attendance information for instructor led training sessions. 

Issues Addressed of interest to customers

3852 - Security Feature: Disallow username as password Implemented as an optional customer configuration option.

 

4140 -Proctor name and username should be shown on the exam details page. In the case of proctored exams, the exam details page for a student will now contain details of who unlocked the exam.

 

3679 - Add "Download User CSV" feature to Manage > Users.

A button will now exist allowing admins to download profile details of all users contained in the LMS.

 

3957 -  If there is only a single tag value, the tag context widget should select it by default.

3722 - Add org login ID column to "Add Students" / "Add Instructors" in Manage > Registrations.

Manage Registrations will now contain a visible column for the Organization login ID

 

4272, 4268 - Bug fixes to Assessment Performance Report to address data consistency issues

 

4237,4249 - SCORM API update. Certain SCORM entry points for querying system capabilities were not correctly implemented. 

 

 

Other items for internal reference


3747 - CPMS - Partially completed training listed as "Complete".



4195 - Use Swagger instead of current WebAPI Help. This results in our external facing API documentation having a very different format.



3960 - Update GetCompletedRegistrationData() to filter by modification date. This change compensates for other updates and ensures that the external API for fetching completions continues to work correctly.



4227 - Certificate expiry timer management incorrect when "mutating" an awarded certificate. This caused a small number of certificate expiry notifications to be missed when an existing certificate was manually awarded or revoked.



4058 - Some property values are wrong in GetVesselUsers API output. The spec for this call is complex, and the failure modes that were fixed were essentially edge cases.



4266 - Can't change existing exam links' exam type.



3211 - GetBrands drill app web API. This API is designed to make configuring the drill app easier.



4186 - Content substitution uses value from cookie when tag value is excluded. Selecting a tag from the tag context widget then switching to a different course page that has the same tag sets but the selected tag from the previous course has been excluded from the widget will still populate the content with the saved cookie tag.



4307 - ExternalAuditService.GetStudentResultsByRegistrationIds() Web API does not set RegistrationId for External Grades.



4091 - Drill Form Report: start and end date not respected in CSV download.



4103 -  Sample XML in the UI for question load is not correct.



3960 - Update GetCompletedRegistrationData() to filter by modification date. This change compensates for other updates and ensures that the external API for fetching completions continues to work correctly.



4227 - Certificate expiry timer management incorrect when "mutating" an awarded certificate. This caused a small number of certificate expiry notifications to be missed when an existing certificate was manually awarded or revoked.



4058 - Some property values are wrong in GetVesselUsers API output. The spec for this call is complex, and the failure modes that were fixed were essentially edge cases.



4266 - Can't change existing exam links' exam type.



3211 - GetBrands drill app web API. This API is designed to make configuring the drill app easier.



4186 - Content substitution uses value from cookie when tag value is excluded. Selecting a tag from the tag context widget then switching to a different course page that has the same tag sets but the selected tag from the previous course has been excluded from the widget will still populate the content with the saved cookie tag.



4307 - ExternalAuditService.GetStudentResultsByRegistrationIds() Web API does not set RegistrationId for External Grades.



4091 - Drill Form Report: start and end date not respected in CSV download.



4103 -  Sample XML in the UI for question load is not correct.

Major Internal Changes

3283

  •  

Command line to "trim" a DB to one organization. Major internal refactoring to allow for efficient deletion of entire customer sites. Required for GGL/HAGroup site split.



3415 - Replace DB Constraints with constraints written in code. Major internal re-factoring to prevent erroneous constraint errors during sync.



3804 - Performance improvements in deleting data. Deletion of entire orgs is now generally viable. Prior to these changes it could take in excess of 12 hours to deleted a large site. Deletion time should be under 10 min now.



4156 - Add Customer information to Metrics. This allows us to filter/group the data in Sumo reports by customer.



2876 - Major refactoring of UOW support. This does not have any customer visible effects. It was done purely to make the code more easily maintained over time.



2586 - Refactor CPMS CQ Implementation

  • This does not have any customer visible effects. It was done purely to make the code more easily maintained over time.



3398 - Refactoring of repository hierarchy

  • This does not have any customer visible effects. It was done purely to make the code more easily maintained over time.



2577 - Eliminate Auto-Registration Code.



4362 - Add page attribute on Root (and Org) to limit number of concurrent auto sync generations globally for an install.



4157 - Add Customer information to TSL.

Miscellaneous Internal Changes

4273 - SCORM API - Add error handling API to watch for Undefined-Status/Score

4196 - Category names are being trimmed in export (which causes sync failure)

3445 - Grades By Student export to CSV fails on live CCL (DB issue)

4109 - Find and verify all uses of EntityState.Deleted

4040 - Refactor CoreClient into manageable partial classes

3596 - Command line to dynamically compile and execute code in the command line

4440 - Perf degradation of RegistrationAuditCommitHandler between 3.9.4 and 4.0.0

3833 - Create a generic method for getting most recent entities by left outer join

3766 - SCORM Importer needs to filter organization titles when creating urlNames

3331 - Add DB column to CommandExecuted table for duration of command

3709 - Add preserve ID behaviour to syncing of instructor bindings

4197 - Delay delivery of sync packages to RTA

3956 - Remove URL parameters on SCORM package internal links

4396 - CookieItems need to be physically deletable

3946 - BaseCourseRuleEvaluator ignores the '!' in predicate expressions

3539 - Use "transaction batching" in importRegistrations and importCCLRegistrations

4218 - Add 'SuppressReporting' flag to SiteInfo

4127 - Create CancelAssessment command line

3657 - Unhandled exceptions in ModalInner

4377 - Certificate validity duration updation should avoid updating certificate audits with non-awarded states