Totara Release Notes

Totara 2.7.0 Released 2nd March 2015

 
? ?
Totara 2.7.0 Released 2nd March 2015
door ? ? - Sunday, 1 March 2015, 21:56 PM
 

We are pleased to announce the arrival of Totara 2.7.0!

This release contains many new features and improvements to existing functionality such as graphical reporting, Dynamic Appraisals, audience based dashboards, custom fields for Facetoface, many other enhancements especially in Facetoface and Reportbuilder.

We would like to particularly acknowledge contributions from our partners that have made it into this release -

Andrew Hancox and Davo Smith from Synergy Learning for their great work in the facetoface module, report builder, enhanced catalogue and especially for producing behat tests.


Eugene Venter, Chris Wharton from Catalyst for their great work on the main menu, report builder, and programs.

If we have missed anyone who contributed by mistake just let us know and we will make sure we credit you here!

Here's the changelog:

 

Release 2.7.0 (2nd March 2015):
==================================================

New features:
    T-10087  Added new editing and configuration interface for the main menu
    T-11033  Added new badge report source
    T-11185  Added new dynamic Appraisals advanced feature
    T-12199  Added new audience based visibility setting for courses, programs and certifications
    T-12325  Added new course completion date filter for the Record Of Learning all courses report
    T-12772  Added new aggregation and grouping column options in Reportbuilder reports
    T-12892  Added new cut off date and minimum capacity options for Facetoface sessions
    T-12900  Added new self approval feature for Facetoface sessions
    T-12902  Added new feature to allow users to register their interest in a Facetoface session they cannot sign up for
    T-13092  Added new Facetoface course enrolment plugin added to Totara
    T-13093  Added direct enrolment into Facetoface sessions from the enhanced catalog interface
    T-13114  Added feature to allow users to select a position when signing up for a Facetoface session
    T-13195  Added new autowaitlist and signup lottery in Facetoface
    T-13393  Added new setting to log user out of all sessions when their password is changed
    T-13407  Added new page to view all of a user's active sessions
    T-13468  Added new site log report source
    T-13502  Added graphical reporting to Reportbuilder
    T-13510  Added new upgrade log report source
    T-13514  Added new feature to reset main menu to defaults
    T-13693  Added completion status columns to the course completion report source
    T-13713  Added 'is completed', 'is in progress', and 'is not yet started' columns to programs and certifications report sources
    T-13714  Added new percentage aggregation option in Reportbuilder
    T-13715  Added new options to control the audience visibility of main menu items
    T-13718  Added custom fields to Facetoface sessions, signups and cancellations
    T-13721  Added ability to use user placeholders in main menu URLs
    T-13732  Added new audience based dashboards
    T-13765  Added new aggregated question types to Appraisals
    T-14081  Added MySQL configuration checks to the environment page

General improvements:
    T-9537   Added the ability to include children when filtering course categories in Reportbuilder
    T-9800   Improved the including of JS required by Reportbuilder filters
    T-11043  Improved handling when appraisee is missing roles involved in an Appraisal
    T-12309  Added link to the secure page layout in the element library
    T-12344  Improved use of forms when adding links to the Quicklinks block
    T-12388  Improved message when no results are returned for a program search
    T-12450  Added ability to control whether Facetoface session cancellation is available to learners
    T-12586  Removed totara-expanded-width class applied via JS
    T-12592  Fixed database schemas between installed sites and upgraded sites
    T-12662  Renamed Totara Sync to HR Import
    T-12712  Improved number of content types that can be created by the Test Site Generator
    T-12927  Added a new option to hide records between two dates in Reportbuilder date filters
    T-12929  Allowed more user profile fields to be used in Facetoface notifications via substitution
    T-13104  Changed Facetoface session duration to be stored in seconds instead of minutes
    T-13221  Added visibility controls to Appraisal redisplay questions
    T-13303  Introduced rb_display_nice_datetime_in_timezone method to complete timezone function suite
    T-13335  Improved main menu JS dependencies
    T-13338  Removed Recaptcha login protection in lieu of the new user lockout support
    T-13363  Upgraded Totara cron tasks to scheduled tasks
    T-13370  Changed Fusion Reportbuilder export to be longer enabled by default
    T-13383  Prevented admin redirection to enrolment page after course creation
    T-13408  Improved flexibility of which courses need to be completed to complete a Program courseset
    T-13526  Added a debug option to embedded reports
    T-13527  Added new Reportbuilder nice_date column format for displaying date information
    T-13575  Converted set_time_limit calls to use core_php_time_limit::raise instead
    T-13604  Improved handling of Totara user events to match Moodle behaviour
    T-13605  Added support for Totara-specific post upgrade steps
    T-13608  Added display of Standard Totara footer on popup pages
    T-13615  Added performance improvements for bulk user enrolments and role assignments
    T-13643  Removed W3C deprecated HTML tags
    T-13690  Added ability to specify password rotation as part of the password policy
    T-13716  Added ability to prevent cancellations within a certain time of a Facetoface session date
    T-13762  Fixed Reportbuilder file exports to now use parent folder permissions.
    T-13789  Removed unused function prog_get_all_users_programs
    T-13838  Added ability to withdraw from pending enrolments within the enhanced catalogue
    T-13980  Increased maximum database table name length
    T-14053  Improved timezone handling across the entire codebase

