Totara Release Notes

Totara TXP 15.6, 14.11, 13.19; Totara learn 12.42, 11.51, and 10.55 are now available

 
David Curry (Core Developer)
Totara TXP 15.6, 14.11, 13.19; Totara learn 12.42, 11.51, and 10.55 are now available
by David Curry (Core Developer) - Tuesday, 26 April 2022, 12:20 AM
Group Totara

Hello everyone,

The following versions of Totara Learn have now been released:

These versions do contain security fixes, and for this reason we strongly recommend upgrade.
Each release also includes bug fixes and improvements.

Kind regards,
Release team

Release 15.6 (26th April 2022):

Important:

    TL-34110       Fixed the migration of evidence to learning plan relationships when upgrading to TXP

                   Evidence was redesigned in Totara 13, and an entirely new data structure was
                   adopted to benefit the evidence feature set. During the upgrade to Totara 13
                   (that all sites must go through during the upgrade process)  Evidence data is
                   migrated from the pre-13 structure to the new structure.
                   
                   The migration moves data item per item, sequentially. Due to a bug in the
                   migration process, links between an evidence item and a user’s learning plan
                   may be broken, with evidence items being incorrectly related to the incorrect
                   learning plan. This mis-mapping can cause evidence items belonging to one user
                   to end up being linked to the learning plan of another user. This affects
                   historic data only, as all future relations are formed correctly post upgrade.
                   
                   The migration has now been fixed to ensure the relationship between an evidence
                   item and a learning plan is correctly maintained.
                   
                   For sites who have already upgraded the following SQL query can be used to
                   determine if your site was affected.
                   If a number greater than 0 is returned then please seek support from us and we
                   will assist you in confirming the issue, and in supporting you to recover the
                   lost relationships.
                   
                     SELECT COUNT(dper.id)
                         FROM mdl_dp_plan_evidence_relation dper
                           JOIN mdl_totara_evidence_item tei ON tei.id = dper.evidenceid
                           JOIN mdl_dp_plan dp ON dp.id = dper.planid
                      WHERE dp.userid != tei.user_id;


Security issues:

    TL-33678       Fixed validation of CSRF token for report exports
    TL-33700       Fixed sending of sesskey as part of GET parameters when configuring the catalog
    TL-33889       Fixed a capability check for the Upload user tool

                   A manager without the "moodle/user:delete" capability was able to delete users
                   by using the upload user tool, this has now been fixed.


Performance improvements:

    TL-34017       Searching for a user while sharing a resource now batches keyboard presses

Improvements:

    TL-25962       Added the ability to remove a link from Weka while maintaining the link text
    TL-32716       Increased the width of the autocomplete dropdown for the evidence type on the evidence creation screen

                   This allows the full placeholder to be seen when a user is adding an evidence
                   item to their evidence bank

    TL-32999       Improved help text about delete setting in user import when it is set to 'Suspend internal user'

                   Before, the implications of having the 'Delete' setting set to 'Suspend
                   internal user' for the user element in HR import were not well explained. Now,
                   we have provided help text information in the UI about it so it's clear what to
                   expect.

    TL-33566       Added list columns to the My Bookings report

                   Three new columns have been added to the 'My Bookings' report to display the
                   facilitators, rooms and assets linked to a specific session as lists instead of
                   adding duplicate rows for a single session that have multiple facilitators,
                   rooms or assets.

    TL-33679       Changed form action to 'GET' for manage dashboard single button
    TL-33970       Added appropriate CSS class to topics format General section when header colour is enabled
    TL-33975       Increased the top and bottom margin of the 'Load more' button in the Adder.vue component
    TL-34102       The totara_mobile_certification query now returns a 'viewable' flag for all courses in certifications
    TL-34114       Updated the OriginalSpaceCard TUI component to focus the action button when closing modals on the "Find workspaces" page

