New release Curriculum 10.11
Skills and learning outcomes
USABILITY, CONFIGURATION - Extend definition and management of subjects - CUR-203
The definition and management of subjects is extended and now allows for definition on:
- Institution level (managed by administrator)
- Faculty level (managed by assigned role on faculty)
- Study level (managed by assigned role on study)
This allows for a mixture of definition and management of subjects, allowing to define institution subjects that are shared generic, and study specific subjects only relevant for the study.
The administrator subjects overview will show all defined subject categories and underlying subjects. The category is extended and will show the 'owner' of the subjects, e.g. the faculty or study.
Configuration:
- A new custom-page subject-types is available to be used in workflow or tab view and enabling the management of subjects on faculty and study level
- The authorisation right EDIT_SUBJECT_TYPE is added, to enable access to the subject-types page
Extended support for creating dynamic offering periods
CONFIGURATION, USABILITY - Extend/enable the creation of dynamic offering periods - CUR-190
The current mechanisms of offering periods allows to define and select preconfigured offering periods, such as period 1, semester 1, etc.
An option is added that allows the definition of dynamic offering periods by providing the start- and end-date of the offering, like '8-9 December', '6 January'. The activity-grid and list can be used for further detailing of the activities in this ad-hoc period.
Configuration:
- To enable definition of dynamic offerings select the checkbox Adhoc in the offering configuration.
- The offering configuration is available as part of the custom-field configuration at course / offering
Extended TE integration via the TE Topbar
INTEGRATION - Enable use of the TE topbar to navigate between the products CUR-34
The standard TimeEdit topbar is available for users using other TimeEdit products. The topbar enables easy navigation for the user between the different products.
Configuration:
- To enable set the setting show.switcher to true in the administrator Config menu
Enhanced generation of codes
Various changes are made to the generation of code, adding new functions, enabling not only generating of unique codes for the main object (course, study, module-group, ...), but also for individual custom-fields.
CONFIGURATION - Code of a field will only be regenerated on empty - CUR-280
A new configuration option is added to specify if a code field that is automatically generated using a formula will only be generated if no existing value exists.
This allows for automatic generation, but the authorised user could change the generated value and the next time this value will not be regenerated.
Configuration:
- The new custom-type -> field configuration -> Generate on empty is used to define if regenerate is only on empty
CONFIGURATION - Added new functions uuid() and generate() - CUR-281
Two new functions are added to be used in the formula definitions:
- function uuid() is added supporting the use of a uuid in the formula, resulting in a uuid in the format: df109ed7-c205-4d9d-b35f-247c34c0f8e5
- function generate() is added supporting the definition of unique codes based on fields/values in the system and a generated code that makes the end result unique. This function can be used on any fields, and not only on the codes.
The generate() has 3 arguments:
- Starting character, number of character (A in the example)
- Amount of supported characters (A + 26 = Z in the example, but could also be 0 and 9)
- Length of generated value (2 in the example, thus AA, AB, AC, ...)
When marking the field unique=true the generated value will be checked and validated for uniqueness.
Example:
- join ('ABC-', uuid())
- join (:facultyId, '-', generate(2, 'A', 26))
CONFIGURATION - Only allow use of the new generate() function for code fields - CUR-281
The previous used method for uniqueness generation of codes has been replaced by the generate() function.
Call to action:
The existing formula using the old mechanisme is automatically migrated to the new generate() function.
Please double-check if your code configuration is migrated correctly and still works.
More improvements and bug fixes
USABILITY, CONFIGURATION - Extended validation on codes and names not in TE Curriculum- CUR-281
A new function uuid() is added supporting the use of a uuid in the formula, resulting in a uuid in the format: df109ed7-c205-4d9d-b35f-247c34c0f8e5
Example:
- join('ABC-', uuid())
USABILITY, CONFIGURATION - Enable use of authorisation operations in conditions - CUR-204
Support for usage of the security operations has been added. This allows to restrict the visibility to pages (tab and workflow) based on the users authorisations.
Example:
- :operations in ('EDIT_ADDITIONAL', 'CUSTOM_ 6') && :(module)typeId = 'THESIS'
ADMINISTRATION - Improve visibility of status and add filter to the nightly job overview - CUR-204
The overview providing information on the nightly job is improved. The status is more visual and will highlight failed jobs more clearly. A filter has been added to filter on status.
By using the notification for failed jobs this will not only inform the administrator, but als enables for quick filtering on the failed jobs.
INTEGRATION - Enable configuration of OOAPI active year - CUR-202
A configuration option is added to specify the Open Education API (OOAPI) active year and distinct between the active year for users and the active year for the OOAPI based integrations like eduXchange and RIO.
Configuration:
- To configure set the correct year in ooapi.year in the administrator -> Config menu
CONFIGURATION, USABILITY - Enable configuration of he change messages per type - CUR-226
The information shown on changes made in the different process and used in change reports, change history, etc. have been extended to define them per type within for instance course, study, etc. This allows for the definition of different messages for changes to offering periods, additional, learning outcome, etc.
The message definition has been move to to Labels. This not only allows the administrator to define the specific labels, but also adjust the texts and match the terminology used in the institution.
Configuration:
- The change label configuration is done via custom-field configuration at the different objects and sub=objects
- To define for instance a specific change message on the course -> additional information select an existing label via the option Message within changes
- If no label is available that fits your needs, go to the administrator -> labels menu and create a new one
- The available field options to be used in the message are available using the (i)
BUG - Enddate of study type not respected in the create modal- CUR-259
When creating a new study using the create model, also study types no longer available (end date set, and in past) where offered as a valid type in the select box. This has been modified, so the end date is respected.
BUG - Assigned user in workflow not cleared on status change - CUR-265
In case a task is assigned a person in a workflow, this assignment is not cleared once the workflow is sent to a next status in the workflow. This has been fixed.
BUG - Create of an assessment is possible when not allowed - CUR-266
Using an unforeseen route in a workflow only allowing selection of existing assessment, it was possible to create a new assessment. This route has been disabled, so it is no longer possible to accidentally create a new assessment when not allowed.
FEATURE, REPORTING - Specification should provide a change-log - CUR-266
The specification modifications are now logged in the change-log and visible via the standaard change-log reports / pages.
BUG - Too strict check on required fields, even on invisible fields- CUR-287 / CUR-288 / CUR- 291 / CUR-300
A change in the previous version has introduced an incorrect validation on required fields. This leads issues varying from unexpected message, to users that are prevented closing a workflow. The validation is adjusted, so only the relevant / visible fields are validated.
Security improvements
SECURITY - Implemented OWASP CVE-2024-22233 - CUR-131
Addressed various OWASP security vulnerabilities and upgraded the Spring Boot and Spring Cloud dependencies.
Detailed information for each of the CVE’s can be found at the central database of vulnerabilities: https://nvd.nist.gov/vuln/search