Totara Release Notes

Totara TXP 16.4,15.10,14.15,13.23 and Totara Learn 12.46,11.54,10.57,9.64 are now available

 
Komal Verma
Totara TXP 16.4,15.10,14.15,13.23 and Totara Learn 12.46,11.54,10.57,9.64 are now available
par Komal Verma, Thursday 25 August 2022, 21:41
 

Hello everyone,

The following versions of Totara Learn have now been released:

Each release ncludes bug fixes and improvements.

Kind regards

Release 16.4 (26th August 2022):

Important:

    TL-35164       Fixed upgrade of relative due date calculation of program/certification assignments potentially resulting in loss of data 

                   This fixes a potential data loss issue.
                   
                   It affects sites which got upgraded from any version of 14.5 or higher to 15 or
                   16 (not including this fix) and which make use of relative due dates in program
                   or certification assignments. 
                   
                   Sites upgraded from a version prior to 14.5 directly to 15 or 16 are not
                   affected.
                   
                   This issue had an immediate impact on relative due date periods set on
                   program/certification assignment. This did not affect existing program
                   completion due dates but any future due date calculations used 0 DAYS as a time
                   frame potentially resulting in learners not being able to complete their
                   program.
                   
                   In Totara 14.5 we changed the way relative due dates are calculated. Previously,
                   it used a static 30 days per month during the calculation of the real due date.
                   To improve accuracy we changed this to use the correct date functionality and
                   therefore count in the real number of days for the timeframe. 
                   
                   To convert the existing data to the new data we introduced an upgrade step which
                   migrates the records into the new format using new columns in the
                   prog_assignment database table. Due to a bug in the upgrade code, assignments
                   already using the new structure for relative due dates are migrated wrongly
                   during the next upgrade, which sets the affected relative periods to 0 DAYS. 
                   
                   The upgrade step has now been fixed to ensure the program/certification
                   assignment data for relative due dates is correctly migrated, even when run
                   multiple times.
                   
                   For sites who have already upgraded the following SQL query can be used to
                   determine if your site was affected.
                   If a result is returned then please seek support from us and we will assist you
                   in confirming the issue, and in supporting you to recover the lost data.
                   
                   SELECT
                       p.id AS program_id,
                       p.idnumber as idnumber,
                       p.fullname AS name,
                       CASE WHEN p.certifid IS NOT NULL THEN 'certification'
                           ELSE 'program' END AS program_or_certification,
                       CASE WHEN pa.assignmenttype = 1 THEN 'organisation'
                           WHEN pa.assignmenttype = 2 THEN 'position'
                           WHEN pa.assignmenttype = 3 THEN 'audience'
                           WHEN pa.assignmenttype = 5 THEN 'individual'
                           WHEN pa.assignmenttype = 6 THEN 'job assignment'
                           WHEN pa.assignmenttype = 7 THEN 'learning plan'
                           ELSE ''
                       END AS assignment_type
                   FROM mdl_prog_assignment AS pa
                   LEFT JOIN mdl_prog AS p ON p.id = pa.programid
                   WHERE pa.completionoffsetamount = 0
                       AND pa.completiontime IS NULL
                       AND pa.completionoffsetunit = 2;


Improvements:

    TL-30485       Updated strings on the Engage access form when creating a resource and added an info icon button to the topic selector
    TL-34166       Improved wording in content visibility settings of resources and playlists
    TL-34864       Improved UI behaviour for Tenant default values field when the "Override with file and defaults" value for existing user details field is selected

                   When "Override with file and defaults" value is selected then "Tenant default
                   values" field will be disabled.

    TL-34888       Allow escaping hyphens with a backslash in OAuth2 field mapping

                   The hyphen character is used as an object nesting divider i.e.
                   'Country-region-city' field will look up $country->region->city in the userinfo
                   data source. This prevents using the hyphen character as a regular character. We
                   added an ability to use a backslash character before the hyphen to treat it as a
                   regular hyphen.

    TL-35052       Increased size of the Totara Menu URL field to allow for a url up to 1333 characters in length

