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.
