The release notes provide information on the features and improvements in the specified version. The release dates that are related to the version of the release are published in the Curriculum release schedule.
Improvements
The issues in release mentioned under the section improvements are considered as new functionality, user experience improvements or 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.
As an administrator I should have better insight in the custom-fields - CUR-2126
A request heard multiple times it an option to get easier / better insight in the defined custom-fields in the system. Especially for systems that have defined a large number of custom-fields on study and module level a more report-like overview showing all information defined will provide more insight. The standard custom-field management provides the support to define, change and detail the custom-fields, but is not designed to provide extended reporting providing detailed insight in the defined custom-fields.
The request is focussed on providing the desired insight with the following extension to the currently provided functionality:
The custom-field definition should track ‘creation’ and ‘modification’ timing informationIn case a custom-fields is defined or updated no timestamp information is stored. To provide better insight in what has been changed timestamp information is added to the custom-field definition. The timestamp information should be available in the report and allow for sorting / filtering of the custom-fields, e.g., show all custom-fields defined or modified since March 16.
A reporting option should be available to report, search and filter on the custom-fields
A report option has been added using the 'standard reporting options' available for users to report on all defined custom-fields. By using the standard options, there is support for search, filter, (de)selecting attributes to be reported, definition of own templates and exporting the result.
A new menu-option is added to the Administrator menu (bottom section) to support reporting on the custom fields, as shown in the image below.
The basic filter of the report has the options:
- Root type: defines what object should be reported, e.g. study, module, faculty, ...
- Entity type: defines the sub-object, e.g. additional, offering, ... If no entity type is defined all fields will be shown.
- Visible: option to leave out (or only report on) custom-fields that are marked as invisible.

The planboard should only show the related study subjects - CUR-2256
Using the planboard to visualize a study with its modules and related subjects showed all subjects defined on the modules. The planboard should show only the subjects that have been defined at study level. This has been fixed, so the planboard will only show the study related subjects.
The appraisal page should only show the relevant buttons - CUR-2242
The appraisal page shows a number of buttons (start, copy, delete) that looks as if they have no use. The start button has been removed and the copy and delete button can be made (in)visible using configuration.
Configuration of the appraisal page-template:
- Hide generation: enable the checkbox to hide the Delete and Copy button.
As a program responsible I want to define module -> study relation information - CUR-2125, CUR-2261
In the previous sprint the functionality to support the definition of attributes on the module -> study relation has been added (CUR-2125). The story focussed on the registration of the information only.
The follow-up story implementing the more 'under the hood' functionality have been added:
- Option to configure module->study fields as fields to be shown in the structure tree
- CSV import support for study-module
- Extend the module endpoint in the API to return the module->study relation information
Auto-generated email address no longer generated / shown in reports - CUR-2185
There was some customer specific logic in the application that automatically generated an email address in case the email address was not provisioned. This logic has been removed.
From an architectural design perspective the custom code should be limited and the source system (in this case the system that provisions users) should provide the email addresses.
Based on standard configuration it is still an option let Curriculum generate the email address, using a standard formula and a hook configuration 'generate value' that will kick-off the formula.
The image below shows the formula that will use the provided email, or else create an email based on the externalId and a @timeedit.com suffix.

Ad-hoc periods should always allow modification - CUR-2162 (Hotfix)
The option to lock offerings for edit added in the previous version was a too strict for ad-hoc offerings and causes them to be locked for edit always. A change is made to 'unlock' the ad-hoc periods and always allow modification.
Report download broken - CUR-2297 (Hotfix)
The report download option didn't create a download anymore. This has been fixed to support downloads again.
As an administrator I want to configure default setting for reports - CUR-2217
A functionality already supported for some other report page-templates is the support to configure a default template to be used and prevent the user from switching the template. In this version this configuration is added to the report templates task-report, availability-report, method-report, effort-report and appraisal-report.

