Skip to main content

Version 9.1.197 (24 November 2025)

Performance Management

Moderation breaks when QA is required

Problem

  • When the user only has the PM admin role for the moderations, the moderation page breaks due to requiring the user to also have People Admin role when QA is required. 

 

Solution

  • Allow the check for both PM and People admin roles

 

Sanitisation of review items names (#139392)

Problem

  • Adding an "&" to the text input of the review items and saving encodes it as "&". Whenever saving an reloading, another "amp:" is added. 

 

Solution

  • Added sanitisation tag helpers to input and textbox of review item name. image Tested with various special characters. Input also blocks escaping character like "&" as you type.

 

Check-in dial not being able to be clicked (#140857)

Problem

  • To be able to click the check-in dial some conditions must be met, whereas one of them is that the ratings phase should have been started, but should the ignore phase date be active it does not validate this check hence why the dial can not be clicked 

 

Solution

  • Add an either or check to include should the ignore ratings phase be active

 


Ruleset Management

Resolved notification email url generation check

Problem

  • When no path specified it uses the correct fallback but when in code it adds new url path with added route 

 

Solution

  • Before returning add an additional check to trim any leading '/'

 

Resolved theme service MVC route

Problem

  • Route incorrectly calculated 

 

Solution

  • Resolve fix for app

 


Event Scheduling

Resolved Base URL for custom domain

Problem

  • Incorrect base url configuration key used for custom domain on learning management 

 

Solution

  • Corrected base url

 

Cost Structure not pulling through after running Training Intervention Cost Import (#139814) 

Problem

  • Cost Structure not pulling through after running Training Intervention Cost Import 

 

Solution

  • This happened due to an entity framework error which occurred because entities already tracked were again marked to be tracked. Simplified and improved import logic to not manually track cost description entities

 

The newly added cost on v9 page wipes out the v8 cost on from the Training Intervention (#140232)

Problem

  • The newly added cost on v9 page wipes out the v8 cost on from the Training Intervention 

 

Solution

  • Do no remove costs when deselecting cost descriptions when adding new cost descriptions. Costs can now only be added via the cost description modal and removed (with confirmation) from the table displaying the costs. 

 

Booking Requests do not show up on HR Processes tab (#141033) 

Problem

  • Booking Requests do not show up on HR Processes tab 

 

Solution

  • This happened when updating the status of the booking on the admin page. Ensure that hr process requests are also submitted from the admin page when updating the booking status of an attendee.

 

Show loading indicator for export (#141057)

Problem

  • There is no loading indicator when exporting files

 

Solution

  • Implement change to show loading indicator when doing an export

 

Decline reason not being populated (#140387)

Problem

  • Decline reason not being replaced on email

 

Solution

  • Corrected templates to have correct placeholders

 

Email calendar attachment not sending out (#139709)

Problem

  • Recipient code missing for the one request, and type request should not be specified on a invite import as outlook see the request as an accept/decline type 

 

Solution

  • Correctly add recipient code and fix the request body

 

Implemented suggestion and empty list (#139872 & #140253)

Problem

  • When there is no data in the table it is blank 

 

Solution

  • Add change to show row with wording indicating nothing to show, also add suggestion to swap admin and manager around

 

Sync notifications when new event is created (#139835)

Problem

  • When a new event is created notifications are only created when confirmed 

 

Solution

  • Change to sync notifications when it has been created

 

Individuals loading people group target audience (#140249)

Problem

  • When having a people group and target audience load, it will load under attendees when switching over to individuals, 

 

Solution

  • Add original check to validate and clear before switching as it will reload when opening target audience on people group again

 

Auto mark attendance check (#139385)
  • Add new check in fronted to specify the minutes after each session to mark attendance

 

Syncfusion license error (#139610)

Problem

  • At seemingly random times on master a syncfusion license error will occur. 

 

Solution

  • Moved the license registration from App.tsx to Index.tsx to hopefully make it more stable. 

 

Last survey notification not being sent (#140104)

Problem

  • Event schedule survey links not being sent for the users 

 

Solution

  • Correct logic to handle per batch of users

 

Enhancements on the calendar view (#138282, #139847, #139616, #139606)
  • **139282** Change wording on upcoming events if you are not booked - You are not booked on any events Make the Calendar borders lighter
  • **139847** Finalised & Cancelled Event not to display on Calendar View
  • **139616** Show the events in the range that expands. Add the dates as well
  • **139606** Orange dot when not approved but booked Don't show anything when not booked Display [Pending Approval] in the MyUpcomingEvents at the top Show tooltip when hovering over the event showing the status of the event (not booked, booked, pending approval)

 


Learning Management

Update marksheet legend definitions (#141310)

Problem

  • Updates to marksheet legend definitions are required. 

 

Solution

  • Updated marksheet legend definitions.

 

Add ruleset to master data year cache retrieval on class subject save validation (#141224)

Problem

  • The retrieval of year master data for when validation is performed on the class subject save, is not taking into account the ruleset. 

 

Solution

  • Added ruleset to master data year cache retrieval on class subject save validation

 

Refactored SQL query to retrieve all previous cycles and marks for class subjects (#140434)

Problem

  • The system currently relies solely on the previous cycle/term to retrieve the most recent training intervention ID for data transfer. As a result, only the marks from Term/Cycle 4 are used for inheritance.

 

Solution

  • We updated the backend query to include all cycles/terms, allowing us to Use the most recent training intervention ID for mark inheritance.

 

Comments to use 3 columns and wrap the text (#141203)

Problem

  • The comment options are loading one after the other below one another which is leaving a lot of white space or available screen space un-utilized. 

 

Solution

  • Changed so comments use 3 columns and then wrap onto the next row

 

Subject cycle date range validation and subject detail UI values updating (#139581)

Problem

  • Subject cycle validation is being checked against the currently saved Year date range, instead of the Year value that is being saved on the form.
  • The subject detail UI values should only update after a successful AJAX call.
  • The dates were being incorrectly formatted for the subject detail.

 

Solution

  • Fixed subject cycle validation to perform date validation range checks against the Year currently being saved on the form.
  • Ensure the subject detail UI values only update after a successful AJAX call.
  • Fix date formatting for subject detail.

 

Created SQL Script that will insert DWH scores into table Marks (#140444)

Problem

  • The scores within the DWH will need to be imported within LearningManagement.Marks as ModeratedMarks 

 

Solution

  • Created custom Script to insert DWH Scores within V9_Master_Learningmanagement.LearningManagement.Mark as ModeratedMarks

 

Support dynamic date formats with Day.js integration (#140434)

Problem

  • Culture affected date calculations in the backend, preventing the inherit marks button from being available. 

 

Solution

  • Added backend date format to ensure compatibility with all cultures.

 


Data Warehouse

Adjustments made within lmStudentSubjects and lmTermResults (#140444)

Problem

  • The Mark field should be updated with either Calculated- or ModeratedMark if it does exists within StudentSubjects
  • The Calculated Mark should be set to Blank if it is 0
  • The new Comment fields should be included within TermResults 

 

Solution

  • Added step to update Mark field to either Calculated- and ModeratedMark within StudentSubjects
  • Added Step to set Calculated Mark to blank if it 0 within StudentSubjects
  • Added the required comment fields within TermResults

 

Performance Improvement within jpAppointments (#125159)

Problem

  • Container for jpAppointments currently fetches all the data within the Source DB with each DWH run 

 

Solution

  • Adjusted Source Query to only fetch data by using ReferenceDate
  • Added Step to only insert data into DWH table if it does not exists

 

Added step within PerformanceManagement_ETL.dtsx to remove certain pdm records as per requests (#140774)

Problem

  • Certain pdm records needs to be removed from the DWH as per requests 

 

Solution

  • Added step within PerformanceManagement_ETL.dtsx to remove certain pdm records as per requests
  • Implemented performance improvement for Container pdmReviewYearPeopleGroupsSetup

 

Added fieds Calculated - and ModeratedMark within lmStudentSubjects (#140444)

Problem

  • Fields Calculated - and ModeratedMark are required within the Datawarehouse 

 

Solution

  • Added fields Calculated - and ModeratedMark within lmStudentSubjects

 


Identity and Authorisations

Implement new custom domain (#138243)
  • Add new change to allow for custom domains on MVC

 


Job Management

Align status header column

Problem

  • Misalignment of columns

 

Solution

  • Align the status header column

 

Resolved wrapping of status text (#140362)

Problem

  • Width is not defined and some screen resolutions still wrap the text 

 

Solution

  • Add change to hard define the width size

 

Master data of incorrect product type (#140350)

Problem

  • Master data product type incorrect 

 

Solution

  • Correct the product type for master data item

 

Display Document max size error message (#140612)

Problem

  • Max size error for file not being displayed 

 

Solution

  • Add change to validate size 

 

A global:messageNotification... error appears when uploading a document (#140616) 

Problem

  • After uploading a file it triggers previous handler and does not show correct translation 

 

Solution

  • Detach handler before attaching new and correct translation 

 

Evidence modal styling issues (#140621) 

Problem

  • Alignment on the table data 

 

Solution

  • Resolve the class margin that has been added

 

The "Delete Reason" field caches the previous delete reason (#140623)

Problem

  • Delete modal content is not being set 

 

Solution

  • Reset delete modal content after deletion

 

Remove the "yet" on the "Not yet Set" toggle (#140815)

Solution

  • Suggestion to change translation and resize status

 

Position title not being set in modal title (#140556)

Problem

  • Modal title was not being updated with the position title

 

Solution

  • Add change to populate title with position title

 


People Management

New user sync (#126727)

Problem

  • The user sync from V9 to V8 runs the full employee import that is inefficient. 

 

Solution

  • Corrected the field names of the appointment history API call to match the names on V8. Use the new User sync in V8

 

Fix breadcrumb back arrow no longer displaying (#140853)

Problem

  • Back arrow no longer displays correctly on breadcrumb navigation. 

 

Solution

  • Remove condition check preventing arrow display that was intended to solve another problem unsuccessfully.

 

The address details not saving on the summary (#139878)

Problem

  • Address details does not save on the summary when that is the only PG permission active to view or edit When Payroll connectors has been configured the connector drop down displays to the manager even though the section is disabled on the PG The logged in user can see the payrol details on their profile summary 

 

Solution

  • Only check if the section has changed to determine if it can be saved. Only show the payroll dropdown and payroll id to the manager that has view or edit rights on the PG and never to the user

 

Correct summary page authorisation for inactive and unchanged sections. Corrected data loss between users with view right and admins with edit rights (#139878)

Problem

  • When the address section is disabled the user receives an unauthorised exception. When the user as data in a section but no view rights the dat is lost when saving data on the summary. The summary page save unchanged data unnecesarily. 

 

Solution

  • This pull request refactors how permissions and change tracking are handled for user profile summary updates in the People Management module.
  • The main improvements include fine-grained permission checks for each profile section, tracking which sections have changed, and updating the view model and controller logic to support these features.
  • This results in more secure and targeted updates, allowing only authorised edits and reducing unnecessary data processing.

 


Notifications

Communication Portal height (#140695)

Problem

  • When there are no discussions a class is added to restrict the height, but when a new discussion is to be started that height does not reset 

 

Solution

  • Add change to remove the restirction

 


Content Management

Consolidate ContentType enum and change all references to point to centralized enum (#139343)

Problem

  • There are inconsistencies between the MVC ContentType and ContentManagement ContentType enums leading to incorrect value assignments when the types are sent from MVC to CM. 

 

Solution

  • Centralise the ContentType enum and update all references. Add migration to force recreation of missing ContentType folders on nextcloud.

 


Report Builder

Increase people group filter length and add margin between filter and buttons (#140337)

Problem

  • People group filter styling on ReportBuilder view report page needed some changes.

 

Solution

  • Added bottom margin to people group filter and made it span parent container width to allow for longer PG names