New release Curriculum 10.27
Improvements
Subject Configuration on Specification, Enhanced context-based Selection - CUR-779
In certain academic structures, a Study can have a parent Specification, which serves as a broader category. For example, the Specification could be "Biology," and the Study might be "Full-time Biology" or "Part-time Biology." Both Studies are complete programs, but the Specification serves as a layer above that connects them.
Given this hierarchy, it makes sense to allow configuring subjects (often called learning goals) on the Specification level too. Since the learning goals of the Specification and the Study are likely to overlap, this new setup simplifies managing these shared goals.
To make this process more efficient, we’ve introduced the ability to configure subjects directly on the Specification, through the ‘subjects’ page. These subjects will then be available for selection on the Study level:
A new "Bulk select" option is now available for Courses and Studies part of a Specification. When clicked, a modal window will open, displaying all subjects configured at the parent. In this modal, you can also compare the levels (e.g., "understand," "apply," etc.) assigned to each subject across educational structure.
This principle also extends to the next level in the hierarchy: Courses. In cases where a Course is part of a Study, the system only allows you to select subjects configured at the Study (parent) level.
Qualification Builder - CUR-983
We’ve introduced a new "award-qualifications" page to simplify and enhance the management of Qualifications (e.g., diplomas, certificates) at the Study level, based on the parent Specification.
On the Specification level, qualifications continue to be managed through the standard qualification list. However, at the study level, the new award-qualification page shows all qualifications available for selection, as defined by the parent Specification. A program director can activate these qualifications for a study with a simple toggle. Once activated, the program manager can expand the qualification and configure the specific ‘rule’ for that study, defining the required groups and modules for the qualification.
This setup is designed to provide maximum flexibility: qualifications can be shared across multiple studies within the same Specification, but the rules for earning them can differ depending on the study. For example, in a Biology Specification, the Full-Time Study might offer 3 different qualifications, while the Part-Time Study offers 2. Though the qualifications themselves are the same, each study can have different requirements. One study might need 2 groups and 5 modules, while another requires 3 groups—both paths leading to the same qualification.
The award-qualification page offers a clear, configurable table showing e.g. qualifications, their codes, and descriptions. Once expanded, the program manager can configure the qualification’s rules by selecting the required groups and modules. These changes are automatically saved. Users can also navigate to the utilized rule or remove it using the "Remove this rule" button, which only deletes the usage of the rule (the set of requirements for a study to lead to a qualification), not the rule or qualification itself.
This allows for shared qualifications with tailored completion criteria, without having to go to multiple pages, making qualification management more adaptable and efficient.
Extended Filter Options in Change Report - CUR-974
The Change Report now includes additional filter options, offering an intuitive start and end date range selector. This allows users to narrow down changes within specific timeframes. Additionally, a new "Limited to Year" filter has been introduced to exclude changes that are not year-specific, such as assignments or faculty relations, improving report focus and usability.
Added "Status Time" Column to Process Progress and Process Management Reports - CUR-818
Introduced a new "Status Time" column to both the Process Progress report and Process Management report. This column, already available in the Statuses report, shows the date and time when an object reached its current status, and thus for how long the object has been in that status.
Impersonation Logs Now Store Original User Name - CUR-879
When changes are made while impersonating another user, the audit log and comment/change history will now store and display the name of the original user who is performing the action, not just the impersonated account. This ensures that the system reflects who made the change, even when logged in as another user, improving traceability and accountability in the system.
Ability to Delete Faculty-Created Specifications with History - CUR-971
Admins can now delete faculty-created specifications, along with their associated history and underlying data, directly from the Admin tab using the "Delete + History" button. Note that the Delete options are only available if "Delete possible" is enabled in the custom type configuration of the specification.
Added Scripts to Clear Audit and Login Logs Older Than a Specified Period - CUR-738
Admins can now clear audit and login logs older than a specified period using the PostgreSQL interval format (e.g., 1 year, 6 months, 30 days). A cron job can be configured to automate this process. This feature is designed for occasional use to clean up logs. Note: It is not possible to selectively clear only recent logs while retaining older history. Use with caution to avoid unintended loss of historical data.
Improved CSV API handling - CUR-969
The /api/csv endpoint has been disabled and is now only accessible to administrators through the UI. API integrations must use the /api/import/v2/csv/raw endpoint, which is restricted to a maximum of 500kb content size and limits operations to one at a time. Multiple concurrent requests for the same operation will trigger an HTTP 429 (Too Many Requests) response.
Upload Person Values with HTTP POST import or CSV - CUR-995
Extended the HTTP POST importer and CSV upload to support additional person information using the $.values array.
Fixes
Fixed Selected and Available Options for ENTITY Custom Fields - CUR-991, CUR-986
Resolved an issue where selected and available options for ENTITY custom fields were sometimes not displayed properly due to a race condition. For instance, changing the module group owner study occasionally failed to reflect updates immediately. Also, an optimization now ensures that ENTITY fields show a "No options available" warning if applicable, instead of displaying an empty select field, improving performance.
Restored HTML Rendering in Notes and Exam Info Label - CUR-964
Resolved an issue where HTML in notes and the Static.Tab.Schedule.Activities.Exam.Info label (used in activity forms) was mistakenly escaped. HTML is now correctly rendered in both the 'discussion' page and the exam info label, like any links and formatting.
Fixed Report Not Loading for Faculty Schedule Preferences - CUR-986
Resolved an issue where the faculty schedule preferences report failed to load or display availability after selecting a period and faculty.
VIEW Operation Now Automatically Grants VIEW_OBJECTIVES Access - CUR-835 - >10.26.1
When assigning the 'VIEW' operation to a role, users are now automatically granted 'VIEW_OBJECTIVES' access. This resolves the issue where users with the 'VIEW' operation could not view objectives without separate permission.
Fixed Unable to Assign Teachers to Tracks/Meetings - CUR-958 - >10.26.1
Resolved a user interface issue that prevented assigning teachers to tracks (previously known as meetings). This functionality is now restored.
Evaluation Integration Now Filters Active Members by Period - CUR-967 - >10.26.1
The integration message from CUR to EV now only sends members active during the selected period, based on the start and end dates of their relations.
Fixed Activity Pages When Using Only Module - CUR-972 - >10.26.1
Fixed a user interface problem in activity pages, first introduced in version 10.26.0. The functionality has been restored to its previous state, with no more errors.
Removed Deleted Assessments from OOAPI v5 - CUR-979 - >10.26.1
The assessment field in the OOAPI v5 /courses endpoint now only displays assessments, ensuring that deleted assessments are no longer shown.
Security
Structural improvements - CUR-985
We made structural improvements to better detect and address security issues in third-party libraries, resolving some potential security issues. No OWASP vulnerabilities (see the central database of vulnerabilities) were detected in this release.
For more guidance on configuration and setup of Curriculum, use the relevant Curriculum manual.