Hello everyone,
The following versions of Totara Learn have now been released:
- Release Evergreen
- Release 11.4
- Release 10.10
- Release 9.21
- Release 2.9.33
- Release 2.7.41
- Release 2.6.58
- Release 2.5.65
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:
- Grace Ashton at Kineo UK - TL-17538
- Jo Jones at Kineo UK - TL-17524
Kind regardsDavid Curry
Release Evergreen (20th June 2018):
Key: + Evergreen only Security issues: TL-10268 Prevented EXCEL/ODS Macro Injection The Excel and Open Document Spreadsheet export functionality allowed the exporting of formulas when they were detected, which could lead to incorrect rendering and security issues on different reports throughout the code base. To prevent exploitation of this functionality, formula detection was removed and standard string type applied instead. The formula type is still in the code base and can still be used, however it now needs to be called directly using the "write_formula" method. TL-17424 Improved the validation of the form used to edit block configuration Validation on the fields in the edit block configuration form has been improved, and only fields that the user is permitted to change are passed through this form. The result of logical operators are no longer passed through or relied upon. TL-17785 MDL-62275: Improved validation of calculated question formulae Performance improvements: TL-17615 Improved mapping of courses and certifications within the completion import tool Previously all mapping was done in SQL, and was repeated any time the mapping data was needed. On some database engines the SQL would perform poorly when applied to a large data set. This change introduces two new fields to capture the mapping, which is now calculated once and saved for future reference. This should lower resource use on the database when running completion import. Improvements: TL-10651 + HR Import now handles empty fields consistently Empty fields being imported into HR Import were inconsistently handled across field types, sources and elements. This makes changes to introduce consistency so if a field is left empty in the CSV or database then it will delete the existing data (except if the "Empty string behaviour in CSV" setting is set to "Empty strings are ignored"). The main change in behaviour is with empty fields when custom fields are included in the import. Prior to this patch custom fields would sometimes not be erased when an empty field was imported. These should now be erased correctly (for CSV this is only when "Empty strings erase existing data" is set). TL-16149 + Added the ability to have images associated with courses, programs and certifications This improvement saw three notable changes made: 1) An image can now be set for courses, programs, and certifications via their respective settings pages. 2) An out of the box default image has been added for courses, programs, and certifications. 3) The default image for courses, programs, and certifications can be overridden by an admin. TL-16893 + Removed unused content options from the program report source The program report source's "Hide currently unavailable content" setting had no effect and has been removed. The code governing the setting has also been deprecated. The functionality it previously offered is already provided by the Report Builder's visibility controls and capabilities relating to this. TL-17288 Missing Seminar notifications can now be restored by a single bulk action During Totara upgrades from earlier versions to T9 and above, existing seminars are missing the new default notification templates. There is existing functionality to restore them by visiting each seminar notification one by one, which will take some time if there are a lot of seminars. This patch introduces new functionality to restore any missing templates for ALL existing seminars at once. TL-17414 Improved information around the 'completions archive' functionality It now explicitly expresses that completion data will be permanently deleted and mentions that the data that will be archived is limited to: id, courseid, userid, timecompleted, and grade. It also mentions that this information will be available in the learner's Record of Learning. TL-17439 + Split block configuration settings into two sections The general section contains all the settings common to every block, and the new custom section contains settings specific to the block type. If you have any custom blocks please refer to the blocks/upgrade.txt file for more information. TL-17517 Improved the user interface for Course Import when no courses match a search term TL-17611 Added a hook to the Last Course Accessed block to allow courses to be excluded from being displayed This hook allows specified courses to be excluded from being displayed in the Last Course Accessed block. If the most recently accessed course is excluded then the next most recently accessed course is displayed. TL-17613 Added a hook to the Last Course Accessed block to allow extra data to be passed to template This enables extra data to be passed through to the Last Course Accessed block template so that the display can be more easily modified without changing core code. TL-17626 Prevented report managers from seeing performance data without specific capabilities Site managers will no longer have access to the following report columns as a default: Appraisal Answers: Learner's Answers, Learner's Rating Answers, Learner's Score, Manager's Answers, Manager's Rating Answers, Manager's Score, Manager's Manager Answers, Manager's Manager Rating Answers, Manager's Manager Score, Appraiser's Answers, Appraiser's Rating Answers, Appraiser's Score, All Roles' Answers, All Roles' Rating Answers, All Roles' Score. Goals: Goal Name, Goal Description This has been implemented to ensure site managers cannot access users' performance-related personal data. To give site managers access to this data the role must be updated with the following permissions: * totara/appraisal:viewallappraisals * totara/hierarchy:viewallgoals TL-17661 + Enabled missing gzip compression for uncached js files TL-17738 Changed data-vocabulary.org URL in metadata to be https This URL is used to provide extra information for navigation breadcrumbs to search engines when your site is indexed. Bug fixes: TL-16908 Made sure evidence files are being cleaned up when evidence is deleted TL-16967 Fixed an 'invalidrecordunknown' error when creating Learning Plans for Dynamic Audiences Once the "Automatically assign by organisation" setting was set under the competencies section of Learning Plan templates, and new Learning Plans were created for Dynamic Audiences, a check for the first job assignment of the user was made. This first job assignment must exist otherwise an error was thrown for all users that did not have a job assignment. This has now been fixed and a check for all of the user's job assignments is made rather than just the first one. TL-17102 Fixed saved searches not being applied to report blocks TL-17289 Made message metadata usage consistent for alerts and blocks TL-17364 Fixed displaying profile fields data in the self-registration request report TL-17405 Fixed setuplib test case error when test executed separated TL-17416 Prevented completion report link appearing in user profile page when user does not have permission to view reports. TL-17486 Fixed display issue when using "Hide if there is nothing to display" setting in the report table block If the setting "Hide if there is nothing to display" was set for the report table block then the block would hide even if there was data. The setting now works correctly and only hides the block if the report contains no data. TL-17523 Removed the ability to create multiple job assignments via the dialog when multiple jobs is disabled TL-17524 Fixed exporting reports as PDF during scheduled tasks when the PHP memory limit is exceeded Generating PDF files as part of a scheduled report previously caused an error and aborted the entire scheduled task if a report had a large data set that exceeded the PDF memory limit. With this patch, the exception is still raised, but the export completes with the exception message in the PDF file notifying the user that they need to change their report. The scheduled task then continues on to the next report to be exported. TL-17541 Fixed the help text for a setting in the course completion report The help text for the 'Show only active enrolments' setting in the course completion report was misleading, sounding like completion records for users with removed enrolments were going to be shown on the report. This has now been fixed to reflect the actual behaviour of the setting, which excludes records from removed enrolments. TL-17542 Made sure that RPL completion information remains collapsed on the course completion report until it is explicitly expanded TL-17590 Added missing parameters to the 'User is a member of audience' filter javascript call TL-17601 Made the edit and delete icons in the calendar use Flex icons so they are now Font Awesome icons In Totara 9 the edit and delete buttons for events on calendars were switched over to the new Flex icon API, this was mistakenly overwritten in a later patch. This patch moves the edit and delete buttons back to the Flex icon API as intended. TL-17610 Setup cron user and course before each scheduled or adhoc task Before this patch we set the admin user and the course at the beginning of the cron run. Any task could have overridden the user. But if the task did not take care of resetting the user at the end it affected all following tasks, potentially creating unwanted results. Same goes for the course. To avoid any interference we now set the admin user and the default course before each task to make sure all get the same environment. TL-17612 Added a warning by the "next page" button when using sequential navigation When the quiz is using sequential navigation, learners are unaware that they cannot navigate back to a question. A warning has been introduced when sequential navigation is in place to make the learner aware of this. TL-17622 Fixed validation of custom user profile fields during self-registration TL-17628 Prevented access to global report restriction interface when feature is disabled TL-17630 Fixed Error in help text when editing seminar notifications in the 'body_help' string replaced [session:room:placeholder] with [session:room:cf_placeholder] as all custom field placeholders have to have the cf_ prefix in the notification. TL-17632 + Ensured that recursion in mustache helpers is prevented when debugging is off TL-17633 Removed misleading information in the program/certification extension help text Previously the help text stated "This option will appear before the due date (when it is close)" which was not accurate as the option always appeared during the program/certification enrollment period. This statement has now been removed. TL-17645 + Mustache esc helper now supports full mustache syntax TL-17647 Raised MySQL limitation on the amount of questions for Appraisals. Due to MySQL/MariaDB row size limit there could only be about 85 questions of types "text" in one appraisal. Creating appraisals with higher numbers of questions caused an error on activation. Changes have been made to the way the questions are stored so that now it's possible to have up to about 186 questions of these types when using MySQL/MariaDB. On the appraisal creation page a warning message has been added that is shown when the limit is about to be exceeded due to the amount of added questions. Also, when this error still occurs on activation, an informative error message will be shown instead of the MySQL error message. TL-17656 Fixed notification type validation when creating a new notification When creating a new seminar notification and using the default values, the save process was failing because a notification type default value was missed. Now the default value for the notification type is "Send now" TL-17662 Fixed user roles not being added on re-enrolment into course after resetting course TL-17702 Fixed display issue when editing forum subscribers TL-17711 Fixed message URL in the component alerts TL-17716 Fixed HR Import sanity checks for Hierarchy parents when source does not contain all records When the Organisation / Position elements are set to "source does not contain all records" there are sanity checks to ensure that, if an item has a parent, the parent currently exists or will exist before the record is imported. Prior to this patch, only the source records were being used to determine if the parent exists. This only works when the element is set to "source contains all records". This patch ensures that when the element is set to "source does not contain all records", the sanity check also includes the existing data to determine if a parent exists. TL-17722 Fixed issue with HTML entities being stored in Feedback module responses In the Feedback module, if a text area question was being used, some characters were being saved into the database as HTML encoded entities. This resulted in exports and some displays incorrectly showing HTML entities in place of these characters. TL-17724 Fixed nonfunctional cleanup script for incorrectly deleted users TL-17725 + Fixed display issue when selecting a course icon When selecting a course icon, if the last icon in a row was selected, the first icon in the following row previously appeared directly below the selected icon. This fix will require LESS recompilation for those themes that use LESS inheritance TL-17729 Dialogs no longer overwrite JavaScript strings In some situations it was possible for strings required in JavaScript to be removed. This will no longer happen. TL-17730 Added 'alt' text to report cache icon TL-17732 Fixed a regression in the Current Learning block caused by TL-16820 The export_for_template() function in the course user learning item was incorrectly calling get_owner() when it should have been using has_owner(). TL-17744 Fixed header tags being the same size as all other text in the HTML block API changes: TL-16918 + Removed Polyfills required for IE9 As of Totara 10, IE9 was no longer supported. This issue removes the polyfills that enabled IE9 to have the same functionality as more modern browsers. TL-17746 + Removed Minified AMD modules with no Source files The following minified AMD JavaScript modules were removed as they are not used and have no source files: * 'block_totara_featured_links/course_dialog' * 'block_totara_featured_links/icon_picker' * 'totara_form/form_clientaction_autosubmit' Contributions: * Jo Jones at Kineo UK - TL-17524
Release 11.4 (20th June 2018):
Security issues: TL-10268 Prevented EXCEL/ODS Macro Injection The Excel and Open Document Spreadsheet export functionality allowed the exporting of formulas when they were detected, which could lead to incorrect rendering and security issues on different reports throughout the code base. To prevent exploitation of this functionality, formula detection was removed and standard string type applied instead. The formula type is still in the code base and can still be used, however it now needs to be called directly using the "write_formula" method. TL-17424 Improved the validation of the form used to edit block configuration Validation on the fields in the edit block configuration form has been improved, and only fields that the user is permitted to change are passed through this form. The result of logical operators are no longer passed through or relied upon. TL-17785 MDL-62275: Improved validation of calculated question formulae Performance improvements: TL-17615 Improved mapping of courses and certifications within the completion import tool Previously all mapping was done in SQL, and was repeated any time the mapping data was needed. On some database engines the SQL would perform poorly when applied to a large data set. This change introduces two new fields to capture the mapping, which is now calculated once and saved for future reference. This should lower resource use on the database when running completion import. Improvements: TL-17288 Missing Seminar notifications can now be restored by a single bulk action During Totara upgrades from earlier versions to T9 and above, existing seminars are missing the new default notification templates. There is existing functionality to restore them by visiting each seminar notification one by one, which will take some time if there are a lot of seminars. This patch introduces new functionality to restore any missing templates for ALL existing seminars at once. TL-17414 Improved information around the 'completions archive' functionality It now explicitly expresses that completion data will be permanently deleted and mentions that the data that will be archived is limited to: id, courseid, userid, timecompleted, and grade. It also mentions that this information will be available in the learner's Record of Learning. TL-17517 Improved the user interface for Course Import when no courses match a search term TL-17611 Added a hook to the Last Course Accessed block to allow courses to be excluded from being displayed This hook allows specified courses to be excluded from being displayed in the Last Course Accessed block. If the most recently accessed course is excluded then the next most recently accessed course is displayed. TL-17613 Added a hook to the Last Course Accessed block to allow extra data to be passed to template This enables extra data to be passed through to the Last Course Accessed block template so that the display can be more easily modified without changing core code. TL-17626 Prevented report managers from seeing performance data without specific capabilities Site managers will no longer have access to the following report columns as a default: Appraisal Answers: Learner's Answers, Learner's Rating Answers, Learner's Score, Manager's Answers, Manager's Rating Answers, Manager's Score, Manager's Manager Answers, Manager's Manager Rating Answers, Manager's Manager Score, Appraiser's Answers, Appraiser's Rating Answers, Appraiser's Score, All Roles' Answers, All Roles' Rating Answers, All Roles' Score. Goals: Goal Name, Goal Description This has been implemented to ensure site managers cannot access users' performance-related personal data. To give site managers access to this data the role must be updated with the following permissions: * totara/appraisal:viewallappraisals * totara/hierarchy:viewallgoals TL-17738 Changed data-vocabulary.org URL in metadata to be https This URL is used to provide extra information for navigation breadcrumbs to search engines when your site is indexed. Bug fixes: TL-16908 Made sure evidence files are being cleaned up when evidence is deleted TL-16967 Fixed an 'invalidrecordunknown' error when creating Learning Plans for Dynamic Audiences Once the "Automatically assign by organisation" setting was set under the competencies section of Learning Plan templates, and new Learning Plans were created for Dynamic Audiences, a check for the first job assignment of the user was made. This first job assignment must exist otherwise an error was thrown for all users that did not have a job assignment. This has now been fixed and a check for all of the user's job assignments is made rather than just the first one. TL-17102 Fixed saved searches not being applied to report blocks TL-17289 Made message metadata usage consistent for alerts and blocks TL-17364 Fixed displaying profile fields data in the self-registration request report TL-17405 Fixed setuplib test case error when test executed separated TL-17416 Prevented completion report link appearing in user profile page when user does not have permission to view reports. TL-17486 Fixed display issue when using "Hide if there is nothing to display" setting in the report table block If the setting "Hide if there is nothing to display" was set for the report table block then the block would hide even if there was data. The setting now works correctly and only hides the block if the report contains no data. TL-17523 Removed the ability to create multiple job assignments via the dialog when multiple jobs is disabled TL-17524 Fixed exporting reports as PDF during scheduled tasks when the PHP memory limit is exceeded Generating PDF files as part of a scheduled report previously caused an error and aborted the entire scheduled task if a report had a large data set that exceeded the PDF memory limit. With this patch, the exception is still raised, but the export completes with the exception message in the PDF file notifying the user that they need to change their report. The scheduled task then continues on to the next report to be exported. TL-17541 Fixed the help text for a setting in the course completion report The help text for the 'Show only active enrolments' setting in the course completion report was misleading, sounding like completion records for users with removed enrolments were going to be shown on the report. This has now been fixed to reflect the actual behaviour of the setting, which excludes records from removed enrolments. TL-17542 Made sure that RPL completion information remains collapsed on the course completion report until it is explicitly expanded TL-17590 Added missing parameters to the 'User is a member of audience' filter javascript call TL-17601 Made the edit and delete icons in the calendar use Flex icons so they are now Font Awesome icons In Totara 9 the edit and delete buttons for events on calendars were switched over to the new Flex icon API, this was mistakenly overwritten in a later patch. This patch moves the edit and delete buttons back to the Flex icon API as intended. TL-17610 Setup cron user and course before each scheduled or adhoc task Before this patch we set the admin user and the course at the beginning of the cron run. Any task could have overridden the user. But if the task did not take care of resetting the user at the end it affected all following tasks, potentially creating unwanted results. Same goes for the course. To avoid any interference we now set the admin user and the default course before each task to make sure all get the same environment. TL-17612 Added a warning by the "next page" button when using sequential navigation When the quiz is using sequential navigation, learners are unaware that they cannot navigate back to a question. A warning has been introduced when sequential navigation is in place to make the learner aware of this. TL-17622 Fixed validation of custom user profile fields during self-registration TL-17628 Prevented access to global report restriction interface when feature is disabled TL-17630 Fixed Error in help text when editing seminar notifications in the 'body_help' string replaced [session:room:placeholder] with [session:room:cf_placeholder] as all custom field placeholders have to have the cf_ prefix in the notification. TL-17633 Removed misleading information in the program/certification extension help text Previously the help text stated "This option will appear before the due date (when it is close)" which was not accurate as the option always appeared during the program/certification enrollment period. This statement has now been removed. TL-17647 Raised MySQL limitation on the amount of questions for Appraisals. Due to MySQL/MariaDB row size limit there could only be about 85 questions of types "text" in one appraisal. Creating appraisals with higher numbers of questions caused an error on activation. Changes have been made to the way the questions are stored so that now it's possible to have up to about 186 questions of these types when using MySQL/MariaDB. On the appraisal creation page a warning message has been added that is shown when the limit is about to be exceeded due to the amount of added questions. Also, when this error still occurs on activation, an informative error message will be shown instead of the MySQL error message. TL-17656 Fixed notification type validation when creating a new notification When creating a new seminar notification and using the default values, the save process was failing because a notification type default value was missed. Now the default value for the notification type is "Send now" TL-17662 Fixed user roles not being added on re-enrolment into course after resetting course TL-17702 Fixed display issue when editing forum subscribers TL-17711 Fixed message URL in the component alerts TL-17716 Fixed HR Import sanity checks for Hierarchy parents when source does not contain all records When the Organisation / Position elements are set to "source does not contain all records" there are sanity checks to ensure that, if an item has a parent, the parent currently exists or will exist before the record is imported. Prior to this patch, only the source records were being used to determine if the parent exists. This only works when the element is set to "source contains all records". This patch ensures that when the element is set to "source does not contain all records", the sanity check also includes the existing data to determine if a parent exists. TL-17722 Fixed issue with HTML entities being stored in Feedback module responses In the Feedback module, if a text area question was being used, some characters were being saved into the database as HTML encoded entities. This resulted in exports and some displays incorrectly showing HTML entities in place of these characters. TL-17724 Fixed nonfunctional cleanup script for incorrectly deleted users TL-17729 Dialogs no longer overwrite JavaScript strings In some situations it was possible for strings required in JavaScript to be removed. This will no longer happen. TL-17730 Added 'alt' text to report cache icon TL-17732 Fixed a regression in the Current Learning block caused by TL-16820 The export_for_template() function in the course user learning item was incorrectly calling get_owner() when it should have been using has_owner(). TL-17744 Fixed header tags being the same size as all other text in the HTML block Contributions: * Jo Jones at Kineo UK - TL-17524
Release 10.10 (20th June 2018):
Security issues: TL-10268 Prevented EXCEL/ODS Macro Injection The Excel and Open Document Spreadsheet export functionality allowed the exporting of formulas when they were detected, which could lead to incorrect rendering and security issues on different reports throughout the code base. To prevent exploitation of this functionality, formula detection was removed and standard string type applied instead. The formula type is still in the code base and can still be used, however it now needs to be called directly using the "write_formula" method. TL-17424 Improved the validation of the form used to edit block configuration Validation on the fields in the edit block configuration form has been improved, and only fields that the user is permitted to change are passed through this form. The result of logical operators are no longer passed through or relied upon. TL-17785 MDL-62275: Improved validation of calculated question formulae Improvements: TL-17288 Missing Seminar notifications can now be restored by a single bulk action During Totara upgrades from earlier versions to T9 and above, existing seminars are missing the new default notification templates. There is existing functionality to restore them by visiting each seminar notification one by one, which will take some time if there are a lot of seminars. This patch introduces new functionality to restore any missing templates for ALL existing seminars at once. TL-17414 Improved information around the 'completions archive' functionality It now explicitly expresses that completion data will be permanently deleted and mentions that the data that will be archived is limited to: id, courseid, userid, timecompleted, and grade. It also mentions that this information will be available in the learner's Record of Learning. TL-17626 Prevented report managers from seeing performance data without specific capabilities Site managers will no longer have access to the following report columns as a default: Appraisal Answers: Learner's Answers, Learner's Rating Answers, Learner's Score, Manager's Answers, Manager's Rating Answers, Manager's Score, Manager's Manager Answers, Manager's Manager Rating Answers, Manager's Manager Score, Appraiser's Answers, Appraiser's Rating Answers, Appraiser's Score, All Roles' Answers, All Roles' Rating Answers, All Roles' Score. Goals: Goal Name, Goal Description This has been implemented to ensure site managers cannot access users' performance-related personal data. To give site managers access to this data the role must be updated with the following permissions: * totara/appraisal:viewallappraisals * totara/hierarchy:viewallgoals TL-17738 Changed data-vocabulary.org URL in metadata to be https This URL is used to provide extra information for navigation breadcrumbs to search engines when your site is indexed. Bug fixes: TL-16908 Made sure evidence files are being cleaned up when evidence is deleted TL-16967 Fixed an 'invalidrecordunknown' error when creating Learning Plans for Dynamic Audiences Once the "Automatically assign by organisation" setting was set under the competencies section of Learning Plan templates, and new Learning Plans were created for Dynamic Audiences, a check for the first job assignment of the user was made. This first job assignment must exist otherwise an error was thrown for all users that did not have a job assignment. This has now been fixed and a check for all of the user's job assignments is made rather than just the first one. TL-17102 Fixed saved searches not being applied to report blocks TL-17289 Made message metadata usage consistent for alerts and blocks TL-17364 Fixed displaying profile fields data in the self-registration request report TL-17405 Fixed setuplib test case error when test executed separated TL-17416 Prevented completion report link appearing in user profile page when user does not have permission to view reports. TL-17486 Fixed display issue when using "Hide if there is nothing to display" setting in the report table block If the setting "Hide if there is nothing to display" was set for the report table block then the block would hide even if there was data. The setting now works correctly and only hides the block if the report contains no data. TL-17523 Removed the ability to create multiple job assignments via the dialog when multiple jobs is disabled TL-17524 Fixed exporting reports as PDF during scheduled tasks when the PHP memory limit is exceeded Generating PDF files as part of a scheduled report previously caused an error and aborted the entire scheduled task if a report had a large data set that exceeded the PDF memory limit. With this patch, the exception is still raised, but the export completes with the exception message in the PDF file notifying the user that they need to change their report. The scheduled task then continues on to the next report to be exported. TL-17541 Fixed the help text for a setting in the course completion report The help text for the 'Show only active enrolments' setting in the course completion report was misleading, sounding like completion records for users with removed enrolments were going to be shown on the report. This has now been fixed to reflect the actual behaviour of the setting, which excludes records from removed enrolments. TL-17542 Made sure that RPL completion information remains collapsed on the course completion report until it is explicitly expanded TL-17590 Added missing parameters to the 'User is a member of audience' filter javascript call TL-17601 Made the edit and delete icons in the calendar use Flex icons so they are now Font Awesome icons In Totara 9 the edit and delete buttons for events on calendars were switched over to the new Flex icon API, this was mistakenly overwritten in a later patch. This patch moves the edit and delete buttons back to the Flex icon API as intended. TL-17610 Setup cron user and course before each scheduled or adhoc task Before this patch we set the admin user and the course at the beginning of the cron run. Any task could have overridden the user. But if the task did not take care of resetting the user at the end it affected all following tasks, potentially creating unwanted results. Same goes for the course. To avoid any interference we now set the admin user and the default course before each task to make sure all get the same environment. TL-17612 Added a warning by the "next page" button when using sequential navigation When the quiz is using sequential navigation, learners are unaware that they cannot navigate back to a question. A warning has been introduced when sequential navigation is in place to make the learner aware of this. TL-17622 Fixed validation of custom user profile fields during self-registration TL-17628 Prevented access to global report restriction interface when feature is disabled TL-17630 Fixed Error in help text when editing seminar notifications in the 'body_help' string replaced [session:room:placeholder] with [session:room:cf_placeholder] as all custom field placeholders have to have the cf_ prefix in the notification. TL-17633 Removed misleading information in the program/certification extension help text Previously the help text stated "This option will appear before the due date (when it is close)" which was not accurate as the option always appeared during the program/certification enrollment period. This statement has now been removed. TL-17647 Raised MySQL limitation on the amount of questions for Appraisals. Due to MySQL/MariaDB row size limit there could only be about 85 questions of types "text" in one appraisal. Creating appraisals with higher numbers of questions caused an error on activation. Changes have been made to the way the questions are stored so that now it's possible to have up to about 186 questions of these types when using MySQL/MariaDB. On the appraisal creation page a warning message has been added that is shown when the limit is about to be exceeded due to the amount of added questions. Also, when this error still occurs on activation, an informative error message will be shown instead of the MySQL error message. TL-17656 Fixed notification type validation when creating a new notification When creating a new seminar notification and using the default values, the save process was failing because a notification type default value was missed. Now the default value for the notification type is "Send now" TL-17660 Fixed the handling of legacy deleted users in the users report source TL-17662 Fixed user roles not being added on re-enrolment into course after resetting course TL-17702 Fixed display issue when editing forum subscribers TL-17722 Fixed issue with HTML entities being stored in Feedback module responses In the Feedback module, if a text area question was being used, some characters were being saved into the database as HTML encoded entities. This resulted in exports and some displays incorrectly showing HTML entities in place of these characters. TL-17724 Fixed nonfunctional cleanup script for incorrectly deleted users TL-17730 Added 'alt' text to report cache icon TL-17732 Fixed a regression in the Current Learning block caused by TL-16820 The export_for_template() function in the course user learning item was incorrectly calling get_owner() when it should have been using has_owner(). TL-17744 Fixed header tags being the same size as all other text in the HTML block Contributions: * Jo Jones at Kineo UK - TL-17524
Release 9.21 (20th June 2018):
Security issues: TL-10268 Prevented EXCEL/ODS Macro Injection The Excel and Open Document Spreadsheet export functionality allowed the exporting of formulas when they were detected, which could lead to incorrect rendering and security issues on different reports throughout the code base. To prevent exploitation of this functionality, formula detection was removed and standard string type applied instead. The formula type is still in the code base and can still be used, however it now needs to be called directly using the "write_formula" method. TL-17424 Improved the validation of the form used to edit block configuration Validation on the fields in the edit block configuration form has been improved, and only fields that the user is permitted to change are passed through this form. The result of logical operators are no longer passed through or relied upon. TL-17785 MDL-62275: Improved validation of calculated question formulae Improvements: TL-17288 Missing Seminar notifications can now be restored by a single bulk action During Totara upgrades from earlier versions to T9 and above, existing seminars are missing the new default notification templates. There is existing functionality to restore them by visiting each seminar notification one by one, which will take some time if there are a lot of seminars. This patch introduces new functionality to restore any missing templates for ALL existing seminars at once. TL-17414 Improved information around the 'completions archive' functionality It now explicitly expresses that completion data will be permanently deleted and mentions that the data that will be archived is limited to: id, courseid, userid, timecompleted, and grade. It also mentions that this information will be available in the learner's Record of Learning. TL-17626 Prevented report managers from seeing performance data without specific capabilities Site managers will no longer have access to the following report columns as a default: Appraisal Answers: Learner's Answers, Learner's Rating Answers, Learner's Score, Manager's Answers, Manager's Rating Answers, Manager's Score, Manager's Manager Answers, Manager's Manager Rating Answers, Manager's Manager Score, Appraiser's Answers, Appraiser's Rating Answers, Appraiser's Score, All Roles' Answers, All Roles' Rating Answers, All Roles' Score. Goals: Goal Name, Goal Description This has been implemented to ensure site managers cannot access users' performance-related personal data. To give site managers access to this data the role must be updated with the following permissions: * totara/appraisal:viewallappraisals * totara/hierarchy:viewallgoals Bug fixes: TL-16967 Fixed an 'invalidrecordunknown' error when creating Learning Plans for Dynamic Audiences Once the "Automatically assign by organisation" setting was set under the competencies section of Learning Plan templates, and new Learning Plans were created for Dynamic Audiences, a check for the first job assignment of the user was made. This first job assignment must exist otherwise an error was thrown for all users that did not have a job assignment. This has now been fixed and a check for all of the user's job assignments is made rather than just the first one. TL-17102 Fixed saved searches not being applied to report blocks TL-17289 Made message metadata usage consistent for alerts and blocks TL-17364 Fixed displaying profile fields data in the self-registration request report TL-17405 Fixed setuplib test case error when test executed separated TL-17416 Prevented completion report link appearing in user profile page when user does not have permission to view reports. TL-17523 Removed the ability to create multiple job assignments via the dialog when multiple jobs is disabled TL-17524 Fixed exporting reports as PDF during scheduled tasks when the PHP memory limit is exceeded Generating PDF files as part of a scheduled report previously caused an error and aborted the entire scheduled task if a report had a large data set that exceeded the PDF memory limit. With this patch, the exception is still raised, but the export completes with the exception message in the PDF file notifying the user that they need to change their report. The scheduled task then continues on to the next report to be exported. TL-17541 Fixed the help text for a setting in the course completion report The help text for the 'Show only active enrolments' setting in the course completion report was misleading, sounding like completion records for users with removed enrolments were going to be shown on the report. This has now been fixed to reflect the actual behaviour of the setting, which excludes records from removed enrolments. TL-17542 Made sure that RPL completion information remains collapsed on the course completion report until it is explicitly expanded TL-17610 Setup cron user and course before each scheduled or adhoc task Before this patch we set the admin user and the course at the beginning of the cron run. Any task could have overridden the user. But if the task did not take care of resetting the user at the end it affected all following tasks, potentially creating unwanted results. Same goes for the course. To avoid any interference we now set the admin user and the default course before each task to make sure all get the same environment. TL-17612 Added a warning by the "next page" button when using sequential navigation When the quiz is using sequential navigation, learners are unaware that they cannot navigate back to a question. A warning has been introduced when sequential navigation is in place to make the learner aware of this. TL-17630 Fixed Error in help text when editing seminar notifications in the 'body_help' string replaced [session:room:placeholder] with [session:room:cf_placeholder] as all custom field placeholders have to have the cf_ prefix in the notification. TL-17633 Removed misleading information in the program/certification extension help text Previously the help text stated "This option will appear before the due date (when it is close)" which was not accurate as the option always appeared during the program/certification enrollment period. This statement has now been removed. TL-17647 Raised MySQL limitation on the amount of questions for Appraisals. Due to MySQL/MariaDB row size limit there could only be about 85 questions of types "text" in one appraisal. Creating appraisals with higher numbers of questions caused an error on activation. Changes have been made to the way the questions are stored so that now it's possible to have up to about 186 questions of these types when using MySQL/MariaDB. On the appraisal creation page a warning message has been added that is shown when the limit is about to be exceeded due to the amount of added questions. Also, when this error still occurs on activation, an informative error message will be shown instead of the MySQL error message. TL-17702 Fixed display issue when editing forum subscribers TL-17724 Fixed nonfunctional cleanup script for incorrectly deleted users TL-17732 Fixed a regression in the Current Learning block caused by TL-16820 The export_for_template() function in the course user learning item was incorrectly calling get_owner() when it should have been using has_owner(). TL-17744 Fixed header tags being the same size as all other text in the HTML block Contributions: * Jo Jones at Kineo UK - TL-17524
Release 2.9.33 (20th June 2018):
Security issues: TL-10268 Prevented EXCEL/ODS Macro Injection The Excel and Open Document Spreadsheet export functionality allowed the exporting of formulas when they were detected, which could lead to incorrect rendering and security issues on different reports throughout the code base. To prevent exploitation of this functionality, formula detection was removed and standard string type applied instead. The formula type is still in the code base and can still be used, however it now needs to be called directly using the "write_formula" method. TL-17424 Improved the validation of the form used to edit block configuration Validation on the fields in the edit block configuration form has been improved, and only fields that the user is permitted to change are passed through this form. The result of logical operators are no longer passed through or relied upon. TL-17785 MDL-62275: Improved validation of calculated question formulae Improvements: TL-17626 Prevented report managers from seeing performance data without specific capabilities Site managers will no longer have access to the following report columns as a default: Appraisal Answers: Learner's Answers, Learner's Rating Answers, Learner's Score, Manager's Answers, Manager's Rating Answers, Manager's Score, Manager's Manager Answers, Manager's Manager Rating Answers, Manager's Manager Score, Appraiser's Answers, Appraiser's Rating Answers, Appraiser's Score, All Roles' Answers, All Roles' Rating Answers, All Roles' Score. Goals: Goal Name, Goal Description This has been implemented to ensure site managers cannot access users' performance-related personal data. To give site managers access to this data the role must be updated with the following permissions: * totara/appraisal:viewallappraisals * totara/hierarchy:viewallgoals Bug fixes: TL-17102 Fixed saved searches not being applied to report blocks TL-17289 Made message metadata usage consistent for alerts and blocks TL-17524 Fixed exporting reports as PDF during scheduled tasks when the PHP memory limit is exceeded Generating PDF files as part of a scheduled report previously caused an error and aborted the entire scheduled task if a report had a large data set that exceeded the PDF memory limit. With this patch, the exception is still raised, but the export completes with the exception message in the PDF file notifying the user that they need to change their report. The scheduled task then continues on to the next report to be exported. TL-17538 Fixed the room selection reset when the session form validation does not pass TL-17541 Fixed the help text for a setting in the course completion report The help text for the 'Show only active enrolments' setting in the course completion report was misleading, sounding like completion records for users with removed enrolments were going to be shown on the report. This has now been fixed to reflect the actual behaviour of the setting, which excludes records from removed enrolments. TL-17610 Setup cron user and course before each scheduled or adhoc task Before this patch we set the admin user and the course at the beginning of the cron run. Any task could have overridden the user. But if the task did not take care of resetting the user at the end it affected all following tasks, potentially creating unwanted results. Same goes for the course. To avoid any interference we now set the admin user and the default course before each task to make sure all get the same environment. TL-17633 Removed misleading information in the program/certification extension help text Previously the help text stated "This option will appear before the due date (when it is close)" which was not accurate as the option always appeared during the program/certification enrollment period. This statement has now been removed. Contributions: * Grace Ashton at Kineo UK - TL-17538 * Jo Jones at Kineo UK - TL-17524
Release 2.7.41 (20th June 2018):
Security issues: TL-17424 Improved the validation of the form used to edit block configuration Validation on the fields in the edit block configuration form has been improved, and only fields that the user is permitted to change are passed through this form. The result of logical operators are no longer passed through or relied upon. TL-17785 MDL-62275: Improved validation of calculated question formulae Improvements: TL-17626 Prevented report managers from seeing performance data without specific capabilities Site managers will no longer have access to the following report columns as a default: Appraisal Answers: Learner's Answers, Learner's Rating Answers, Learner's Score, Manager's Answers, Manager's Rating Answers, Manager's Score, Manager's Manager Answers, Manager's Manager Rating Answers, Manager's Manager Score, Appraiser's Answers, Appraiser's Rating Answers, Appraiser's Score, All Roles' Answers, All Roles' Rating Answers, All Roles' Score. Goals: Goal Name, Goal Description This has been implemented to ensure site managers cannot access users' performance-related personal data. To give site managers access to this data the role must be updated with the following permissions: * totara/appraisal:viewallappraisals * totara/hierarchy:viewallgoals Bug fixes: TL-17524 Fixed exporting reports as PDF during scheduled tasks when the PHP memory limit is exceeded Generating PDF files as part of a scheduled report previously caused an error and aborted the entire scheduled task if a report had a large data set that exceeded the PDF memory limit. With this patch, the exception is still raised, but the export completes with the exception message in the PDF file notifying the user that they need to change their report. The scheduled task then continues on to the next report to be exported. TL-17538 Fixed the room selection reset when the session form validation does not pass TL-17541 Fixed the help text for a setting in the course completion report The help text for the 'Show only active enrolments' setting in the course completion report was misleading, sounding like completion records for users with removed enrolments were going to be shown on the report. This has now been fixed to reflect the actual behaviour of the setting, which excludes records from removed enrolments. TL-17610 Setup cron user and course before each scheduled or adhoc task Before this patch we set the admin user and the course at the beginning of the cron run. Any task could have overridden the user. But if the task did not take care of resetting the user at the end it affected all following tasks, potentially creating unwanted results. Same goes for the course. To avoid any interference we now set the admin user and the default course before each task to make sure all get the same environment. TL-17621 Fixed the setting allowing you to override the userfrom for face-to-face notifications Previously the "facetoface_fromaddress" setting was being ignored when Face-to-face notifications were sent, leaving the default sender header. Contributions: * Grace Ashton at Kineo UK - TL-17538 * Jo Jones at Kineo UK - TL-17524
Release 2.6.58 (20th June 2018):
Security issues: TL-17785 MDL-62275: Improved validation of calculated question formulae Improvements: TL-17626 Prevented report managers from seeing performance data without specific capabilities Site managers will no longer have access to the following report columns as a default: Appraisal Answers: Learner's Answers, Learner's Rating Answers, Learner's Score, Manager's Answers, Manager's Rating Answers, Manager's Score, Manager's Manager Answers, Manager's Manager Rating Answers, Manager's Manager Score, Appraiser's Answers, Appraiser's Rating Answers, Appraiser's Score, All Roles' Answers, All Roles' Rating Answers, All Roles' Score. Goals: Goal Name, Goal Description This has been implemented to ensure site managers cannot access users' performance-related personal data. To give site managers access to this data the role must be updated with the following permissions: * totara/appraisal:viewallappraisals * totara/hierarchy:viewallgoals
Release 2.5.65 (20th June 2018):
Improvements: TL-17626 Prevented report managers from seeing performance data without specific capabilities Site managers will no longer have access to the following report columns as a default: Appraisal Answers: Learner's Answers, Learner's Rating Answers, Learner's Score, Manager's Answers, Manager's Rating Answers, Manager's Score, Manager's Manager Answers, Manager's Manager Rating Answers, Manager's Manager Score, Appraiser's Answers, Appraiser's Rating Answers, Appraiser's Score, All Roles' Answers, All Roles' Rating Answers, All Roles' Score. Goals: Goal Name, Goal Description This has been implemented to ensure site managers cannot access users' performance-related personal data. To give site managers access to this data the role must be updated with the following permissions: * totara/appraisal:viewallappraisals * totara/hierarchy:viewallgoals