Bug fixes:

    TL-32601       Changed 'Course Provider' language string to 'Content provider'
    TL-32996       Fixed Auth plugins settings not being updated when custom fields are updated
    TL-33236       Made settings_navigation_tree GraphQL query and its tests more robust

                   Fixed an issue where the query would have returned a site admin node if called
                   with an admin page and the setting 'legacyadminsettingsmenu' being disabled.

    TL-33565       Fixed intermittent failing unit test caused by a timing issue
    TL-33607       Improved XMLDB Editor path validation for included files
    TL-34200       Replaced the icon used for edit personal goals link with the editstring icon
    TL-34447       Fixed an issue where a course creator was unable to select an activity type when creating single-activity course

                   This patch creates a new capability, 'format/singleactivity:addanyactivity',
                   that allows the bearer to select any type of activity when creating a
                   single-activity course. On upgrade, this capability is given to all roles based
                   on the course creator archetype.

    TL-34551       Suppressed notifications when updating temporary manager via HR import
    TL-34652       Fixed the displaying of the suspended user option in user sources page
    TL-34683       Fixed course category caching issue with icons display when searching for courses in the course administration.
    TL-34776       Fixed the LTI tool check to display a green mark check when a valid URL is entered
    TL-34785       Added has_middleware interface to server/totara/reportbuilder/classes/webapi/resolver/query/template.php resolver
    TL-34808       Fixed stderr not being redirected to stdout when using pcntl extension on PHP version 8.0.20 or 8.1.7

                   On PHP 8.0.20 and 8.1.7 a patch has been released which breaks widely used code
                   to redirect stderr to stdout in CLI scripts. Even though 8.0.21 and 8.1.8
                   reverted the change Totara code has been fixed to work on all supported
                   versions.

    TL-34861       Improved error handling for invalid cache in appraisal multichoice questions
    TL-34865       Fixed a help lang string for bulk adding goals
    TL-34868       Fixed the machine learning healthcheck showing exceptions before the GraphQL cache had fully built
    TL-34889       Included library files which can not be auto loaded 
    TL-34890       Fixed the add audience dialogue overlapping the footer

                   The add audiences dialogue  has been fixed so that the list of audiences no
                   longer overlaps the footer.

    TL-34907       Added a course completion due date for Current Learning block and Record of Learning reportbuilder sources
    TL-34920       Fixed user custom fields not being populated when uploading tenant users
    TL-35025       Ensured empty Report Builder scheduled reports are not sent or saved
    TL-35084       Fixed visibility column exporting data as HTML in Visible Learning report source
    TL-35165       Fixed an exception when including child positions in a position/organisation assignment 

                   The set_duedate() method is not compatible to the duedate parameter being null..
                   This changes make sure to convert null to 0 before calling the set_duedate()
                   method.

    TL-34929       removed role attribute in course header and summary section HTML

Technical changes:

    TL-34899       Fixed an issue where isset on an entity returns false if the relationship exists but is not loaded

Tui front end framework:

    TL-29586       Added `toHaveNoViolations()` to jest's expect() result

                   When using JavaScript unit tests (as provided by jest), a `toHaveNoViolations`
                   function has been added to the `expect()` return value. This allows the test to
                   check the accessibility of the given component and avoids importing the function
                   from jest-axe package `toHaveNoViolations()`

    TL-34555       Fixed the function dom/position/getBox to be functional in IE11

Library updates:

    TL-33146       Upgraded development library "stylelint" from 12.0 to 14.6
    TL-34192       Updated indirect npm dependencies to eliminate vulnerability warnings

                   * Updated indirect dependencies with "npm audit fix"


Release 15.10 (26th August 2022):

