Hello everyone,
The following versions of Totara Learn have now been released:
- Release Evergreen
- Release 11.6
- Release 10.12
- Release 9.23
- Release 2.9.35
- Release 2.7.43
- Release 2.6.60
- Release 2.5.66
- Release 2.4.64
- Release 2.2.68
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:
- Jo Jones, Kineo UK - TL-18640
- Michael Geering, Kineo UK - TL-17973
- Russell England, Kineo USA - TL-17977
Kind regardsDavid Curry
Release Evergreen (24th August 2018):
Key: + Evergreen only Security issues: TL-18491 Added upstream security hardening patch for Quickforms library A remote code execution vulnerability was reported in the Quickforms library. This applied to other software but no such vulnerability was found in Totara. The changes made to fix this vulnerability have been taken to reduce risks associated with this code. Improvements: TL-13987 Improved approval request messages sent to managers for Learning Plans Prior to this fix if a user requested approval for a learning plan then a message was sent to the user's manager with a link to approve the request, regardless of whether the manager actually had permission to view or approve the request. This fix sends more appropriate messages depending on the view and approve settings in the learning plan template. TL-17124 + The main menu block is no longer added to the home page by default for new installations TL-17143 + AMD modules can now be initialised using data attributes in HTML markup It is now possible to initialise AMD modules using data attributes in HTML markup. This is intended primarily for templates. TL-17495 + Redesigned top navigation, for a more compact style with added support for a third level of links Reworked the existing navigation, improving the user journey and added support for third-level links which will allow us to tie all of the Totara products together. * Redesigned navigation * Added third-level navigation * Moved logo into navigation bar * Moved messages and alerts into navigation * Moved language selector into navigation * Moved user menu into navigation The old navigation menu is now deprecated, but still available with some changes in code. See the following page for details [https://help.totaralearning.com/display/DES/Totara+v12+navigation+revert.|https://help.totaralearning.com/display/DES/Totara+v12+navigation+revert] TL-17780 Added a warning message about certification changes not affecting users until they re-certify TL-17910 + The single button output component now supports a "primary" state TL-17920 Added support for the 'coursetype' field in the 'upload courses' tool The 'coursetype' field will now accept either a string or an integer value from the map below: * 0 => elearning * 1 => blended * 2 => facetoface Within the 'upload courses' CSV file, the value for the 'coursetype' field can be either an integer value or a string value. If the value of 'coursetype' was not within the expected range of values (as above), then the system will throw an error message when attempting to upload the course(s) or while previewing the course(s). If the field is missing from the CSV file or the value is empty, then the 'coursetype' will be set to 'E-learning' by default. This is consistent with previous behaviour. TL-18481 Improved the help strings for the 'Minimum time required' field within a program or certification course set Program and certification 'Course set due' and 'Course set overdue' message help strings have also been updated to convey that the 'Minimum time required' field is used to determine when a course set is due. TL-18557 + Added new base class for output elements that are using templates Output widgets can now extend \core\output\template. Once extended they can be given directly to a renderer's render method, and that renderer will render them from the template. With this approach there is no need to define any render methods at all, or to implement renderers for output widgets. TL-18597 Improved the help text for the 'Notification recipients' global seminar setting The setting is located under the notifications header on the site administration > seminars > global settings page, the string changed was 'setting:sessionrolesnotify' within the EN language pack. Full updated text is: This setting affects *minimum booking* and *minimum booking cut-off* notifications. Make sure you select roles that can manage seminar events. Automated warnings will be sent to all users with selected role(s) in seminar activity, course, category, or system level. TL-18640 Updated certif_completion join to use 'UNION ALL' The 'certif_completion' join in the 'rb_source_dp_certification' report source now uses 'UNION ALL', previously 'UNION', which will aid performance. TL-18675 Added 'not applicable' text to visibility column names when audience visibility is enabled When audience based visibility is enabled it takes priority over other types of visibility. Having multiple visibility columns added to a report may cause confusion as to which type of visibility is being used. '(not applicable)' is now suffixed to the visibility column to clarify which type of visibility is inactive, e.g. 'Program Visible (not applicable)'. Bug fixes: TL-17734 Fixed OpenSesame registration TL-17755 Fixed user tours not working when administration block is missing on dashboard TL-17767 Fixed multiple blocks of the same type not being restored upon course restore TL-17824 Improved the reliability of Totara Connect SSO There is also a new login page parameter '?nosso=1' which may be used to temporarily disable Totara Connect SSO to allow logging in via local authentication method. TL-17846 Content restrictions are now applied correctly for Report Builder filters utilising dialogs Before Totara Learn 9 the organisation and position content restriction rules were applied when displaying organisation and position filters in reports. With the introduction of multiple job assignments in Totara Learn 9, organisation and position report filters now use the generic totara dialog to display available organisation and position filter values. This patch added the application of the missing report content restriction rules when retrieving the data to display in totara dialogs used in report filters. TL-17857 Deleting a 'featured links' block no longer leaves orphaned cohort visibility records TL-17882 Recipient notification preferences are now checked before sending learning plan messages Previously when a new comment was added to a user's learning plan overview, the system would send an email to the target user notifying them about the comment. Now the user's preferences determine whether the email is sent to the user or not, specifically the "message_provider_moodle_competencyplancomment_loggedoff" and "message_provider_moodle_competencyplancomment_loggedin" preferences. TL-17934 Fixed waitlisted users not being displayed in seminar reports that included session date columns Previously waitlisted users would be displayed in seminar reports that did not contain session dates, but would disappear if a column related to session dates was added (specifically the session start, session finish, event start time, event finish time columns). Now the waitlisted users will always be displayed regardless of these columns, however the columns will be blank or 'not specified' for these users. TL-17936 Report builder graphs now use the sort order from the underlying report When scheduled reports were sent, the report data was correctly ordered, but the graph (if included) was not being ordered correctly. The ordering of the graph now matches the order in the graph table. TL-17938 Fixed encoding issues using Scandinavian characters in a Location custom field address This issue only affected Internet Explorer 11. All other browsers handled the UTF8 character natively. TL-17955 Progress bar and tooltips in the Current Learning block now work properly with pagination TL-17970 Backported MDL-62239 to fix broken drag-drop of question types on iOS 11.3 TL-17973 Searching a report configured to use custom fields no longer fails after referenced fields have been deleted Previously if a custom field was included in searchable fields for a toolbar search within report builder, and that custom field was then deleted, when a user attempted to search the report using the toolbar search they would get an error. The toolbar search now checks that fields still exists before attempting to perform a search on them. TL-17977 Users editing Program assignments are now only shown the option to assign audiences if they have the required capability Previously if a user did not have moodle/cohort:view capability and tried to assign an audience to a program an error would be thrown. The option to add audiences is now hidden from users who do not have this capability. TL-18482 Fixed the formatting of Custom profile field data when exporting via 'Bulk user actions' Some values (specifically the Dropdown Menu) were being exported as the index (number) instead of the text name of the option. This is now exported correctly. TL-18488 Fixed a regression in DB->get_in_or_equal() when searching only integer values within a character field This is a regression from TL-16700, introduced in 2.6.52, 2.7.35, 2.9.27, 9.15, 10.4, and 11.0. A fatal error would be encountered in PostgreSQL if you attempted to call get_in_or_equal() with an array of integers, and then used the output to search a character field. The solution is ensure that all values are handled as strings. TL-18498 Fixed the ability to search for custom rooms inside the room selection dialog Previously when custom rooms were created within a seminar session via the room selection dialog, the custom room would not be searchable on the 'search' tab of the dialog. Now custom rooms that are visible on the 'browse' tab will also be searchable on the 'search' tab. TL-18499 Fixed an issue where searching in glossary definitions longer than 255 characters would return no results on MSSQL database The issue manifested itself in the definitions where the search term appeared in the text only after the 255th character due to incorrectly used concatenation in an SQL query. TL-18545 Fixed the management interface for 'audience membership' access restrictions in course sections Prior to this change it was possible to add audience membership as a conditional access restriction on course sections. However it was not possible after adding the restriction to then edit or delete it. This has now been fixed and the audience membership conditional access restriction for sections behaves like all other conditional access restrictions. TL-18546 Fixed missing string parameter when exporting report with job assignment filters TL-18548 Introduced new permissions for adding and removing recipients to a seminar message The two new permissions were added: 1) "mod/facetoface:addrecipients" : This permission allows the role to add any recipients to the seminar message 2) "mod/facetoface:removerecipients" : This permission allows the role to remove any recipients from the seminar message Adding or removing seminar's message recipients action would not check for the permission "mod/facetoface:addattendees" or "mod/facetoface:removeattendees" but checking for the new permissions added instead TL-18566 Backported MDL-61281 to make Solr function get_response_counts compatible() with PHP 7.2 TL-18569 + Removed 'export to portfolio' links from assignment grading interfaces The 'export to portfolio' functionality is designed for a user to export their own assignment submissions to their portfolio. The link was being shown to trainers in the grading interface but displayed an error if it was clicked. TL-18573 Added a check for the 'Events displayed on course page' setting when viewing seminar events on the course page Now both settings are taken into account: when the 'Users can sign-up to multiple events setting' is enabled, the number of events displayed for which a user can sign up will be restricted to the number in the ‘Events displayed on course page' setting. Events to which a user is already signed up will always be displayed, and do not form part of the event count. TL-18574 Fixed a return type issue within the Redis session management code responsible for checking if a session exists TL-18583 Fixed missing status string on Site Policies Report TL-18590 Made sure that multiple jobs are not created via search dialogs if multiple jobs are disabled sitewide TL-18599 Fixed minor issues with site policies The following minor issues with site policies were fixed: * Viewing the 'Site Policy Records' embedded report while site policies are not enabled now shows the report without throwing an exception. * An 'Edit this report' link is now available to administrators and users with the necessary capabilities when the 'Site Policy Records' embedded report is viewed. * After giving consent to the necessary site policies, the user is now redirected back to the original url. E.g. A user receives an email with a forum link. They click the link which requires them to log in and give consent to the policies. Once they have given the necessary consent, they are now redirected directly to the forum page which was originally requested. TL-18615 + Removed duplicated options in the 'Show with backdrop' selector on the add new step form in user tours TL-18618 Restoring a course now correctly ignores links to external or deleted forum discussions TL-18649 Improved the Auto login guest setting description The auto login guest setting incorrectly sets the expectation that automatic login only happens when a non-logged in user attempts to access a course. In fact it happens as soon as the user is required to login, regardless of what they are trying to access. The description has been improved to reflect the actual behaviour. [12.0] Additionally in Totara 12 we have set it so that the user is not automatically logged in if they attempt to access administration pages. TL-18676 Improved the performance of 'set of courses' in program content editing API changes: TL-13960 + Moved all report builder customfield-related functions that added columns, filters, and joins from base source into traits All function that added columns, filters, and joins for custom fields have been deprecated and moved into traits within the report sources associated 'customfield' component. TL-16729 + Converted all Report Builder display functions into classes All the Report Builder display functions have been deprecated and converted into display classes for better control over how data is displayed and for improved performance. This patch however does not introduce any changes in the current display of data within the reports. Miscellaneous Moodle fixes: TL-18298 + MDL-61309: Implemented a new deleted flag for forum posts and adapted userdata purging to use it A new 'deleted' column for forum posts was introduced. Now deleted posts and discussions display a placeholder instead of the original text. Purging of user data was modified to set the new deleted flag and empty the title, and body, of the forum posts and discussions. Previously the title and body were replaced by a placeholder instead of dynamically showing it. TL-18301 + MDL-61905: Removed unsused Workshop tables from database A number of tables that were used by the Workshop module in versions 1.1 and earlier have been kept but unused since upgrading to version 2.0. Those tables were suffixed with '_old'. If your installation was originally a Moodle or Totara version 1.x, we recommend confirming whether these tables may contain data that should be kept before upgrading as these tables will be dropped. TL-15325 + MDL-57572: Added support for the igbinary serializer in the Redis Cache Store Added setting to switch the serializer to either the builtin php or the igbinary serialiser. The igbinary serialiser stores data structures in compact binary form and savings can be significant for storing cached data in Redis. TL-15335 + MDL-57570: Added support for the igbinary serializer in the Static Cache Store If igbinary is installed the static cache store automatically makes use of it. TL-15345 + MDL-57655: Added support for the igbinary serializer in the Redis Session Handler If igbinary is installed and $CFG->session_redis_serializer_use_igbinary is set to true the Redis session handler uses igbinary for serializing the data. TL-15355 + MDL-55476: Removed loginpasswordautocomplete option The a loginpasswordautocomplete option simply appends autocomplete="off" to the password field in the form. As most of the browsers dropped support for this attribute it is removed. TL-15567 + MDL-58311: Added support for password-protected Redis Session and Cache Store connections Support for setting a password for the Redis Cache and Session Store was added. Password for the cache store can be set when adding or editing the cache store instance settings. The password for the Redis session store can be set with the config $CFG->session_redis_auth. TL-15326 + MDL-56519: Added linting for behat .feature files The linting enforces the following rules on .feature files: * Indentation (in spaces): ** Feature: 0 *** Background: 2 *** Scenario: 2 **** Step: 4 **** Given: 4 **** And: 4 **** Examples: 4 **** Example: 6 * Other rules: ** Feature names must be unique ** Empty feature files are not allowed anymore ** Feature files w/o scenarios are not allowed anymore ** Partially commented tag lines are not allowed ** Trailing spaces are not allowed ** Unnamed features are not allowed ** Unnamed scenarios are not allowed ** Scenario outlines w/o examples are not allowed TL-15356 + MDL-57896: Added command line tool to read and change configuration settings in the database TL-15371 + MDL-57887: Support nginx and other webservers for logging of username in access logs Support for logging usernames to webserver access logs has been extended to allow sending the username as a custom header which can be logged and stripped out if needed. TL-15385 + MDL-58109: Added check for preventexecpath in the Security Report If the config value $CFG->preventexecpath is set to 'false' this will show up in the Security Report as a warning. TL-15397 + MDL-40759: Added additional Font Awesome support A small number of icons have been converted to Font Awesome icons, and a number of remaining locations where image icons were used have been replaced with font icons. TL-18469 + MDL-60793: Fixed compatibility issue with MySQL 8 The chat module used a database field where the name is a reserved word in MySQL 8. This could have caused errors during some database operations. The field has been renamed. TL-18047 + MDL-61658: Fixed display of user's country in course participant list and 'Logged in user' block If a country was excluded from the setting 'allcountrycodes', the country code was not translated to the country name in the 'Logged in user' block and on the course participants list. TL-18049 + MDL-60241: Fixed visible value of general section in course On upgrade to Moodle 3.3 it was possible that the general section of a course was set to visible = 0. Even if this has no effect in Totara this patch reverts this and sets all general sections back to visible = 1. TL-18080 + MDL-61305: Added a lock to prevent 'coursemodinfo' cache to be built multiple times in parallel To reduce impact on the performance, the building of the coursemodinfo cache cannot happen in parallel anymore. There's now a database lock in place to prevent that. TL-18210 + MDL-27886: Fixed handling of course backup settings and dependencies The dependency of backup settings was not working properly. If a default setting was disabled (not locked) then the dependent settings in the backup were locked and could not be changed as expected. The check for locked dependencies has been changed to fix this. TL-15306 + MDL-53814: Show question type icons when manually grading a quiz TL-15309 + MDL-57143: Removed check for Windows when using SQL Server (sqlsrv) drivers When using the SQL driver for Linux there was an error message during initialisation stating that the driver is only available for Windows. This is not true anymore as there is a Linux driver, thus the message got removed. TL-15311 + MDL-56320: Allow uninstall of unused web service plugins TL-15312 + MDL-56640: Converted single selects and URL selects to mustache templates This has also deprecated the YUI auto submit JavaScript. TL-15314 + MDL-56581: Highlighted row when permission is overriden in a course This will require LESS to be re-compiled when using LESS inheritance. TL-15315 + MDL-57472: Removed fix_column_widths Internet Explorer 6 hack Removed old Internet Explorer 6 hack and added deprecated warnings. TL-15316 + MDL-57471: Deprecated init_javascript_enhancement() and smartselect code TL-15317 + MDL-57395: Added new Web Service core_course_get_updates_since TL-15319 + MDL-44172: Removed example htaccess file TL-15321 + MDL-55461: Fixed placement of cursor in Atto equation editor on repeated insertions from predefined buttons TL-15322 + MDL-57392: Modified external function core_course_external::get_courses_by_field to return the course filters list and status TL-15323 + MDL-57149: Made the language import administration page compatible with Bootstrap TL-15324 + MDL-57282: Deprecated the behat step "I go to X in the course gradebook" TL-15328 + MDL-57627: Added new field to forum Web Service to get tracking status of the user TL-15329 + MDL-50549: Added new Web Service to retrieve a list of URLs from several courses TL-15330 + MDL-50542: Added new Web Service to retrieve a list of labels from several courses TL-15333 + MDL-57488: Replaced and deprecated M.util.focus_login_form and M.util.focus_login_error TL-15336 + MDL-57490: Converted Select all/none functionality to use JavaScript In the quiz, SCORM and lesson modules, there was some inline JavaScript handlers. These have been converted to pure JavaScript event listeners. TL-15338 + MDL-50547: Added new Web Service to retrieve a list of resources from several courses Added a new Web Service which returns a list of files in a provided list of courses. If no list is provided all files that the user can view will be returned. TL-15339 + MDL-57550: Updated advanced forum search to use AMD modules TL-15340 + MDL-56449: Provided a more detailed description of group submission problems TL-15341 + MDL-50545: Added new Web Service to retrieve a list of pages from several courses TL-15342 + MDL-50539: Added new Web Service to retrieve a list of folders from several courses TL-15343 + MDL-49423: Added support for optiongroups inside admin selects TL-15344 + MDL-57690: Stopped loading mcore YUI rollup on each page This may expose areas in custom JavaScript that use YUI modules without loading them correctly. TL-15346 + MDL-57273: Added generic exporter, persistent and persistent form classes This patch adds new model classes following an active record pattern to represent, fetch and store data in the database. The persistent class also provides basic validation. Exporters convert objects to stdClasses. The exporter contains the definition of all properties and optionally related objects. TL-15348 + MDL-56808: Removed use of eval in SCORM JavaScript files TL-15349 + MDL-57638: Improved the handling of failed RSS feeds in the RSS block Previously if the cron could not read the RSS feed configured in a block this failure was not visible to the administrator in the interface. Additionally every time the block displayed it tried to fetch the feeds regardless of its status. With this patch the RSS blocks do not try to request the feeds if the 'skiptime' and 'skipuntil' values are set. If there are failed feeds then an error message will be shown to the administrator but not to a learner. TL-15350 + MDL-57586: Changed $workshop variable from protected to public in class Changed $workshop from protected to public in class workshop_example_submission to make it easier for renderers in themes to access data instead of retrieving it from the database. TL-15354 + MDL-57697: Converted survey validation JavaScript from YUI2 to AMD TL-15357 + MDL-57890: Improved all get_by_courses Web Services to include the coursemodule (cmid) in the results TL-15358 + MDL-57687: Removed unnecessary init_toggle_class_on_click JavaScript functionality TL-15362 + MDL-57619: Removed behat steps deprecated in Moodle 2.9 or earlier TL-15363 + MDL-57602: Added 'Granted extension' filter for grading table TL-15365 + MDL-57633: Added new Web Service mod_lesson_get_lessons_by_courses TL-15366 + MDL-57527: Changed course reports to use CSS instead of SVG rotation TL-15368 + MDL-53978: Added extra plugin callbacks for every major stage of page render + swap user tours to use them TL-15374 + MDL-57972: Added shortentext mustache helper TL-15375 + MDL-45584: Made cache identifiers part of loaded caches TL-15376 + MDL-57280: Added the ability to create modal types via a registry More information can be found at https://help.totaralearning.com/display/DEV/Modal+registry TL-15377 + MDL-57999: Add itemname to gradereport_user_get_grade_items Web Service TL-15379 + MDL-57975: Added HTML5 session storage. This can be used by developers using the core/sessionstorage AMD module in much the same way developers can use core/localstorage This also adds a core_get_user_dates and userdate mustache helper. TL-15380 + MDL-57914: Refactored get_databases_by_courses TL-15382 + MDL-57915: Added Web Service mod_data_view_database TL-15383 + MDL-58217: Added data generators for feedback items TL-15386 + MDL-57631: Implemented scheduled task for LDAP Enrolments Sync The previous CLI script has been deprecated in favour of the new scheduled task. The new task is disabled by default. TL-15388 + MDL-50538: Added new Web Service mod_feedback_get_feedbacks_by_courses TL-15392 + MDL-57643: Added new Web Service mod_lesson_get_lesson_access_information TL-15393 + MDL-57645: Added new web service mod_lesson_view_lesson TL-15394 + MDL-57648: Added new web service mod_lesson_get_questions_attempts TL-15396 + MDL-57390: Added capabilities/permission information to Web Service forum_can_add_discussion response TL-15398 + MDL-57657: Added new Web Service mod_lesson_get_user_grade TL-15401 + MDL-57664: Added new lesson Web Service get_content_pages_viewed TL-15402 + MDL-57665: Added new Web Service mod_lesson_get_user_timers TL-15404 + MDL-57812: Added new Web Service get_feedback_access_information TL-15406 + MDL-57811: Added new Web Service mod_feedback_view_feedback TL-15407 + MDL-57916: Added new Web Service mod_data_get_access_information TL-15408 + MDL-57814: Added new Web Service mod_feedback_get_current_completed_tmp TL-15409 + MDL-57823: Implemented the check_updates callback in the feedback module TL-15410 + MDL-57815: Added new Web Service mod_feedback_get_items TL-15411 + MDL-55267: Removed deprecated field datasourceaggregate TL-15412 + MDL-57685: Added new Web Service mod_lesson_get_pages TL-15413 + MDL-57816: Added new Web Service mod_feedback_launch_feedback TL-15414 + MDL-57817: Added new Web Service mod_feedback_get_page_items TL-15415 + MDL-57818: Added new Web Service mod_feedback_process_page TL-15417 + MDL-57820: Added new Web Service mod_feedback_get_analysis TL-15418 + MDL-58229: Added new Web Service get_unfinished_responses TL-15419 + MDL-57688: Added new Web Service mod_lesson_launch_attempt TL-15420 + MDL-57693: Added new Web Service mod_lesson_get_page_data TL-15421 + MDL-57696: Added new Web Service mod_lesson_process_page TL-15422 + MDL-57724: Added new Web Service mod_lesson_finish_attempt TL-15423 + MDL-57754: Added new Web Service mod_lesson_get_attempts_overview TL-15424 + MDL-57757: Added new Web Service mod_lesson_get_user_attempt TL-15426 + MDL-57762: Added check updates functionality to the lesson module TL-15427 + MDL-57760: Added new Web Service mod_lesson_get_pages_possible_jumps TL-15428 + MDL-58329: Added new Web Service mod_lesson_get_lesson TL-15430 + MDL-57965: Enabled gzip compression for SVG files TL-15431 + MDL-58070: Reworded "visible" core string used in course visibility Additionally we aligned the name and value strings of the course visibility default settings. Previously the value strings were different to the actual course settings. TL-15432 + MDL-55139: Added code coverage filter in component phpunit.xml files TL-15433 + MDL-58230: Added new Web Service mod_feedback_get_finished_responses TL-15434 + MDL-57822: Added new Web Service mod_feedback_get_non_respondents TL-15436 + MDL-49409: Added new Web Service mod_data_get_entries TL-15437 + MDL-57918: Added new Web Service mod_data_get_entry TL-15438 + MDL-57919: Added new Web Service mod_data_get_fields TL-15439 + MDL-57920: Added new Web Service mod_data_search_entrie TL-15440 + MDL-57921: Added new Web Service mod_data_approve_entry TL-15441 + MDL-57922: Added new Web Service mod_data_delete_entry TL-15442 + MDL-57923: Added new Web Service mod_data_add_entry TL-15443 + MDL-57924: Added new Web Service mod_data_update_entry TL-15444 + MDL-57925: Implemented check_updates_since callback TL-15445 + MDL-50970: Added new Web Service core_block_get_course_blocks TL-15461 + MDL-57411: mod_check_updates now returns information based on user capabilities TL-15464 + MDL-48771: Improved quiz question editing interface The quiz editing interface has been improved to allow selection of multiple questions to be deleted. TL-15466 + MDL-55941: Improved UX of alpha chooser / initialbar in tablelib and made it responsive TL-15496 + MDL-57503: Allow course ids for enrol_get_my_courses This adds a new parameter for enrol_get_my_courses() to filter the list returned to specific courses. TL-15514 + MDL-58265: Refactored behat to use a new step "I am on the course homepage" The new step directly accesses the course page without following the path from the homepage to the course. A shortcut step "I am on course homepage with editing mode on" was also added to allow accessing a course and turn editing mode on. TL-15553 + MDL-53343: Migrated scorm_cron into new tasks API TL-15555 + MDL-57821: Added Web Service mod_feedback_get_responses_analysis TL-15556 + MDL-51998: Improved manage forum subscribers button TL-15557 + MDL-58444: Added number of unread posts to get_forums_by_courses Web Services TL-15558 + MDL-58399: Return additional file fields in Web Services to be able to handle external repositories files See mod/upgrade.txt and course/upgrade.txt for details. TL-15559 + MDL-58361: Made core_media_manager final to prevent from being subclassed TL-15564 + MDL-57813: Added Web Service mod_feedback_get_last_completed TL-15565 + MDL-58453: Refactored get_non_respondents Web Service TL-15569 + MDL-56632: Moved the "Turn editing on\off" link to the top of the book administration menu TL-15575 + MDL-57553: Fixed user tour steps so that they do not inherit attributes from CSS selector Updated the flexitour component to v0.10.0 and the popper.js library to v1.0.8 in the process. TL-15579 + MDL-58552: Fixed alignment of quiz icon TL-15583 + MDL-57573: Updated PHPmailer library to v5.2.23 TL-15589 + MDL-58493: Converted the delete enrolment icon to a font icon When managing enrolments in a course, if a role was added, the delete icon was an image (instead of a font icon) before the page was reloaded. This has been corrected. TL-15594 + MDL-58549: Added version of jabber/XMPP libraries to thirdpartylibraries.xml TL-15598 + MDL-58574: Removed an unnecessary check for delete icon when working with permissions in an activity module TL-15604 + MDL-58502: Fixed error when cancelling feedback TL-15619 + MDL-58530: Updated the video.js library to v5.18.4 TL-15620 + MDL-58412: Fixed several bugs in the new feedback web services TL-15630 + MDL-58415: Multiple bug fixes in the new lesson web services * Avoid inappropriate http redirections * Added missing answer fields * Various code fixes, including ensuring correct variable types are used where necessary TL-15635 + MDL-51932: Improved UX when setting up a workshop When setting up a workshop activity, the stage switch has been updated to state which stage they will take you to. TL-15636 + MDL-58681: Split the checkbox and advcheckbox behat tests Advanced checkboxes cannot be tested without a real browser because Goutte does not support the hidden+checkbox duality. TL-15639 + MDL-58659: Added enddate parameter to Web Services returning course information TL-15682 + MDL-58860: Fixed Web Service mod_lesson_get_attempts_overview when no attempts made TL-15684 + MDL-58857: User session is now terminated when a major upgrade is required TL-15708 + MDL-59132: Fixed anonymous response numbering in feedback Web Service TL-17981 + MDL-62588: Added missing instanceid database field to the Paypal enrolment plugin TL-17983 + MDL-62408: Fixed profile_guided_allocate() function to help split behat scenarios better for parallel runs never being executed in behat_config_util TL-17985 + MDL-62500: Fixed an issue where a checkbox label wasn't updated after updating a tag TL-17989 + MDL-61521: Fixed missing text formatting for category name in get_categories Web Service TL-17990 + MDL-61800: Reset the OUTPUT and PAGE for each task on cron execution TL-17993 + MDL-61012: Allow module name to be guessed only if not set by subclass of the moodleform_mod class TL-17995 + MDL-60882: Prevent deletion of all responses if the external function delete_choice_responses() is called without responses specified The external function mod_choice_external::delete_choice_responses has changed behaviour - if this function is called by a user who has the 'mod/choice:deleteresponses' capability with no responses specified then only the user's responses will be deleted, rather than all responses for all users within the choice. To delete all responses from all users, all response IDs must be specified. TL-17996 + MDL-61715: Fixed Question type chooser displaying headings for empty sections under certain conditions TL-17997 + MDL-62011: Fixed an issue where approval of a course request fails if a new course with the same name has been created prior to request approval TL-17999 + MDL-62042: Filtered out some unicode non-characters when building index for Solr TL-18001 + MDL-59857: Increased the length of the 'completionscorerequired' field in SCORM database table TL-18002 + MDL-61348: Fixed incorrect group grade averages in quiz reports TL-18003 + MDL-61520: Fixed references to xhtml in Quiz statistics report TL-18006 + MDL-61928: Made frozen form sections collapsible an expandable TL-18008 + MDL-61708: Fixed LTI to respect fullnamedispaly settings for fullname field in the requests TL-18009 + MDL-61741: Fixed the IPN verification endpoint URL of the Paypal Enrolment plugin TL-18010 + MDL-58697: Fixed issue with assignment submission when toggling group submission When assignment submission was set to group submission and then turned off, the status was not showing an assignment as submitted even if there was a file submitted. The group assignment status is now only considered if group assignment submission is enabled. TL-18012 + MDL-60196: Fixed the display of custom LTI icons TL-18013 + MDL-61033: Fixed an error when editing a quiz while a preview is open in another browser window TL-18014 + MDL-61129: Added 'colgroup' attribute to the survey question tables TL-18016 + MDL-61581: Added styling to the 'returning to lesson' navigation buttons TL-18017 + MDL-61860: Fixed require path for config.php on authentication test settings page TL-18019 + MDL-60115: Fixed a silently failing redirect when creating a new book resource TL-18020 + MDL-60726: Fixed alignment of assignment submission confirmation message TL-18021 + MDL-61020: Fixed Video.js media player timeline progress bar being flipped in RTL mode TL-18022 + MDL-61127: Added improved keyboard navigation when using the file picker TL-18023 + MDL-61163: Fixed a bug preventing guest users from viewing Wiki pages belonging to Wiki activities added to the page TL-18025 + MDL-61502: Added a test for multi-lingual "Select missing words" questions TL-18026 + MDL-61522: Made sure glossary paging bar links do not use relative URLs TL-18027 + MDL-61689: Unexpected and unhandled output during unit tests will now result in the tests being marked as Risky TL-18033 + MDL-55532: Fixed a hard-coded reference to the admin directory within the User tours tool TL-18034 + MDL-60762: tool_usertours blocks upgrade if admin directory renamed TL-18036 + MDL-61257: Fixed the 'Course module completion updated' link in the course log report The link was previously pointing to the course completion report instead of the activity completion report, this has been fixed. TL-18037 + MDL-61321: Fixed a bug in mod_feedback_get_responses_analysis Web Services preventing return of more than first 10 feedback responses TL-18038 + MDL-61328: Fixed the sorting of User tours steps when moving steps up or down TL-18039 + MDL-61576: Ensured the lti_build_custom_parameters function contains all necessary parameters TL-18040 + MDL-61656: Fixed missing role name on the security report for incorrectly defined front page role TL-18041 + MDL-61733: Fixed creation of tables in Atto editor for Database activity templates TL-18043 + MDL-52989: Fixed question clusters occasionally displaying a blank page when a student restarts half way through TL-18044 + MDL-58179: Converted uses of "label" CSS class to "mod_lesson_label" Bootstrap causes HTML elements with the CSS class to have white text. As a result text was not being displayed correctly. This change only affects the lesson activity module. TL-18048 + MDL-59070: Fixed enrol database plugin bug where the 'enablecompletion' value was not loaded TL-18050 + MDL-60398: Fixed an issue with downloading resource of type "Folder" with name of 200+ bytes TL-18051 + MDL-61261: Added validation for requests to 'Open badges' backpack to prevent possible self-XSS TL-18057 + MDL-36157: Fixed HTML entities in RSS feeds that were not displayed correctly TL-18058 + MDL-55153: Fixed an issue with customised language strings that have been removed still showing up in language customisation interface TL-18060 + MDL-60658: Fixed validation of the 'grade to pass' activity setting to ensure that localisations are correctly handled TL-18061 + MDL-61196: Ensured activity titles are correctly formatted when included in the subject for notifications TL-18064 + MDL-61322: The time column within the log and live log reports now displays the year as part of the date TL-18065 + MDL-61453: Fixed accepted file type when uploading user pictures When uploading multiple user pictures, the list of accepted file types for the file picker was not limited to ZIP only. This has been fixed. Attempts to upload non-ZIP files led to an error message. TL-18069 + MDL-61480: Added a check to ensure plugins are installed within get_plugins_with_function() TL-18070 + MDL-58845: The Choice activity report for reviewing answers now respects the 'Display unanswered questions' setting TL-18071 + MDL-61005: Fixed an issue in which system level audiences were potentially excluded when searching audiences in some interfaces TL-18072 + MDL-61289: Fixed choice activity didn't include extra user profile fields on export TL-18073 + MDL-61324: Fixed detection of changed grades during LTI sync Improved the detection of changed grades during LTI sync so that unchanged grades are not synced every time the grade sync task is run anymore. TL-18074 + MDL-61408: Added default button class when checking quiz results TL-18076 + MDL-56688: Fixed the order of grade items in single view and export of the Gradebook All views of grade items now show in the order set in the Gradebook setup. TL-18077 + MDL-61150: Corrected wrong "path" attribute in some core install.xml files TL-18078 + MDL-61153: Made lesson detailed statistics report column widths consistent TL-18079 + MDL-61236: Fixed bug where course welcome message email was not sent from the course contact who was first assigned the role of trainer TL-18081 + MDL-61344: Added display of additional files when adding submissions in assignment module TL-18086 + MDL-42764: Added missing error message for user accounts without email address TL-18087 + MDL-51189: Fixed an issue in the quiz module where trainers were unable to edit override if quiz was not available to student TL-18088 + MDL-52832: Fixed an issue where quiz page did not take user/group overrides into account when displaying the quiz close date TL-18090 + MDL-61027: Fix an issue with datetime profile fields when using non-Gregorian calendars TL-18091 + MDL-61168: Prevented the 'Export to portfolio' buttonfrom getting truncated by collapsed online text submissions When a long 'Online Text' submission is made the entry is truncated and is expandable. The 'Export to portfolio' button, if enabled, was also being truncated. Only the submitted text is truncated now. TL-18092 + MDL-61251: Corrected a message to 'Enable RSS feeds' to point to the proper settings section TL-18096 + MDL-60077: Fixed the display of the pop-up triangle next to rounded corners in User Tours TL-18097 + MDL-60646: Fixed undefined string when managing a user's portfolio TL-18098 + MDL-60997: Added replytoname property to the core_message class allowing to specify "Reply to" field on outgoing emails TL-18101 + MDL-61250: Omitted leading space in question preview link TL-18102 + MDL-61253: Fixed referenced files were not added to archive when trying to download a folder TL-18105 + MDL-58006: Fixed blind marking status not being reset by course reset in assignment module TL-18107 + MDL-60181: Glossary ratings are now displayed in their entry Previously the entry appeared to be in the following glossary entry. TL-18108 + MDL-60918: Made sure current user is used in message preference update TL-18109 + MDL-61077: Made quiz statistics calculations more robust TL-18111 + MDL-61224: Added length validation for short name when creating a role TL-18112 + MDL-61234: Fixed race condition in user tours while resolving the fetchTour promise TL-18113 + MDL-37390: Set course start date when a course is approved to the user's midnight TL-18114 + MDL-55382: Changed quicklist order to be alphabetical when annotating File submission assignments TL-18115 + MDL-60549: Ensured LTI return link works when content is outside of an iframe TL-18116 + MDL-60776: Fixed error in enrolled users listing when custom fullnamedisplay format contains a comma TL-18117 + MDL-61010: Added unread posts link for the counter in "Blog-like" forum which takes a user to the first unread post in the discussion TL-18121 + MDL-43042: Improved layout of multichoice question response in a lesson TL-18122 + MDL-53985: Prevented assignment PDF annotations being removed when a submission is revert back to draft TL-18123 + MDL-57786: Fixed word count for online text submission in assignment module TL-18124 + MDL-60079: Fixed 'User tours' leaving unnecessary aria tags in the page TL-18125 + MDL-60415: Fixed error messages in LTI launch.php when custom parameters are used TL-18126 + MDL-60742: Allow customisation of 12/24h time format strings TL-18127 + MDL-60943: Improved error message for preg_replace errors during global search indexing TL-18129 + MDL-61068: Changed rounding for timed forum posts to the nearest 60 seconds to ensure all neighbouring posts are correctly selected TL-18130 + MDL-61098: Fixed trainers ability to edit or delete WebDav repositories that they have created at a course level TL-18132 + MDL-23887: Replaced deprecated System Tables calls to System Views calls in sql generator for MSSQL TL-18134 + MDL-57727: Fixed Activity completion report to have a default sort order TL-18135 + MDL-61107: Made sure invalid maximum grade input is handled correctly in quiz activity TL-18136 + MDL-33886: Added graceful error handling when backup filename is too long TL-18137 + MDL-43827: Improved accessibility when editing uploaded files on the server TL-18138 + MDL-51089: Improved accessibility when accessing the 'add question' action menu TL-18139 + MDL-58983: Fixed display of grade button in assignments when user doesn't have capability The "grade" button is now hidden if a user doesn't have the capability to grade assignments. TL-18142 MDL-60439: Enabled multi-language filter on Tags block title TL-18143 + MDL-60942: Fixed format_string doesn't account for filter in static cache key TL-18144 + MDL-31521: Fixed calculated questions were displaying a warning when more than one unit with multiplier equal to 1 TL-18145 + MDL-34389: Fixed users with capability 'moodle/course:changecategory' were able to only select current course category and not its subcategories TL-18146 + MDL-42676: Fixed issue that prevented assignment submissions when grade override was used TL-18147 + MDL-49995: Fixed overwriting of files to not leave orphaned files in the system TL-18148 + MDL-52100: Fixed filearea to not delete files uploaded by users without file size restrictions TL-18149 + MDL-54967: Fixed IMS Common Cartridge import incorrectly decoded html entities in URLs TL-18150 + MDL-57431: Shuffle question help icon in Quiz is now outside the HTML label TL-18152 + MDL-58888: Added sort-order for choice_get_my_response() results by optionid TL-18153 + MDL-59200: Fixed an issue where a user is unable to enter assignment feedback after grade override Fixes an issue where a user would be unable to enter assignment feedback after grade override and if there was no original assignment grade set. TL-18154 + MDL-59709: Fixed export to portfolio button in assignment grading interface for Online Text submissions TL-18155 + MDL-59999: Added a status column to the Essay question grading interface within Lesson TL-18156 + MDL-60161: Ensured that OAuth curl headers are only ever sent once TL-18159 + MDL-60653: Fixed the incorrect indentation of navigation nodes when their identifier happened to be an integer TL-18160 + MDL-60767: Fixed a visual bug causing validation errors to not be shown when saving changes to several admin settings in a single action TL-18161 + MDL-60938: Fixed the rendering of users in the choice activity responses table TL-18162 + MDL-61022: Added acceptance test for user groups restore functionality TL-18163 + MDL-61040: Improved spacing around the "Remove my choice" link within a choice activity TL-18164 + MDL-61042: Fixed undefined variable error when viewing detailed statistics report on empty lesson TL-18165 + MDL-61045: Made sure the 'After the quiz is closed' review option is disabled if the quiz does not have a close date TL-18166 + MDL-40790: Fixed Lesson content button to no longer run off the edge of the page TL-18168 + MDL-44667: Fixed minor field existence checks in three plugins The following three plugins each had one call to a database function that was attempting to validate the existince of the field incorrectly. The affected plugins were: * Assignment file submission * Assignment online text submission * Multi-answer question type TL-18169 + MDL-45500: Enabled ability to uninstall grading plugins TL-18171 + MDL-54021: Fixed an issue where "Course completion status" block didn't show activity name in correct language TL-18174 + MDL-56864: Fixed removal of tags if usage of standard tags is set to force TL-18178 + MDL-59866: Added retries for connecting to Redis in the session handler before failing TL-18181 + MDL-60945: Stopped unneeded completion data being retrieved in Web Service function TL-18187 + MDL-34161: Fixed LTI backup and restore to support course and site tools and submissions TL-18188 + MDL-37757: Added missing clean up external files on removal of a repository TL-18190 + MDL-60219: The 'no blocks' setting in an LTI activity now uses the 'incourse' page layout with blocks disabled TL-18191 + MDL-60443: Improved validation error message when a requested data format does not exist TL-18192 + MDL-60801: User defaults are now applied when uploading new users TL-18196 + MDL-24678: Fixed a race condition in the chat activities leading to multiple messages being returned as the latest message TL-18197 + MDL-27230: Ensured that changes to Quiz group overrides are reflected in the calendar TL-18198 + MDL-45068: Improved group import code, prevented PHP displaying notices and warning for certain CSV files TL-18199 + MDL-46768: Loosened the restriction on the badge name filter to allow quotes TL-18201 + MDL-57569: Fixed a large badge image being unaccessible for the future use TL-18203 + MDL-60188: Implemented cache for user's groups and groupings TL-18204 + MDL-60249: Ensured feedback comments text area is resizeable TL-18205 + MDL-60591: Fixed forum inbound processor discarding the inline images if a message contains quoted text TL-18206 + MDL-60669: Fixed duplicate entry issue when restoring forum subscriptions TL-18207 + MDL-60738: Fixed Web Service theme and language parameters not being cleaned properly TL-18208 + MDL-60838: Fixed Solr files upload to honour timeout restrictions TL-18211 + MDL-55808: Fixed glossary entries search not working with ratings enabled TL-18212 + MDL-56253: Added multilang support to course module name in grades interface TL-18213 + MDL-58817: Ensured LTI icons are not overwritten by cartridge params TL-18215 + MDL-60187: Ensured grade items are not created when grades are disabled When editing LTI titles inline, it makes it appear in the Gradebook even if the privacy option 'Accept grades from the tool' is disabled. TL-18216 + MDL-60253: Ensured both LTI ToolURL and SecureToolURL are used for automatic matching TL-18219 + MDL-60637: Removed unnecessary group id number validation on Web Services TL-18220 + MDL-60773: Added pendingJS checks for autocomplete interactions TL-18221 + MDL-60809: Fixed missing filelib include in XML-RPC function TL-18222 + MDL-60810: Removed string referencing PostNuke from auth/db TL-18224 + MDL-59876: Fixed the Web Service user preference name field type TL-18226 + MDL-60675: Fixed an exception in single selects without a default value TL-18227 + MDL-60693: Added multilang filter to activity titles in course backup and restore TL-18228 + MDL-60741: Refactored admin purge caches page to call admin_externalpage_setup first TL-18229 + MDL-60789: Added length validation rule for a workshop title submission TL-18231 + MDL-60433: Fixed users being able to view all groups even if they were not allowed to TL-18233 + MDL-60104: Fixed SCORM description text to no longer extend outside the page TL-18240 + MDL-60485: Fixed being able to change grade types when grades already exist TL-18252 + MDL-59820: Removed unnecessary CSS class on calendar The course selector now uses the standard HTML/CSS as used by other single selects. TL-18260 + MDL-59532: Fixed check_update callback failing when the activity uses separated groups TL-18265 + MDL-59619: Fixed get_fields Web Services not working properly if database has no fields TL-18266 + MDL-59627: Fixed data_search_entries function in the database module wasn't calculating total count correctly TL-18267 + MDL-59649: Fixed type of content exporter field to the correct value TL-18270 + MDL-59453: Fixed filtering of lesson content in external functions TL-18539 + MDL-62200: Prevented modals from adding another backdrop when being loaded in from another modal TL-18655 + MDL-62820: Made sure questions text is properly encoded before display after question bank import TL-18656 + MDL-62790: Added capability check in core_course_get_categories for Web Service TL-18660 + MDL-62233: Added validation on callback class when exporting to portfolio Validation had been applied to the callback class in a previous Totara patch. This adds the Moodle solution for compatibility. TL-18661 + MDL-62232: Improved validation when exporting forum attachments to portfolio Validation has been added in a previous Totara patch. This aligns it with Moodle's solution for compatibility. TL-18662 + MDL-62210: Improved validation when exporting assignments to portfolio Contributions: * Jo Jones, Kineo UK - TL-18640 * Michael Geering, Kineo UK - TL-17973 * Russell England, Kineo USA - TL-17977 Performance improvements: TL-17598 Enrolments for courses added to an audience's enrolled learning are now processed by an adhoc task in the background Prior to this change course enrolments that were required when a course was added to an audiences enrolled learning were being processed immediately. This could lead to the user performing the action having to wait exceptionally long times on the page while this was processed. The fix for this issue was to shift this processing to a background task. Enrolments will now be processed exclusively by cron when adding courses to an audience's enrolled learning.
Release 11.6 (24th August 2018):
Security issues: TL-18491 Added upstream security hardening patch for Quickforms library A remote code execution vulnerability was reported in the Quickforms library. This applied to other software but no such vulnerability was found in Totara. The changes made to fix this vulnerability have been taken to reduce risks associated with this code. Improvements: TL-13987 Improved approval request messages sent to managers for Learning Plans Prior to this fix if a user requested approval for a learning plan then a message was sent to the user's manager with a link to approve the request, regardless of whether the manager actually had permission to view or approve the request. This fix sends more appropriate messages depending on the view and approve settings in the learning plan template. TL-17780 Added a warning message about certification changes not affecting users until they re-certify TL-17920 Added support for the 'coursetype' field in the 'upload courses' tool The 'coursetype' field will now accept either a string or an integer value from the map below: * 0 => elearning * 1 => blended * 2 => facetoface Within the 'upload courses' CSV file, the value for the 'coursetype' field can be either an integer value or a string value. If the value of 'coursetype' was not within the expected range of values (as above), then the system will throw an error message when attempting to upload the course(s) or while previewing the course(s). If the field is missing from the CSV file or the value is empty, then the 'coursetype' will be set to 'E-learning' by default. This is consistent with previous behaviour. TL-18481 Improved the help strings for the 'Minimum time required' field within a program or certification course set Program and certification 'Course set due' and 'Course set overdue' message help strings have also been updated to convey that the 'Minimum time required' field is used to determine when a course set is due. TL-18597 Improved the help text for the 'Notification recipients' global seminar setting The setting is located under the notifications header on the site administration > seminars > global settings page, the string changed was 'setting:sessionrolesnotify' within the EN language pack. Full updated text is: This setting affects *minimum booking* and *minimum booking cut-off* notifications. Make sure you select roles that can manage seminar events. Automated warnings will be sent to all users with selected role(s) in seminar activity, course, category, or system level. TL-18640 Updated certif_completion join to use 'UNION ALL' The 'certif_completion' join in the 'rb_source_dp_certification' report source now uses 'UNION ALL', previously 'UNION', which will aid performance. TL-18675 Added 'not applicable' text to visibility column names when audience visibility is enabled When audience based visibility is enabled it takes priority over other types of visibility. Having multiple visibility columns added to a report may cause confusion as to which type of visibility is being used. '(not applicable)' is now suffixed to the visibility column to clarify which type of visibility is inactive, e.g. 'Program Visible (not applicable)'. Bug fixes: TL-17650 Fixed error when trying to remove large audience from course or courses from Enrolled Learning TL-17734 Fixed OpenSesame registration TL-17755 Fixed user tours not working when administration block is missing on dashboard TL-17767 Fixed multiple blocks of the same type not being restored upon course restore TL-17824 Improved the reliability of Totara Connect SSO There is also a new login page parameter '?nosso=1' which may be used to temporarily disable Totara Connect SSO to allow logging in via local authentication method. TL-17846 Content restrictions are now applied correctly for Report Builder filters utilising dialogs Before Totara Learn 9 the organisation and position content restriction rules were applied when displaying organisation and position filters in reports. With the introduction of multiple job assignments in Totara Learn 9, organisation and position report filters now use the generic totara dialog to display available organisation and position filter values. This patch added the application of the missing report content restriction rules when retrieving the data to display in totara dialogs used in report filters. TL-17857 Deleting a 'featured links' block no longer leaves orphaned cohort visibility records TL-17882 Recipient notification preferences are now checked before sending learning plan messages Previously when a new comment was added to a user's learning plan overview, the system would send an email to the target user notifying them about the comment. Now the user's preferences determine whether the email is sent to the user or not, specifically the "message_provider_moodle_competencyplancomment_loggedoff" and "message_provider_moodle_competencyplancomment_loggedin" preferences. TL-17934 Fixed waitlisted users not being displayed in seminar reports that included session date columns Previously waitlisted users would be displayed in seminar reports that did not contain session dates, but would disappear if a column related to session dates was added (specifically the session start, session finish, event start time, event finish time columns). Now the waitlisted users will always be displayed regardless of these columns, however the columns will be blank or 'not specified' for these users. TL-17936 Report builder graphs now use the sort order from the underlying report When scheduled reports were sent, the report data was correctly ordered, but the graph (if included) was not being ordered correctly. The ordering of the graph now matches the order in the graph table. TL-17938 Fixed encoding issues using Scandinavian characters in a Location custom field address This issue only affected Internet Explorer 11. All other browsers handled the UTF8 character natively. TL-17955 Progress bar and tooltips in the Current Learning block now work properly with pagination TL-17970 Backported MDL-62239 to fix broken drag-drop of question types on iOS 11.3 TL-17973 Searching a report configured to use custom fields no longer fails after referenced fields have been deleted Previously if a custom field was included in searchable fields for a toolbar search within report builder, and that custom field was then deleted, when a user attempted to search the report using the toolbar search they would get an error. The toolbar search now checks that fields still exists before attempting to perform a search on them. TL-17977 Users editing Program assignments are now only shown the option to assign audiences if they have the required capability Previously if a user did not have moodle/cohort:view capability and tried to assign an audience to a program an error would be thrown. The option to add audiences is now hidden from users who do not have this capability. TL-18482 Fixed the formatting of Custom profile field data when exporting via 'Bulk user actions' Some values (specifically the Dropdown Menu) were being exported as the index (number) instead of the text name of the option. This is now exported correctly. TL-18488 Fixed a regression in DB->get_in_or_equal() when searching only integer values within a character field This is a regression from TL-16700, introduced in 2.6.52, 2.7.35, 2.9.27, 9.15, 10.4, and 11.0. A fatal error would be encountered in PostgreSQL if you attempted to call get_in_or_equal() with an array of integers, and then used the output to search a character field. The solution is ensure that all values are handled as strings. TL-18498 Fixed the ability to search for custom rooms inside the room selection dialog Previously when custom rooms were created within a seminar session via the room selection dialog, the custom room would not be searchable on the 'search' tab of the dialog. Now custom rooms that are visible on the 'browse' tab will also be searchable on the 'search' tab. TL-18499 Fixed an issue where searching in glossary definitions longer than 255 characters would return no results on MSSQL database The issue manifested itself in the definitions where the search term appeared in the text only after the 255th character due to incorrectly used concatenation in an SQL query. TL-18545 Fixed the management interface for 'audience membership' access restrictions in course sections Prior to this change it was possible to add audience membership as a conditional access restriction on course sections. However it was not possible after adding the restriction to then edit or delete it. This has now been fixed and the audience membership conditional access restriction for sections behaves like all other conditional access restrictions. TL-18546 Fixed missing string parameter when exporting report with job assignment filters TL-18548 Introduced new permissions for adding and removing recipients to a seminar message The two new permissions were added: 1) "mod/facetoface:addrecipients" : This permission allows the role to add any recipients to the seminar message 2) "mod/facetoface:removerecipients" : This permission allows the role to remove any recipients from the seminar message Adding or removing seminar's message recipients action would not check for the permission "mod/facetoface:addattendees" or "mod/facetoface:removeattendees" but checking for the new permissions added instead TL-18566 Backported MDL-61281 to make Solr function get_response_counts compatible() with PHP 7.2 TL-18573 Added a check for the 'Events displayed on course page' setting when viewing seminar events on the course page Now both settings are taken into account: when the 'Users can sign-up to multiple events setting' is enabled, the number of events displayed for which a user can sign up will be restricted to the number in the ‘Events displayed on course page' setting. Events to which a user is already signed up will always be displayed, and do not form part of the event count. TL-18574 Fixed a return type issue within the Redis session management code responsible for checking if a session exists TL-18583 Fixed missing status string on Site Policies Report TL-18587 Made sure missing library in CAS config form is included TL-18590 Made sure that multiple jobs are not created via search dialogs if multiple jobs are disabled sitewide TL-18599 Fixed minor issues with site policies The following minor issues with site policies were fixed: * Viewing the 'Site Policy Records' embedded report while site policies are not enabled now shows the report without throwing an exception. * An 'Edit this report' link is now available to administrators and users with the necessary capabilities when the 'Site Policy Records' embedded report is viewed. * After giving consent to the necessary site policies, the user is now redirected back to the original url. E.g. A user receives an email with a forum link. They click the link which requires them to log in and give consent to the policies. Once they have given the necessary consent, they are now redirected directly to the forum page which was originally requested. TL-18618 Restoring a course now correctly ignores links to external or deleted forum discussions TL-18649 Improved the Auto login guest setting description The auto login guest setting incorrectly sets the expectation that automatic login only happens when a non-logged in user attempts to access a course. In fact it happens as soon as the user is required to login, regardless of what they are trying to access. The description has been improved to reflect the actual behaviour. [12.0] Additionally in Totara 12 we have set it so that the user is not automatically logged in if they attempt to access administration pages. TL-18676 Improved the performance of 'set of courses' in program content editing Miscellaneous Moodle fixes: TL-18142 MDL-60439: Enabled multi-language filter on Tags block title Contributions: * Jo Jones, Kineo UK - TL-18640 * Michael Geering, Kineo UK - TL-17973 * Russell England, Kineo USA - TL-17977 Performance improvements: TL-17598 Enrolments for courses added to an audience's enrolled learning are now processed by an adhoc task in the background Prior to this change course enrolments that were required when a course was added to an audiences enrolled learning were being processed immediately. This could lead to the user performing the action having to wait exceptionally long times on the page while this was processed. The fix for this issue was to shift this processing to a background task. Enrolments will now be processed exclusively by cron when adding courses to an audience's enrolled learning.
Release 10.12 (24th August 2018):
Security issues: TL-18491 Added upstream security hardening patch for Quickforms library A remote code execution vulnerability was reported in the Quickforms library. This applied to other software but no such vulnerability was found in Totara. The changes made to fix this vulnerability have been taken to reduce risks associated with this code. Improvements: TL-13987 Improved approval request messages sent to managers for Learning Plans Prior to this fix if a user requested approval for a learning plan then a message was sent to the user's manager with a link to approve the request, regardless of whether the manager actually had permission to view or approve the request. This fix sends more appropriate messages depending on the view and approve settings in the learning plan template. TL-17780 Added a warning message about certification changes not affecting users until they re-certify TL-17920 Added support for the 'coursetype' field in the 'upload courses' tool The 'coursetype' field will now accept either a string or an integer value from the map below: * 0 => elearning * 1 => blended * 2 => facetoface Within the 'upload courses' CSV file, the value for the 'coursetype' field can be either an integer value or a string value. If the value of 'coursetype' was not within the expected range of values (as above), then the system will throw an error message when attempting to upload the course(s) or while previewing the course(s). If the field is missing from the CSV file or the value is empty, then the 'coursetype' will be set to 'E-learning' by default. This is consistent with previous behaviour. TL-18481 Improved the help strings for the 'Minimum time required' field within a program or certification course set Program and certification 'Course set due' and 'Course set overdue' message help strings have also been updated to convey that the 'Minimum time required' field is used to determine when a course set is due. TL-18675 Added 'not applicable' text to visibility column names when audience visibility is enabled When audience based visibility is enabled it takes priority over other types of visibility. Having multiple visibility columns added to a report may cause confusion as to which type of visibility is being used. '(not applicable)' is now suffixed to the visibility column to clarify which type of visibility is inactive, e.g. 'Program Visible (not applicable)'. Bug fixes: TL-17734 Fixed OpenSesame registration TL-17755 Fixed user tours not working when administration block is missing on dashboard TL-17767 Fixed multiple blocks of the same type not being restored upon course restore TL-17824 Improved the reliability of Totara Connect SSO There is also a new login page parameter '?nosso=1' which may be used to temporarily disable Totara Connect SSO to allow logging in via local authentication method. TL-17846 Content restrictions are now applied correctly for Report Builder filters utilising dialogs Before Totara Learn 9 the organisation and position content restriction rules were applied when displaying organisation and position filters in reports. With the introduction of multiple job assignments in Totara Learn 9, organisation and position report filters now use the generic totara dialog to display available organisation and position filter values. This patch added the application of the missing report content restriction rules when retrieving the data to display in totara dialogs used in report filters. TL-17857 Deleting a 'featured links' block no longer leaves orphaned cohort visibility records TL-17934 Fixed waitlisted users not being displayed in seminar reports that included session date columns Previously waitlisted users would be displayed in seminar reports that did not contain session dates, but would disappear if a column related to session dates was added (specifically the session start, session finish, event start time, event finish time columns). Now the waitlisted users will always be displayed regardless of these columns, however the columns will be blank or 'not specified' for these users. TL-17936 Report builder graphs now use the sort order from the underlying report When scheduled reports were sent, the report data was correctly ordered, but the graph (if included) was not being ordered correctly. The ordering of the graph now matches the order in the graph table. TL-17938 Fixed encoding issues using Scandinavian characters in a Location custom field address This issue only affected Internet Explorer 11. All other browsers handled the UTF8 character natively. TL-17970 Backported MDL-62239 to fix broken drag-drop of question types on iOS 11.3 TL-17973 Searching a report configured to use custom fields no longer fails after referenced fields have been deleted Previously if a custom field was included in searchable fields for a toolbar search within report builder, and that custom field was then deleted, when a user attempted to search the report using the toolbar search they would get an error. The toolbar search now checks that fields still exists before attempting to perform a search on them. TL-17977 Users editing Program assignments are now only shown the option to assign audiences if they have the required capability Previously if a user did not have moodle/cohort:view capability and tried to assign an audience to a program an error would be thrown. The option to add audiences is now hidden from users who do not have this capability. TL-18482 Fixed the formatting of Custom profile field data when exporting via 'Bulk user actions' Some values (specifically the Dropdown Menu) were being exported as the index (number) instead of the text name of the option. This is now exported correctly. TL-18488 Fixed a regression in DB->get_in_or_equal() when searching only integer values within a character field This is a regression from TL-16700, introduced in 2.6.52, 2.7.35, 2.9.27, 9.15, 10.4, and 11.0. A fatal error would be encountered in PostgreSQL if you attempted to call get_in_or_equal() with an array of integers, and then used the output to search a character field. The solution is ensure that all values are handled as strings. TL-18498 Fixed the ability to search for custom rooms inside the room selection dialog Previously when custom rooms were created within a seminar session via the room selection dialog, the custom room would not be searchable on the 'search' tab of the dialog. Now custom rooms that are visible on the 'browse' tab will also be searchable on the 'search' tab. TL-18499 Fixed an issue where searching in glossary definitions longer than 255 characters would return no results on MSSQL database The issue manifested itself in the definitions where the search term appeared in the text only after the 255th character due to incorrectly used concatenation in an SQL query. TL-18546 Fixed missing string parameter when exporting report with job assignment filters TL-18566 Backported MDL-61281 to make Solr function get_response_counts compatible() with PHP 7.2 TL-18574 Fixed a return type issue within the Redis session management code responsible for checking if a session exists TL-18587 Made sure missing library in CAS config form is included TL-18590 Made sure that multiple jobs are not created via search dialogs if multiple jobs are disabled sitewide TL-18618 Restoring a course now correctly ignores links to external or deleted forum discussions TL-18649 Improved the Auto login guest setting description The auto login guest setting incorrectly sets the expectation that automatic login only happens when a non-logged in user attempts to access a course. In fact it happens as soon as the user is required to login, regardless of what they are trying to access. The description has been improved to reflect the actual behaviour. [12.0] Additionally in Totara 12 we have set it so that the user is not automatically logged in if they attempt to access administration pages. TL-18676 Improved the performance of 'set of courses' in program content editing Miscellaneous Moodle fixes: TL-18142 MDL-60439: Enabled multi-language filter on Tags block title Contributions: * Michael Geering, Kineo UK - TL-17973 * Russell England, Kineo USA - TL-17977
Release 9.23 (24th August 2018):
Security issues: TL-18491 Added upstream security hardening patch for Quickforms library A remote code execution vulnerability was reported in the Quickforms library. This applied to other software but no such vulnerability was found in Totara. The changes made to fix this vulnerability have been taken to reduce risks associated with this code. Improvements: TL-13987 Improved approval request messages sent to managers for Learning Plans Prior to this fix if a user requested approval for a learning plan then a message was sent to the user's manager with a link to approve the request, regardless of whether the manager actually had permission to view or approve the request. This fix sends more appropriate messages depending on the view and approve settings in the learning plan template. TL-17780 Added a warning message about certification changes not affecting users until they re-certify TL-18675 Added 'not applicable' text to visibility column names when audience visibility is enabled When audience based visibility is enabled it takes priority over other types of visibility. Having multiple visibility columns added to a report may cause confusion as to which type of visibility is being used. '(not applicable)' is now suffixed to the visibility column to clarify which type of visibility is inactive, e.g. 'Program Visible (not applicable)'. Bug fixes: TL-17349 Made username field in admin/users visible to make users aware autofill has taken place Chrome very stubbornly ignores attempts to prevent autocompletion of forms, particularly when a username is involved. We aren't able to fix it without creating breaking changes to the layout of the admin/user form (fixed from t10), so instead, we opted to make the field more visible so that at least the user is aware that autocomplete has taken place. TL-17734 Fixed OpenSesame registration TL-17767 Fixed multiple blocks of the same type not being restored upon course restore TL-17846 Content restrictions are now applied correctly for Report Builder filters utilising dialogs Before Totara Learn 9 the organisation and position content restriction rules were applied when displaying organisation and position filters in reports. With the introduction of multiple job assignments in Totara Learn 9, organisation and position report filters now use the generic totara dialog to display available organisation and position filter values. This patch added the application of the missing report content restriction rules when retrieving the data to display in totara dialogs used in report filters. TL-17936 Report builder graphs now use the sort order from the underlying report When scheduled reports were sent, the report data was correctly ordered, but the graph (if included) was not being ordered correctly. The ordering of the graph now matches the order in the graph table. TL-17977 Users editing Program assignments are now only shown the option to assign audiences if they have the required capability Previously if a user did not have moodle/cohort:view capability and tried to assign an audience to a program an error would be thrown. The option to add audiences is now hidden from users who do not have this capability. TL-18488 Fixed a regression in DB->get_in_or_equal() when searching only integer values within a character field This is a regression from TL-16700, introduced in 2.6.52, 2.7.35, 2.9.27, 9.15, 10.4, and 11.0. A fatal error would be encountered in PostgreSQL if you attempted to call get_in_or_equal() with an array of integers, and then used the output to search a character field. The solution is ensure that all values are handled as strings. TL-18499 Fixed an issue where searching in glossary definitions longer than 255 characters would return no results on MSSQL database The issue manifested itself in the definitions where the search term appeared in the text only after the 255th character due to incorrectly used concatenation in an SQL query. TL-18544 Fixed SQL error on reports using Toolbar Search when custom fields are deleted If a custom field that is included as part of the Toolbar Search for a Report Builder report (configured in the report settings) gets deleted then an SQL error is generated. This only occurs after a search is done, viewing the page normally will not display the error. TL-18546 Fixed missing string parameter when exporting report with job assignment filters TL-18574 Fixed a return type issue within the Redis session management code responsible for checking if a session exists TL-18590 Made sure that multiple jobs are not created via search dialogs if multiple jobs are disabled sitewide TL-18618 Restoring a course now correctly ignores links to external or deleted forum discussions TL-18649 Improved the Auto login guest setting description The auto login guest setting incorrectly sets the expectation that automatic login only happens when a non-logged in user attempts to access a course. In fact it happens as soon as the user is required to login, regardless of what they are trying to access. The description has been improved to reflect the actual behaviour. [12.0] Additionally in Totara 12 we have set it so that the user is not automatically logged in if they attempt to access administration pages. Contributions: * Russell England, Kineo USA - TL-17977
Release 2.9.35 (24th August 2018):
Security issues: TL-18491 Added upstream security hardening patch for Quickforms library A remote code execution vulnerability was reported in the Quickforms library. This applied to other software but no such vulnerability was found in Totara. The changes made to fix this vulnerability have been taken to reduce risks associated with this code. Improvements: TL-13987 Improved approval request messages sent to managers for Learning Plans Prior to this fix if a user requested approval for a learning plan then a message was sent to the user's manager with a link to approve the request, regardless of whether the manager actually had permission to view or approve the request. This fix sends more appropriate messages depending on the view and approve settings in the learning plan template. Bug fixes: TL-17734 Fixed OpenSesame registration TL-17767 Fixed multiple blocks of the same type not being restored upon course restore TL-18488 Fixed a regression in DB->get_in_or_equal() when searching only integer values within a character field This is a regression from TL-16700, introduced in 2.6.52, 2.7.35, 2.9.27, 9.15, 10.4, and 11.0. A fatal error would be encountered in PostgreSQL if you attempted to call get_in_or_equal() with an array of integers, and then used the output to search a character field. The solution is ensure that all values are handled as strings. TL-18544 Fixed SQL error on reports using Toolbar Search when custom fields are deleted If a custom field that is included as part of the Toolbar Search for a Report Builder report (configured in the report settings) gets deleted then an SQL error is generated. This only occurs after a search is done, viewing the page normally will not display the error. TL-18562 Added HR Import check to ensure user's country code is two characters in length TL-18618 Restoring a course now correctly ignores links to external or deleted forum discussions TL-18649 Improved the Auto login guest setting description The auto login guest setting incorrectly sets the expectation that automatic login only happens when a non-logged in user attempts to access a course. In fact it happens as soon as the user is required to login, regardless of what they are trying to access. The description has been improved to reflect the actual behaviour. [12.0] Additionally in Totara 12 we have set it so that the user is not automatically logged in if they attempt to access administration pages.
Release 2.7.43 (24th August 2018):
Security issues: TL-18491 Added upstream security hardening patch for Quickforms library A remote code execution vulnerability was reported in the Quickforms library. This applied to other software but no such vulnerability was found in Totara. The changes made to fix this vulnerability have been taken to reduce risks associated with this code. Bug fixes: TL-17734 Fixed OpenSesame registration TL-17767 Fixed multiple blocks of the same type not being restored upon course restore TL-18488 Fixed a regression in DB->get_in_or_equal() when searching only integer values within a character field This is a regression from TL-16700, introduced in 2.6.52, 2.7.35, 2.9.27, 9.15, 10.4, and 11.0. A fatal error would be encountered in PostgreSQL if you attempted to call get_in_or_equal() with an array of integers, and then used the output to search a character field. The solution is ensure that all values are handled as strings. TL-18618 Restoring a course now correctly ignores links to external or deleted forum discussions TL-18649 Improved the Auto login guest setting description The auto login guest setting incorrectly sets the expectation that automatic login only happens when a non-logged in user attempts to access a course. In fact it happens as soon as the user is required to login, regardless of what they are trying to access. The description has been improved to reflect the actual behaviour. [12.0] Additionally in Totara 12 we have set it so that the user is not automatically logged in if they attempt to access administration pages.
Release 2.6.60 (24th August 2018):
Security issues: TL-18491 Added upstream security hardening patch for Quickforms library A remote code execution vulnerability was reported in the Quickforms library. This applied to other software but no such vulnerability was found in Totara. The changes made to fix this vulnerability have been taken to reduce risks associated with this code. Bug fixes: TL-17734 Fixed OpenSesame registration TL-17767 Fixed multiple blocks of the same type not being restored upon course restore TL-18488 Fixed a regression in DB->get_in_or_equal() when searching only integer values within a character field This is a regression from TL-16700, introduced in 2.6.52, 2.7.35, 2.9.27, 9.15, 10.4, and 11.0. A fatal error would be encountered in PostgreSQL if you attempted to call get_in_or_equal() with an array of integers, and then used the output to search a character field. The solution is ensure that all values are handled as strings. TL-18649 Improved the Auto login guest setting description The auto login guest setting incorrectly sets the expectation that automatic login only happens when a non-logged in user attempts to access a course. In fact it happens as soon as the user is required to login, regardless of what they are trying to access. The description has been improved to reflect the actual behaviour. [12.0] Additionally in Totara 12 we have set it so that the user is not automatically logged in if they attempt to access administration pages.
Release 2.5.66 (24th August 2018):
Security issues: TL-18491 Added upstream security hardening patch for Quickforms library A remote code execution vulnerability was reported in the Quickforms library. This applied to other software but no such vulnerability was found in Totara. The changes made to fix this vulnerability have been taken to reduce risks associated with this code. Bug fixes: TL-17767 Fixed multiple blocks of the same type not being restored upon course restore TL-18649 Improved the Auto login guest setting description The auto login guest setting incorrectly sets the expectation that automatic login only happens when a non-logged in user attempts to access a course. In fact it happens as soon as the user is required to login, regardless of what they are trying to access. The description has been improved to reflect the actual behaviour. [12.0] Additionally in Totara 12 we have set it so that the user is not automatically logged in if they attempt to access administration pages.
Release 2.4.64 (24th August 2018):
Security issues: TL-18491 Added upstream security hardening patch for Quickforms library A remote code execution vulnerability was reported in the Quickforms library. This applied to other software but no such vulnerability was found in Totara. The changes made to fix this vulnerability have been taken to reduce risks associated with this code. Bug fixes: TL-17767 Fixed multiple blocks of the same type not being restored upon course restore
Release 2.2.68 (24th August 2018):
Security issues: TL-18491 Added upstream security hardening patch for Quickforms library A remote code execution vulnerability was reported in the Quickforms library. This applied to other software but no such vulnerability was found in Totara. The changes made to fix this vulnerability have been taken to reduce risks associated with this code. Bug fixes: TL-17767 Fixed multiple blocks of the same type not being restored upon course restore