Accessibility and usability improvements:
    T-11919  Cleaned up nested HTML tables in toolbars
    T-12013  Improved the display of links in the Kiwifruit Responsive theme
    T-12332  Fixed current item in the navbar being incorrectly shown as a link
    T-12333  Added headings to many pages where there was no heading
    T-12334  Improved contrast of help icons
    T-12340  Converted labels with no associated input to more appropriate elements
    T-12350  Added a heading to the delete Learning Plan page
    T-12354  Added a heading to the form used to create a Learning Plan
    T-12356  Improved alt text for the date selector
    T-12358  Improved title attribute on the tab name when editing a Learning Plan
    T-12359  Increased contrast of notification messages for usability
    T-12367  Fixed positioning of the Save and Cancel buttons in hierarchy dialogues
    T-12374  Fixed multiple h1 elements on the my reports page
    T-12380  Added a heading to the delete scheduled report page
    T-12389  Removed incorrect fieldset HTML elements on Program content tab
    T-12390  Added missing title to the launch course column when viewing an assigned Program
    T-12398  Changed display of ical image to text, and increased the contrast, when viewing the calendar
    T-12415  Converted calendar export to use mforms
    T-12418  Added a heading to the file upload dialogue
    T-12423  Fixed keyboard navigation on user positions page
    T-12424  Fixed the labels for start and end date on the user positions pages
    T-12685  Converted add new user link to a button on the browse users page
    T-13011  Removed HTML tables from Message alerts
    T-13016  Cleaned up nested HTML tables in the alerts report
    T-13702  Converted to mforms date selector when creating Learning Plans
    T-13076  Converted to mforms date selector when creating new Audiences
    T-13089  Converted to mforms date selector when creating and editing Programs
    T-13304  Improved display of instant filtering in Reportbuilder
    T-13360  Improved the display markup of the users current session in a Facetoface module
    T-13362  Removed nested HTML tables in Facetoface events
    T-13369  Improved Facetoface block session filter HTML
    T-13515  Improved HTML layout of calendar filters in Facetoface block
    T-13609  Improved HTML layout when viewing messages
    T-13614  Improved HTML layout when viewing course groups
    T-13705  Fixed positioning of cancel and save buttons
    T-13728  Improved heading hierarchy on required learning pages
    T-13741  Improved HTML layout of web services documentation
    T-13791  Removed HTML table when viewing another user's Required Learning
    T-13804  Added a label to all duration based admin settings
    T-13949  Improved the alt text on images in the statistics block
    T-13999  Added missing labels to time selectors in admin settings

Feature details
===============

== Main menu customisations (T-10087, T-13514, T-13715, T-13721) ==
The following improvements have been made to the main menu:
1. It is now possible to customise the main menu by adding and removing your own items.
   Existing items cannot at present be deleted, as they may be relied upon for navigation.
2. The placement (sorting) of all items in the menu can be customised to your liking.
3. The visibility of all menu items can be controlled. You can both mark an item either hidden/visible or you can configure
   rules to determine the visibility at the time the page is displayed for the current user.
4. User placeholders can be used in the URLs of custom menu items. These get replaced at run time with the data of the current user.
5. At any point the customised main menu can be reset, returning it to the default state.

== Dynamic appraisals (T-11185) ==
This feature consists of two main changes:
1. When a user is added or removed from a group (position/organisation/audience) that is assigned to an active appraisal, the
   appraisals assignments will mirror this change, assigning or removing the user from the appraisal instead of the assignments
   being locked on the appraisal's activation.
2. When a user's role (manager/teamlead/appraiser) is changed or deleted mid-appraisal the change will be mirrored in the appraisal
   roles instead of locked on the appraisals activation.

Upgraded sites will have to enable this feature by ticking the "Dynamic Appraisals" checkbox on the "Advanced features" site
administration page. It is enabled by default for new installations.

A more detailed description of the changes can be found here: https://totara.community/mod/forum/discuss.php?d=9563

== New aggregation and grouping column options in Reportbuilder reports (T-12772) ==
This new feature allows administrators to create new reports that aggregate rows using different functions.
There are also new configurable display options.
Developers need to update 3rd party reports to include data types for each column, otherwise the new display and aggregation options
will not be available in report configuration interface.

