Improvements
The issues mentioned under the section improvements are considered as new functionality, user experience improvements and bug fixes.
Issues marked as Hotfix have been developed during this Sprint release, but are hotfixed and technically added to the previous release or direct to production based on the impact of the issue.
The personal allocation should provide more granular insight - CUR-1749
The issue title doesn't fully cover the changes applied. A complete overhaul is done of the personal task list, but also the reporting on task assigned and spread of hours allocated has been extended with support to display on year, period and month basis. Next to that additional visualisation options are added to provide clear insight in over and under allocation, grouping of allocation per category, drill down per category to get insight in the underlying assigned tasks (both educational and non-educational).
The best way is to throw in some screen shots to visualise the changes, but first the overall list of changes applied is provided:
- Support for two display modes
- Separated:
- One table per task category, as before.
- Nested (new default if not configured):
- All categories collapsed by default.
- Shows:
- Allocation percentage (relative to total hours across all categories)
- Total hours per category
- Clicking a group expands the corresponding task table.
- Configuration: Set the view-mode of the task list to nested or separated§§
- Separated:
- Added a general summary
- Now shows available hours, allocated hours and remaining hours
- And a progress circle, showing the utilisation percentage
- Blue when <100%, outside year margin
- Green when within year margin
- Red when exceeding year margin
- Added extended period and month filter:
- Dynamically generated based on the year config.
- Uses the active browser language for month translations (so month labels are fixed).
- When a period is selected, only months within that period are shown. Note that a month can appear in multiple periods, or the other way around.
- Changing the period resets the month filter.
- Introduced a monthly detail overview
- Respects period, month, period factor, and year-based task logic.
- Only shows months overlapping with the selected period.
- Month column header shows tooltip on hover:
- Full month name and year
- Total days in month
- Days in this period
- The following rows are shown:
- Available hours:
(correctedHoursOfTasks * period factor) * (daysInMonthOverlap / totalPeriodDays)
- Allocated hours: Sum of corrected task hours in this month (based on overlap)
- Remaining hours:
available - allocated
→ Red cell if negative - Utilisation %:
(allocated / available) × 100
→ Cell background is green linear gradient from 0% (bottom) to 100% (top) - Task count: Total tasks in the month, note: includes non-period-based (year-based) tasks
- Not yet implemented: unavailability tasks are not yet added, will be in the next release
- Available hours:
The personal taks overview structure
The personal task overview provides a number of panels showing relevant information on a specific area to the resource manager
Information panel
The top panel is the information panel that supports definition / showing of notes that are applicable for the staff member.

Utilisation panel
The utilisation panel is split in two different sub-parts:
- the first part provides the high level allocation information for the selected period
- the second part will provide the detailed information on a monthly base
The period selector and the Month selector can be used to limit the display.
Colouring highlighting is used to visualise the under / over allocation of the user.

Selecting a period or a specific month will filter the information.

Task overview panel
The task overview panel provides the grouped allocation for the defined task groups. The groups (tag) are configurable and depending on the installation more or less task grouping will be shown.

The 'grouped task' can be expanded to enable change and visualisation of the underlying details (non-)educational tasks.