Bug fixes:

    TL-31410       Fixed the height of the completion lozenge on the competency details page
    TL-32778       Fixed installation alerts missing border colours on IE11
    TL-33387       Fixed the re-validation of competency achievement paths for multi-level hierarchies

                   When child and/or other competency achievement criteria is used in multi-level
                   competency hierarchies with 3 or more levels, the validity of competency
                   achievement paths on all levels are now correctly re-evaluated when changes are
                   made on the lower levels.

    TL-33396       Fixed error in catalogue hook watcher when courses are disabled in the catalogue

                   When courses were disabled in the catalogue content setting and a course was
                   edited it triggered an error in the hook watcher for the catalogue. 

    TL-33511       Restored the competency migration task for sites that upgraded through Totara 13 without running it

                   Previously, if a site got upgraded to Totara 13 and then immediately upgraded
                   again to a newer version without running cron, the competency migration ad-hoc
                   task would not be executed as the code was removed in Totara 14. This could lead
                   to competencies not being fully migrated.
                   
                   This has been fixed by restoring the necessary code. The cron will now trigger
                   the migration, even on Totara 14 or above.

    TL-33525       Fixed date format for custom fields during user upload
    TL-33640       Fixed records not being deleted from totara_contentmarketplace_course_module_source when deleting a course module

                   A previously missing \core\event\course_module_deleted() event is now being
                   triggered when deleting course modules during course deletion.

    TL-33648       Fixed error when trying to add already assigned courses to learning plan
    TL-33659       Fixed multichoice answer text being truncated in analysis view of feedback module
    TL-33698       Fixed not being able to create tenant users with duplicate emails if allowed on the site

                   When creating a new user in a tenant the email validation now respects the
                   setting 'allowaccountssameemail', which allows user accounts to have duplicate
                   emails. 

    TL-33753       Fixed Course completion editor referencing admin user when changes are made using HR import tool
    TL-33819       Fixed the flow on effects when a seminar activity name is updated

                   Updating the name of a seminar activity now also correctly updates the name in
                   the calendar event, and 'Upcoming events' block

    TL-33894       Fixed not being able to delete view-only participants from an activity in the participant management report
    TL-33914       Removed option to collapse from top course section
    TL-33945       Added a way to reset the course 'General' section heading back to its default state of hidden
    TL-33969       Fixed sorting of attendees lists on seminar events

                   When adding or removing attendees to a seminar event, the lists of current
                   attendees, potential attendees and removed attendees are now all sorted
                   alphabetically.

    TL-33974       Fixed new playlist not appearing when returning directly to library
    TL-33980       Fixed issue with Safari cropping text on Button.vue and ToggleSwitch.vue components
    TL-33996       Fixed errors in GraphQL queries when id is 0

                   Fixed the errors for following mod_perform GraphQL
                    * manually_delete_subject_instance when subject_instance_id is 0
                    * manually_delete_participant_instance when participant_instance_id is 0
                    * manually_change_participant_section when participant_section_id is 0

    TL-33998       Added form validation for performance activity repeating settings

                   Prior to this patch, entering out of range values for repeating trigger offset
                   and repeating limit resulted in a generic failure message generated by the back
                   end. This patch adds front end form validation with specific error messages.

    TL-34009       Updated section administration in performance activities to not show the "Move element to another section" button if there is no section to move the element to

                   Also fixed a bug where the current section wasn't being filtered out of the list
                   of other sections. 

    TL-34018       Fixed error in get_config GraphQL query when item_type is null
    TL-34028       Fixed scrolling to the wrong position when switching views on the competency profile page
    TL-34030       Fixed a regression which allowed keyboard navigation to accidentally lose focus from the modal component
    TL-34040       Fixed totara_topic_find_topics query called twice
    TL-34045       Added a space before date filters in report builder reports
    TL-34060       Fixed missing link to user profile on workspace members list
    TL-34064       Fixed a text overflow issue in IE11 with workspace names on the find workspaces page
    TL-34087       Stopped the "edit link" Weka modal closing via backdrop click

                   Previously if you clicked anywhere outside the bounds of the edit box while
                   editing a link in Weka, the pop-up would close and your current changes would be
                   lost. This behaviour has been changed such that clicking outside the box will
                   not do anything, and to close the modal you will need to use the "done",
                   "cancel", or the top-right "X" buttons.

    TL-34091       Fixed that creating and immediately deleting a workspace discussion causes cron error message
    TL-34108       Fixed the recipient classes for earlier program notifications 

                   In 15.0 program notifications were moved to the modern system using recipient
                   classes in the totara_program namespace. As we moved more notifications in other
                   areas it became apparent that 2 program recipients, subject and manager, were
                   quite generic. As such in 15.3 TL-33094 these recipient classes were moved to
                   the totara_notification namespace, leaving the old class there to allow for
                   backwards compatibility. However any custom notifications created between those
                   versions using the default resolvers would have the incorrect recipient saved in
                   the database and would not send after upgrading to 15.3 or higher. This patch
                   adds an upgrade path to fix any of these broken recipient classes.

    TL-34111       Fixed certification window open date notification sometimes being sent twice
    TL-34132       Fixed unnecessary refetch of container_workspace_search_users query after transfer-of-ownership mutation