Choice rule should distinct between rule and value - CUR-2217
Always good to have a little anoying bug that feels so insignificant it might be there for a long time but is never reported. This is probably a highlight in this category. In case a rule definition is used on a module-group to express for instance that 4 of the underlying modules need to be select the information shown would be 'Choose exact4'. The rule and the value were concatenated. This has been adjusted to improve readability and will now show 'Choose exact 4'.
Multi-value fields should be shown readable on a read-only page - CUR-2196
In case a form page is defined as read-only that has a multi-value field configured, the multi-value data was shown in an 'unreadable' way. All values were concatenated into one long string.
To improve the usability and readability the display of multi-value fields on read-only pages is changed. The values will be shown as a bullet list with a single bullet for each defined value as shown below.

The expansion status of the curriculum mapping matrix report should be kept - CUR-2105
When using the curriculum mapping matrix reports, the information can be expanded. In case some filter or option is changed that requires refreshing of the data, the current expand status is reset. The matrix will be shown in fully collapsed mode.
A usability improvement is made, where a change in a filter or option will refresh the data, but will also keep the matrix in its current status regarding expanded information.
Faculty report should allow mouse-over on truncated texts - CUR-2254
In case information in the faculty report doesn't fit the column, the text is truncated and extended with 3 dots. This is the standard approach in all reports. Missing was the mouse-over to enable viewing the full text. This has been added to the faculty report.
As an admin I want to cleanup my 'test configuration' - CUR-2127
During configuration of the system a lot of ‘test configuration’ may be added and used to play around with processes and data. This configuration will clutter the system, since it cannot be deleted due to the basic architecture and design of Curriculum. The base is that information can never be deleted, since one of the Curriculum results is a full audit trail to trace all modification proposals till final approval into extensive detail.
This principle is built in and adhered to in all environments (test, acceptance, production), limiting the option to remove (configuration) data that is related to actual educational objects.
A feature request to support a kind of 'force delete' that overrides the basis principle should support the deletion of the following configuration elements:
- Custom-fields
- Pages
- Workflows
- Processes
Functionality to support the force delete is added, adhering to the rules:
As a system I will NEVER support deletion of the above-mentioned configuration objects in production
The option to enable the force delete of configuration option a config-setting can be used. The config setting will NOT word on systems marked as 'production'. This to limit the risk of accidental removal of data related to configuration objects in a production environment that is based on the earlier mentioned architecture and design principle.This implies that support for deletion can only be configured on test and acceptance.
Configuration:
- In the Administrator / Config menu set the environment.allow_force-delete option to true to enable the force delete option,
As an administrator I can delete custom-fields
The delete will be shielded with an ‘are you sure’ and a field to type in the custom-field name to prevent accidental deletion of a custom field.
- In case the custom-field has data attached, the related data will be removed from the system.
- In case the custom-field has data changes attached, the audit trail data will be removed from the system.
- In case the custom-field is shown on a page, the custom-field will be removed from the page.
- The custom-field will be deleted, once all the data / relations are removed
As an administrator I can delete custom-pages
The delete will be shielded with an ‘are you sure’ and a field to type in the custom-page name to prevent accidental deletion of a custom page
- In case the page is used in a workflow, the page will be removed from the workflow.
- The page will be deleted, once the relation to workflows / tabs are removed
As an administrator I can delete workflows
The delete will be shielded with an ‘are you sure’ and a field to type in the workflow name to prevent accidental deletion of a workflow.
- In case the workflow is used in a process, the workflow will be removed from the process.
- In case the workflow has related transition information, this data will be removed from the system
- In case the workflow has related tasks (active / inactive), the task data will be removed from the system
- The workflow will be deleted, once all the data / relations are removed
As an administrator I can delete processes
The delete will be shielded with an ‘are you sure’ and a field to type in the process name to prevent accidental deletion of a process
- In case the process has related transition information, this transition data will be removed from the system
- In case the process has related tasks (active / inactive), the task data will be removed from the system
- The process will be deleted, once all the data / relations are removed
Reports should support search on date fields - CUR-1938
The search option in the standard reporting option didn't support search on full dates. This has been fixed, to add support for searching on dates in the different reports.
Multiple offerings in the same period should be available as alternative offerings - CUR-2024
When defining multiple offerings in the same period, e.g. using different locations, on a module, these cannot be differentiated in the alternative offerings on study structure level. A change is applied to enable distinction of the double offerings and support the differentiation and selection of alternative offerings from the study structure level.
As an administrator I want to configure if custom-fields on objective are required - CUR-2247
This is an issue related to curriculum mapping, where when adding / editing an objective on a module subject and/or an assessment can be added to this objective. The configuration option of the fields support the option to mark the field as required. The change applied in this version is that the 'required' setting will be evaluated and respected.
Order of offerings should be consistent - CUR-2186
The different page-templates showing offering information didn't use the same sorting mechanism. From a usability perspective this is not desired. A change is applied to all page-templates to use one standard sorting mechanism showing offering information.
A condition defined on the method category should be respected - CUR-2263
The method category offers an option to configure a condition, e.g. only show the method category in the context of one faculty. The configuration option was there, but the evaluation of the condition wasn't. This has been fixed, so in case a condition has been defined on the method category it will be respected.
Vacancies should be manageable from the vacancy list - CUR-2295 (Hotfix)
The option to view and/or edit a vacancy from the vacancy list was broken and didn't open the expected form, but showed a technical error. This has been fixed, so management of vacancies from the vacancy report is working again as expected.
As an organisation (department) manager I want to see my contribution to programs - CUR-1937
A new report-template has been added named 'tasks-contribution' that enable reporting from an organisation perspective, displaying all studies and hours per study the organisation contributes to.
The hours per study is the sum of the hours on modules, groups, activities for all staff members of the department (and its children).
As an administrator I want to configure custom-fields on educational tasks, that can be used by users - CUR-2243
In order to support better management, allocation and reporting of tasks outside the context of the curriculum structure, support has been added to define custom-fields on educational tasks. This will support adding additional attributes on tasks that can be used for the different overview. A practical example could be to get an overview of all tasks that are related to the project 'A brand new day'.
The administrator will add a custom-field to the Task object definition. Any custom-field can be added, e.g. a list of all projects, including the standard options to steer display, apply conditions, add info labels, etc.
The user will have access to the field when creating or managing a Task. Based on the example provided, the user can search and select the list from the defined list
The user can report on tasks, and using the standard reporting options can add the 'project' field to the report, filter on the project 'A brand new day' to get an overview of all tasks defined in the context of this project. The user can save the report as a template, or export to CSV or Excel.
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.
OOAPI data exchange to RIO and eduXchange should have consumer data - CUR-2266
The OOAPI data standard defines the fields that are expected or even required when exchanging data with eduXchange an RIO. For customers that started using the data-broker implementation, to limit load on Curriculum and speed up processing of data, the consumer data was not complete. This has been fixed, so the OOAPI implementation based on the broker API will now correctly populate the consumer object.
Extend error reporting on data export (integration) - CUR-2294
When using the export / event-based integration option to exchange data to an external system the basis setup of the message and what to return in case of an error is well-defined. It was noted that in some cases the integration got stuck and returned an error without being a direct technical HTTP error and without reaching the external system that would adhere to the standard and return the defined message.
A change has been applied to be less strict on the return message that are not sheer technical or from the external system, but got stuck in the middle and return a different format. The returned message will be logged and shown, which will help in identifying the root cause of the failure.
Extend CSV support to manage non-educational tasks - CUR-1976
To enable better management of the non-educational tasks a number of changes have been made that allow importing non-educational tasks using CSV import.
The CSV support is provided by using the 'TASK' import and provide the fields:
- year - the year the tasks should be applied to
- task_id - unique identifier of the task as present in an external system, e.g. the HR system
- assignment_id - unique identifier of the assignment/contract
- template_id - type of task , e.g. admission committee
- description - text to provide textual context
- correction - decimal value to define if more or less hours are applicable
In the next release API support will be added to the standard API.
Security
An integral part of our development and build process 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. For more information on reported vulnerabilities, see the central database of vulnerabilities.
This release no vulnerabilities has been reported that require mitigation.
Refer to the Curriculum manual for configuration guidance.