Roadmap: Difference between revisions

From MoodleDocs
Line 37: Line 37:
===Overall appearance===
===Overall appearance===


* [https://docs.moodle.org/en/Development:Very_flexible_block_system_proposal|New Blocks implementation]  - Moodle.com
* [[Development:Very_flexible_block_system_proposal|New Blocks implementation]]  - Moodle.com
:: Blocks and page layouts are now implemented consistently and predictably on every page in Moodle, and can even be docked like menus.
:: Blocks and page layouts are now implemented consistently and predictably on every page in Moodle, and can even be docked like menus.



Revision as of 08:53, 18 January 2010

This roadmap collects the best information about upcoming features in Moodle. It is not 100% certain - features may change according to available funding and developers.


Version 2.0

Moodle 2.0, our biggest release ever, is coming together after two years of development. It contains a huge number of core changes to the platform, most of which are designed to give 3rd party developers more flexibility, scalability and safety.

The timetable is designed to deliver Moodle 2.0 in time for the new school year in the northern hemisphere and currently looks like this:

  • 1 March 2010: Moodle 2.0 Beta release
  • March, April, May, June: intensive beta testing and bug fixing (freeze on new features)
  • 1 July 2010: Moodle 2.0 production release

You can track our current progress in detail on the Moodle 2.0 Planning document. Please remember that this document is frequently updated and details can change a lot!

Draft release notes at Moodle 2.0 release notes. Please add notable items while they are fresh in your mind. The notes will be edited before the final release.


System requirements

Since Moodle 2.0 is such a major release, we are allowing ourselves some increases in the requirements.

  • PHP 5.2.8 is now the minimum version supported. (We are aware that several important linux distros are still shipping earlier versions like 5.2.6, but we need at least version 5.2.x for the new File API, and there are bugs in 5.2.7 and earlier that we could not work around.) This allows developers to write cleaner code using the more recent features of PHP, and will also improve user experience.
  • Databases should be one of the following:
    • MySQL 5.0.25 or later (InnoDB storage engine highly recommended)
    • PostgreSQL 8.3 or later
    • Oracle 10.2 or later
    • MS SQL 2005 or later
  • When upgrading to Moodle 2.0, you must have Moodle 1.9 or later. if you are using an earlier version of Moodle (eg 1.8.x) then you need to upgrade to Moodle 1.9.x first.

New Community features

Makes it easy for teachers to find other courses to download as templates for their own courses. It also makes it easier to find enrollable courses on other sites (either to join as a student or to participate in a community of practice).

Overall appearance

Blocks and page layouts are now implemented consistently and predictably on every page in Moodle, and can even be docked like menus.
The engines that produce HTML and JS code have been completely re-written, so that Moodle's output is more consistent and efficient. Themers can now also modify any of the output if they choose to, without touching core code.
The structure and design of themes has been rewritten for efficiency and flexibility. Unfortunately this means all themes need to be re-written for Moodle 2.0. To help you get started, Moodle 2.0 will ship with 20 brand-new standard themes designed to make Moodle look much nicer than ever before.
Navigation is now implemented consistently in the navbar and in a Navigation block on every page. All settings are now always available in a settings block on every page. Themes can completely rewrite navigation if they require.
Replaces our ageing HTMLarea with a new one that works on more browsers, enforces XHTML strict and better integrates with the new File API
  • General usability review - Moodle.com and others
We've been attacking many of the most popular issues from the Moodle Tracker

File handling improvements

These three are separate but very complementary.

maintains an internal repository of files and governs access to them.
allows users to browse external repositories using a filepicker and select files to bring into Moodle (copy or link)
allows Moodle content to be captured and pushed out to external repositories.


Course organisation

Allowing dependencies and forced paths through activities. That is, "You can't do this activity until that activity is completed".
Let teachers to specify conditions that define when a student has completed a course. Keep a record of which users have completed each course.
Let users have learning plans listing which outcomes or courses should attempt next, based on which courses they have already completed.


Changes to activity modules

To be cleaned up and included as a core module.
  • Lesson module
    • Converted to use Moodle forms for consistency
    • Refactored the code to make it maintainable


Administrative improvements

Several major improvements related to guest access, course enrolments, metacourses and groups (aka global groups, site-wide groups etc)
Standard set of core API functions made available via SOAP and XML-RPC
Site wide groups are a number one request



Other major components

New backup that actually works on large courses etc and is faster. Old backup will be retained as a separate directory to import old backups.
Implement a number of usability improvements for the Gradebook (and port back to 1.9 as well)
Add commenting to blogs (MDL-8776), as well as support for external blogs
Refactor messaging to use plugins for input and output, controlled by users
Commenting all over Moodle has now been refactored into one central system. And yes, you can now comment on blogs.
Obscure RSS feed URLs using private keys, controlled by users.
IMS CC import
  • More tagging
Tagging of courses, activities and other things (MDL-13404)


Database control

MDL-14679 Database access is to be refactored so that: we can use prepared statements everywhere for increased security and some performance, we put datalib functions in a class to allow better unit tests (mock db), and remove the need for slashes in userspace. This will cause breakage for 3rd party modules (but fixing them won't be too hard).
  • Ancient (pre 1.7) DB install/upgrade system removed - Moodle.com
The deprecated system for installing or upgrading database entries used in Moodle < 1.7 will be completely removed, while supporting only the new XML based database scheme introduced in 1.7.

Version 2.1

In Moodle 2.1 the core development team will focus almost exclusively on activity modules and blocks in Moodle.

The release cycle for 2.1 should be relatively short, hopefully only six months after 2.0.

Refactoring existing modules

We'll mostly be working very hard on refactoring and modernising what we have (based on community feedback in the tracker and forums).


Adding new modules

We'll be reviewing and adding some of the popular third-party modules.

See also