Totara Release Notes

Totara TXP 13.3, Totara Learn 12.65, 11.35 and 10.40

 
Riana Rossouw
Totara TXP 13.3, Totara Learn 12.65, 11.35 and 10.40
by Riana Rossouw - Wednesday, 23 December 2020, 5:31 PM
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.

A big thanks to the following people for their contributions to this release:

  • Alex Morris at Catalyst - TL-28101

Kind regards
Riana Rossouw


Release 13.3 (24th December 2020):

New features:

    TL-11172       Created virtual meeting service plugin architecture for seminar activities 

                   Created a new pluggable component to support integration with online
                   meeting service providers, an initial 'virtualmeeting' plugin for Microsoft
                   Teams, and support for virtualmeeting plugins in seminar rooms. 
                   
                   When a virtualmeeting plugin is selected as a seminar room's 'Virtual room
                   link', the plugin will attempt to create online meetings to match the
                   sessions to which the room is assigned. This is carried out via adhoc task
                   so that the user is not blocked during API calls to meeting service
                   providers. If the plugin is unable to create or update meetings, a
                   notification will be sent to the room creator.
                   
                   Because virtualmeeting plugins may rely on OAuth2 delegated permissions,
                   only the creator of a room may change the date and time of seminar sessions
                   to which it is assigned. There is also a limit of one virtualmeeting room
                   per seminar session.

    TL-25355       Rich text responses and file attachments are now supported via the Weka editor for the "Text: Long response" element in a performance activity
    TL-28632       Implemented bulk adding members to a workspace via an audience

                   This introduces a method to add members in bulk to a workspace by selecting
                   one or more audiences. All current members in the audience(s) will be added
                   as members to the workspace. This will happen in the background as an ad
                   hoc task to not block the interface for the users. The user who is using
                   this new feature will receive a notification once all members are added.

    TL-28877       Added the new flavour 'Learn Professional'

                   Developed a new flavour of Learn to deliver Learn Professional. See
                   https://totara.community/mod/forum/discuss.php?d=24797#p98628 and
                   https://help.totaralearning.com/display/TH13/Totara+Learn+Professional for
                   details.