== Facetoface course enrolment plugin (T-13092) ==
The plugin is disabled by default. When enabled it can be added to any course as an enrolment instance.
Users not already enrolled in the course may then enrol in a Facetoface session within the course and as part of the process an
enrolment record will be created and they will be given access to the course.

== Facetoface custom fields (T-13718, T-11744) ==
Its now possible to add custom fields to three places in the Facetoface module.
There are significant changes to the session, signup and cancellation screens in order to accommodate these changes.
The following areas now custom fields:
* Sessions - included when adding and editing sessions. Shown on the session signup page.
* Signups - included when the user signs up to a sessions. Shown when viewing the attendees and in the Facetoface session report.
* Cancellations - including when cancelling a signup to a session. Shown when viewing cancellations and in the Facetoface session
  report.

== T-13732  Audience based dashboards ==
Administrators can now create audience based dashboards.
These dashboards operate just like the My Learning page in that a default can be created and then each user in the assigned
audiences can customise their dashboard to suit their needs.
As many dashboards can be created as desired.
The default home page for a Totara site can now be set to a dashboard and users can also be given the option of choosing a particular
dashboard as their home page.

Database schema changes
=======================

New tables:

Bug ID   New table name
-----------------------------
T-10087  totara_navigation
T-11185  appraisal_role_changes
T-12902  facetoface_interest
T-13092  enrol_totara_f2f_pending
T-13502  report_builder_graph
T-13715  totara_navigation_settings
T-13718  facetoface_session_info_field
T-13718  facetoface_session_info_data
T-13718  facetoface_session_info_data_param
T-13718  facetoface_signup_info_field
T-13718  facetoface_signup_info_data
T-13718  facetoface_signup_info_data_param
T-13718  facetoface_cancellation_info_field
T-13718  facetoface_cancellation_info_data
T-13718  facetoface_cancellation_info_data_param

New fields:

Bug ID   Table name                New field name
------------------------------------------------------------
T-11185  appraisal_user_assignment status
T-11185  appraisal_role_assignment timecreated
T-12772  report_builder_columns    transform
T-12772  report_builder_columns    aggregate
T-12772  report_builder_cache      queryhash
T-12892  facetoface_sessions       mincapacity
T-12892  facetoface_sessions       cutoff
T-12900  facetoface_sessions       selfapproval
T-12900  facetoface                selfapprovaltandc
T-12902  facetoface                declareinterest
T-12902  facetoface                interestonlyiffull
T-13195  facetoface_sessions       waitlisteveryone
T-13502  report_builder            timemodified
T-13502  report_builder_saved      timemodified
T-13715  totara_navigation         visibilityold
T-12450  facetoface                allowcancellationsdefault
T-12450  facetoface_sessions       allowcancellations
T-13408  prog_courseset            mincourses
T-13408  prog_courseset            coursesumfield
T-13408  prog_courseset            coursesumfieldtotal
T-13716  facetoface                cancellationscutoffdefault
T-13716  facetoface_sessions       cancellationcutoff

Modified fields:

Bug ID   Table name                Field name
--------------------------------------------------------
T-13718  facetoface_notice_data    data     Changed to text

Dropped tables:

Bug ID   Table name
-------------------------
T-13718  facetoface_session_field
T-13718  facetoface_session_data

Dropped fields:

Bug ID   Table name                Field name
--------------------------------------------------------
T-12772  report_builder_cache      config
T-12772  report_builder_settings   cached value


API changes
===========

== T-9800 Reportbuilder filters can now include the JS they require ==
* Newly introduce rb_filter_type::include_js allows filters to include any JS they require.

== T-11185  New dynamic appraisals advanced feature ==
* totara_assign_core::store_user_assignments - two new optional arguments $newusers (arg 1) and $processor (arg 2), both default to
  null.
* totara_assign_core::get_current_users - new argument $forcegroup (arg 4)
* totara_setup_assigndialogs - one new optional argument (arg 1) The html output of a notice to display on change
* totara_appraisal_renderer::confirm_appraisal_activation - new argument $warnings (arg 1)

== T-12199     New audience based visibility setting for courses, programs and certifications ==
* totara_visibility_where - new optional argument $fieldvisible (arg 3) defaults to course.id.
* rb_base_source::add_course_table_to_joinlist - new optional argument $jointype (arg 4) defaults to LEFT

== T-13104  Facetoface session duration is now stored in seconds instead of minutes ==
* Facetoface_sessions.duration is now stored in seconds instead of in minutes.

== T-13221  Added visibility controls to Appraisal redisplay questions ==
* New method question_base::inherits_permissions; classes extending question_base can now optionally override inherits_permissions
  and return true if the question class should inherit its permissions from another question.
  Initially used for the redisplay question type as it should inherit its permissions from the earlier question it is displaying.