Important:

    TL-35164       Fixed upgrade of relative due date calculation of program/certification assignments potentially resulting in loss of data 

                   This fixes a potential data loss issue.
                   
                   It affects sites which got upgraded from any version of 14.5 or higher to 15 or
                   16 (not including this fix) and which make use of relative due dates in program
                   or certification assignments. 
                   
                   Sites upgraded from a version prior to 14.5 directly to 15 or 16 are not
                   affected.
                   
                   This issue had an immediate impact on relative due date periods set on
                   program/certification assignment. This did not affect existing program
                   completion due dates but any future due date calculations used 0 DAYS as a time
                   frame potentially resulting in learners not being able to complete their
                   program.
                   
                   In Totara 14.5 we changed the way relative due dates are calculated. Previously,
                   it used a static 30 days per month during the calculation of the real due date.
                   To improve accuracy we changed this to use the correct date functionality and
                   therefore count in the real number of days for the timeframe. 
                   
                   To convert the existing data to the new data we introduced an upgrade step which
                   migrates the records into the new format using new columns in the
                   prog_assignment database table. Due to a bug in the upgrade code, assignments
                   already using the new structure for relative due dates are migrated wrongly
                   during the next upgrade, which sets the affected relative periods to 0 DAYS. 
                   
                   The upgrade step has now been fixed to ensure the program/certification
                   assignment data for relative due dates is correctly migrated, even when run
                   multiple times.
                   
                   For sites who have already upgraded the following SQL query can be used to
                   determine if your site was affected.
                   If a result is returned then please seek support from us and we will assist you
                   in confirming the issue, and in supporting you to recover the lost data.
                   
                   SELECT
                       p.id AS program_id,
                       p.idnumber as idnumber,
                       p.fullname AS name,
                       CASE WHEN p.certifid IS NOT NULL THEN 'certification'
                           ELSE 'program' END AS program_or_certification,
                       CASE WHEN pa.assignmenttype = 1 THEN 'organisation'
                           WHEN pa.assignmenttype = 2 THEN 'position'
                           WHEN pa.assignmenttype = 3 THEN 'audience'
                           WHEN pa.assignmenttype = 5 THEN 'individual'
                           WHEN pa.assignmenttype = 6 THEN 'job assignment'
                           WHEN pa.assignmenttype = 7 THEN 'learning plan'
                           ELSE ''
                       END AS assignment_type
                   FROM mdl_prog_assignment AS pa
                   LEFT JOIN mdl_prog AS p ON p.id = pa.programid
                   WHERE pa.completionoffsetamount = 0
                       AND pa.completiontime IS NULL
                       AND pa.completionoffsetunit = 2;


Improvements:

    TL-30485       Updated strings on the Engage access form when creating a resource and added an info icon button to the topic selector
    TL-34166       Improved wording in content visibility settings of resources and playlists
    TL-34864       Improved UI behaviour for Tenant default values field when the "Override with file and defaults" value for existing user details field is selected

                   When "Override with file and defaults" value is selected then "Tenant default
                   values" field will be disabled.

    TL-35052       Increased size of the Totara Menu URL field to allow for a url up to 1333 characters in length

Bug fixes:

    TL-31585       Hide facilitator type form field when adding it through a seminar event
    TL-32601       Changed 'Course Provider' language string to 'Content provider'
    TL-32996       Fixed Auth plugins settings not being updated when custom fields are updated
    TL-33236       Made settings_navigation_tree GraphQL query and its tests more robust

                   Fixed an issue where the query would have returned a site admin node if called
                   with an admin page and the setting 'legacyadminsettingsmenu' being disabled.

    TL-33565       Fixed intermittent failing unit test caused by a timing issue
    TL-33607       Improved XMLDB Editor path validation for included files
    TL-34200       Replaced the icon used for edit personal goals link with the editstring icon
    TL-34447       Fixed an issue where a course creator was unable to select an activity type when creating single-activity course

                   This patch creates a new capability, 'format/singleactivity:addanyactivity',
                   that allows the bearer to select any type of activity when creating a
                   single-activity course. On upgrade, this capability is given to all roles based
                   on the course creator archetype.

    TL-34652       Fixed the displaying of the suspended user option in user sources page
    TL-34683       Fixed course category caching issue with icons display when searching for courses in the course administration.
    TL-34776       Fixed the LTI tool check to display a green mark check when a valid URL is entered
    TL-34785       Added has_middleware interface to server/totara/reportbuilder/classes/webapi/resolver/query/template.php resolver
    TL-34808       Fixed stderr not being redirected to stdout when using pcntl extension on PHP version 8.0.20 or 8.1.7

                   On PHP 8.0.20 and 8.1.7 a patch has been released which breaks widely used code
                   to redirect stderr to stdout in CLI scripts. Even though 8.0.21 and 8.1.8
                   reverted the change Totara code has been fixed to work on all supported
                   versions.

    TL-34861       Improved error handling for invalid cache in appraisal multichoice questions
    TL-34865       Fixed a help lang string for bulk adding goals
    TL-34868       Fixed the machine learning healthcheck showing exceptions before the GraphQL cache had fully built
    TL-34920       Fixed user custom fields not being populated when uploading tenant users
    TL-35025       Ensured empty Report Builder scheduled reports are not sent or saved
    TL-35084       Fixed visibility column exporting data as HTML in Visible Learning report source
    TL-35165       Fixed an exception when including child positions in a position/organisation assignment 

                   The set_duedate() method is not compatible to the duedate parameter being null..
                   This changes make sure to convert null to 0 before calling the set_duedate()
                   method.

    TL-34929       removed role attribute in course header and summary section HTML