Improvements:

    TL-11278       Fixed an accessibility issue in the course and category management page
    TL-11287       Improved the accessibility of the Filepicker
    TL-11290       Added the user name in role assign/unassign links

                   For course enrolment, the corresponding user name has been added to the
                   assign/unassign links so that screen readers can also read it out to the
                   user. This will assist disabled users in identifying the correct
                   assign/unassign links in relation to the user.

    TL-11313       Added accessible names to forum advanced searches
    TL-17223       Added option to make topic course format collapsible
    TL-21560       Added honoring of 'totara/cohort:managerules' capability in tenant context

                   Tenant members with the 'totara/cohort:managerules' capability are now able
                   to create or manage dynamic audiences.

    TL-21719       Added a UI for Report Builder default graph colours
    TL-24018       Improved the TUI popover component
    TL-24831       Added \core\hook\phpunit to core 
    TL-25031       Updated SearchBox and SearchFilter component usage and implementation

                   All components using the SearchBox and SearchFIlter components now have the
                   same look and feel.

    TL-25715       Added an alt text button to enhance the accessibility of images in the Weka editor
    TL-25795       Improved observers to decrease priority of recommended items that have been seen by user
    TL-25841       Added aria-haspopup as a prop for button-like components
    TL-26937       Cleaned up code and improved test coverage for component ml_recommender
    TL-27221       Improved location of error message when uploading a logo in Ventura theme settings
    TL-27230       Added a warning when switching tabs or navigating away with unsaved changes in Engage contribution modal
    TL-27330       Exposed aria label prop for draggable component
    TL-27336       Updated 'Your Library' side-panel to ensure it will always reach the bottom of the main page container
    TL-27337       Improved spacing on the log in page
    TL-27508       Improved display of progress doughnuts when viewing inside a report graph block
    TL-27624       Improved self-registration language strings
    TL-27885       Changed user profile social block name to 'contributions'
    TL-28053       Added support for audio transcript file and video caption file
    TL-28106       Added front-end tui editor abstraction so the system and user's editor preference settings are respected
    TL-28110       Added specific components and improved layout for printing performance activities
    TL-28319       Changed trash icon to remove playlists / resources to a remove icon
    TL-28384       Added support for custom footer and footer theme colours

                   Theme Appearance settings, for Themes based on Ventura, now have additional
                   settings:
                    * "Colours" tab which allows simple application of colour to the footer
                   background and text/links added to the footer.
                    * "Custom" tab which allows addition of text that will output into the
                   footer for the current Theme. This field also supports markup, so HTML
                   footers can be included and styled by a custom Theme or using the "Custom
                   CSS" setting.
                   
                   This footer setting equates to the HTML-mode "footnote" setting found in
                   Roots/Basis Themes.
                   
                   Note that the value of the custom footer field inherits to child Themes.
                   Within a child Theme the field can be emptied, the form saved, then the
                   inherited footer is not used.
                   
                   The Footer region affected has also been simplified, with logout button and
                   username removed.

    TL-28487       Added ability to use pre-login tenant themes, and to customise the login banner image in tenant theme settings

                   Previously, all tenant theme settings have necessarily taken effect after
                   login, because the tenant in use is determined by the user's tenant
                   membership.
                   
                   With this patch, administrators can toggle the tenant setting 'Enable
                   pre-login tenant themes,' which allows them to add
                   '?tenanttheme=tenantidentifier' to the site URL to create a tenant-specific
                   login page. The tenant theming will persist from session to session in the
                   same browser, until a user logs in who is not a tenant member.
                   
                   Tenant theme settings have also been extended to include the login banner
                   image and associated alt text.

    TL-28497       Prevented interactions with private workspaces and resources from being processed by the recommender system
    TL-28514       Added 'Course viewed' log record for Totara mobile app
    TL-28591       'Login as' functionality is now using full site-level switching from course profile if possible
    TL-28597       Added virtual scroll option for taglist core component
    TL-28620       Append subject instance creation time to performance activity title in user activity listing to distinguish repeating instances from each other
    TL-28645       Added workaround for duplicate tag name detection when invalid accent insensitive collation used in MySQL

                   Note that accent and case insensitive collations are not compatible with
                   tags implementation, please consider upgrading MySQL 5.7 and MariaDB to
                   MySQL 8.0 and switching to utf8mb4_0900_as_cs collation.

    TL-28702       Improved performance of badge award cron job when using programs criteria when just one of multiple programs is needed to be completed
    TL-28708       Added Python unit tests for the Recommender engine
    TL-28724       Modified the user-to-items recommendation process to reduce the weight of items already interacted with
    TL-28747       Improved weka editor's features

                   Several features have been changed:
                   1. Weka editor now no longer supports custom extension(s) that can be
                   introduced as a part of any other plugins
                   2. Core editor's API is now in charge of defining editor variant. Weka
                   editor no longer supports custom variants that are introduced by the
                   plugins. However, the variants for weka that had been introduced by
                   different plugins prior to this change are now a part of weka and these
                   should not be used anymore.
                   3. The file metadata is no longer a part of the weka metadata returned from
                   GraphQL. However, the file metadata will now be fetched at runtime.
                   4. APIs deprecation and behaviour of APIs are changed – for more
                   information please have a look into
                    * client/
                     ** component/container_workspace/src/upgrade.txt
                     ** comoponent/editor_weka/src/upgrade.txt
                     ** component/engage_article/src/upgrade.txt
                     ** component/performelement_static_content/src/upgrade.txt
                     ** component/totara_comment/src/upgrade.txt
                     ** component/totara_playlist/src/upgrade.txt
                    * server/
                     ** lib/editor/weka/upgrade.txt
                     ** totara/comment/upgrade.txt

    TL-28917       Refactored multi-section toggle to reuse the first section instead of recreating the section in performance activities

                   Previously, when switching from a multi-section to a single-section
                   performance activity all sections were removed and the single section
                   recreated. With this patch all elements will be moved to the first section
                   and only the now-empty sections will be deleted to keep the original
                   element records.

    TL-28957       Added loading indicator to audience adder add button
    TL-28984       Added contexturl and HTML-format message to totara_mobile_messages GraphQL query
    TL-29013       Removed default package name setting for the MS Teams app

                   The MS Teams app package name must be a globally unique value; the old
                   default value has been removed and cannot be used as a package name.

    TL-29034       Added hook to override which tenant theme settings are customizable

                   Clients can now use the hook \core\hook\tenant_customizable_theme_settings
                   to define the theme settings that can be customized for tenants.

    TL-29043       Added ARIA live region to Adder component