Technical changes:

    TL-34000       Changed name field format to 'PLAIN' for 'totara_oauth2_client_provider' type
    TL-34168       Updated the minimum supported versions for MariaDB and MySQL

                   The readme has been updated with explicit minimum versions for both MariaDB and
                   MySQL.
                   
                   MariaDB we have set the minimum to the first stable release of each line. Alpha
                   and beta release versions are not supported.
                   
                   MySQL 8.0.1 is the minimum. MySQL 8.0 does not include the required encoding
                   Totara needs.
                   
                   In all cases, we recommend using the latest version in each database release
                   line.


Tui front end framework:

    TL-33687       Changed HTTP method from POST to GET when loading the data for a Totara dialogs
    TL-33920       Fixed an issue where importing Vue in ext_ Tui components would end up with a separate copy of Vue instead of referencing the one in the core bundle
    TL-33921       Implemented triggering an error to prevent the compilation of large SCSS files containing non-ASCII characters on PHP < 7.4 to hang

                   Due to PHP bug 72685, versions of PHP before 7.4 cannot efficiently run Unicode
                   regexes over large strings. We work around this by removing non-ASCII characters
                   from comments to avoid hitting the Unicode path where possible, and by erroring
                   instead of hanging on large files in order to communicate the source of the
                   problem.
                   
                   This behavior can be disabled through the "Allow unperformant CSS" option in the
                   Tui frontend framework settings.


Release 14.11 (26th April 2022):

Important:

    TL-34110       Fixed the migration of evidence to learning plan relationships when upgrading to TXP

                   Evidence was redesigned in Totara 13, and an entirely new data structure was
                   adopted to benefit the evidence feature set. During the upgrade to Totara 13
                   (that all sites must go through during the upgrade process)  Evidence data is
                   migrated from the pre-13 structure to the new structure.
                   
                   The migration moves data item per item, sequentially. Due to a bug in the
                   migration process, links between an evidence item and a user’s learning plan
                   may be broken, with evidence items being incorrectly related to the incorrect
                   learning plan. This mis-mapping can cause evidence items belonging to one user
                   to end up being linked to the learning plan of another user. This affects
                   historic data only, as all future relations are formed correctly post upgrade.
                   
                   The migration has now been fixed to ensure the relationship between an evidence
                   item and a learning plan is correctly maintained.
                   
                   For sites who have already upgraded the following SQL query can be used to
                   determine if your site was affected.
                   If a number greater than 0 is returned then please seek support from us and we
                   will assist you in confirming the issue, and in supporting you to recover the
                   lost relationships.
                   
                     SELECT COUNT(dper.id)
                         FROM mdl_dp_plan_evidence_relation dper
                           JOIN mdl_totara_evidence_item tei ON tei.id = dper.evidenceid
                           JOIN mdl_dp_plan dp ON dp.id = dper.planid
                      WHERE dp.userid != tei.user_id;


Security issues:

    TL-33678       Fixed validation of CSRF token for report exports
    TL-33700       Fixed sending of sesskey as part of GET parameters when configuring the catalog
    TL-33889       Fixed a capability check for the Upload user tool

                   A manager without the "moodle/user:delete" capability was able to delete users
                   by using the upload user tool, this has now been fixed.


Performance improvements:

    TL-34017       Searching for a user while sharing a resource now batches keyboard presses

