Moodle 2.2 release notes
This content of this page has been updated and migrated to the new Moodle Developer Resources. The information contained on the page should no longer be seen up-to-date.
Hello and welcome to our Moodle 2.2 release!
Completely free of artificial preservatives, colour and flavour enhancers. Fully natural and ready to eat!
Release date: 5th December, 2011
Here is the full list of fixed issues in 2.2 (Long!)
Major new features
- Advanced grading methods, including Rubrics
- Rubrics have been a long-requested feature and we're pleased to be able to say that now you can design and use rubrics to grade things in Moodle. Rubrics are actually the first plugin of a new 'Advanced Grading' plugin type, because we expect our users to come up with all kinds of similar advanced grading interfaces and integrations. It currently only works for Assignments but will be extended soon across all modules. This feature was developed by Moodle HQ, although it was inspired by the Rubrics work done by Moodlerooms.
- External tool
- The IMS LTI standard is a simple but promising way that e-learning tools can interoperate. It allows Moodle to embed learning objects (or full-blown tools like forums) from external web sites into courses in such a way that Moodle can pass user data to the tool, and the tool can send grades back to Moodle's gradebook. Not only does it allow integration of a growing amount of interactive content and services but it will allow developers to create functionality for Moodle in any language they like. (eg they can create a new activity using Ruby or Java, as long as it support LTI 1.1 and has a web interface). Moodle is one of the first Learning Management Systems in the world to support IMS LTI 1.1. (Moodle is a contributing member of IMS Global). This feature was originally developed by Universitat Politecnica de Catalunya, then improved and extended by Moodlerooms, with lots of support from Chuck Severance of IMS and Eloy Lafuente of the Moodle HQ team. (MDL-20534)
- IMS Common Cartridge import
- This is platform-independent popular standard for packaging learning content. For example it is used by publishers to publish simple courses to go with their textbooks, in a way that works on a variety of Learning Management Systems. Moodle did have support for importing CC packages in Moodle 1.9, and thanks to the work primarily by Darko Miletic and Moodlerooms, this is now available for Moodle 2.2 and later. Exporting to CC will come in 2.3. (MDL-29956)
- MyMobile theme
- Moodle 2.1 introduced the ability to select different themes for different devices, and now with 2.2 we have a standard theme in core that is custom-designed for smartphone browser screens. This means that when users visit your Moodle site on a small screen they'll see a completely different layout, but one that is suitable for small touchscreens. Big thanks for John Stabinger for his great work on this theme, which utilises Jquerymobile to achieve some of the magic. (MDL-27622)
- Many of you may know about gravatars (globally recognized avatars), which allows your avatar icon to automatically appear when you comment on blogs and so on anywhere in the internet. Moodle profiles now support it too. :) (MDL-21676)
- MDL-28455 - TinyMCE editor upgraded. Safari on iPad/iPhone with iOS5 now works!
- MDL-27242 - Conditional activities can now become available at an exact time, rather than only a date
- MDL-28646 - A new Mobile app button 'content' enables all resources in a course to be downloaded for offline viewing
- MDL-26477 - Navigation block now links to topic/weekly sections
- MDL-28270 - Option to upload users to a cohort, add users to a cohort in bulk and other cohort improvements
- MDL-29719 - Course listings can now optionally display course short name everywhere
- MDL-27001 - Activity descriptions can now be displayed on course homepages
- MDL-27036, MDL-30146 - SCORM AICC improvements to handling of external AICC packages
- MDL-28277 - SCORM reporting improvements including a new SCORM interactions report
- MDL-26647 - Can choose in User policies which fields (email, idnumber, department, etc.) are included wherever lists of students are shown.
All security issues that were fixed in 2.1.x and 2.0.x were also fixed in 2.2.
For developers: API changes
Core API changes
- MDL-29474 - Plugins should declare (in version.php) if they depend on other plugins
- MDL-28554 - Upgrade to YUI 3.4.0 and 2.9.0
- MDL-26796 - We no longer accept arrays in required_param() and optional_param()
- MDL-29602 - new context implementation and API, original context related functions are wrappers around the new OOP API
New plugin types
Plugin API changes
Abbreviated descriptions of API changes are always kept up to date in the "upgrade.txt" within each plugin area. We do this so that the information is always exactly right for the version of Moodle you are using.
- Authentication plugins
- Enrolment plugins
- Activity modules
- Question behaviours
- Question formats
- Question types
- MDL-29313 - Length limit for VARCHAR columns under all Databases has been raised to 1333 chars. This will allow using that column type to store URLs and longer contents in general.
- Specifically for Oracle installations:
- MDL-29322 - All VARCHAR2 columns will be created using CHAR semantics instead of default BYTE semantics in Moodle 2.2 and upwards. This provides better cross-db compatibility and improves storage of longer Unicode strings.
- MDL-29416 - For all existing sites, one new report has been added under Admin -> Development -> XMLDB Editor -> Check semantics, able to detect all the "old" BYTE semantics remaining in the database and generate the SQL statements needed to move them to proper CHAR semantics.
Libraries deleted from distribution
This is the list of some outdated / unused libraries that aren't bundled anymore with Moodle 2.2 and upwards. Any (contrib / custom) plugin using them should change to better alternatives or include its own copy of them:
- MDL-29884 - lib/base32.php
- MDL-29885 - lib/csshover.htc
- MDL-29886 - lib/md5.js
- MDL-29883 - lib/mp3player
- MDL-29671 - lib/odbc.php
- MDL-29882 - lib/overlib
- MDL-29914 - lib/pear/PHP/CodeSniffer
- MDL-29881 - lib/profilerlib.php and lib/pear/Console/Getopt
- MDL-29922 - lib/smarty (with the question format IMS QTI 2.0 also being removed - MDL-29921)
- MDL-29887 - lib/swfobject/swfobject.js
- MDL-20804 - SOAP server can now publish detailed object structures via WSDL
- MDL-29106 - New naming convention
- MDL-29435 - SOAP/XML-RPC return clear error message when Moodle debug mode >= NORMAL
- MDL-29277 - Any error at the web service description level is clearly indicated => which parameter/returned value is wrong, and what was expected.
- MDL-29279 - REST server can return JSON
- MDL-29276 - Many other web service improvements
- Many web service demo clients
- Full web service user and developer documentation update
- New web service roadmap
Other deleted items
- MDL-29923 - Global search