Release note
Release note
June 27, 2025

New release Curriculum 11.17

The release notes provide information on the features and improvements in the specified version.

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.

Adding an activity to an offering duplicates the activity - CUR-1913 (Hotfix)

In case a module has multiple offerings in the same offering period and an activity is added, this activity was not only added to the selected offering but to all offerings in that period. This has been fixed, so offerings added to a module with multiple offerings per period will be created and assigned only to the selected offering period.

Administrator overview of relations / roles should enable pagination - CUR-1941

The relation overview (admin) provides an overview of all relations / roles defined. The relations were retrieved, shown and the pages were calculated. However, when navigating to the second or further pages no relations were shown. The has been fixed, so pagination is working again.

Adding a field of type Entity on an activity should work - CUR-1851

A custom-field of type entity, e.g. module, added to an activity supporting multiple values to be selected could not be added via the user interface. The issue was caused by the default visualisation option that allowed for searching for the module, selecting it, but then it didn't add it to the selected options. This has been fixed, so also with the default visualisation option custom-fields of type entity can be selected and will be added to the activity.

As a user I want t to have a save option on the subjects selection page - CUR-1910

When adding subjects to a module or programs, the save button was not always shown. This was the case when long subject titles were used instead of using compact titles and using the description field to contain the extensive subject details. Due to the long titles the save button was pushed of the screen. This has been fixed, so the save button will always be available to allow adding subjects to modules and programs.

As a user I would like to see extra fields defined on alternative offerings in the structure page - CUR-1790

In case a module has multiple offerings in the same period, that for instance are given at different location the structure tree only showed the offering period information, e.g. period 1, period 1, period 1, without giving the context of the individual offerings.

A new option is made available to support not only showing the period but also defined custom-fields on the offering. A pattern option is included to override the default display (period name) with a custom defined pattern. The pattern definition is using the standard functionality to define conditions and calculated fields.

The example below shows the configuration of a pattern that joins the period name and the location, e.g. semester 1 (Rotterdam).

Use a display pattern to distinct multiple offerings in the same period

When editing an activity-serie I want to use a popup workflow - CUR-1906

Most of the objects (e.g. module, module-group) support the option to use a workflow popup to edit the information. The activity-serie didn't support this option (yet) but has now been extended to support the workflow popup to edit the information using multiple tabs.

As an administrator I want to configure the behaviour of expand all for the structure and planboard - CUR-1811

The standard (and only supported) behaviour of the planboard when clicking 'Select all' is that all module-groups that are owned by the study are expanded. Any module-group not owned will not be opened. In cases where module-groups are not owned by any study, but by a faculty the planboard would not expand any module-group based on 'expand all'.

A configuration option is added to the planboard template that allows the admin to configure the behaviour of 'expand all':

  • Expand owned module-groups (default option)
  • Expand all module-groups (new option), which will unfold all module-groups and not only the owned ones.

By adding this configuration option to the page template the option is supported to provide both options, by just creating two pages with both having another expand option set.

Column period in reports should show period information - CUR-1920 (Hotfix)

A bug was introduced causing the period information not to be shown in the reports. It has been fixed and is already released as hotfix.

Method-list template should use full page width and support column configuration - CUR-1880

The method-list template didn't use the full available width of the page, and tried to show the information in 30% of it. This has been changed, so the information is spread over the page width and more readable.

Next to that the columns shown in the method-list are made configurable, allowing the administrator to define the columns to be displayed and specify there order. Similar to other pages supporting selecting fields and defining their order.

Select the columns to be shown and set there order

The subject-matrix should show Chinese language correctly - CUR-1883

When using the subject-matrix with the Chinese language-pack the information shown in the header columns are shown upside down. This has been solved, so the Chinese information is shown in the proper display format.

Subject-page change indicator should be clearly visible - CUR-1657

The subject-page showing an overview of the defined subjects on for instance a module provides insight in changes made using a visual (color) indicator. The indicator however was so small that it required laser vision to notifiy it.

The visualisation of the indicator has changed and is now in line with other pages showing change info. It is now using the color indicator (box) that contains the change text (Created, Updated, Deleted) to indicate if and what change has been applied.

The change information is shown to the right using the standard format
The change history details are directly available

The year copy should respect the ignore copy defined on additional custom-types - CUR-1890

When configuring a field with ‘Ignore copy’ it should not copy the value to a next year. But it was identified  the copy script only respected this for the root values not the additional values. This has been fixed, so the ignore-copy will exclude both root and additional custom-types from the year copy.