The readability of the workflow information message should be better - CUR-1828
The workflow configuration provides the option to show an informative message to the users to inform what the workflow is for (introduction page) or what is expected from the user on the consecutive pages manipulating or validating data. The message display was pre-styled, having limited benefit from the offered HTML visualisation options to highlight specific points of interest to the user.
An improvement is applied to the display of the message. The message display is standardised and will appear in the same format on all pages. Furthermore the 'preset' styling is reduced to enable the benefits of the HTML styling options and highlight the relevant sections. The readability is improved by adjusting the alignment.
The readability of the dashboard task overview should be improved - CUR-1722
Due to some recent adjustments to the dashboard taks overview, it was noted the readability was reduced. An improvement has been applied to get the readability up to the expected standards by grouping information, improving the visibility between the distinct tasks and other usability and readability improvements.
The availability report should support export of a full year - CUR-2041
In case the person weekly availability pattern was captured based on years, it was not possible to report and export on the full year. This has been fixed, so in all cases (period and/or year based) the report can be generated and exported.
Curriculum is considered much slower - CUR-2029 (Hotfix)
In the last release a UI-component was introduced that affected the users' performance. In fact the overall response time when requesting a page or report from Curriculum was significant slower. The cause was identified and a hotfix is applied to get back to the expected performance level.
If the export type is set to ignore, the change should not be marked open - CUR-2014
The export type can be set based on change type. The export type will define if the change should be open and approved by a stakeholder in the process (manual), if it's automatically approved or if it's just ignored (and thus considered approved). The issue noted was that if the export type was set to ignore, the behaviour was that it was handled as a change to be approved manually. This has been fixed, so an export type set to ignore will be ignored and not require manual approval.
Terminated modules should not be copied as part of the year roll-over - CUR-2038
The year rollover is used to create a new version of the Curriculum for the upcoming year. This will be the 'start version' for all change requests and approvals. In case modules are terminated, they should not be copied over to the new year, since they just ended in the last year. The year roll-over however didn't correctly process the terminated modules and copied them over to the new year. A fix is applied to guarantee terminated modules are not copied over during the year rollover.
Offering values should not be duplicated as part of the year roll-over - CUR-1984
Another issue found in the year rollover was that offering values were duplicated. This was introduced by extending the option to offer the same offering period multiple times. The year rollover has been adjusted to cope with this change and only copy the values over to the relevant period, instead of duplicating the data to the different periods.
Custom objects (item) defined on specification should be year-bound - CUR-1879
Most of the objects in Curriculum are fully year bound, and all changes and information resides within the context of the year. There are a few exceptions, like faculty, organisation and specification. These objects are not fully year bound, since they are not changed yearly and are considered more 'global stable' objects.
These 'less year bound' objects still have specific sub-objects that are year bound. For instance the descriptions of a specification are year bound, since this might change from year to year. In case a custom sub-object (item) is added to the specification it is considered as a 'global stable' object. This behaviour for custom sub-objects has been changed to a year-bound behaviour. This will allow to make and approve changes to the custom-objects that are year bound including the historic audit trail and historic view in the previous years.
The activity-grid should not exceed the screen width - CUR-1885
In case a week had over 7 activities planned, the activities above seven were pushed outside the screen to the right. This has been fixed and in case the number of activities exceed the screen (browser) width, they will wrap-around and create second row.
Activities disappear and appear when opening / closing a different period - CUR-2055
In case in the activity grid multiple offerings were defined for the same period the behaviour was incorrect. Depending on the sequence of actions the opening of a period could show the activities from the other (same) period, or just show nothing. Refreshing the page caused showing the correct data, which meant that it was a user interface issue and not a data issue. The cause has been found and fixed, so the correct activities will be shown for the selected period.
The activity-serie-edit custom page template should support activity-series based workflows - CUR-1965
The activity-serie-edit custom page template is extended with support for edit based on a workflow configuration.
Activity-planning custom page template should respect the field configuration - CUR-2020
The activity-planning custom page didn't respect the field configuration, and just showed all fields. This has been fixed, so the activity-planning page will use the configuration.
The offering pattern (period + location) should be applied to all pages displaying period info - CUR-1999
In the previous release the option was introduced to define a display pattern for offerings. Allowing to define a pattern that would show the offering and its location, e.g. S1 (Rotterdam). The pattern was not yet implemented in all page templates. In this sprint the pattern has been extended to the following page templates:
- activity-grid
- activity-card
- activity-list
- teacher
- teacher-assign
- appraisal-scheme
- method-scheme
Bullet points in HTML text shouldn't add extra bullets and/or empty lines - CUR-1950
When using bullet points in the HTML text editor during save 'new lines' where added and these new lines would changed to bullets. Causing a bullet list with a bullet that was defined by the user and an empty bullet underneath, effectively doubling the number of bullets. This has been fixed, so no 'empty bullets' will be introduced anymore.
Time related information should be shown in hh:mm in the activities-series-report - CUR-1743
The display of time information has been standardised in the previous release. It was noted we missed to set the the displays to hh:mm for the activity-series-report template, which has been fixed in this sprint.
The sum of columns in reports should show a maximum of 2 decimal digits - CUR-1944
In some report pages numeric fields are automatically added up and shown as an additional row underneath the last item. The display of the summed value was not consistent and in some cases the value was shown as a 'BigDecimal' that could lead to 12 decimals. This has been fixed, so any sum up number will either be shown as a whole number (all values are integer) or as a two-decimal value (any of the values is a decimal).
Subject matrix header match shouldn't show the match counter upside down - CUR-2019
The subject matrix header provides information on the learning goals and the number of 'matching modules' that contribute to the learning goal. The matching modules number was shown upside down. This has been fixed, so the users don't have to put their laptop upside-down in order to read the number.
Subject should support expand of groups with owner and without owner - CUR-1763
The management of learning outcomes is in previous versions extended to support assigning a learning outcome to a module in context of a specific study program. E.g. learning outcome A contributes to program A and not to program B, even though the module is in both programs.
This configuration supports the configuration and visualisation of pathways based on learning outcomes. Two filters should have been made available, one that filters either all matching modules from study level (default behaviour) and one that filters all 'directly study related' modules. We succeeded in mixing the filters up in the previous release, but has fixed it in this version.
The scale shouldn't need a color - CUR-2017
In case a scale (level) was defined that has no assigned colour, an error was thrown when using that scale. This has been fixed, so scales can be used without error with and without colour assigned.
The assessment matrix should behave like a matrix report - CUR-1902, CUR-1924
In a previous release the assessment matrix was introduced. This matrix report will provide an overview of all used assessment types in a program, and allow validating the spread of different assessment types, the usage of the correct type and other quality related validations. The implementation was technically finished, showing the data, but needed the proper functional reporting support that is available for all other matrix-based reports.
In this version the to be expected functional enrichment of the 'technical implementation' has been done with the following improvements:
- Sum of the number of assessments in the header (total), similar to subjects
- Filter on the assessment type, just like subjects. E.g., show all modules that offer a Digital
- Ability to add two columns, similar to subjects (e.g. period, phase)