Improvements:

    TL-32999       Improved help text about delete setting in user import when it is set to 'Suspend internal user'

                   Before, the implications of having the 'Delete' setting set to 'Suspend
                   internal user' for the user element in HR import were not well explained. Now,
                   we have provided help text information in the UI about it so it's clear what to
                   expect.

    TL-33566       Added list columns to the My Bookings report

                   Three new columns have been added to the 'My Bookings' report to display the
                   facilitators, rooms and assets linked to a specific session as lists instead of
                   adding duplicate rows for a single session that have multiple facilitators,
                   rooms or assets.

    TL-33679       Changed form action to 'GET' for manage dashboard single button
    TL-33970       Added appropriate CSS class to topics format General section when header colour is enabled
    TL-33975       Increased the top and bottom margin of the 'Load more' button in the Adder.vue component
    TL-34114       Updated the OriginalSpaceCard TUI component to focus the action button when closing modals on the "Find workspaces" page

Bug fixes:

    TL-33396       Fixed error in catalogue hook watcher when courses are disabled in the catalogue

                   When courses were disabled in the catalogue content setting and a course was
                   edited it triggered an error in the hook watcher for the catalogue. 

    TL-33511       Restored the competency migration task for sites that upgraded through Totara 13 without running it

                   Previously, if a site got upgraded to Totara 13 and then immediately upgraded
                   again to a newer version without running cron, the competency migration ad-hoc
                   task would not be executed as the code was removed in Totara 14. This could lead
                   to competencies not being fully migrated.
                   
                   This has been fixed by restoring the necessary code. The cron will now trigger
                   the migration, even on Totara 14 or above.

    TL-33525       Fixed date format for custom fields during user upload
    TL-33648       Fixed error when trying to add already assigned courses to learning plan
    TL-33894       Fixed not being able to delete view-only participants from an activity in the participant management report
    TL-33914       Removed option to collapse from top course section
    TL-33945       Added a way to reset the course 'General' section heading back to its default state of hidden
    TL-33974       Fixed new playlist not appearing when returning directly to library
    TL-33980       Fixed issue with Safari cropping text on Button.vue and ToggleSwitch.vue components
    TL-33996       Fixed errors in GraphQL queries when id is 0

                   Fixed the errors for following mod_perform GraphQL
                    * manually_delete_subject_instance when subject_instance_id is 0
                    * manually_delete_participant_instance when participant_instance_id is 0
                    * manually_change_participant_section when participant_section_id is 0

    TL-33998       Added form validation for performance activity repeating settings

                   Prior to this patch, entering out of range values for repeating trigger offset
                   and repeating limit resulted in a generic failure message generated by the back
                   end. This patch adds front end form validation with specific error messages.

    TL-34009       Updated section administration in performance activities to not show the "Move element to another section" button if there is no section to move the element to

                   Also fixed a bug where the current section wasn't being filtered out of the list
                   of other sections. 

    TL-34018       Fixed error in get_config GraphQL query when item_type is null
    TL-34028       Fixed scrolling to the wrong position when switching views on the competency profile page
    TL-34030       Fixed a regression which allowed keyboard navigation to accidentally lose focus from the modal component
    TL-34040       Fixed totara_topic_find_topics query called twice
    TL-34045       Added a space before date filters in report builder reports
    TL-34060       Fixed missing link to user profile on workspace members list
    TL-34064       Fixed a text overflow issue in IE11 with workspace names on the find workspaces page
    TL-34087       Stopped the "edit link" Weka modal closing via backdrop click

                   Previously if you clicked anywhere outside the bounds of the edit box while
                   editing a link in Weka, the pop-up would close and your current changes would be
                   lost. This behaviour has been changed such that clicking outside the box will
                   not do anything, and to close the modal you will need to use the "done",
                   "cancel", or the top-right "X" buttons.

    TL-34091       Fixed that creating and immediately deleting a workspace discussion causes cron error message
    TL-34111       Fixed certification window open date notification sometimes being sent twice
    TL-34132       Fixed unnecessary refetch of container_workspace_search_users query after transfer-of-ownership mutation

Technical changes:

    TL-34168       Updated the minimum supported versions for MariaDB and MySQL

                   The readme has been updated with explicit minimum versions for both MariaDB and
                   MySQL.
                   
                   MariaDB we have set the minimum to the first stable release of each line. Alpha
                   and beta release versions are not supported.
                   
                   MySQL 8.0.1 is the minimum. MySQL 8.0 does not include the required encoding
                   Totara needs.
                   
                   In all cases, we recommend using the latest version in each database release
                   line.