Extended usability and functionality of the study route planner - CUR-1903

This release the functionality of the route planner has been extended with a number of options to broaden the usage and usability.

Data entry/selection improvements:

  • Ease the selection of the advised period and create a cleaner and more readable user experience. Especially in case modules were offered multiple times, the offered vertically offered radio buttons were using a large portion of the screen per module. This has been changed to use a drop-down for selecting the preferred offering period.
  • Support usage of time-blocks in the selection of the advised period.
  • Ease and limit the selection of the advised Year/Phase for the module. The field was a 'number' field that could be entered by the user. This has been transformed into a dropdown select that will only offer the configured phases (Elements -> Phases).
The route planner supports extended filtering and and eases data entry for period and phase/year

Added filter options:

  • Advised period filter to filter (show) all modules having the selected period(s) as their advised period. This supports filtering all modules having an advised offering of semester 1.
  • Year/Phase filter to filter (show) all modules that are advised within the context of one year. This supports showing only the modules that are advised for year 1.
  • Show/Hide group option that will hide any grouping information and only show the modules. This can be used in combination with the year filter to show all modules for year 1 as a plain list of modules without their module-group context.
Use the 'show group' checkbox to only show the modules in the defined advised route

When assigning a lecturer to an activity using the teacher-assign template, the filter should be respected - CUR-1881

The teacher-assign template is used to show a full list of all activities for a module, and allow direct adding of a lecturer to one or more of the activities. The list of activities can be filtered to limit the list of activities shown, e.g. only show the activities of type lecture in week 5.

If the filter was applied and a lecturer was assigned to one or more activities, the whole activity list was retrieved, but the filter was not applied. So in order to get the limited list, the filter need to be redefined or re-applied.

A fix and a performance change have been applied. The fix is to respect the defined filter and re-apply the filter after assigning a lecturer to one or more activities. The performance update is that only the activities that were changed (assign / un-assign lecturer) are updated in the list. This to prevent from retrieving the full list and thus improving performance. Especially for longer lists of activities this will have a substantial effect.

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.

Loading activities using CSV could overwrite data in previous years - CUR-1867 (Hotfix)

In case activities are imported using CSV with only a relation to the year and period and no defined offering ID the last imported activity would 'update' the already imported activities with the effect of moving them to the last year imported.

A change is applied to use the academic-year as an identifying attribute during import, to not update but create an activity in the above situation.

The advise is to use the offeringId as a unique identifier, which will in all cases assign the activity to the correct offeringID and will prevent creating new activities if the provided offeringId doesn't exist in the provided year in the CSV. This is a safer and error prone approach.

Person service should support changing of the assignment dates - CUR-1931

The person service supports creating persons and their assignments (HR contract). It was noted that the assignments could be created including a start date, but could not be ended by setting the end date.

This has been fixed so the assignment start and end date can not only be set on creation of the assignment, but can also be updated to support ending an assignment on a specific date.

Version service should support paginated retrieval - CUR-1918 (Hotfix)

The version endpoint always returns last:true, even if the last page has not been reached. When using the last as value to retrieve the next page, it would always stop after the first page. This has been (hot)fixed so the last value is set correctly and only says 'true' in case it is really the last page.

Curriculum to Activity Manager (AM) is extended to support object filter exchange - CUR-1901

The integration from Curriculum to Activity Manager already supported the exchange of all activities and activity-related information. The standard integration is extended to support the exchange of object filters using information defined in Curriculum.

Configuration:

  • Use the Admin/Configuration field timeedit.client.activities to configure the object filter to be exchanged
  • Configure the filter:
    • extId: the unique name of the object in AM
    • type: the identifier to say the exchanged info is an object filter (OBJECT_FILTER)
    • filterProperties: defines the property / properties to be used in the filter
      • extId: the unique name of the object + attribute in AM
      • name: the value of the attribute to be used in the filter

The example below shows the configuration of an object filter to only show the rooms of type workgroup for 40-50 students.

        {
          "extId": "room",
          "type": "OBJECT_FILTER",
          "filterProperties": [
               {
                 "extId": "room.structure",
                 "name": "workgroup (40-50)"
               }
           ]
        }

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 no vulnerabilities were reported, so a quiet sprint on that area

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.

Customer unique training

This class is available to receive tailor made for your database set-up. Just fill out the form below and our product expert will get in touch with you to set-up your bespoke class.
I want a bespoke class