Cost information shown at module, group and study level should be consistent - CUR-1930
The cost information defined using the 'cost lines' on activity-serie and module is reported in the structure by grouping and summing all data up to the parent level. The module-group will show the summed cost information from all underlying modules (and groups) and the study will show the sum of all underlying groups. An error was found in the 'summing' and the total shown at study and/or module-group could differ from the actual sum of all underlying modules. This has been fixed, so the summing will give the correct value based on the underlying information.
Delete of news items should be supported - CUR-1968
A slightly usability / behaviour issue was found when deleting a new item. The message was shown the new items was deleted, but the news item was still visible in the overview. In fact the news item was deleted, but a manual refresh of the page was required to get it out of the list. This has been fixed, so after deleting a news item the list will be refreshed automaticallly.
A change in custom-field data type from Element to Reference should not give an error - CUR-2027, CUR-2040
A tricky one that will only occur during implementation is the change of the type of a custom-field that is already populated with values from the old type. In this case the field type was changed from an Element to a Reference type. Since the field was already populated, an error was thrown when the user opened an educational object that was pointing to the 'Element value' instead of the 'Reference value'. In a production environment a 'repair' would have been executed on the data to set the correct values.
Since this situation might happen more often in test / acceptance / implementation settings a change has been made that will allow change of type and will 'ignore' the error in case data has been populated base on the previous type.
A field updated on a form page should also be updated in the Admin tab -CUR-2023 (Hotfix), CUR-2047
Sometimes an issue pops up that everyone is puzzled. And this is considered a highlight in this area.
The basic setup it started with was a custom-page of type form with an editable date field and the same field was also available on the default administration page. In case the date field was changed on the form page it was saved. When opening the administration page, the 'old date' was shown. And when the administration page was saved the 'old date' was saved. The cause has been identified and fixed, so the administration page will show the correct data and will not save any 'old' data anymore.
The access control for nested module-groups should be respected- CUR-1074
It was noted that the access control that is used to define the allowed rights on module-groups was only applied for the top-level module-group (the module-group(s) directly bound to the study program). This has been fixed, so the access control to module-group is applied to all module-groups in the structure.
As an administrator I should be able to change the default login URL - CUR-2036 (Hotfix)
The default login URL is used to specify the handling of the standard login. It will allow redirecting users to the SSO login, but also to the 'support' login.
Based on system (test, acceptance, production) the login might vary. In some cases on test there is no SSO, or it might be implemented later, so the login may vary over time or system. The configuration was a technical configuration on the server to be done by an engineer, requiring restart. This has been changed and the default login is moved to the Administrator -> Config menu to support change of the URL without engineer or restart requirement.
Integration
The issues mentioned under the section integration are considered as extension, improvements or bug fixes related to the Curriculum API, OOAPI and/or CSV import functionality.
Extend the appraisal CSV to support external ID - CUR-1870
The appraisal CSV is extended with support for the external ID. This allows updating an existing appraisal by using the same external ID.
Security
An integral part of our develop and build processes is automatic scanning for known security vulnerabilities. The vulnerabilities will be fixed based on their impact, which means that in some cases an immediate hot-fix will be applied, and in other cases the vulnerability will be fixed in the current or next Sprint (release). The security section provides an overview of the vulnerabilities mitigated.
This release mitigates the following vulnerabilities:
- CVE-2024-43788 (6.1)
CCVE-2025-30359 (5.3)
- CVE-2025-30360
For more information on reported vulnerabilities, see the central database of vulnerabilities.
For more guidance on configuration and setup of Curriculum, use the relevant Curriculum manual.