Tui front end framework:

    TL-33687       Changed HTTP method from POST to GET when loading the data for a Totara dialogs
    TL-33920       Fixed an issue where importing Vue in ext_ Tui components would end up with a separate copy of Vue instead of referencing the one in the core bundle
    TL-33921       Implemented triggering an error to prevent the compilation of large SCSS files containing non-ASCII characters on PHP < 7.4 to hang

                   Due to PHP bug 72685, versions of PHP before 7.4 cannot efficiently run Unicode
                   regexes over large strings. We work around this by removing non-ASCII characters
                   from comments to avoid hitting the Unicode path where possible, and by erroring
                   instead of hanging on large files in order to communicate the source of the
                   problem.
                   
                   This behavior can be disabled through the "Allow unperformant CSS" option in the
                   Tui frontend framework settings.


Release 13.19 (26th April 2022):

Important:

    TL-34110       Fixed the migration of evidence to learning plan relationships when upgrading to TXP

                   Evidence was redesigned in Totara 13, and an entirely new data structure was
                   adopted to benefit the evidence feature set. During the upgrade to Totara 13
                   (that all sites must go through during the upgrade process)  Evidence data is
                   migrated from the pre-13 structure to the new structure.
                   
                   The migration moves data item per item, sequentially. Due to a bug in the
                   migration process, links between an evidence item and a user’s learning plan
                   may be broken, with evidence items being incorrectly related to the incorrect
                   learning plan. This mis-mapping can cause evidence items belonging to one user
                   to end up being linked to the learning plan of another user. This affects
                   historic data only, as all future relations are formed correctly post upgrade.
                   
                   The migration has now been fixed to ensure the relationship between an evidence
                   item and a learning plan is correctly maintained.
                   
                   For sites who have already upgraded the following SQL query can be used to
                   determine if your site was affected.
                   If a number greater than 0 is returned then please seek support from us and we
                   will assist you in confirming the issue, and in supporting you to recover the
                   lost relationships.
                   
                     SELECT COUNT(dper.id)
                         FROM mdl_dp_plan_evidence_relation dper
                           JOIN mdl_totara_evidence_item tei ON tei.id = dper.evidenceid
                           JOIN mdl_dp_plan dp ON dp.id = dper.planid
                      WHERE dp.userid != tei.user_id;


Security issues:

    TL-33678       Fixed validation of CSRF token for report exports
    TL-33889       Fixed a capability check for the Upload user tool

                   A manager without the "moodle/user:delete" capability was able to delete users
                   by using the upload user tool, this has now been fixed.


Performance improvements:

    TL-34017       Searching for a user while sharing a resource now batches keyboard presses

Improvements:

    TL-32999       Improved help text about delete setting in user import when it is set to 'Suspend internal user'

                   Before, the implications of having the 'Delete' setting set to 'Suspend
                   internal user' for the user element in HR import were not well explained. Now,
                   we have provided help text information in the UI about it so it's clear what to
                   expect.

    TL-33679       Changed form action to 'GET' for manage dashboard single button
    TL-33970       Added appropriate CSS class to topics format General section when header colour is enabled
    TL-33975       Increased the top and bottom margin of the 'Load more' button in the Adder.vue component
    TL-34114       Updated the OriginalSpaceCard TUI component to focus the action button when closing modals on the "Find workspaces" page