== T-13303  Introduced rb_display_nice_datetime_in_timezone method to complete timezone function suite ==
* new rb_base_source::rb_display_nice_datetime_in_timezone method

== T-13338  Recaptcha login protection has been removed in lieu of the new user lockout support ==
* login_forgot_password_form::captcha_enabled method has been removed. It is no longer used.

== T-13363  Upgraded Totara cron tasks to scheduled tasks ==
The following functions have been removed:
* registration_cron
* totara_core_cron
* block_totara_stats::cron method has been removed.
* reminder_cron
* facetoface_cron
* totara_appraisal_cron
* totara_certification_cron
* tcohort_cron
* totara_cohort_cron
* totara_hierarchy_cron
* totara_message_install
* totara_message_cron
* totara_plan_cron
* totara_program_cron
* totara_reportbuilder_cron

The following files have been removed. If you have cron set up to call any of these you will need to update your cron configuration.
* admin/tool/totara_sync/run_cron.php
* totara/appraisal/cron.php
* totara/appraisal/runcron.php
* totara/certification/cron.php
* totara/cohort/cron.php
* totara/hierarchy/prefix/competency/cron.php
* totara/hierarchy/prefix/goal/cron.php
* totara/message/cron.php
* totara/plan/cron.php
* totara/program/cron.php
* totara/reportbuilder/cron.php
* totara/reportbuilder/runcron.php

== T-13393  New setting to log user out of all sessions when their password is changed ==
* \core\session\manager::kill_user_sessions - new optional argument $keepsid (arg 2) keep the given session id alive. If not
 * provided all sessions belonging to the user will be ended.

== T-13502  Implement graphical reporting in Reportbuilder ==
It is now possible to add graphs to reports. The graphs from each report may be also displayed as page blocks.
Developers need to update 3rd party reports to include date types for each numerical column, otherwise the columns will not be
available when setting up graphs in reportbuidler interface.

== T-13527  Implemented report build date column format ==
This change introduces a new nice date list display class and removes remaining uses of the deprecated rb_display_nice_date function.

== T-13605  added support for Totara specific post upgrade steps ==
It is now possible to define Totara specific post upgrade steps.
These steps should be defined within db/totara_postupgrade.php.
A single method should exist within this file xmldb_pluginname_totara_postupgrade.

== T-13714  New percentage aggregation option in the Reportbuilder ==
* New \totara_reportbuilder\rb\aggregate\percent and \totara_reportbuilder\rb\display\percent classes.
* New boolean datatype for report source columns. Existing columns have been converted where required.
* rb_base_source::rb_display_percent function removed as we have now got dedicated type, aggregate and display for percentages.

== T-13721  User placeholders can now be used in main menu URL's ==
* \totara_core\totara\menu\item::get_url - new optional argument $replaceparams (arg 1) when true (default) params in the URL will
  be replaced with relevant data.

== T-13604  Cleanup Totara user events ==
* \totara_core\event\user_firstlogin was removed, use standard \core\event\user_loggedin
  event instead, in case of first login $USER->firstaccess and $USER->currentlogin are equal.

== T-13604  Cleanup Totara user events ==
* \totara_core\event\user_enrolment was removed, use standard \core\event\user_enrolment_created
  event instead

== T-13711  Non numeric columns are no longer shown as graph data sources in Reportbuilder ==
* rb_base_source::get_used_components - new method that should be overridden to return an array of frankenstyle components used by
  the current source and all parents.
* totara_reportbuilder\rb\aggregate\base::is_graphable - new method that should be overridden by all aggregate classes and should
  return true if the given column can be graphed or false otherwise. By default it runs null and Reportbuilder will guess.
* totara_reportbuilder\rb\display\base::is_graphable - new method that should be overridden by all display classes and should return
  true if the given column can be graphed or false otherwise. By default it runs null and Reportbuilder will guess.
* totara_reportbuilder\rb\transform\base::is_graphable - new method that should be overridden by all transform classes and should
  return true if the given column can be graphed or false otherwise. By default it runs null and Reportbuilder will guess.
* New column option “graphable” can be set to true if the column being defined is graphable.

== T-13789  Remove unused function prog_get_all_users_programs ==
* prog_get_all_users_programs function was removed.

== T-13980  Increase maximum database table name length ==
This change increases the maximum database table name length from 28 to 40.
This facilitates better table naming in Totara.

Other notable changes
=====================

T-12772  Imported SVGGraph 2.16 third party library into Totara
T-13092  New enrol_totara_facetoface plugin added to Totara.
T-13407  New report_usersessions plugin added to Totara.
T-13732  New Totara component totara_dashboard
T-13732  New block_totara_dashboard plugin added to Totara.
T-14081  We strongly advise anyone not already using InnoDB or XtraDB to convert to one of these.
T-14081  InnoDB should be configured to use the Barracuda file format and to use one file per table.