Hello everyone,
The following versions of Totara Learn have now been released:
- Release Evergreen
- Release 12.15
- Release 11.24
- Release 10.30
- Release 9.41
- Release 2.9.50
- Release 2.7.57
- Release 2.6.74
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:
- Russell England at Kineo USA - TL-23625
Kind regardsSam Hemelryk
Release Evergreen (26th February 2020):
Key: + Evergreen only
Important:
TL-23764 Chrome 80: SameSite=None is now only set if you are using secure cookies and HTTPS
Prior to this change if you were not running your Totara site over HTTPS,
and upgraded to Chrome 80 then you not be able to log into your site.
This was because Chrome 80 was rejecting the cookie as it had the SameSite
attribute set to None and the Secure flag was not set (as you were not
running over HTTPS).
After upgrading SameSite will be left for Chrome to default a value for.
You will be able to log in, but may find that third party content on your
site does not work.
In order to ensure that your site performs correctly please upgrade your
site to use HTTPS and enable the Secure Cookies setting within Totara if it
is not already enabled.
Security issues:
TL-23950 Added sanitisation of send messages before they are displayed in messaging interface
TL-24133 Ensured content was encoded before being used within aria-labels when viewing the users list
Performance improvements:
TL-22894 Added course, program, and certification visibility map tables to improve performance of visibility-related queries
Previously, the database query used to compute which learning items were
visible to the user involved a large number of joins and subqueries to
resolve the roles held by the user in each context, and whether those roles
had the capability to view hidden items. Additionally, it did not take into
account the ability of admins to prohibit roles in category contexts.
In some database management systems, particularly with large numbers of
courses and deep category trees, this approach resulted in unacceptable
performance. This was especially noticeable when computing the number of
items visible in each category in the 'Category' catalogue.
With this patch, we now pre-compute which roles can see each course,
program, and certification in the system, and store the resulting
visibility maps in the database. The creation of this map is quick, and
greatly simplifies queries that involve visibility. It also improves
accuracy in sites that prohibit the capability to view hidden learning
items in some categories.
There is a new scheduled
task, totara_core\task\visibility_map_regenerate_all, which regenerates
the visibility maps every hour by default. Also, whenever a category,
learning item, or roles is updated, an ad_hoc task is queued to regenerate
the appropriate map(s). As such, there may be a delay between when changes
are made, and when items are considered hidden/visible to particular roles
by queries which check visibility.
Improvements:
TL-19290 HTTP only cookies are now enabled by default
TL-22721 Backported MDL-57968 core_message: Remove multiple unnecessary AJAX requests
TL-23127 Removed redundant 'Enable' checkbox for temporary manager expiry date
Temporary managers must always have an expiry date.
TL-23158 Added a new option 'CSV Grade format' to the 'Upload Completion Records' page
Also improved the override method to be able to choose from 'Never',
'Always' and 'Only if more recent'
TL-23278 Improved UI for attendees with course completion archive records
Previously, if a trainer tried to remove seminar attendees with archived
course completions from seminar sessions, an error message appeared without
much explanation.
The behaviour of seminar signups when course completion records are
archived is unusual, as most activity records are removed during the
completion archive process. Seminar signups must be kept in the system for
reporting purposes, so they are flagged as archived and considered to be
locked and unalterable.
This patch makes the following clarifications for trainers and admins
around archived seminar signups:
* Attendees with archived course completions are disabled in the 'Remove
users' form, so a trainer cannot select and remove them from the past
seminar sessions.
* On the 'Take attendance' page, the attendance fields of attendees with
archived course completions are locked and disabled, signifying that they
may not be changed.
* A warning message appears at the top of the 'Take attendance' page if
attendees with archived course completions are present, explaining why
attendance fields are disabled for some or all attendees.
TL-23683 Added support for activity tags in Seminar, SCORM, and Feedback modules
TL-23691 Increased the width of the course selection menu in course completion settings so that longer course names are displayed in full
TL-23832 Improved automated generation of label names
Bug fixes:
TL-7631 Conditional fields when editing certification course sets are now correctly disabled when not relevant
TL-23072 Fixed columns and filters for course and audience tags in the report builder
TL-23081 Prevented learners from requesting manager approval for seminar events that conflict with their existing approval requests
Previously when multiple seminar events existed with manager approval and
the same date and time, learners were able to request approval for
conflicting events. This caused confusion when managers tried to approve
the request but got date conflict errors instead.
This patch ensures that learners can only request approval for seminars
that do not conflict with other seminars they have already requested
approval for.
TL-23173 Fixed error displayed in report builder when user session timed out
TL-23362 Stopped seminar manager reservation links from being displayed when sign-up period is not open
TL-23420 Changed the 'Attendee name' column in seminar reports so that it displays 'Reserved' for manager reservations, instead of being blank
TL-23577 Fixed URL validation in Totara Featured Links and Quick Links blocks to allow local URLs
With the release of Totara 12.9, URL validation in the Featured Link and
Quick Links blocks was changed to allow the use of grid catalogue URLs with
square brackets in the query part. The change removed the ability to use
local URLs (URIs starting with '/') in those blocks.
This fix reenables support for local URLs. Any Featured Links static tiles
that were created with local URLs prior to Totara 12.9, and edited with
Totara 12.9+, will have been converted to a standard URL, and will need to
be manually edited after upgrade and converted back to a local URL.
Additionally, this patch makes the URL field optional for Featured Links
static tiles, allowing the creation of tiles that are not linked.
TL-23625 Fixed being able to uncheck 'Send to self' for Report Builder scheduled reports
TL-23632 Removed access_token class which references invalid database table
TL-23647 Fixed 'Declare interest' functionality when a user is booked onto a past event
Previously a "When no upcoming events are available" option is enabled for
Seminar, the "Declare interest" functionality worked for no upcoming events
and no past events if a user is booked onto a past event. Now it is fixed
and the user can declare interest if there are no upcoming events and the
user booked onto past events.
TL-23654 Made sure that all courses (completed and in progress) are being reset during re-certification window open stage
The behaviour of manual completions archive remains unchanged (i.e. only
completions or completions via RPL are archived during manual course
reset).
TL-23659 Fixed OAuth compatibility with login block
TL-23672 The log in block now uses the correct Totara connect icon
TL-23673 Made sure audience name is correctly formatted in the breadcrumbs on the Rule Sets page
TL-23674 Fixed the display of server status on Totara Connect Servers page in administration
Previously the server status would not be correctly displayed for a server
where deletion was in progress.
TL-23677 Changed the warning language string about column aggregations to soften the message
TL-23740 Fixed compatibility with UUID PHP extension
TL-23751 Made sure "Manage user reports" and "Manage embedded reports" can be added to the admin dropdown menu
TL-23755 Prevent upload files link on HR Import CSV source settings pages showing when configuration is not complete
When the configuration is not complete clicking the link would result in an
error being shown. The link no longer shows until the minimum configuration
is completed.
TL-23757 Blocks in the bottom region are now contained in a HTML element with "region-bottom" id
Previously this element had the HTML id "region-top"
TL-23772 Made sure export controls in hierarchy frameworks are present only when at least one framework is exists and visible to a user
TL-23776 Made sure aria-hidden works correctly on the YUI dialogues
TL-23808 Fixed seminar manager reservations always being sent to booked state
Prior to this patch, seminar manager reservations were always given a
booked signup state, even if the seminar was set to send bookings to the
waitlist.
This has been fixed, and manager reservations are treated like other
signups. This patch also fixes a bug in the events dashboard that
misrepresented the number of wait-listed users on an overbooked event.
TL-23834 Added horizontal scrolling to wiki revisions table
TL-23852 The current learning block no longer triggers a re-aggregation of program courseset completion
The current learning block in some situations was causing program courseset
completion to be re-aggregated, leading to courseset completion time being
incorrectly updated if the courseset had already been completed.
This has been fixed and the courseset completion date is no longer updated
after it has been initially set.
TL-23903 Fixed slot id generation when displaying multianswer (cloze) questions
TL-23949 Added missing task name string for OAuth system token refresh task
The name string for the OAuth2 system token refresh task was omitted from
TL-20583.
Contributions:
* Russell England at Kineo USA - TL-23625
Release 12.15 (26th February 2020):
Important:
TL-23764 Chrome 80: SameSite=None is now only set if you are using secure cookies and HTTPS
Prior to this change if you were not running your Totara site over HTTPS,
and upgraded to Chrome 80 then you not be able to log into your site.
This was because Chrome 80 was rejecting the cookie as it had the SameSite
attribute set to None and the Secure flag was not set (as you were not
running over HTTPS).
After upgrading SameSite will be left for Chrome to default a value for.
You will be able to log in, but may find that third party content on your
site does not work.
In order to ensure that your site performs correctly please upgrade your
site to use HTTPS and enable the Secure Cookies setting within Totara if it
is not already enabled.
Security issues:
TL-23950 Added sanitisation of send messages before they are displayed in messaging interface
TL-24133 Ensured content was encoded before being used within aria-labels when viewing the users list
Performance improvements:
TL-22894 Added course, program, and certification visibility map tables to improve performance of visibility-related queries
Previously, the database query used to compute which learning items were
visible to the user involved a large number of joins and subqueries to
resolve the roles held by the user in each context, and whether those roles
had the capability to view hidden items. Additionally, it did not take into
account the ability of admins to prohibit roles in category contexts.
In some database management systems, particularly with large numbers of
courses and deep category trees, this approach resulted in unacceptable
performance. This was especially noticeable when computing the number of
items visible in each category in the 'Category' catalogue.
With this patch, we now pre-compute which roles can see each course,
program, and certification in the system, and store the resulting
visibility maps in the database. The creation of this map is quick, and
greatly simplifies queries that involve visibility. It also improves
accuracy in sites that prohibit the capability to view hidden learning
items in some categories.
There is a new scheduled
task, totara_core\task\visibility_map_regenerate_all, which regenerates
the visibility maps every hour by default. Also, whenever a category,
learning item, or roles is updated, an ad_hoc task is queued to regenerate
the appropriate map(s). As such, there may be a delay between when changes
are made, and when items are considered hidden/visible to particular roles
by queries which check visibility.
Improvements:
TL-19290 HTTP only cookies are now enabled by default
TL-22721 Backported MDL-57968 core_message: Remove multiple unnecessary AJAX requests
TL-23127 Removed redundant 'Enable' checkbox for temporary manager expiry date
Temporary managers must always have an expiry date.
TL-23158 Added a new option 'CSV Grade format' to the 'Upload Completion Records' page
TL-23278 Improved UI for attendees with course completion archive records
Previously, if a trainer tried to remove seminar attendees with archived
course completions from seminar sessions, an error message appeared without
much explanation.
The behaviour of seminar signups when course completion records are
archived is unusual, as most activity records are removed during the
completion archive process. Seminar signups must be kept in the system for
reporting purposes, so they are flagged as archived and considered to be
locked and unalterable.
This patch makes the following clarifications for trainers and admins
around archived seminar signups:
* Attendees with archived course completions are disabled in the 'Remove
users' form, so a trainer cannot select and remove them from the past
seminar sessions.
* On the 'Take attendance' page, the attendance fields of attendees with
archived course completions are locked and disabled, signifying that they
may not be changed.
* A warning message appears at the top of the 'Take attendance' page if
attendees with archived course completions are present, explaining why
attendance fields are disabled for some or all attendees.
TL-23683 Added support for activity tags in Seminar, SCORM, and Feedback modules
TL-23691 Increased the width of the course selection menu in course completion settings so that longer course names are displayed in full
TL-23832 Improved automated generation of label names
Bug fixes:
TL-7631 Conditional fields when editing certification course sets are now correctly disabled when not relevant
TL-23072 Fixed columns and filters for course and audience tags in the report builder
TL-23081 Prevented learners from requesting manager approval for seminar events that conflict with their existing approval requests
Previously when multiple seminar events existed with manager approval and
the same date and time, learners were able to request approval for
conflicting events. This caused confusion when managers tried to approve
the request but got date conflict errors instead.
This patch ensures that learners can only request approval for seminars
that do not conflict with other seminars they have already requested
approval for.
TL-23173 Fixed error displayed in report builder when user session timed out
TL-23362 Stopped seminar manager reservation links from being displayed when sign-up period is not open
TL-23420 Changed the 'Attendee name' column in seminar reports so that it displays 'Reserved' for manager reservations, instead of being blank
TL-23577 Fixed URL validation in Totara Featured Links and Quick Links blocks to allow local URLs
With the release of Totara 12.9, URL validation in the Featured Link and
Quick Links blocks was changed to allow the use of grid catalogue URLs with
square brackets in the query part. The change removed the ability to use
local URLs (URIs starting with '/') in those blocks.
This fix reenables support for local URLs. Any Featured Links static tiles
that were created with local URLs prior to Totara 12.9, and edited with
Totara 12.9+, will have been converted to a standard URL, and will need to
be manually edited after upgrade and converted back to a local URL.
TL-23625 Fixed being able to uncheck 'Send to self' for Report Builder scheduled reports
TL-23632 Removed access_token class which references invalid database table
TL-23647 Fixed 'Declare interest' functionality when a user is booked onto a past event
Previously a "When no upcoming events are available" option is enabled for
Seminar, the "Declare interest" functionality worked for no upcoming events
and no past events if a user is booked onto a past event. Now it is fixed
and the user can declare interest if there are no upcoming events and the
user booked onto past events.
TL-23654 Made sure that all courses (completed and in progress) are being reset during re-certification window open stage
The behaviour of manual completions archive remains unchanged (i.e. only
completions or completions via RPL are archived during manual course
reset).
TL-23659 Fixed OAuth compatibility with login block
TL-23672 The log in block now uses the correct Totara connect icon
TL-23673 Made sure audience name is correctly formatted in the breadcrumbs on the Rule Sets page
TL-23674 Fixed the display of server status on Totara Connect Servers page in administration
Previously the server status would not be correctly displayed for a server
where deletion was in progress.
TL-23677 Changed the warning language string about column aggregations to soften the message
TL-23740 Fixed compatibility with UUID PHP extension
TL-23751 Made sure "Manage user reports" and "Manage embedded reports" can be added to the admin dropdown menu
TL-23755 Prevent upload files link on HR Import CSV source settings pages showing when configuration is not complete
When the configuration is not complete clicking the link would result in an
error being shown. The link no longer shows until the minimum configuration
is completed.
TL-23757 Blocks in the bottom region are now contained in a HTML element with "region-bottom" id
Previously this element had the HTML id "region-top"
TL-23772 Made sure export controls in hierarchy frameworks are present only when at least one framework is exists and visible to a user
TL-23776 Made sure aria-hidden works correctly on the YUI dialogues
TL-23808 Fixed seminar manager reservations always being sent to booked state
Prior to this patch, seminar manager reservations were always given a
booked signup state, even if the seminar was set to send bookings to the
waitlist.
This has been fixed, and manager reservations are treated like other
signups. This patch also fixes a bug in the events dashboard that
misrepresented the number of wait-listed users on an overbooked event.
TL-23834 Added horizontal scrolling to wiki revisions table
TL-23852 The current learning block no longer triggers a re-aggregation of program courseset completion
The current learning block in some situations was causing program courseset
completion to be re-aggregated, leading to courseset completion time being
incorrectly updated if the courseset had already been completed.
This has been fixed and the courseset completion date is no longer updated
after it has been initially set.
TL-23903 Fixed slot id generation when displaying multianswer (cloze) questions
TL-23949 Added missing task name string for OAuth system token refresh task
The name string for the OAuth2 system token refresh task was omitted from
TL-20583.
Contributions:
* Russell England at Kineo USA - TL-23625
Release 11.24 (26th February 2020):
Important:
TL-23764 Chrome 80: SameSite=None is now only set if you are using secure cookies and HTTPS
Prior to this change if you were not running your Totara site over HTTPS,
and upgraded to Chrome 80 then you not be able to log into your site.
This was because Chrome 80 was rejecting the cookie as it had the SameSite
attribute set to None and the Secure flag was not set (as you were not
running over HTTPS).
After upgrading SameSite will be left for Chrome to default a value for.
You will be able to log in, but may find that third party content on your
site does not work.
In order to ensure that your site performs correctly please upgrade your
site to use HTTPS and enable the Secure Cookies setting within Totara if it
is not already enabled.
Security issues:
TL-23950 Added sanitisation of send messages before they are displayed in messaging interface
TL-24133 Ensured content was encoded before being used within aria-labels when viewing the users list
Improvements:
TL-23127 Removed redundant 'Enable' checkbox for temporary manager expiry date
Temporary managers must always have an expiry date.
TL-23683 Added support for activity tags in Seminar, SCORM, and Feedback modules
TL-23691 Increased the width of the course selection menu in course completion settings so that longer course names are displayed in full
TL-23832 Improved automated generation of label names
Bug fixes:
TL-7631 Conditional fields when editing certification course sets are now correctly disabled when not relevant
TL-23072 Fixed columns and filters for course and audience tags in the report builder
TL-23173 Fixed error displayed in report builder when user session timed out
TL-23625 Fixed being able to uncheck 'Send to self' for Report Builder scheduled reports
TL-23647 Fixed 'Declare interest' functionality when a user is booked onto a past event
Previously a "When no upcoming events are available" option is enabled for
Seminar, the "Declare interest" functionality worked for no upcoming events
and no past events if a user is booked onto a past event. Now it is fixed
and the user can declare interest if there are no upcoming events and the
user booked onto past events.
TL-23673 Made sure audience name is correctly formatted in the breadcrumbs on the Rule Sets page
TL-23740 Fixed compatibility with UUID PHP extension
TL-23768 Added manager reservations to seminar wait-list report
TL-23852 The current learning block no longer triggers a re-aggregation of program courseset completion
The current learning block in some situations was causing program courseset
completion to be re-aggregated, leading to courseset completion time being
incorrectly updated if the courseset had already been completed.
This has been fixed and the courseset completion date is no longer updated
after it has been initially set.
TL-23871 The quiz navigation block now correctly scrolls you to a question when clicking on the question navigation link
This is a backport of Moodle MDL-65883
TL-23903 Fixed slot id generation when displaying multianswer (cloze) questions
Contributions:
* Russell England at Kineo USA - TL-23625
Release 10.30 (26th February 2020):
Important:
TL-23764 Chrome 80: SameSite=None is now only set if you are using secure cookies and HTTPS
Prior to this change if you were not running your Totara site over HTTPS,
and upgraded to Chrome 80 then you not be able to log into your site.
This was because Chrome 80 was rejecting the cookie as it had the SameSite
attribute set to None and the Secure flag was not set (as you were not
running over HTTPS).
After upgrading SameSite will be left for Chrome to default a value for.
You will be able to log in, but may find that third party content on your
site does not work.
In order to ensure that your site performs correctly please upgrade your
site to use HTTPS and enable the Secure Cookies setting within Totara if it
is not already enabled.
Security issues:
TL-23950 Added sanitisation of send messages before they are displayed in messaging interface
TL-24133 Ensured content was encoded before being used within aria-labels when viewing the users list
Bug fixes:
TL-7631 Conditional fields when editing certification course sets are now correctly disabled when not relevant
TL-23740 Fixed compatibility with UUID PHP extension
TL-23852 The current learning block no longer triggers a re-aggregation of program courseset completion
The current learning block in some situations was causing program courseset
completion to be re-aggregated, leading to courseset completion time being
incorrectly updated if the courseset had already been completed.
This has been fixed and the courseset completion date is no longer updated
after it has been initially set.
TL-23871 The quiz navigation block now correctly scrolls you to a question when clicking on the question navigation link
This is a backport of Moodle MDL-65883
TL-23903 Fixed slot id generation when displaying multianswer (cloze) questions
Release 9.41 (26th February 2020):
Important:
TL-23764 Chrome 80: SameSite=None is now only set if you are using secure cookies and HTTPS
Prior to this change if you were not running your Totara site over HTTPS,
and upgraded to Chrome 80 then you not be able to log into your site.
This was because Chrome 80 was rejecting the cookie as it had the SameSite
attribute set to None and the Secure flag was not set (as you were not
running over HTTPS).
After upgrading SameSite will be left for Chrome to default a value for.
You will be able to log in, but may find that third party content on your
site does not work.
In order to ensure that your site performs correctly please upgrade your
site to use HTTPS and enable the Secure Cookies setting within Totara if it
is not already enabled.
Security issues:
TL-24133 Ensured content was encoded before being used within aria-labels when viewing the users list
Bug fixes:
TL-7631 Conditional fields when editing certification course sets are now correctly disabled when not relevant
TL-23740 Fixed compatibility with UUID PHP extension
TL-23852 The current learning block no longer triggers a re-aggregation of program courseset completion
The current learning block in some situations was causing program courseset
completion to be re-aggregated, leading to courseset completion time being
incorrectly updated if the courseset had already been completed.
This has been fixed and the courseset completion date is no longer updated
after it has been initially set.
Release 2.9.50 (26th February 2020):
Important:
TL-23764 Chrome 80: SameSite=None is now only set if you are using secure cookies and HTTPS
Prior to this change if you were not running your Totara site over HTTPS,
and upgraded to Chrome 80 then you not be able to log into your site.
This was because Chrome 80 was rejecting the cookie as it had the SameSite
attribute set to None and the Secure flag was not set (as you were not
running over HTTPS).
After upgrading SameSite will be left for Chrome to default a value for.
You will be able to log in, but may find that third party content on your
site does not work.
In order to ensure that your site performs correctly please upgrade your
site to use HTTPS and enable the Secure Cookies setting within Totara if it
is not already enabled.
Security issues:
TL-24133 Ensured content was encoded before being used within aria-labels when viewing the users list
Release 2.7.57 (26th February 2020):
Important:
TL-23764 Chrome 80: SameSite=None is now only set if you are using secure cookies and HTTPS
Prior to this change if you were not running your Totara site over HTTPS,
and upgraded to Chrome 80 then you not be able to log into your site.
This was because Chrome 80 was rejecting the cookie as it had the SameSite
attribute set to None and the Secure flag was not set (as you were not
running over HTTPS).
After upgrading SameSite will be left for Chrome to default a value for.
You will be able to log in, but may find that third party content on your
site does not work.
In order to ensure that your site performs correctly please upgrade your
site to use HTTPS and enable the Secure Cookies setting within Totara if it
is not already enabled.
Release 2.6.74 (26th February 2020):
Important:
TL-23764 Chrome 80: SameSite=None is now only set if you are using secure cookies and HTTPS
Prior to this change if you were not running your Totara site over HTTPS,
and upgraded to Chrome 80 then you not be able to log into your site.
This was because Chrome 80 was rejecting the cookie as it had the SameSite
attribute set to None and the Secure flag was not set (as you were not
running over HTTPS).
After upgrading SameSite will be left for Chrome to default a value for.
You will be able to log in, but may find that third party content on your
site does not work.
In order to ensure that your site performs correctly please upgrade your
site to use HTTPS and enable the Secure Cookies setting within Totara if it
is not already enabled.