Bug fixes:

    TL-6314        Added accessible names to smileys in HTML Settings
    TL-6392        Fixed page titles to meet accessibility standards

                   Fixed titles include
                   
                   * competencies
                   * workspace and survey
                   * Record of Learning
                   * feedback activities
                   * forum activities
                   * quizzes
                   * catalogue, seminars and assignments

    TL-7251        Mark glossary tables as presentational to fix accessibility
    TL-7252        Mark wiki comment and map tables as presentational to fix accessibility
    TL-11279       Added text for the fieldset on the enrolment edit form
    TL-11322       Improved accessibility of checkboxes for 'View all alerts' page
    TL-11328       Fixed report builder filter page to add accessible name to inputs
    TL-12651       Added role attribute to table element for database module
    TL-23355       Prevented additional system roles from being deleted

                   Added more role ids (managerroleid, learnerroleid, assessorroleid,
                   performanceactivitycreatornewroleid, creatornewroleid, restorernewroleid)
                   to the list of roles which cannot be removed if they are assigned under
                   User Policies, and also introduced a hook to allow plugins to add to the
                   list.

    TL-25757       Added the ability to restore archived seminar sign-ups

                   When course completions are archived, any completed seminar signups are
                   also marked as archived, and kept for reporting purposes. Archived seminar
                   signups cannot be changed or removed from the system.
                   
                   This patch introduces a new capability,
                   mod/facetoface:managearchivedattendees, which allows a user to 'un-archive'
                   seminar signups. When a user has this capability they will see a 'Manage
                   archived users' action in the drop down menu on the 'Attendees' tab, which
                   will allow them to select archived signups to be restored to a regular
                   state.
                   
                   When a signup is restored, the attendance is set to 'Not set' and the grade
                   is set to empty. At that point the signup can be removed, or the
                   attendance/grade changed as necessary.

    TL-26449       Fixed duplicate IDs in nav menu items
    TL-26451       Added presentation role to the list item element in sub navigation
    TL-26542       Made new debounce tui function behat compatible by adding a pending
    TL-26859       Fixed embed setting for PDF course file resources
    TL-26999       Fixed content tab single section element count padding
    TL-27215       Fixed focus order bug on InlineEditing of Playlists on IE11
    TL-27502       Removed dependency on site theme settings when using custom tenant branding
    TL-27548       Tui development mode moderated content is now removed from cache when changes occur
    TL-27558       Fixed incorrect event context name in site logs

                   The event context for containers such as courses, workspaces and
                   performance activities are now prefixed by the corresponding container
                   name, rather than 'Course' for all container types.

    TL-27651       Removed 'Enrolled learning' and 'Goals' tabs from tenant audience page
    TL-27665       Fixed focus issue on buttons when enter key is pressed  
    TL-28032       Fixed themes inheriting custom settings from parent themes
    TL-28101       Fixed legacy seminar signup records stuck between 'manager approval required' and 'booked'

                   This patch adds an upgrade step that originally shipped with Totara 9, to
                   change any remaining seminar signup records with the old 'approved' status
                   code to 'declined'. All changes are logged.
                   
                   Signups with status code 'approved' were meant to transition immediately to
                   'booked' but because of bugs or race conditions there may be records which
                   got stuck at 'approved'. The associated users would not have been notified,
                   and they would not have been able to complete the activity on the affected
                   signup. Such a bug was discovered in 2014, and an upgrade step in Totara 9
                   should have removed any affected records, but the potential for this to
                   happen exists in Totara 9, 10, and 11.
                   
                   The 'approved' status code (50) was removed in Totara 12; approved seminar
                   signups transition directly to 'booked' with no intermediate state.

    TL-28127       Fixed incorrect image aspect ratios on 'Recently viewed' dashboard cards
    TL-28138       Fixed an issue with the enter key incorrectly refreshing the Perform manage activities page while adding a new activity.
    TL-28297       Fixed notice being thrown during web install due to config cache being created by another request
    TL-28464       Fixed public access to custom default images for playlists and resources

                   The 'Allow public access to catalog item images' setting allows
                   administrators to bypass login requirements for catalog images, in case
                   they need to make preview images available to third-parties such as
                   Microsoft Teams.
                   
                   Previously there was a bug in this feature that prevented custom default
                   images for Engage playlists and resources, added via theme settings, from
                   being available without login. The bug has been fixed, and unit tests were
                   added to prevent future problems. 

    TL-28582       Added customised alt text for article image
    TL-28628       Ensured competency achievement paths honour disabled features for Learning Plans
    TL-28642       Fixed embedded images being lost when editing workspace discussions
    TL-28648       Fixed bulk user actions not respecting language-specific name order
    TL-28655       Added badges to user profile on install and upgrade and removed badge preferences link
    TL-28671       Fixed accessibility for multi-choice component
    TL-28689       Fixed TUI JSON mediator to return valid JSON data when file is not found instead of "/** File not found */"

                   The TUI mediators, forJSON files that don't exist, used to return "/** File
                   not found */" but this is not valid JSON syntax. This has been replaced by
                   a 'null' response instead.

    TL-28762       Fixed seminar facilitator user assignment search limit

                   The selection dialogue for linking a user to a seminar facilitator record
                   has a display limit of 1000 users; beyond that an admin needs to use the
                   search feature to select the user they want. However, the search feature
                   did not remove the 1000-record limit, preventing the selection of most
                   users in a large site. This has been fixed.

    TL-28766       Fixed missing support for report builder content restriction classes in plugins
    TL-28777       Fixed logic of delete unconfirmed users task

                   Unconfirmed users task was incorrectly using the firstaccess field to
                   determine when to delete an unconfirmed user however firstaccess is never
                   populated until the user first logs in (which requires them to be
                   confirmed). The task is now correctly using timecreated.

    TL-28779       Fixed image reset icon not displaying in theme settings

                   Fixed bug that caused the trash icon to not display for the program and
                   certification images in theme settings.

    TL-28785       Added numeric equivalent to 'any' option in assignavailability field for competencies in HR Import

                   All other valid options for for setting 'assignavailability' for a
                   competency in HR Import have a numeric equivalent to maintain consistency
                   – '3' has been added as the equivalent to 'any'.

    TL-28807       Replaced Engage Warning Modal component with core Confirmation Modal
    TL-28808       Fixed SQL in the 'In Progress' column of the Course Completions by Organisation Report Builder report
    TL-28829       Fixed invalid configuration defaults in Current learning block
    TL-28838       Removed unused recommender export classes
    TL-28844       Removed incompatible name 'is empty' filter from seminar room, asset, and facilitator reports
    TL-28853       Stopped event being fired twice when creating records in database activity
    TL-28854       Use supplied ariaLabelExtension in ImageUploadSetting component
    TL-28856       Fixed embedding external images in articles and playlists 
    TL-28862       Fixed various validation issues in the multichoice-multiselect element in performance activities
    TL-28864       Fixed microlearning resources not appearing in the 'Recommended For You' block
    TL-28865       Fixed bug where recommenders engine crashed after moving users between tenants
    TL-28879       Fixed display of playlist shares on the 'Settings' page when adding a resource to a playlist
    TL-28918       Fixed error when moving a topic item to the last item in a course topic
    TL-28929       Added upgrade step removing obsolete static content element files for deleted performance activities
    TL-28934       Fixed PHP undefined variable notice in the webservices documentation
    TL-28935       Fixed target="_blank" being removed by XSS cleaning in the Atto editor
    TL-28936       Removed the hardcoded 60 megabytes upload file size limit in the Weka editor 

                   Weka editor now falls back to the maximum bytes setting from the system
                   rather than using the hardcoded 60MB.

    TL-28941       Fixed warning about including additional name in user repository
    TL-28951       Added support to remove the interactions of the users who are not found in tenant user data
    TL-28961       Learner role now marked as compatible with program role assignments in Unsupported role assignments report
    TL-28964       Fixed error when accessing courses in program or certification through current learning block
    TL-28981       Fixed Record of Learning for course to only display course records

                   Without the patch, the record of learning report was displaying the
                   non-learning course records on the report. This patch fixes the issue and
                   now only displays course records.

    TL-28982       Converted the hashtag match to a hashtag node in weka editor when export to json document
    TL-28985       Fixed string debugging parameters not working with Vue

                   When the debugstringids functionality is enabled, lang strings in Vue
                   components will now show their key and component.

    TL-28996       Fixed "out of memory" issue caused by visibility issue in the Main Menu

                   Some Main menu custom visibility configurations are incompatible with
                   changes introduced in Totara 13. If a site with these incompatible
                   configurations is upgraded to Totara 13 it will get into a state where the
                   site cannot be accessed. This upgrade fix corrects the incompatible
                   configuration preventing the site from becoming unusable.

    TL-29005       Fixed incorrect unique parameters in DML drivers
    TL-29017       Fixed custom CSS rendering for the Venture theme in IE11
    TL-29026       Fixed GraphQL error in the competency profile when an assigned competency's scale had a non-integer numeric scale value
    TL-29041       Fixed incorrect strings for performance activity visibility conditions
    TL-29061       Email obfuscation was fixed to be compatible with special characters in emails
    TL-29066       Fixed display of escaped characters in section title on performance activity content elements edit page