Technical changes:

    TL-34899       Fixed an issue where isset on an entity returns false if the relationship exists but is not loaded

Tui front end framework:

    TL-29586       Added `toHaveNoViolations()` to jest's expect() result

                   When using JavaScript unit tests (as provided by jest), a `toHaveNoViolations`
                   function has been added to the `expect()` return value. This allows the test to
                   check the accessibility of the given component and avoids importing the function
                   from jest-axe package `toHaveNoViolations()`

    TL-34555       Fixed the function dom/position/getBox to be functional in IE11

Library updates:

    TL-33146       Upgraded development library "stylelint" from 12.0 to 14.6
    TL-34192       Updated indirect npm dependencies to eliminate vulnerability warnings

                   * Updated indirect dependencies with "npm audit fix"

    TL-35082       Upgraded mustache library to version 2.14.1

Release 14.15 (26th August 2022):

Important:

    TL-35164       Fixed upgrade of relative due date calculation of program/certification assignments potentially resulting in loss of data 

                   This fixes a potential data loss issue.
                   
                   It affects sites which got upgraded from any version of 14.5 or higher to 15 or
                   16 (not including this fix) and which make use of relative due dates in program
                   or certification assignments. 
                   
                   Sites upgraded from a version prior to 14.5 directly to 15 or 16 are not
                   affected.
                   
                   This issue had an immediate impact on relative due date periods set on
                   program/certification assignment. This did not affect existing program
                   completion due dates but any future due date calculations used 0 DAYS as a time
                   frame potentially resulting in learners not being able to complete their
                   program.
                   
                   In Totara 14.5 we changed the way relative due dates are calculated. Previously,
                   it used a static 30 days per month during the calculation of the real due date.
                   To improve accuracy we changed this to use the correct date functionality and
                   therefore count in the real number of days for the timeframe. 
                   
                   To convert the existing data to the new data we introduced an upgrade step which
                   migrates the records into the new format using new columns in the
                   prog_assignment database table. Due to a bug in the upgrade code, assignments
                   already using the new structure for relative due dates are migrated wrongly
                   during the next upgrade, which sets the affected relative periods to 0 DAYS. 
                   
                   The upgrade step has now been fixed to ensure the program/certification
                   assignment data for relative due dates is correctly migrated, even when run
                   multiple times.
                   
                   For sites who have already upgraded the following SQL query can be used to
                   determine if your site was affected.
                   If a result is returned then please seek support from us and we will assist you
                   in confirming the issue, and in supporting you to recover the lost data.
                   
                   SELECT
                       p.id AS program_id,
                       p.idnumber as idnumber,
                       p.fullname AS name,
                       CASE WHEN p.certifid IS NOT NULL THEN 'certification'
                           ELSE 'program' END AS program_or_certification,
                       CASE WHEN pa.assignmenttype = 1 THEN 'organisation'
                           WHEN pa.assignmenttype = 2 THEN 'position'
                           WHEN pa.assignmenttype = 3 THEN 'audience'
                           WHEN pa.assignmenttype = 5 THEN 'individual'
                           WHEN pa.assignmenttype = 6 THEN 'job assignment'
                           WHEN pa.assignmenttype = 7 THEN 'learning plan'
                           ELSE ''
                       END AS assignment_type
                   FROM mdl_prog_assignment AS pa
                   LEFT JOIN mdl_prog AS p ON p.id = pa.programid
                   WHERE pa.completionoffsetamount = 0
                       AND pa.completiontime IS NULL
                       AND pa.completionoffsetunit = 2;


Improvements:

    TL-30485       Updated strings on the Engage access form when creating a resource and added an info icon button to the topic selector
    TL-34166       Improved wording in content visibility settings of resources and playlists
    TL-34864       Improved UI behaviour for Tenant default values field when the "Override with file and defaults" value for existing user details field is selected

                   When "Override with file and defaults" value is selected then "Tenant default
                   values" field will be disabled.


