Skip to main content

Version 9.1.218 (23 March 2026)

Report Builder

Resolved SubReport can not be exported (#146574)

Problem

  • Missing NPM package. Incorrect logic for building the pivot report details, no header values, and incorrect counts starting
  • On the building of the subreport dropdown buttons, not being initialised after being dynamically built 

 

Solution

  • Added npm package
  • Corrected logic for rebuilding the output to the Excel file export
  • Initialised the MDB dropdowns after being built

 

Implemented Excel Type replace for Pivot Table reports (#141028)

Problem

  • When adding multiple columns to pivot on, the back-end runs into a SQL limitation of the length of column name of 128 characters

 

Solution

  • When generating the script to execute and formulate columns to pivot, create a new mapping table to reference each column name to an Excel-type column 'A, B .. AA, AB' to allow several columns, and before returning, remap to keep the code and logic as needed.

 

Avoid intermittent Export Errors (#146243)

Problem

  • Intermittent errors happen because we don't wait for the file to be exported

 

Solution

  • Wait for the file to be exported, and don't go out of scope

 


Identity

Ensure v8 fallback is only used when v9 password is not set (#146607)

Problem

  • Users are still able to authenticate using the v8 password after the v9 password was set. 

 

Solution

  • Ensure v8 fallback is only used when v9 password is not set 

 

V8 password fallback on login (#146398)

Problem

  • When migrating to V10, a user needs to reset their password to log in and cannot continue using their V8 password until the V9 expiry is reached.

 

Solution

  • Introduce support for validating legacy ("v8") password hashes as a fallback authentication mechanism in the identity service.
  • The changes span the application, database schema, and data access layers to enable seamless login for users with older password hashes.
  • The most important changes are grouped below.
  • These changes ensure backward compatibility for users with older password hashes while maintaining the integrity of the authentication process.

 

Added UI validation check on confirm password and space for recaptcha (#146286)

Problem

  • Submission can be done, which then results in an error from the backend that the password and the confirmation password do not match 

 

Solution

  • Add a UI check to restrict and show a validation error message from the frontend side

 


Event Scheduler

Added event name and ref nr on the confirmation modal (#146253)

Problem

  • After booking yourself onto an event, the booking confirmation pop-up does not show the event reference number.

 

Solution

  • Updated the booking confirmation pop-up to show the event name and its reference number.

 

Changing button font colour (#146255)

Problem

  • The system displays the Booking confirmation modal with the "Modify Booking" button not being easily readable due to the Font Color.

 

Solution

  • Update font colour to white to make the "Modify Booking" button easily readable.

 

Added logic to save when whoCanBook is changed with a confirmation Modal (#145624)

Problem

  • When you change Who Can Book from Everyone to one of the other options, you can’t add people groups until you save first.

 

Solution

  • Switching between Who Can Book options now saves automatically.
  • A confirmation pop-up appears when switching to Everyone to prevent accidental changes.
  • This helps avoid losing any people groups that were already added.

 

When marking attendance, and there is only one session, default the drop-down to that session (#146256)

Problem

  • The default does not show the session if there are no multiples

 

Solution

  • When marking attendance, and there is only one session, default the drop-down to that session

 

No master data for Motivation for booking default values (#146251)
Problem
  • No master data for Motivation for booking default values.
 
Solution
  • Ensure master data for learning management is copied over.

 

Event Scheduling: Selecting an event/day on the calendar view opens a modal instead of the side view (#145136)

Problem

  • Selecting an event/day on the calendar view opens a modal instead of the side view
     

Solution

  • When clicking on an event on the calendar, do not open a modal; open the side menu.

 


People Management

Updated styling on the data tables (#146324)

Problem

  • Paging controls are displayed even when there are not enough items to require paging.
  • They should only appear when the number of items exceeds the paging limit.
  • The delete icon is also not aligned correctly
  • It should appear against the right edge of the table, but there is currently extra spacing.

 

Solution

  • Updated the layout and styling so that paging controls only appear when needed.
  • Adjusted the spacing to correctly align the delete icon with the right edge of the table.

 


Performance Management

Changed DateTime Picker to Date picker (#146543)

Problem

  • The new date picker that has been added to the due date field when adding action plans now has a button to select the time as well.

 

Solution

  • Removed the time picker.

 

Updating Score Label Mapping cards to white background (#146352)

Problem

  • On the Score Label Mapping page (under Performance Years → Review Setups), the mapping header and options are not displayed within the card with the scoring criteria, making the section harder to read.

 

Solution

  • Updated the styling so that the mapping header and options are displayed within the card, improving clarity and layout.

 

No date picker on Action plans (#146349)

Problem

  • Date time picker not rendering on action plans when using dayjs

 

Solution

  • Changed to make use of Syncfusion's picker

 

Add change to calculate running score when copying manager score to final rating score (#146110)

Problem

 

Solution

  • Added a new change to calculate the running score when copying the manager rating to the final rating

 


Master Data

Fix ListMasterData filter by properly parsing values (#146258)

Problem

  • Filtering for ListMasterData in JobProfiler/ExportDataService did not work due to the value being improperly parsed as a string.

 

Solution

  • Handle different GRPC value types to properly convert the value to the primitive type before calling.ToString() 

 


General

Replace broken popover component with new custom SyncFusion Popover component (#144966)

Problem

  • Popover on React pages is misaligned and does not behave correctly anymore due to the recent package upgrades. Previous attempts to fix it were unsuccessful, so we decided to replace it with a new popover component. 

 

Solution

  • Replaced usages of Popover with the new SyncFusionPopover component, a custom component built on the SyncFusion library that works correctly and provides more options for interactability.

 


Data Warehouse

Adjusted StudentSubjects to include records with ModeratedMark (#144417)

Problem

  • The DWH currently removes the subjects if all the marks are -1, regardless of whether it has a moderated mark within StudentSubjects

 

Solution

  • Added step within StudentSubjects to keep records for scenarios where either all the marks are -1 or where all the marks are -1, but it also has a Moderated Mark

 

Updated Delete steps for LearningManagement_ETL SSIS Package (#142737)

Problem

  • The package can fail if LearningManagement is set to false within PackageSettings, which is caused by the delete step for each Data Source within LearningManagement_ETL SSIS Package

 

Solution

  • Added IF EXISTS check to prevent deletes when LearningManagement is set to false in PackageSettings for SSIS Package LearningManagement_ETL

 

Added updates for Data Dictionary (#146242)

Problem

  • By default, the People Data Source is named as Users - ID Number, which is set by default not to be selectable 

 

Solution

  • Added Step to rename Data Source Users to People - Added Step to set field ID Number as selectable and searchable

 

Corrected step for cmFileTypeContents (#143697)

Problem

  • The package failed on step "Delete cmFileTypeContents" due to an incorrect field name. 

 

Solution

  • Updated script to use the correct date name field within step "Delete cmFileTypeContents"

 

Created new Folders for DWH Code Review Process (#145986)

Problem

  • It is currently difficult to review the DWH scripts due to how SSIS packages work

 

Solution

  • Created folders and aligned the container steps that will assist in making code reviews easier using GitHub

 

Adjusted step within pdmContracts for OverallFinalScore calculations (#146110)

Problem

  • Currently, the OverallFinalScore are not being updated correctly due to the reference data that is being used 

 

Solution

  • Updated step by removing @ReferenceDate and added a check if Script is being executed between 12 and 2 am within IF EXISTS to ensure that the OverallFinalScore are being updated correctly within pdmContracts

 


Tenant Management

Resolve select2 positioning issue (#146533)

Problem

  • The search box was working, but was not rendering relative to its position after scrolling.

 

Solution

  • Ensure the search box appears relative to the clicked spot after scrolling, and clear out any previously opened search boxes

 


Imports

Add JobProfiler pre-import procedure to remove overlapping appointments (#144266)

Problem

  • When importing data, all overlapping appointments that may cause a rejection should be removed to prevent rejection. 

 

Solution

  • Add a custom pre-import script to remove overlapping breaking positions for the user and position.

 


Learning Management

Resolve the success message not showing on the marksheet and allow the moderated mark to be removed (#146077)

Problem

  • Success snackbar not showing when saving, also not able to remove the moderated mark.

 

Solution

  • Resolve the success message not showing on the marksheet and allow the moderated mark to be removed.
  • Snackbar is not properly loaded in the SPA minimal page.
  • Created a helper snack to re-use in spa-mimimal pages.