Hello everyone,
The following versions of Totara Learn have now been released:
- Release Evergreen
- Release 11.8
- Release 10.14
- Release 9.25
- Release 2.9.37
- Release 2.7.45
- Release 2.6.62
- Release 2.5.68
These versions do contain security fixes, and for this reason we strongly recommend upgrade.
Each release also includes bug fixes and improvements.
Kind regards
Riana Rossouw
Release Evergreen (25th October 2018):
Key: + Evergreen only
Security issues:
TL-18957 Fixed permission checks for learning plans
Prior to this patch all plan templates were being checked to see if a user
had a permission (e.g. update plan). Now only the template that the plan is
based off is checked for the permission.
New features:
TL-16649 + Added reusable select and region UI components
The new select components are:
* Multi select - Similar to a multiple select and can return multiple
options
* Single select tree - Similar to a single select dropdown that allows
nestable options
* Text search - A stylised text input field with search icon
These are designed for use inside the added region container which has
'clear all' functionality. Initially these will be used in the new
catalogue.
TL-17603 + Added reusable UI grid component
Added a reusable UI component for displaying content in a grid format. The
component includes events for setting an active tile state based on user
clicks.
TL-19014 Implemented new capabilities for controlling the access to SCORM content
Previously all users who could enter a course were able to launch SCORM
activities.
The only way to limit access was to make the activity hidden and then to
use the moodle/course:viewhiddenactivities capability to grant access.
Two new capabilities have been added to allow better control of access to
SCORM activities.
* mod/scorm:view
* mod/scorm:launch
Improvements:
TL-6152 + Added an RPL note column to the Course completion report source
A new column "RPL note" has been added to the Course completion report
source.
This column contains the note provided when users were manually awarded an
RPL completion.
If it is not an RPL completion, or if no note was provided then the column
will be empty.
The new column was added to the course completion report source only.
TL-8092 + Added a 'Date Completed' filter to the program overview report source
TL-12955 + Added a dynamic audience rule for user's authentication method
TL-17580 + Refactored and simplified the Flex icon AMD JavaScript module
TL-17586 Greatly improved the performance of the update competencies scheduled task
The scheduled task to reaggregate the competencies
"\totara_hierarchy\task\update_competencies_task" was refactored to fix a
memory leak. The scheduled task now loops through the users and loads and
reaggregates items per user and not in one huge query as before. This
minimises impact on memory but increases number of queries and runtime.
TL-17719 + Converted front page content to use the new centre block region
The following blocks have been introduced for backward compatibility:
* Course progress report
* Courses and categories
* Course search
"Course progress report" and "Courses and categories" blocks are disabled
by default in new installations, and only enabled on upgrade if the
respective front page content settings were enabled.
TL-17835 + Improved calendar popover
Previously this was using a YUI module. This has now been updated to use
the Bootstrap popover.
TL-17850 + Improved colour of text input placeholders in Totara forms
TL-17974 + Site-wide settings for HR Import can now be overridden by element
The HR Import page for 'General settings' has been renamed to 'Default
settings'. This page includes the same settings as previously, but will
also list which elements are using a given setting area.
Element setting pages now contain settings relating to file access,
notifications and scheduling. These settings allow you to select the
default settings to apply or to override them with values that will apply
to that element.
Following the upgrade, values from 'General settings' will remain unchanged
in the 'Default settings' page. Any enabled elements will use the default
settings until changed.
TL-18554 + Introduced common block settings and API to manage those
The idea of the common block settings API is to allow core developers to
have predictable common settings storage for all the blocks and if
necessary, introduce properties which cover all block types without
interfering with settings provided the by third-party block developers.
It also includes a few minor changes for block configuration: hiding,
docking and show header/border settings now use checkboxes instead of radio
buttons. Moreover, to provide better backwards compatibility a setting
"Override default block title" has been introduced and unless it is checked
the block retains pre-patch behaviour for the title supplied by the block
developer.
TL-18565 [Evergreen 12.0]Moved 'Override user conflicts' action out of the seminar event setting page and into a 'save' modal dialog[Evergreen 12.0][9.25 10.14 11.8]Improved the wording around the 'Override user conflicts' settings page in seminars[9.25 10.14 11.
The 'Override user scheduling conflicts' setting was initially intended for
use with new events where the assigned roles resulted in conflicts with
existing events. It was not originally designed to work with existing
events.
[Evergreen 12.0]We improved the wording to clarify this feature without
further changes in the UI and workflow.[Evergreen 12.0]
[9.25 10.14 11.8] We changed the event configuration flow by moving the
'override' action out of the settings page and into the 'save' modal dialog
where it belongs. So in essence you will be able override conflicts upon
creation and edit.[9.25 10.14 11.8]
TL-18575 + A limitation of 255 characters is now consistently applied when validating course shortname
The course shortname field in the database has always been 255 characters.
However the course creation form arbitrarily limited course shortname
length to 100 characters.
As of this change the course shortname form now checks that the
user-entered value is no longer than 255 characters, matching the database
limitation.
TL-18666 + Improved AMD module loading by converting the core/first AMD module to use RequireJS bundling instead
TL-18713 + Reduced space between the main navigation and blocks when there are no breadcrumbs
TL-18757 Send notifications to new appraisees for an already activated appraisal
Previously the appraisals module only sent out notifications to learners
when the appraisal was activated. If new learners are added to the
appraisal after activation, they did not receive any notification.
With this patch, notifications are sent out when new learners are added to
the appraisal after activation.
[10.14, 11.8]
If you need the original behaviour (ie no notification for new appraisees),
add this line to config.php:
$CFG->legacy_appraisal_activation_message_behavior = true;[10.14, 11.8]
TL-18770 Disabled the site policy translation interface language selector when only a single language is available
TL-18852 Database table prefix is now required for all new installations
Previously MySQL did not require database prefix to be set in config.php,
since MySQL 8.0 the prefix is however required. To prevent problems in
future upgrades Totara now requires table prefix for all databases.
TL-18896 + Date pickers in forms now use the same order of day, month and year fields as current language full date and time display format
TL-18909 Fixed compatibility issues with PHP 7.3RC1
TL-18929 + Added two indexes to speed up queries accessing the block_totara_stats table
In quite a few places throughout the code we query the table
'block_totara_stats' using two combinations of columns. In adding indexes
on these column combinations query speed will be improved, especially with
a lot of entries in the table.
TL-18978 + Improved the validation display for dynamic audience rules that use a date selector
TL-18983 Added workaround for missing support for PDF embedding on iOS devices
Web browsers on iOS devices have very limited support for embedding PDF
files – for example, only the first page is displayed and users cannot
scroll to next page. A new workaround was added to PDF embedding in File
resource to allow iPhone and iPad users to open a PDF in full-screen mode
after clicking on an embedded PDF.
TL-18998 Improved performance of language pack installation by changing to gzip
Language pack installation and updates now utilise gzip instead of zip.
Extract of gzip files is much quicker than zip files within Totara.
Manual installation and updates using zip files are still supported and
will continue to operate.
All online installations and updates will now use tgz files exclusively.
TL-19053 + Improved the performance of full text searches within PostgreSQL
TL-19066 + Database table context_temp is now a real temporary table
The original context_temp table has now been dropped.
This table was only ever intended as an internal store, and should not have
been used by anything other than the access API.
TL-19084 Enrolment type column in course completion report source is now using subqueries to improve compatibility of other general columns in the same report
Bug fixes:
TL-14204 Updated the inline helper text for course completion tracking
Prior to this patch, there was a misleading inline helper text on the
course view page next to 'Your progress'.
With this patch, the inline helper text is updated to reflect with the
change of the completion icon.
TL-16539 Fixed capacity reporting when viewing Seminar event information on the course page
Previously a wait-list seminar event with 1 booked user and 1 wait-listed
user reported the capacity wrongly as '2 wait-listed'.
With this patch, the capacity is now reported correctly.
TL-17584 Fixed the default heading location for Featured links block gallery tiles
Heading location for Gallery tiles now defaults to 'Top' like the default
tile. Any tiles created without setting the heading location will be set to
'Top'.
TL-17629 Fixed failures in the Seminar send_notification_task when performed under high load
Some sites with large number of Seminar activities (100 000+) experienced
'out of memory' failures during execution of the scheduled task
(send_notifications_task). This task has now been optimised to use less
memory.
TL-17652 + Removed 'Update activities' checkbox from Seminar notification template form when new customer notification template is added
TL-17658 MSSQL 2016 and below now correctly sort aggregated course columns in the program overview report
The program overview report was using SQL group_concat to ensure
concatenated columns such as course name, and course status were ordered
correctly and consistently.
However the group_concat functionality in MSSQL 2016 and below does not
support sorting, and there is no alternative.
The fix for this was to shift sorting from the database to Totara if the
site is running on MSSQL 2016 or below.
This will have a small impact on performance, but will ensure for those
sites that the columns are correctly and consistently sorted.
Our recommendation is to upgrade MSSQL 2017 is possible.
TL-17773 Fixed the rendering of visibility controls within the course management interface for hidden categories
The issue happened within 'Manage courses and categories' page alongside
the enabled setting 'Audience visibility'.
When rendering the page, the course checks for the setting 'Audience
visible' (global) before 'Visible' (module) setting, to determine whether
the 'Eye Icon' should be marked as hidden or not.
Previously, when the 'Course category' was marked as hidden, all the
courses within that category were also marked as hidden. However, after
reloading the page, these courses were not marked as hidden. This was due
to the fact that the same behaviour of rendering the page was not applied
to AJAX interface.
With this the patch, the behaviour applied when rendering the page is now
also applied to the AJAX interface and therefore results in the same
behaviour.
TL-17919 + Fixed the display of the main region in core themes
TL-18706 + Fixed the incompatible version message shown when attempting to restore an old backup
The "This backup file has been created with Totara ..." error message was
incorrectly referring to Moodle version instated of Totara version
TL-18727 + Fixed galleries in the featured links block not being reinstated after update
TL-18776 Fixed a bug causing the Atto editor to lose track of the user's selection in IE11 and Edge
Prior this change if heavily editing content in the Atto editor will
occasionally result in the wrong content being formatted.
This occurred only when formatting selected text, and occurred because the
browser would lose track of the user's selection.
This only affected IE11 and Edge.
TL-18790 Fixed the Organisation content restriction within the 'Record of Learning: Certifications' report source
Before: within a report using 'Record of Learning: Certifications' source
and content restriction as 'Staff at or below any of the user's assigned
organisations', the User's Organisation(s) filter had an issue with its SQL
query.
After the patch: this issue is now fixed, the Organisations will display,
if there are any.
TL-18802 Changed the date format of Session Date related columns within Seminar Sign-ups report source
Previously the report columns 'Session Start' and 'Session Finish' were
formatted differently than the 'Session Start (linked to activity)' column.
These columns are now formatted consistently.
TL-18839 The 'Blocks editing on' button has been put back onto the 'Browse list of users' report page
Prior to this page being converted to an embedded report it had a button to
turn editing on.
That button was unintentionally removed during the conversion.
It has now been put back.
TL-18846 User's preference 'email bounce count' is reset when user requests to change their email address
Prior to this patch, when the user requested to change their email address
and the user's email bounce count preference reached the threshold, the
confirmation email could not be sent to the user.
With this patch, given the same scenario, the email will be sent to the
user for the confirmation of change request.
TL-18864 Fixed the population of the template field value when editing a Seminar's notification
Prior to this patch, when adding a new notification using a custom
notification template the user was not able to see the Template field
populated when editing it. Now, the field Template will be populated with
the right value used for the notification.
TL-18866 Fixed the way the add-on list is displayed on the Totara registration page
Prior to this patch, on the Totara registration page, all the add-on
components were rendered without spaces separating them, preventing the
text from wrapping and forcing the need for horizontal scrolling in the
browser.
After the patch, there is a word wrap in place to make the text fit on the
screen.
TL-18867 Fixed exported status of cancelled events in the Seminar attendance report
TL-18880 Fixed Seminar 'Job assignment on sign up' column to exclude html text when exporting to other format
TL-18887 Fixed resetting of course type when uploading courses using a CSV file that does not contain the column
This is a regression from TL-17920 which added Course type as a supported
column when uploading courses via CSV.
Totara 10.12, 10.13, 11.6, and 11.7 are affected.
TL-18897 Added a link on Appraisal stage interfaces for navigation back to the Appraisal
TL-18904 + Fixed up the context level of the totara/contentmarketplace:add capability
It now shares the same configuration as the moodle/course:create
capability.
Coding style within the component and single plugin was tidied up at the
same time.
TL-18908 Fixed window resize functionality when viewing the grader report
TL-18922 Fixed the overlapping text within Select Assets dialog box
TL-18941 Changed z-index of Totara dialogs to match Bootstrap 3 modal levels
Previously the modal had a z-index of 1 (and the backdrop 0) which caused
some content to be displayed above them. This sets the level to 1050 (with
the backdrop at 1040).
This will require CSS to be regenerated for themes that use LESS
inheritance.
TL-18942 Fixed the email subject line format for emails sent from the Certificate module
Prior to this change the subject lines used for emails sent by the
Certificate module were being formatted for HTML, not for emails.
This led to characters being escaped and converted to entities.
As of this fix the subject is formatted correctly, and should no longer end
up with HTML entities within it.
TL-18959 Fixed the double escaping of Report names when viewing the list of my reports
The report name was being passed once through format_string() and once
through s() when displaying the list of reports to the user on the My
reports page.
The fix for this change involved modifying templates, see
totara/core/upgrade.txt for technical details.
TL-18965 Changed the embedded URL of User's name within Seminar's event Cancellation
TL-19009 Fixed incorrectly deprecated filter language strings on "Bulk user actions" page
Strings datelabelisafter, datelabelisbefore, datelabelisbetween were
deprecated in Totara 10.0 while still being used on the "Bulk user
actions" page. This has now been corrected and these strings were removed
from the deprecated list.
TL-19010 Removed incorrectly deprecated function message_page_type_list() from the deprecatedlib.php
TL-19017 Added styles to display Appraisal content correctly on mobile devices
Added styles for correctly displaying an individual Appraisal selected from
the 'My appraisals' page on mobile devices. Previously content had layout
issues and was incorrectly cropped.
TL-19018 Fixed problems with forced redirect for new required custom profile fields
TL-19030 Fixed the duplicate submit request for the course page when enroling
Double clicking the Enrol button on courses with self enrolment enabled no
longer submits duplicate requests.
TL-19043 + Fixed php undefined property notice in assignment grading when changing 'Enrolment ends' to a date in the past
TL-19046 Course completion's cache is now being cleared after user deletes the course completion
Prior to this patch, when a manager with the
'totara/program:markstaffcoursecomplete' capability, marked a course as a
incomplete on a user's 'Record of Learning > Programs' page, the cache
would not be fully cleared. Causing the page to still render with the
course marked as complete.
With this patch, given the same scenario, the course completion cache of a
user will be reset when the manager removes the course completion for that
course. This will result in the completion being rendered correctly.
TL-19072 Fixed wait-listed attendees not being automatically added to the Seminar's attendees list after a reservation is deleted
API changes:
TL-6630 + Added functionality to perform capability checks directly against the database
A new get_has_capability_sql() function has been introduced that returns an
SQL snippet to resolve capability checks against the database.
Among other uses this allows Totara to resolve visibility state much more
efficiently than before without sacrificing accuracy.
As part of this change a new table containing flattened context data will
be created and maintained.
There are a couple of important things to note about this:
During upgrade to this release the table will be created and populated.
This upgrade step could take several minutes on large sites.
The table is kept up-to-date automatically by the access API. If you have
third party plugins or customisations that are directly manipulating access
data then you will need to review these.
We have extensively tested the performance of this change during our QA
process and are confident with the results. If you experience any problems
please let us know immediately.
TL-15818 + Refactored Seminar code to allow multi-language notifications and consistent booking state processing
Multi-language:
Added support for the "Multi-Language Content" filter plugin in Seminar
notifications. Notification content will now be filtered according to each
recipient's language settings.
Booking system:
The main target of refactoring was to bring consistency to the bookings
state changes throughout all related code, leading to predictable and
controllable rules for each state transition. For this purpose we have
implemented a simplified Finite State Machine with a definition for each
state, following states and rules that must be matched for state transition
to happen. This will greatly reduce complexity during further changes to
how booking states are managed.
Despite our efforts to maintain existing behaviour, some inconsistencies in
old code forced some minor changes in behaviour. We have identified the
following changes:
1) Enable waitlist and overbooking - Previously when a Seminar's event had
the setting 'Enable Waitlist' enabled, then all the attendees that got
signed up by an admin or any user that has capability would have a status
as booked. Now users will be booked until the event's room capacity has
been reached, the rest of the users will be added to the waitlist. Later on
an admin or another user with the "mod/facetoface:signupwaitlist"
capability will be able to confirm users on the waitlist, overbooking the
event.
2) Events without session - Administrators could previously book users onto
events without sessions by confirming users on the waitlist. Now as the
booked state requires a session to be set, this attempt will return error
until a session is created.
3) Action buttons labels - Removed some inconsistencies with "Sign-up",
"Join waitlist" buttons and added "Request approval" when approval is
required. Previously calendar and upcoming events block would display a
"sign-up" button, while the sign-up page would offer "Join waitlist". These
inconsistencies were largely removed by using the same prediction logic for
all three source of actions (course view, calendar, and sign-up page).
Also, when approval is required, the user is now properly informed that
approval will be required.
API changes:
The API has been significantly changed. We have moved to a proper class
structure for all Seminar entities and their relationships. Along with that
we didn't change the database structure, except for some varchar fields
that were converted to text to allow the multi-language filter to work
properly. We have also minimised front-end changes as much as possible. All
functions that were likely to be used by third-party code have been kept in
the code base and deprecated. Deprecated functions from main lib.php file
were moved to deprecatedlib.php file (which is required by lib.php file).
In order to reduce API changes we've deprecated mostly functions that were
relevant to state machine (booking states), and functions that were
completely covered by OOP (e.g. rooms, assets, reservations, calendar).
TL-18845 Removed a superfluous unique index on the job_assignment.id column
TL-18899 + Added additional PHPdocs and return value declarations in workflow classes
The following method signatures have been modified to enforce the expected
return types:
* workflow_manager\base->add_workflow_manager_form_elements() returns
void
* workflow_manager\base->split_classname() returns array
* workflow_manager\base->get_workflow() can no longer return null
* workflow_manager\base->set_params() returns void
* workflow\base->__construct() returns void
* workflow\base->split_classname() returns array
* workflow\base->add_workflow_form_elements() returns void
* workflow\base->define_form() returns void
* workflow\base->process_form() returns void
* workflow\base->enable() returns void
* workflow\base->disable() returns void
* workflow\base->set_params() returns void
* workflow\base->get_workflow_manager_data() returns array
3rd party workflow and workflow manager classes which extend the base
classes will need to update their message signatures, but behaviour is
unchanged.
In addition:
* workflow\base->get_form_name() is now final
TL-18921 + Removed the Memcache cache store from core
Not to be confused with the Memcached cache store.
The Memcache PHP extension is not compatible with PHP7, and as such the
Memcache cache store could not be used.
It has now been removed from core.
If you are currently using the Memcache cache store and plan to upgrade in
future, this may be an issue.
TL-18927 Totara form load deferred object now resolves after the form initialise JavaScript is called
Previously, the Totara form initialise code was run after the load deferred
object had been resolved. This meant that calls to getFormInstance(formid)
would return null on load.done(), and not the form that was requested.
TL-18944 + MDL-53848: Added hideIf functionality to Moodle forms
Elements can now be hidden based on the value of another element. Usage
matches that of the disabledIf functionality that was already available in
the Moodle forms.
TL-18985 Unit tests may now override lang strings
Release 11.8 (25th October 2018):
Security issues:
TL-18957 Fixed permission checks for learning plans
Prior to this patch all plan templates were being checked to see if a user
had a permission (e.g. update plan). Now only the template that the plan is
based off is checked for the permission.
New features:
TL-19014 Implemented new capabilities for controlling the access to SCORM content
Previously all users who could enter a course were able to launch SCORM
activities.
The only way to limit access was to make the activity hidden and then to
use the moodle/course:viewhiddenactivities capability to grant access.
Two new capabilities have been added to allow better control of access to
SCORM activities.
* mod/scorm:view
* mod/scorm:launch
Improvements:
TL-17586 Greatly improved the performance of the update competencies scheduled task
The scheduled task to reaggregate the competencies
"\totara_hierarchy\task\update_competencies_task" was refactored to fix a
memory leak. The scheduled task now loops through the users and loads and
reaggregates items per user and not in one huge query as before. This
minimises impact on memory but increases number of queries and runtime.
TL-18565 [Evergreen 12.0]Moved 'Override user conflicts' action out of the seminar event setting page and into a 'save' modal dialog[Evergreen 12.0][9.25 10.14 11.8]Improved the wording around the 'Override user conflicts' settings page in seminars[9.25 10.14 11.
The 'Override user scheduling conflicts' setting was initially intended for
use with new events where the assigned roles resulted in conflicts with
existing events. It was not originally designed to work with existing
events.
[Evergreen 12.0]We improved the wording to clarify this feature without
further changes in the UI and workflow.[Evergreen 12.0]
[9.25 10.14 11.8] We changed the event configuration flow by moving the
'override' action out of the settings page and into the 'save' modal dialog
where it belongs. So in essence you will be able override conflicts upon
creation and edit.[9.25 10.14 11.8]
TL-18757 Send notifications to new appraisees for an already activated appraisal
Previously the appraisals module only sent out notifications to learners
when the appraisal was activated. If new learners are added to the
appraisal after activation, they did not receive any notification.
With this patch, notifications are sent out when new learners are added to
the appraisal after activation.
[10.14, 11.8]
If you need the original behaviour (ie no notification for new appraisees),
add this line to config.php:
$CFG->legacy_appraisal_activation_message_behavior = true;[10.14, 11.8]
TL-18770 Disabled the site policy translation interface language selector when only a single language is available
TL-18852 Database table prefix is now required for all new installations
Previously MySQL did not require database prefix to be set in config.php,
since MySQL 8.0 the prefix is however required. To prevent problems in
future upgrades Totara now requires table prefix for all databases.
TL-18909 Fixed compatibility issues with PHP 7.3RC1
TL-18983 Added workaround for missing support for PDF embedding on iOS devices
Web browsers on iOS devices have very limited support for embedding PDF
files – for example, only the first page is displayed and users cannot
scroll to next page. A new workaround was added to PDF embedding in File
resource to allow iPhone and iPad users to open a PDF in full-screen mode
after clicking on an embedded PDF.
TL-18998 Improved performance of language pack installation by changing to gzip
Language pack installation and updates now utilise gzip instead of zip.
Extract of gzip files is much quicker than zip files within Totara.
Manual installation and updates using zip files are still supported and
will continue to operate.
All online installations and updates will now use tgz files exclusively.
TL-19084 Enrolment type column in course completion report source is now using subqueries to improve compatibility of other general columns in the same report
Bug fixes:
TL-14204 Updated the inline helper text for course completion tracking
Prior to this patch, there was a misleading inline helper text on the
course view page next to 'Your progress'.
With this patch, the inline helper text is updated to reflect with the
change of the completion icon.
TL-16539 Fixed capacity reporting when viewing Seminar event information on the course page
Previously a wait-list seminar event with 1 booked user and 1 wait-listed
user reported the capacity wrongly as '2 wait-listed'.
With this patch, the capacity is now reported correctly.
TL-17584 Fixed the default heading location for Featured links block gallery tiles
Heading location for Gallery tiles now defaults to 'Top' like the default
tile. Any tiles created without setting the heading location will be set to
'Top'.
TL-17629 Fixed failures in the Seminar send_notification_task when performed under high load
Some sites with large number of Seminar activities (100 000+) experienced
'out of memory' failures during execution of the scheduled task
(send_notifications_task). This task has now been optimised to use less
memory.
TL-17658 MSSQL 2016 and below now correctly sort aggregated course columns in the program overview report
The program overview report was using SQL group_concat to ensure
concatenated columns such as course name, and course status were ordered
correctly and consistently.
However the group_concat functionality in MSSQL 2016 and below does not
support sorting, and there is no alternative.
The fix for this was to shift sorting from the database to Totara if the
site is running on MSSQL 2016 or below.
This will have a small impact on performance, but will ensure for those
sites that the columns are correctly and consistently sorted.
Our recommendation is to upgrade MSSQL 2017 is possible.
TL-17773 Fixed the rendering of visibility controls within the course management interface for hidden categories
The issue happened within 'Manage courses and categories' page alongside
the enabled setting 'Audience visibility'.
When rendering the page, the course checks for the setting 'Audience
visible' (global) before 'Visible' (module) setting, to determine whether
the 'Eye Icon' should be marked as hidden or not.
Previously, when the 'Course category' was marked as hidden, all the
courses within that category were also marked as hidden. However, after
reloading the page, these courses were not marked as hidden. This was due
to the fact that the same behaviour of rendering the page was not applied
to AJAX interface.
With this the patch, the behaviour applied when rendering the page is now
also applied to the AJAX interface and therefore results in the same
behaviour.
TL-18776 Fixed a bug causing the Atto editor to lose track of the user's selection in IE11 and Edge
Prior this change if heavily editing content in the Atto editor will
occasionally result in the wrong content being formatted.
This occurred only when formatting selected text, and occurred because the
browser would lose track of the user's selection.
This only affected IE11 and Edge.
TL-18790 Fixed the Organisation content restriction within the 'Record of Learning: Certifications' report source
Before: within a report using 'Record of Learning: Certifications' source
and content restriction as 'Staff at or below any of the user's assigned
organisations', the User's Organisation(s) filter had an issue with its SQL
query.
After the patch: this issue is now fixed, the Organisations will display,
if there are any.
TL-18802 Changed the date format of Session Date related columns within Seminar Sign-ups report source
Previously the report columns 'Session Start' and 'Session Finish' were
formatted differently than the 'Session Start (linked to activity)' column.
These columns are now formatted consistently.
TL-18839 The 'Blocks editing on' button has been put back onto the 'Browse list of users' report page
Prior to this page being converted to an embedded report it had a button to
turn editing on.
That button was unintentionally removed during the conversion.
It has now been put back.
TL-18846 User's preference 'email bounce count' is reset when user requests to change their email address
Prior to this patch, when the user requested to change their email address
and the user's email bounce count preference reached the threshold, the
confirmation email could not be sent to the user.
With this patch, given the same scenario, the email will be sent to the
user for the confirmation of change request.
TL-18864 Fixed the population of the template field value when editing a Seminar's notification
Prior to this patch, when adding a new notification using a custom
notification template the user was not able to see the Template field
populated when editing it. Now, the field Template will be populated with
the right value used for the notification.
TL-18866 Fixed the way the add-on list is displayed on the Totara registration page
Prior to this patch, on the Totara registration page, all the add-on
components were rendered without spaces separating them, preventing the
text from wrapping and forcing the need for horizontal scrolling in the
browser.
After the patch, there is a word wrap in place to make the text fit on the
screen.
TL-18867 Fixed exported status of cancelled events in the Seminar attendance report
TL-18869 Fixed error message display after LDAP authentication plugin settings form is submitted
TL-18880 Fixed Seminar 'Job assignment on sign up' column to exclude html text when exporting to other format
TL-18887 Fixed resetting of course type when uploading courses using a CSV file that does not contain the column
This is a regression from TL-17920 which added Course type as a supported
column when uploading courses via CSV.
Totara 10.12, 10.13, 11.6, and 11.7 are affected.
TL-18897 Added a link on Appraisal stage interfaces for navigation back to the Appraisal
TL-18908 Fixed window resize functionality when viewing the grader report
TL-18922 Fixed the overlapping text within Select Assets dialog box
TL-18941 Changed z-index of Totara dialogs to match Bootstrap 3 modal levels
Previously the modal had a z-index of 1 (and the backdrop 0) which caused
some content to be displayed above them. This sets the level to 1050 (with
the backdrop at 1040).
This will require CSS to be regenerated for themes that use LESS
inheritance.
TL-18942 Fixed the email subject line format for emails sent from the Certificate module
Prior to this change the subject lines used for emails sent by the
Certificate module were being formatted for HTML, not for emails.
This led to characters being escaped and converted to entities.
As of this fix the subject is formatted correctly, and should no longer end
up with HTML entities within it.
TL-18959 Fixed the double escaping of Report names when viewing the list of my reports
The report name was being passed once through format_string() and once
through s() when displaying the list of reports to the user on the My
reports page.
The fix for this change involved modifying templates, see
totara/core/upgrade.txt for technical details.
TL-18965 Changed the embedded URL of User's name within Seminar's event Cancellation
TL-18981 Fixed aggregation of a learner's course progress after use of completion editor
When the completion editor is used to mark a course complete for a specific
learner, the progress bar in the Record of learning is now updated to
indicate that the learner has completed the course.
TL-19009 Fixed incorrectly deprecated filter language strings on "Bulk user actions" page
Strings datelabelisafter, datelabelisbefore, datelabelisbetween were
deprecated in Totara 10.0 while still being used on the "Bulk user
actions" page. This has now been corrected and these strings were removed
from the deprecated list.
TL-19010 Removed incorrectly deprecated function message_page_type_list() from the deprecatedlib.php
TL-19017 Added styles to display Appraisal content correctly on mobile devices
Added styles for correctly displaying an individual Appraisal selected from
the 'My appraisals' page on mobile devices. Previously content had layout
issues and was incorrectly cropped.
TL-19018 Fixed problems with forced redirect for new required custom profile fields
TL-19030 Fixed the duplicate submit request for the course page when enroling
Double clicking the Enrol button on courses with self enrolment enabled no
longer submits duplicate requests.
TL-19046 Course completion's cache is now being cleared after user deletes the course completion
Prior to this patch, when a manager with the
'totara/program:markstaffcoursecomplete' capability, marked a course as a
incomplete on a user's 'Record of Learning > Programs' page, the cache
would not be fully cleared. Causing the page to still render with the
course marked as complete.
With this patch, given the same scenario, the course completion cache of a
user will be reset when the manager removes the course completion for that
course. This will result in the completion being rendered correctly.
TL-19072 Fixed wait-listed attendees not being automatically added to the Seminar's attendees list after a reservation is deleted
API changes:
TL-18845 Removed a superfluous unique index on the job_assignment.id column
TL-18927 Totara form load deferred object now resolves after the form initialise JavaScript is called
Previously, the Totara form initialise code was run after the load deferred
object had been resolved. This meant that calls to getFormInstance(formid)
would return null on load.done(), and not the form that was requested.
TL-18985 Unit tests may now override lang strings
Release 10.14 (25th October 2018):
Security issues:
TL-18957 Fixed permission checks for learning plans
Prior to this patch all plan templates were being checked to see if a user
had a permission (e.g. update plan). Now only the template that the plan is
based off is checked for the permission.
Improvements:
TL-17586 Greatly improved the performance of the update competencies scheduled task
The scheduled task to reaggregate the competencies
"\totara_hierarchy\task\update_competencies_task" was refactored to fix a
memory leak. The scheduled task now loops through the users and loads and
reaggregates items per user and not in one huge query as before. This
minimises impact on memory but increases number of queries and runtime.
TL-18565 [Evergreen 12.0]Moved 'Override user conflicts' action out of the seminar event setting page and into a 'save' modal dialog[Evergreen 12.0][9.25 10.14 11.8]Improved the wording around the 'Override user conflicts' settings page in seminars[9.25 10.14 11.
The 'Override user scheduling conflicts' setting was initially intended for
use with new events where the assigned roles resulted in conflicts with
existing events. It was not originally designed to work with existing
events.
[Evergreen 12.0]We improved the wording to clarify this feature without
further changes in the UI and workflow.[Evergreen 12.0]
[9.25 10.14 11.8] We changed the event configuration flow by moving the
'override' action out of the settings page and into the 'save' modal dialog
where it belongs. So in essence you will be able override conflicts upon
creation and edit.[9.25 10.14 11.8]
TL-18757 Send notifications to new appraisees for an already activated appraisal
Previously the appraisals module only sent out notifications to learners
when the appraisal was activated. If new learners are added to the
appraisal after activation, they did not receive any notification.
With this patch, notifications are sent out when new learners are added to
the appraisal after activation.
[10.14, 11.8]
If you need the original behaviour (ie no notification for new appraisees),
add this line to config.php:
$CFG->legacy_appraisal_activation_message_behavior = true;[10.14, 11.8]
TL-18852 Database table prefix is now required for all new installations
Previously MySQL did not require database prefix to be set in config.php,
since MySQL 8.0 the prefix is however required. To prevent problems in
future upgrades Totara now requires table prefix for all databases.
TL-18983 Added workaround for missing support for PDF embedding on iOS devices
Web browsers on iOS devices have very limited support for embedding PDF
files – for example, only the first page is displayed and users cannot
scroll to next page. A new workaround was added to PDF embedding in File
resource to allow iPhone and iPad users to open a PDF in full-screen mode
after clicking on an embedded PDF.
TL-18998 Improved performance of language pack installation by changing to gzip
Language pack installation and updates now utilise gzip instead of zip.
Extract of gzip files is much quicker than zip files within Totara.
Manual installation and updates using zip files are still supported and
will continue to operate.
All online installations and updates will now use tgz files exclusively.
TL-19084 Enrolment type column in course completion report source is now using subqueries to improve compatibility of other general columns in the same report
Bug fixes:
TL-14204 Updated the inline helper text for course completion tracking
Prior to this patch, there was a misleading inline helper text on the
course view page next to 'Your progress'.
With this patch, the inline helper text is updated to reflect with the
change of the completion icon.
TL-17629 Fixed failures in the Seminar send_notification_task when performed under high load
Some sites with large number of Seminar activities (100 000+) experienced
'out of memory' failures during execution of the scheduled task
(send_notifications_task). This task has now been optimised to use less
memory.
TL-17658 MSSQL 2016 and below now correctly sort aggregated course columns in the program overview report
The program overview report was using SQL group_concat to ensure
concatenated columns such as course name, and course status were ordered
correctly and consistently.
However the group_concat functionality in MSSQL 2016 and below does not
support sorting, and there is no alternative.
The fix for this was to shift sorting from the database to Totara if the
site is running on MSSQL 2016 or below.
This will have a small impact on performance, but will ensure for those
sites that the columns are correctly and consistently sorted.
Our recommendation is to upgrade MSSQL 2017 is possible.
TL-18802 Changed the date format of Session Date related columns within Seminar Sign-ups report source
Previously the report columns 'Session Start' and 'Session Finish' were
formatted differently than the 'Session Start (linked to activity)' column.
These columns are now formatted consistently.
TL-18839 The 'Blocks editing on' button has been put back onto the 'Browse list of users' report page
Prior to this page being converted to an embedded report it had a button to
turn editing on.
That button was unintentionally removed during the conversion.
It has now been put back.
TL-18869 Fixed error message display after LDAP authentication plugin settings form is submitted
TL-18887 Fixed resetting of course type when uploading courses using a CSV file that does not contain the column
This is a regression from TL-17920 which added Course type as a supported
column when uploading courses via CSV.
Totara 10.12, 10.13, 11.6, and 11.7 are affected.
TL-18897 Added a link on Appraisal stage interfaces for navigation back to the Appraisal
TL-18908 Fixed window resize functionality when viewing the grader report
TL-18942 Fixed the email subject line format for emails sent from the Certificate module
Prior to this change the subject lines used for emails sent by the
Certificate module were being formatted for HTML, not for emails.
This led to characters being escaped and converted to entities.
As of this fix the subject is formatted correctly, and should no longer end
up with HTML entities within it.
TL-18959 Fixed the double escaping of Report names when viewing the list of my reports
The report name was being passed once through format_string() and once
through s() when displaying the list of reports to the user on the My
reports page.
The fix for this change involved modifying templates, see
totara/core/upgrade.txt for technical details.
TL-18981 Fixed aggregation of a learner's course progress after use of completion editor
When the completion editor is used to mark a course complete for a specific
learner, the progress bar in the Record of learning is now updated to
indicate that the learner has completed the course.
TL-19009 Fixed incorrectly deprecated filter language strings on "Bulk user actions" page
Strings datelabelisafter, datelabelisbefore, datelabelisbetween were
deprecated in Totara 10.0 while still being used on the "Bulk user
actions" page. This has now been corrected and these strings were removed
from the deprecated list.
TL-19010 Removed incorrectly deprecated function message_page_type_list() from the deprecatedlib.php
TL-19017 Added styles to display Appraisal content correctly on mobile devices
Added styles for correctly displaying an individual Appraisal selected from
the 'My appraisals' page on mobile devices. Previously content had layout
issues and was incorrectly cropped.
TL-19072 Fixed wait-listed attendees not being automatically added to the Seminar's attendees list after a reservation is deleted
API changes:
TL-18845 Removed a superfluous unique index on the job_assignment.id column
TL-18927 Totara form load deferred object now resolves after the form initialise JavaScript is called
Previously, the Totara form initialise code was run after the load deferred
object had been resolved. This meant that calls to getFormInstance(formid)
would return null on load.done(), and not the form that was requested.
TL-18985 Unit tests may now override lang strings
Release 9.25 (25th October 2018):
Security issues:
TL-18957 Fixed permission checks for learning plans
Prior to this patch all plan templates were being checked to see if a user
had a permission (e.g. update plan). Now only the template that the plan is
based off is checked for the permission.
Improvements:
TL-17586 Greatly improved the performance of the update competencies scheduled task
The scheduled task to reaggregate the competencies
"\totara_hierarchy\task\update_competencies_task" was refactored to fix a
memory leak. The scheduled task now loops through the users and loads and
reaggregates items per user and not in one huge query as before. This
minimises impact on memory but increases number of queries and runtime.
TL-18565 [Evergreen 12.0]Moved 'Override user conflicts' action out of the seminar event setting page and into a 'save' modal dialog[Evergreen 12.0][9.25 10.14 11.8]Improved the wording around the 'Override user conflicts' settings page in seminars[9.25 10.14 11.
The 'Override user scheduling conflicts' setting was initially intended for
use with new events where the assigned roles resulted in conflicts with
existing events. It was not originally designed to work with existing
events.
[Evergreen 12.0]We improved the wording to clarify this feature without
further changes in the UI and workflow.[Evergreen 12.0]
[9.25 10.14 11.8] We changed the event configuration flow by moving the
'override' action out of the settings page and into the 'save' modal dialog
where it belongs. So in essence you will be able override conflicts upon
creation and edit.[9.25 10.14 11.8]
TL-18852 Database table prefix is now required for all new installations
Previously MySQL did not require database prefix to be set in config.php,
since MySQL 8.0 the prefix is however required. To prevent problems in
future upgrades Totara now requires table prefix for all databases.
TL-18983 Added workaround for missing support for PDF embedding on iOS devices
Web browsers on iOS devices have very limited support for embedding PDF
files – for example, only the first page is displayed and users cannot
scroll to next page. A new workaround was added to PDF embedding in File
resource to allow iPhone and iPad users to open a PDF in full-screen mode
after clicking on an embedded PDF.
Bug fixes:
TL-14204 Updated the inline helper text for course completion tracking
Prior to this patch, there was a misleading inline helper text on the
course view page next to 'Your progress'.
With this patch, the inline helper text is updated to reflect with the
change of the completion icon.
TL-17629 Fixed failures in the Seminar send_notification_task when performed under high load
Some sites with large number of Seminar activities (100 000+) experienced
'out of memory' failures during execution of the scheduled task
(send_notifications_task). This task has now been optimised to use less
memory.
TL-18802 Changed the date format of Session Date related columns within Seminar Sign-ups report source
Previously the report columns 'Session Start' and 'Session Finish' were
formatted differently than the 'Session Start (linked to activity)' column.
These columns are now formatted consistently.
TL-19072 Fixed wait-listed attendees not being automatically added to the Seminar's attendees list after a reservation is deleted
API changes:
TL-18845 Removed a superfluous unique index on the job_assignment.id column
TL-18985 Unit tests may now override lang strings
Release 2.9.37 (25th October 2018):
Security issues:
TL-18957 Fixed permission checks for learning plans
Prior to this patch all plan templates were being checked to see if a user
had a permission (e.g. update plan). Now only the template that the plan is
based off is checked for the permission.
Improvements:
TL-18983 Added workaround for missing support for PDF embedding on iOS devices
Web browsers on iOS devices have very limited support for embedding PDF
files – for example, only the first page is displayed and users cannot
scroll to next page. A new workaround was added to PDF embedding in File
resource to allow iPhone and iPad users to open a PDF in full-screen mode
after clicking on an embedded PDF.
Bug fixes:
TL-14204 Updated the inline helper text for course completion tracking
Prior to this patch, there was a misleading inline helper text on the
course view page next to 'Your progress'.
With this patch, the inline helper text is updated to reflect with the
change of the completion icon.
Release 2.7.45 (25th October 2018):
Security issues:
TL-18957 Fixed permission checks for learning plans
Prior to this patch all plan templates were being checked to see if a user
had a permission (e.g. update plan). Now only the template that the plan is
based off is checked for the permission.
Improvements:
TL-18983 Added workaround for missing support for PDF embedding on iOS devices
Web browsers on iOS devices have very limited support for embedding PDF
files – for example, only the first page is displayed and users cannot
scroll to next page. A new workaround was added to PDF embedding in File
resource to allow iPhone and iPad users to open a PDF in full-screen mode
after clicking on an embedded PDF.
Bug fixes:
TL-19035 Backported TL-9993 to fix image display in editor within plans
Release 2.6.62 (25th October 2018):
Security issues:
TL-18957 Fixed permission checks for learning plans
Prior to this patch all plan templates were being checked to see if a user
had a permission (e.g. update plan). Now only the template that the plan is
based off is checked for the permission.
Release 2.5.68 (25th October 2018):
Security issues:
TL-18957 Fixed permission checks for learning plans
Prior to this patch all plan templates were being checked to see if a user
had a permission (e.g. update plan). Now only the template that the plan is
based off is checked for the permission.
