Version 9.1.196 (24 November 2025)
Event Scheduling
Notifications Not Being Received (#140104)
Problem
- Reminder events were requesting an event schedule ID to calculate, but as this is a schedule, it needs to take all events into consideration
Solution
- Add new queries to retrieve the users for reminders, as well as an addition to event cancellations that should be sent to all people for that event once cancelled
The double scroll bar makes it difficult for the user to see the "Book For Myself" button (#140271)
Problem
- The double scroll bar makes it difficult for the user to see the "Book For Myself" button
Solution
- Add a margin to the button at the bottom and make the button sticky
The Search/Filter criteria takes almost half of the screen (#140251)
Problem
- The Search/Filter criteria takes almost half of the screen
Solution
- Place the filter area within an accordion, which can be opened and closed
Pin the top Header Menu on the main landing page (#140227)
Problem
- Pin the top Header Menu on the main landing page to avoid a long scroll back to the top to switch between views.
Solution
- Pin the top Header Menu on the main landing page
Document gets cached on the modal when upload is cancelled (#140224)
Problem
- The document gets cached on the modal when the upload is cancelled
Solution
- Make sure the document is cleared when the modal is closed
Ellipse Document name after (#140223)
Problem
- The system displays the entire document name wrapped, and it shifts the other Columns (Loaded by and Date Uploaded)
Solution
- Give the table columns fixed widths and add ellipses with a popover for the document title and name.
Training Provider Import not Importing V8 Options into V9 (#139302)
Problem
- The order of items is done by ID, so every new item will always be displayed last
Solution
- Add a change to the order by name
Notifications Not Being Received (#140104)
Problem
- Notification email data is being retrieved from attendees, hence why no emails are sent out for people group users
Solution
- Change to select into the cte table users to be used from
Preview Icon Invisible unless approaching from the Right (#140099)
Problem
- The icon row hover class was placed on a column, hence why it was only triggered when on another column
Solution
- Change the class to the icon for row hover
Calendar View issues for investigation (#139616)
Problem
- Calendar View issues for investigation
Solution
- Show the events in the range that expands. Add the dates as well
Job Profiler
+Position button missing (#140445)
Problem
Solution
The add modal caches data in all fields after saving (#140351)
Problem
- When a row is clicked to be updated, and afterwards clicked new, the previous data is still shown. Script missing from the Employee dashboard
Solution
- Clean the data once the new inherent requirement is selected. Include the script on the employee dashboard
Resolved the racing condition on the Job Inherent script
Problem
- JavaScript fails on a script call to invoke the inherent requirements due to a race condition, where the other script may not be available yet
Solution
- Change to render script first, before, and add a safety fallback call to retry
HR Processes
Add the ability to approve on behalf of in HR processes workflow steps (#140244)
Problem
- When the Fallback approver views requests, they cannot see requests where they are also the approver
Solution
- Also show requests to the Fallback approver, where they are also the approver
System Access
Implement link to Signfy Learning App (#138249)
Problem
- Add a "download" app modal to the frontend, which contains a new setting called "Mobile App Company Key"
- Add the new setting under ruleset/management/general
- Add translations to the modal.
- Only show the "download app" button if the subscription to the mobile app is active, and also the setting Mobile App Company Key has a value.
Solution
- Added a new modal which contains 2 buttons, these 2 buttons navigate the user to either the App Store for IOS or the Play Store for Android.
- Added translations to ensure users of other languages can read the modal content.
- Created a new input element for ruleset management and added it to the microservice infrastructure to be transported to other client services.
- Added a new setting, Mobile App Company Key, which is conditionally displayed if the mobile app subscription is active.
People Management
Display option radio button setting does not persist on RS1 (#139699)
Problem
- A change was made to allow saving virtual tours without slides, but when opening the virtual tour again, no tour is identified, as the query still expects a slide
Solution
- Add a change to the left join to slides
User sync script failing issues (#139630)
Problem
- Custom Fields and Marital Dates were not included in the data pull. The pull retrieved data for all user types.
Solution
- Added Custom Fields and Marital Dates. Include only system users.
Organisational Unit and Position drop-downs are transparent and therefore overlap the other items in the filter box (#139877)
Problem
- When a select and a date picker are beneath each other date picker text is displayed above the select
Solution
- Add a change so that the date picker z-index = 0
People group refresh triggers (#136729)
Problem
- Users are not always refreshed correctly on the People Group materialised tables. Reviewed locations of user/org/job changes to ensure cache busting & materialisation takes place.
Solution
- Changed cache implementation to not do a potential double Refresh PG request. On _BustRulesetCacheAsync_ found that if it is the people group pattern, it also requests the DB cache bust _BustDatabasePeopleGroupCacheAsync_ (refresh materialised tables). However, in some instances, it does this twice. Streamlined the implementation so it only requests the refresh once per bust request. Added cache busting on Job Grade change
Performance Management
Cannot edit a document after uploading it (#139615)
Problem
- When a file is edited/changed, then saved, it gives an error: the review file could not be found, as the incorrect ID is being passed down
Solution
- Correct the ID value being sent through for update, as the content ID is being used instead of the review file ID
Time out while doing performance reviews (#140297)
Problem
- The lock backdrop stays on the page after clicking the Continue button
Solution
- Extend the timeout period if the button is clicked, and handle the backdrop accordingly
Removal of 360 participant (#140071)
Problem
- The `Allow Revised Score` option in the Review Survey Edit is not updating when saved.
- `Include Rating` check box can still be edited when `Allow Revised Score` is off
Solution
- Adjusted backend to align with the JSON data sent in the request.
- Updated the backend to disable `Include Rating` when `Allow Revised Score` was turned off
Learning Management
Select a Comment in the Primary Language column and have the Secondary Language Comment automatically populated (#138994)
Problem
- Need to select a Comment in the Primary Language column and have the Secondary Language Comment automatically populated.
Solution
- Added the ability to select a Comment in the Primary Language column and have the Secondary Language Comment automatically populated.
Wrong date stated on Start and End Date After Subject Created (#140239)
Problem
- The class subject details aren't being correctly retrieved after a new class subject has been added. Cycle dropdown is small, causing a horizontal scrollbar.
Solution
- Retrieve the class subject details after a new class subject has been created. Increase cycle dropdown width.
Remove Red Cell Border and Description from Legend (#140245)
Problem
- Need to remove the selected cell from the legend table on the marksheets
Solution
- Removed the selected cell from the legend table on the marksheets
Unable to save Marks (#140352)
Problem
- Unable to save marks
Solution
- Updated backend indexing problem
Dropdown on Create Subject differs from Edit Subject Dropdown (#139218)
Problem
- The dropdown list for group classes on the "Edit Subject" and "Add Subject" pages is inconsistent.
Solution
- The backend has been updated to ensure the dropdown on the "Add Subject" page matches that of the "Edit Subject" page.
Inherit a Training Intervention’s Score captured on a Previous Cycle to the Active Cycle (#138992)
- Introduced the `InheritMarks` functionality to enable inheriting marks from previous cycles to the current cycle.
- Key changes include:
- Added `InheritMarks` gRPC method in `learning_management.v1.proto`.
- Defined Protobuf messages: `InheritMarksRequest`, `InheritMarksResponse`, and `InheritedMark`.
- Implemented `GetInheritableMarksAsync` in `LearningManagementQueries` with SQL logic for mark retrieval.
- Created `InheritMarksCommand` and `InheritMarksCommandHandler` for business logic.
- Exposed `InheritMarks` via HTTP API in `MarkController`.
- Enhanced `Marksheet` UI with a button to trigger mark inheritance.
- Added DTOs for HTTP request/response handling.
- Updated localisation files with translations for `InheritMarks`.
- Refactored `serverUrls.ts` to include `inheritMarksUrl`
Capture primary and secondary language comments on my marksheet (#138989)
Problem
- Need to add secondary language comments on the marksheet.
Solution
- Added secondary language comments on my marksheet.
Advanced Filter Removed from Subject Page if Navigated to Report Card Tab and then Back to Subject (#139867)
Problem
- When you first load Product Setup for Learning Management and land on the Subject Setup page, the advanced filter is present. Then, if you navigate to the Report Card Tab, the advanced filter is removed as intended, but if you navigate back to the Subject Tab, then the Advanced Filter remains removed.
Solution
- Ensure the advanced filter only shows on the subjects tab.
Data Warehouse
Performance Agreement Status Report - Template Names (#140246)
Problem
- The TemplateName field was not populated within ContractPeriods if it was copied by using a previous or another template
Solution
- Added a step within ContractPeriods to update the TemplateName field
Add the additional Subject fields that need to be available in the Data Warehouse (#135725 & #139040)
Problem
- The package failed due to Comments not existing anymore within UserClassSubjectComments
- New field MarkType needs to be added within lmStudentSubjects
Solution
- Removed the Comments field and replaced it with newly added fields ClassSubjectPrimaryComment and ClassSubjectSecondaryComment within lmStudentSubjects
- Added new field MarkType within lmStudentSubjects
Notifications
Search is executed before I have finished typing the search text in the box (#140034)
Problem
- When searching in the global search, it triggers a page refresh
Solution
- Remove JavaScript that triggers reload. Bind table to global search, confirmed all notification tab data gets reloaded correctly without page postback
Master Data
Enums displayed instead of proper names (#140241)
Problem
- The Type is returned as NULL on enum values even if using the type full name, as the enum type can be from a different assembly, no translations are being shown on enum type fields within master data
Solution
- Add a new change to determine the Enum Type over the assemblies of the application, to retrieve the Type and cast to get an enum value to retrieve the display name for translation display
Add a field to the Comments Master Data (#138993)
Problem
- Need to add a secondary comment field to the Comments master data
Solution
- Added secondary comment field to Comments master data
Data Warehouse
Daily Server Monitoring Checks (#125159)
Problem
- The DWH Package failed with Full Refresh due to the Log File size
Solution
- Added step to Shrink Log file size for V9_Datawarehouse with Full Refresh within ExecuteSequence SSIS Package