Skip to main content

Version 9.1.208 (9 February 2026)

Performance Management

Error when adding a review setup without a name (#143965)

Problem

  • The user gets an error when they add a review setup without a name. 

 

Solution

  • Make the name field a required property and give the custom sanitised input elements a required tag, which renders the required appearance

 

Fix event handlers being removed globally after page help is selected (#143965)

Problem

  • After selecting the page help icon within the modal, it removes all click event handlers on buttons, etc. 

 

Solution

  • Corrected to make specific before removing click events

 

Resolved order of impersonating user route value (#143573)

Problem

  • The route path expects the primary contract, then the impersonated user, whereas it is being supplied in reverse
  • When the allow upload is checked, GRPC throws a valid exception that needs to be caught 

 

Solution

  • Corrected the order of path variables provided. 
  • Catch error and return a valid response

 


Competency Analysis

Fix popover, where the text is displayed in bold (#121394)

Problem

  • The competency description popover displays in bold

 

Solution

  • Ensure the popover text does not display in bold

 


Ruleset Setup

Created a script to dynamically delete data from Ruleset (#143128)

Problem

  • Cannot dynamically delete data from Ruleset

 

Solution

  • Implemented a new script to Archive and then delete data of a ruleset by id 

 

Resolve URL sanitisation on multiple tabs (#143741)

Problem

  • Cannot save on the system access, widgets and integration tabs 

 

Solution

  • Corrected the URL sanitisation on the system access, widgets and integration tabs
  • Moved allowed domains configuration to ruleset 1 

 


Data Warehouse

Updated Script for DWH Weekly Integrity Report (#142737)

Problem

  • Script monGenerateDWHDataIntegrityReport needs to be updated for data source accDisciplinaryActions 

 

Solution

  • Updated Script monGenerateDWHDataIntegrityReport to update accDisciplinaryActions missing section to align with DWH Source Script

 

Created new Datasource cmNextCloudContents (#143697)

Problem

  • New dataSource cmNextCloudContents is required within the DWH 

 

Solution

  • Created new Datasource cmNextCloudContents
  • Created new SSIS Package ContentManagement_ETL

 

Adjusted SQL Query C_03712_99999_monitorDWHPackageResultsReport.sql (#143261)

Problem

  • Adjustments need to be made to C_03712_99999_monitorDWHPackageResultsReport.sql 

 

Solution

  • Adjusted script to exclude PackageLog.dtsx and select from WINDSORHYBRID

 

Updated accChats due to Refactor for Communication Portal (#143780)

Problem

  • The package for accChats failed due to a refactor being done for the Communication Portal 

 

Solution

  • Adjusted source script with accChats to use new tables from the Communication Portal

 

Removed ReportCard fields within lmStudentSubjects and lmTermResults (#112511)

Problem

  • The ReportCard fields are not required anymore within lmStudentSubjects and lmTermResults, as this is available within lmReportCards 

 

Solution

  • Removed ReportCard fields within lmStudentSubjects and lmTermResults

 

Updated Container for jpHRProcessRequestData (#143579)

Problem

  • The jpHRProcessRequestData Update process did not work correctly

 

Solution

  • Changed the update back to Truncate and Insert to ensure the data is being inserted correctly for jpHRProcessRequestData

 

Adjustments made within V9FullRefresh updates (#143176)

Problem

  • When the V9 DWH are deployed to Production, the full refresh should not be updated for the afternoon run

 

Solution

  • Updated Full Refresh steps to only update after 12 pm if the DWH package is deployed on Production during the morning

 

Updated Source Query for PackageLog.dtsx (#143261)

Problem

  • PackageLog.dtsx needs to be excluded from PackageLogs

 

Solution

  • Updated Source Query to exclude package_name 'PackageLog.dtsx'

 


Report Builder

Added extra filter cases for datetime2 and adjusted filter for "Choose a specific date" (#142737)

Problem

  • The filters, when using datetime, did not filter correctly
  • "Choose a specific date" required conversion for certain scenarios 

 

Solution

  • Added extra filter cases for datetime2
  • Adjusted filter for "Choose a specific date"
  • Removed smalldatetime as we do not use this currently

 


Notifications

Resolved Properties not being replaced correctly (#143598)

Problem

  • With the new masked property development done, once a property exists both for mask and non-mask, it will always just replace masked property values, keeping the placeholder for the property name 

 

Solution

  • Add a change that should we identify it is masked, do an extra check if there is any placeholder without the masked property to also update and replace

 


People Management

Remove previous validation messages and classes when selecting values for position and org. Resolve timeout on org node treeview  (#143806)

Problem

  • Validation messages are not removed immediately after selecting values, only after the form is posted.
  • A timeout occurs when opening the org tree structure in the position transfer page. 

 

Solution

  • Remove previous validation messages and classes when selecting values for position and org.
  • Also noticed while testing the bug, the org tree times out. 
  • Added a recompile option on the query, as the query runs fast in SSMS

 

Improve error messages for overlapping appointments (#143328)

Problem

  • When adding a new appointment, editing an existing appointment or transferring the use,r the error message provides unspecific information to the user when it overlaps with a current appointment for the user themselves or on another position for another user 

 

Solution

  • Add new error messages for the overlap with more details of the user and the appointment that is overlapping. 
  • Remove duplicate code and improve error message handling. 
  • New error messages:
    • Appointment overlaps with the user's own current appointment on position {{PositionTitle}} from {{AppointedFromDate}} to {{AppointedToDate}}. An appointment already exists for position({{PositionTitle}}) from {{StartDate}} to {{EndDate}} for user {{Username}}.

Always include default avatar images on the list of available avatar options (#135931)

Problem

  • The default list of avatar images is not shown. 

 

Solution

  • The previous fix was reverted with the merge
  • Restored solution to always fetch default avatar images 

 


Imports

Add API call to v8 to delete appointment history (#143323)

Problem

  • When an appointment is deleted in V9, the Appointment history is not deleted in V8.
  • There was a request to add an API endpoint in V8 (Already merged) and an API call in V9 to ensure the Appointment History is deleted. 

 

Solution

  • Add new functionality in the import service to delete Appointments based on a List of IDs.
  • This endpoint is generic and can also be adjusted to work for various other types of items, for example, job profiles.

 


Communication Portal

Resolved member count error (#143761)

Problem

  • When selecting room members, this will return a view of users within the group, but still used old table for members 

 

Solution

  • Corrected query to select the room members

"Create New" button scrolls with the chat list (#143763)

Problem

  • The new button is positioned absolutely within a relative container, causing the render to work, but as content gets shown from the accordion button is scrolled alongside container 

 

Solution

  • Adjust to render outside the modal body, which is not within the relative container that makes it to the modal position itself

 

[PM] Cannot return to the list of chats if you've sent a message from within a person's agreement (#143858)

Problem

  • When inside a PM contract, discussion is open, which calculates to create a new discussion and not open discussion list, but once navigated back to the dashboard, a REACT change occurred, and no page redirect in MVC, which does not reset the content for the modal and the bool value is allowed to just reopen the modal as no 'context' has changed 

 

Solution

  • Add route value to be saved alongside the opening of the modal, so that should the route change, navigate inside REACT the portal will force reload if it is different from when opened in another context

 


People Groups

Add 'LastRefreshed' to list ruleset people groups (#143598)

Problem

  • When a V8 menu is clicked, and the user's data is imported, then the peoplegroups linked to a user are also imported as subgroups, and their users are linked
  • When more than one user is imported that has the same PGs linked to them, the PG data is unnecessarily fetched from V9, causing the PG calculation to use unnecessary resources
     

Solution

  • When the PGs linked to a user are fetched, return the last refreshed date for the PG also
  • Only fetch PG users then for the linked PGs where the last refreshed date is after the last edit of the people group users on V8
  • This will limit unnecessary calls to the Peoplegroup users

 


Learning Management

Filter MaterialisedPeopleGroupUsers to only show active people on the PG on the attendance and marksheet page. When inheriting, marks only inherit from people who are an active part of the PG (#143629)

Problem

  • On the attendance and mark sheets, inactive users are also included who are part of the PG

 

Solution

  • Change to not take People condition for a user into account when the person is terminated
  • The person will not be part of the people group users, and the count on the list of people items will not count this item
  • Do not show terminated people on the attendance or attendance detail pages
  • When marks are inherited, do not inherit marks from previous for terminated users in the subject's people group

 


Content Management

[Image Resources] [Translation] Translation for "Image Type" is missing (#143740) 

Problem

  • Missing translations in the file type 

 

Solution

  • Added translation for field 

 

[Image Resources] Preview not available when uploading a GIF file (#143783) 

Problem

  • Restriction has been implemented to only compress image types, which excludes SVG and GIF files. Because of this, it does not render a compressed image and shows no preview available, which can cause confusion and seem like an error 

 

Solution

  • Adjust the flow to handle the null value of compressed to then not show the selection of image type, which results in the original image being selected 

 

[Image Resources] [Suggestion] Streamline upload modal (#143736) 

Problem

  • No clear indication as to why there is a choice or reason 

 

Solution

  • Add a label to indicate to select an image, move the compressed to the first selection and add a subtext to indicate the reason for the selection 

 

[Image Resources] Display loading indicator after selecting an image (#143734) 

Problem

  • When a file is selected, a new fetch call is made to retrieve the image and the compressed file; this does not trigger the ajax load to trigger a loader 

 

Solution

  • Add a new implementation to trigger a global event so that a loader is shown and then removed when the result is received