New release Curriculum 10.26
CONFIGURATION - Limit top-level Module Group Types of Studies - CUR-744, CUR-867
Administrators can now configure which module group types can be added directly under a study at the root level by using the "Filter on types" option within the custom type "Study / study-module-group".
Additionally, module group types can be restricted by specifying allowed types in the study type configuration (Administration -> Study types).
CONFIGURATION - Show Relevant Offering Periods Based on Root Type - CUR-803
Previously, offering periods were only used to define offering information for modules. This functionality has now been expanded to allow offering periods to be assigned to studies and module groups as well. Although the content of offering periods for studies and module groups differs from those for modules, users were still presented with all periods, regardless of type.
To enhance usability and reduce the chance of users selecting incorrect offering periods, a new attribute called "root type" has been introduced. This attribute enables administrators to specify whether an offering period applies to modules, studies, or module groups. When creating a new offering, users will only see the offering periods relevant to the specific type of offering being created (module, study, or module group).
For backward compatibility, the root type for all existing offering periods has been automatically set to "module." Administrators can manually update the root type to configure periods for studies or module groups where necessary.
CONFIGURATION - Updated Activity CSV Format with Object ID and Object Type - CUR-949
The activity CSV format has been updated. The previous columns module_id, method_id, and assessment_id have been replaced by object_id and object_type to simplify the format. More detailed documentation on the new activity CSV format can be found in the "Curriculum in CSV" section under Administration.
CONFIGURATION, USABILITY - Expressions Now Support Template Literals for Improved Readability - CUR-931
Expressions used to generate values can often be difficult to read, especially when templating string values, such as:
join(' * ', :name, ' (', :weighting, ')')
This format was prone to errors, such as missing parentheses, and was not easily readable. To enhance clarity, expressions now support template literals. Template literals allow administrators to reference fields more intuitively using the format:
${:fieldName}
Expressions containing template literals are enclosed in backticks (`).
For example, the previous expression can now be written as:
` * ${:name} (${:weighting})`
This provides the same functionality as the join function,but with improved readability and reduced likelihood of errors.
SCHEDULING - Activity Board Support for Method-Schemas and Appraisals - CUR-902
Users can now utilize the activity board to manage activities specifically for method-schemas and appraisals. The activity board will display all related activities for modules, method-schemas, and appraisals, allowing users to add, edit, and delete activities directly within the interface.
USABILITY - Date Range on Export List page now defaults to the Current Date - CUR-749
The date range selector on the export list page now defaults to the current date, instead of the academic year. Additionally, the header label now displays the total number of search results for better visibility and user experience.
API - Added New Canonical Field Endpoint for Custom Fields - CUR-876
A new canonical field endpoint has been introduced that allows users to retrieve all custom fields for a specific custom type. The endpoint supports the following query parameters:
- rootType: root type of the custom type (e.g. 'module')
- entityType: entity type of the custom type (e.g. 'additional')
- visible: ilters results based on whether only visible custom fields should be returned. Accepts values
- code: allows filtering by the code of a manually added item type
Example request:
/field?rootType=module
&entityType=additional
&page=1&size=30
API - Start/End Date for Custom Fields Now Respected in API Messages - CUR-942
Fixed an issue where the start and end dates of custom fields were not correctly considered when generating API messages. Now, custom fields that expire before or start after the academic year will be excluded from API messages as expected.
FIX - Incorrect Special Characters Display - CUR-924
Resolved an issue where certain characters, such as quotes, were incorrectly escaped and not properly displayed in the names of entities and change message label for custom types. This has now been fixed, ensuring proper character rendering.
FIX - Restore Deleted Objectives with Linked Subjects or Assessments - CUR-940
Resolved an issue where attempting to restore deleted objectives that had linked subjects or assessments would result in an error. This fix ensures objectives with such links can now be restored without issues.
FIX - Excel Planboard Report Fails with Invisible Offering Periods - CUR-947
Some customers use a module that allows them to generate an Excel report from the planboard. We fixed a bug that would cause this to fail if modules had offerings in periods not visible on the planboard. The report now properly excludes offerings that fall entirely outside the visible periods or displays only the visible portions of the offering periods.
FIX - Can't add Modules to Groups on Planboard - CUR-962
Fixed an issue where adding a new or existing module to a group on the planboard was not working as expected. This functionality has now been restored.
FIX - User Login Fails When User Has Assignments Without Role - CUR-963
Resolved an issue where users with assignments but no associated role encountered login failures. This fix ensures that such users can now log in without errors.
SECURITY - Sanitize HTML when it is imported via CSV - CUR-853
Previously, CSV imports allowed HTML content, such as descriptions, to include potentially unsafe tags like <script>. This posed a security risk as malicious code could be executed. With this update, HTML imported via CSV is now sanitized, and any tags deemed unsafe will be removed to ensure security.
For more guidance on configuration and setup of Curriculum, use the relevant Curriculum manual.