Bug fixes:

    TL-33525       Fixed date format for custom fields during user upload
    TL-33648       Fixed error when trying to add already assigned courses to learning plan
    TL-33894       Fixed not being able to delete view-only participants from an activity in the participant management report
    TL-33942       Fixed error when showing menu item sortorder event in the logs
    TL-33945       Added a way to reset the course 'General' section heading back to its default state of hidden
    TL-33974       Fixed new playlist not appearing when returning directly to library
    TL-33996       Fixed errors in GraphQL queries when id is 0

                   Fixed the errors for following mod_perform GraphQL
                    * manually_delete_subject_instance when subject_instance_id is 0
                    * manually_delete_participant_instance when participant_instance_id is 0
                    * manually_change_participant_section when participant_section_id is 0

    TL-33998       Added form validation for performance activity repeating settings

                   Prior to this patch, entering out of range values for repeating trigger offset
                   and repeating limit resulted in a generic failure message generated by the back
                   end. This patch adds front end form validation with specific error messages.

    TL-34009       Updated section administration in performance activities to not show the "Move element to another section" button if there is no section to move the element to

                   Also fixed a bug where the current section wasn't being filtered out of the list
                   of other sections. 

    TL-34018       Fixed error in get_config GraphQL query when item_type is null
    TL-34028       Fixed scrolling to the wrong position when switching views on the competency profile page
    TL-34040       Fixed totara_topic_find_topics query called twice
    TL-34045       Added a space before date filters in report builder reports
    TL-34060       Fixed missing link to user profile on workspace members list
    TL-34087       Stopped the "edit link" Weka modal closing via backdrop click

                   Previously if you clicked anywhere outside the bounds of the edit box while
                   editing a link in Weka, the pop-up would close and your current changes would be
                   lost. This behaviour has been changed such that clicking outside the box will
                   not do anything, and to close the modal you will need to use the "done",
                   "cancel", or the top-right "X" buttons.

    TL-34091       Fixed that creating and immediately deleting a workspace discussion causes cron error message
    TL-34132       Fixed unnecessary refetch of container_workspace_search_users query after transfer-of-ownership mutation

Technical changes:

    TL-34168       Updated the minimum supported versions for MariaDB and MySQL

                   The readme has been updated with explicit minimum versions for both MariaDB and
                   MySQL.
                   
                   MariaDB we have set the minimum to the first stable release of each line. Alpha
                   and beta release versions are not supported.
                   
                   MySQL 8.0.1 is the minimum. MySQL 8.0 does not include the required encoding
                   Totara needs.
                   
                   In all cases, we recommend using the latest version in each database release
                   line.


Tui front end framework:

    TL-33687       Changed HTTP method from POST to GET when loading the data for a Totara dialogs
    TL-33920       Fixed an issue where importing Vue in ext_ Tui components would end up with a separate copy of Vue instead of referencing the one in the core bundle
    TL-33921       Implemented triggering an error to prevent the compilation of large SCSS files containing non-ASCII characters on PHP < 7.4 to hang

                   Due to PHP bug 72685, versions of PHP before 7.4 cannot efficiently run Unicode
                   regexes over large strings. We work around this by removing non-ASCII characters
                   from comments to avoid hitting the Unicode path where possible, and by erroring
                   instead of hanging on large files in order to communicate the source of the
                   problem.
                   
                   This behavior can be disabled through the "Allow unperformant CSS" option in the
                   Tui frontend framework settings.


Release 12.42 (26th April 2022):

Security issues:

    TL-33678       Fixed validation of CSRF token for report exports
    TL-33889       Fixed a capability check for the Upload user tool

                   A manager without the "moodle/user:delete" capability was able to delete users
                   by using the upload user tool, this has now been fixed.


Improvements:

    TL-32999       Improved help text about delete setting in user import when it is set to 'Suspend internal user'

                   Before, the implications of having the 'Delete' setting set to 'Suspend
                   internal user' for the user element in HR import were not well explained. Now,
                   we have provided help text information in the UI about it so it's clear what to
                   expect.

    TL-33679       Changed form action to 'GET' for manage dashboard single button

Bug fixes:

    TL-33648       Fixed error when trying to add already assigned courses to learning plan
    TL-33942       Fixed error when showing menu item sortorder event in the logs

Tui front end framework:

    TL-33687       Changed HTTP method from POST to GET when loading the data for a Totara dialogs

Release 11.51 (26th April 2022):

Improvements:

    TL-32999       Improved help text about delete setting in user import when it is set to 'Suspend internal user'

                   Before, the implications of having the 'Delete' setting set to 'Suspend
                   internal user' for the user element in HR import were not well explained. Now,
                   we have provided help text information in the UI about it so it's clear what to
                   expect.


Release 10.55 (26th April 2022):

Improvements:

    TL-32999       Improved help text about delete setting in user import when it is set to 'Suspend internal user'

                   Before, the implications of having the 'Delete' setting set to 'Suspend
                   internal user' for the user element in HR import were not well explained. Now,
                   we have provided help text information in the UI about it so it's clear what to
                   expect.