Bug fixes:

    TL-32996       Fixed Auth plugins settings not being updated when custom fields are updated
    TL-33607       Improved XMLDB Editor path validation for included files
    TL-34200       Replaced the icon used for edit personal goals link with the editstring icon
    TL-34447       Fixed an issue where a course creator was unable to select an activity type when creating single-activity course

                   This patch creates a new capability, 'format/singleactivity:addanyactivity',
                   that allows the bearer to select any type of activity when creating a
                   single-activity course. On upgrade, this capability is given to all roles based
                   on the course creator archetype.

    TL-34683       Fixed course category caching issue with icons display when searching for courses in the course administration.
    TL-34785       Added has_middleware interface to server/totara/reportbuilder/classes/webapi/resolver/query/template.php resolver
    TL-34808       Fixed stderr not being redirected to stdout when using pcntl extension on PHP version 8.0.20 or 8.1.7

                   On PHP 8.0.20 and 8.1.7 a patch has been released which breaks widely used code
                   to redirect stderr to stdout in CLI scripts. Even though 8.0.21 and 8.1.8
                   reverted the change Totara code has been fixed to work on all supported
                   versions.

    TL-34861       Improved error handling for invalid cache in appraisal multichoice questions
    TL-34865       Fixed a help lang string for bulk adding goals
    TL-34920       Fixed user custom fields not being populated when uploading tenant users
    TL-35025       Ensured empty Report Builder scheduled reports are not sent or saved
    TL-35084       Fixed visibility column exporting data as HTML in Visible Learning report source
    TL-35165       Fixed an exception when including child positions in a position/organisation assignment 

                   The set_duedate() method is not compatible to the duedate parameter being null..
                   This changes make sure to convert null to 0 before calling the set_duedate()
                   method.


Technical changes:

    TL-34899       Fixed an issue where isset on an entity returns false if the relationship exists but is not loaded

Tui front end framework:

    TL-29586       Added `toHaveNoViolations()` to jest's expect() result

                   When using JavaScript unit tests (as provided by jest), a `toHaveNoViolations`
                   function has been added to the `expect()` return value. This allows the test to
                   check the accessibility of the given component and avoids importing the function
                   from jest-axe package `toHaveNoViolations()`

    TL-34555       Fixed the function dom/position/getBox to be functional in IE11

Library updates:

    TL-34192       Updated indirect npm dependencies to eliminate vulnerability warnings

                   * Updated indirect dependencies with "npm audit fix"

    TL-35082       Upgraded mustache library to version 2.14.1

Release 13.23 (26th August 2022):

Improvements:

    TL-34166       Improved wording in content visibility settings of resources and playlists

Bug fixes:

    TL-33607       Improved XMLDB Editor path validation for included files
    TL-34200       Replaced the icon used for edit personal goals link with the editstring icon
    TL-34683       Fixed course category caching issue with icons display when searching for courses in the course administration.
    TL-34785       Added has_middleware interface to server/totara/reportbuilder/classes/webapi/resolver/query/template.php resolver
    TL-34861       Improved error handling for invalid cache in appraisal multichoice questions
    TL-34865       Fixed a help lang string for bulk adding goals
    TL-34920       Fixed user custom fields not being populated when uploading tenant users
    TL-35025       Ensured empty Report Builder scheduled reports are not sent or saved
    TL-35084       Fixed visibility column exporting data as HTML in Visible Learning report source

Technical changes:

    TL-34899       Fixed an issue where isset on an entity returns false if the relationship exists but is not loaded

Tui front end framework:

    TL-29586       Added `toHaveNoViolations()` to jest's expect() result

                   When using JavaScript unit tests (as provided by jest), a `toHaveNoViolations`
                   function has been added to the `expect()` return value. This allows the test to
                   check the accessibility of the given component and avoids importing the function
                   from jest-axe package `toHaveNoViolations()`

    TL-34555       Fixed the function dom/position/getBox to be functional in IE11

Library updates:

    TL-34192       Updated indirect npm dependencies to eliminate vulnerability warnings

                   * Updated indirect dependencies with "npm audit fix"

    TL-35082       Upgraded mustache library to version 2.14.1

Release 12.46 (26th August 2022):

Bug fixes:

    TL-33607       Improved XMLDB Editor path validation for included files
    TL-34865       Fixed a help lang string for bulk adding goals

Library updates:

    TL-35082       Upgraded mustache library to version 2.14.1

Release 11.54 (26th August 2022):

Bug fixes:

    TL-33607       Improved XMLDB Editor path validation for included files

Library updates:

    TL-35082       Upgraded mustache library to version 2.14.1

Release 10.57 (26th August 2022):

Bug fixes:

    TL-33607       Improved XMLDB Editor path validation for included files

Release 9.64 (26th August 2022):

Bug fixes:

    TL-33607       Improved XMLDB Editor path validation for included files