Contributions:

    * Alex Morris at Catalyst - TL-28101

Tui front end framework:

    TL-26518       The TUI framework is now loaded on every page

                   Prior to this change Tui was only ever loaded when needed. This however
                   meant that components depending on attribute auto-initialisation held a
                   dependency on at least one other Tui component existing on the page.
                   The Tui framework is now loaded on all pages, ensuring that attribute
                   auto-initialisation is always available.


Release 12.26 (24th December 2020):

Improvements:

    TL-28591       'Login as' functionality is now using full site-level switching from course profile if possible
    TL-28645       Added workaround for duplicate tag name detection when invalid accent insensitive collation used in MySQL

                   Note that accent and case insensitive collations are not compatible with
                   tags implementation, please consider upgrading MySQL 5.7 and MariaDB to
                   MySQL 8.0 and switching to utf8mb4_0900_as_cs collation.

    TL-28702       Improved performance of badge award cron job when using programs criteria when just one of multiple programs is needed to be completed

Bug fixes:

    TL-28101       Fixed legacy seminar signup records stuck between 'manager approval required' and 'booked'

                   This patch adds an upgrade step that originally shipped with Totara 9, to
                   change any remaining seminar signup records with the old 'approved' status
                   code to 'declined'. All changes are logged.
                   
                   Signups with status code 'approved' were meant to transition immediately to
                   'booked' but because of bugs or race conditions there may be records which
                   got stuck at 'approved'. The associated users would not have been notified,
                   and they would not have been able to complete the activity on the affected
                   signup. Such a bug was discovered in 2014, and an upgrade step in Totara 9
                   should have removed any affected records, but the potential for this to
                   happen exists in Totara 9, 10, and 11.
                   
                   The 'approved' status code (50) was removed in Totara 12; approved seminar
                   signups transition directly to 'booked' with no intermediate state.

    TL-28648       Fixed bulk user actions not respecting language-specific name order
    TL-28777       Fixed logic of delete unconfirmed users task

                   Unconfirmed users task was incorrectly using the firstaccess field to
                   determine when to delete an unconfirmed user however firstaccess is never
                   populated until the user first logs in (which requires them to be
                   confirmed). The task is now correctly using timecreated.

    TL-28784       Fixed competency being automatically completed when linked course completion deleted
    TL-28808       Fixed SQL in the 'In Progress' column of the Course Completions by Organisation Report Builder report
    TL-28853       Stopped event being fired twice when creating records in database activity
    TL-28961       Learner role now marked as compatible with program role assignments in Unsupported role assignments report
    TL-29005       Fixed incorrect unique parameters in DML drivers

Contributions:

    * Alex Morris at Catalyst - TL-28101

Release 11.35 (24th December 2020):

Bug fixes:

    TL-28716       Updated facetoface_update_attendees() so notifications are not sent after a session is cancelled
    TL-28777       Fixed logic of delete unconfirmed users task

                   Unconfirmed users task was incorrectly using the firstaccess field to
                   determine when to delete an unconfirmed user however firstaccess is never
                   populated until the user first logs in (which requires them to be
                   confirmed). The task is now correctly using timecreated.


Release 10.40 (24th December 2020):

Bug fixes:

    TL-28777       Fixed logic of delete unconfirmed users task

                   Unconfirmed users task was incorrectly using the firstaccess field to
                   determine when to delete an unconfirmed user however firstaccess is never
                   populated until the user first logs in (which requires them to be
                   confirmed). The task is now correctly using timecreated.