Actions

Difference between revisions of "Potential backward compatibility issues in Joomla 1.7 and Joomla Platform 11.2"

From Joomla! Documentation

(Add reference for MooTools change)
(Add todays merges from GitHub)
Line 24: Line 24:
 
*The unused parameter $akey has been removed from JURI::buildQuery().<ref>[https://github.com/joomla/joomla-platform/commit/14ebbbd702c2d79098057647fcc4603157896509 Remove an unused paramet in JURI::buildQuery(). (GitHub)]</ref>
 
*The unused parameter $akey has been removed from JURI::buildQuery().<ref>[https://github.com/joomla/joomla-platform/commit/14ebbbd702c2d79098057647fcc4603157896509 Remove an unused paramet in JURI::buildQuery(). (GitHub)]</ref>
  
== MooTools ==
+
== JUpdater ==
*MooTools Core has been updated to version 1.3.2, MooTools More to 1.3.2.1. Due to a change in JSON handling a slight change in behavior can occur. More details can be found on the [https://github.com/mootools/mootools-core/wiki/Update-from-1.2-to-1.3 MooTools Wiki].<ref> Update Mootools to version 1.3.2 ([http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=25082 Issue]) ([http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&path=%2F&view=rev&revision=21357 Revision])</ref>
+
*JUpdater:: arrayUnique() has been deprecated Use JArrayHelper::arrayUnique() instead. Note that the later is static.<ref>[https://github.com/joomla/joomla-platform/commit/354a7653ca81acc1b12a3b1c1e6188e078bd9451 Move JUpdater:arrayUnique() to JArrayHelper::arrayUnique(). Keep JUpdater:arrayUnique() as an alias an deprecate it. (GitHub)]</ref>
 +
 
 +
== JavaScript ==
 +
*MooTools Core has been updated to version 1.3.2, MooTools More to 1.3.2.1. Due to a change in JSON handling a slight change in behavior can occur. More details can be found on the [https://github.com/mootools/mootools-core/wiki/Update-from-1.2-to-1.3 MooTools Wiki].<ref> Update Mootools to version 1.3.2 ([http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=25082 Issue]) ([http://joomlacode.org/gf/project/joomla/scmsvn/?action=browse&path=%2F&view=rev&revision=21357 Revision]) ([https://github.com/joomla/joomla-platform/commit/2bf2ba5c7cbba19fae78b06da4fe8ddc8bce4063 GitHub])</ref>
 +
* checkAll() has been deprecated, use Joomla.checkAll() instead. Note that Joomla.checkAll() doesn't include some legacy functionality.<ref>[https://github.com/joomla/joomla-platform/commit/d9ec6d3e15344727dc7453c4cce9137b634e8b2c Namespace the checkAll() function. (GitHub)]</ref>
  
 
= CMS =
 
= CMS =

Revision as of 15:17, 14 June 2011

Contents

Platform

  • JPATH_PLATFORM is now used instead of JPATH_LIBRARIES (JPATH_LIBRARIES will continue to be supported for version 1.7)

JDatabaseQuery

JDatabaseQuery is now abstract due of the work done to support new database engines (Windows Azure and Microsoft SQL Server). This means you must use $db->getQuery(true); to instantiate a query as is the correct practice in Joomla 1.6.

JDocument

  • getHeadData(), setHeadData() and mergeHeadData() are from now on only present in JDocumentHTML. They have been removed from JDocument and JDocumentXML.[1]

JDocumentHTML

  • JDocumentHTML::$_links has changed to a multidimensional array. Also the rendering of the link elements has been moved from JDocumentHTML to JDocumentRenderHead.[2]

JDocumentRendererMessage

  • A div element with the ID "system-message-container" is always rendered, whether there are messages or not. This ID should not be used in any extension or template.[3]

JLoader

  • JLoader can't load files multiple times anymore.[4]

JLog

  • JLog has shifted to joomla.log.log from joomla.error.log and features support for multiple loggers.

JURI

  • The unused parameter $akey has been removed from JURI::buildQuery().[5]

JUpdater

  • JUpdater:: arrayUnique() has been deprecated Use JArrayHelper::arrayUnique() instead. Note that the later is static.[6]

JavaScript

  • MooTools Core has been updated to version 1.3.2, MooTools More to 1.3.2.1. Due to a change in JSON handling a slight change in behavior can occur. More details can be found on the MooTools Wiki.[7]
  • checkAll() has been deprecated, use Joomla.checkAll() instead. Note that Joomla.checkAll() doesn't include some legacy functionality.[8]

CMS

General Coding Principles

Within the new Joomla release cycle, developers need to be conscious of more frequent changes to version numbers. If you are doing hard checks against, for example, a version number exactly equal to "1.6" then as we move to 1.7, those checks may fail with unexpected results. You should ensure that version checks appropriately allow for future increments like 1.7, 1.8, 2.0, 3.0, and so on.

TinyMCE

  • TinyMCE has been updated to the 3.4 series requiring new language files and potentially breaking TinyMCE plug-ins.[9]

JavaScript

  • MooTools Core and MooToools more will not always be loaded in the backend as it was in the past. Extensions have to specifically include it.[10]

References

  1. Remove getHeadData(), setHeadData() and mergeHeadData() from JDocument since it only applies to JDocumentHTML. (GitHub)
  2. Move the rendering of HTML link elements to JDocumentRendererHead. (GitHub)
  3. Modify JDocumentRendererMessage to always render <div id="system-message-container"></div>. This makes it possible to render messages via JavaScript. (GitHub)
  4. Use include_once instead of include in JLoader (GitHub)
  5. Remove an unused paramet in JURI::buildQuery(). (GitHub)
  6. Move JUpdater:arrayUnique() to JArrayHelper::arrayUnique(). Keep JUpdater:arrayUnique() as an alias an deprecate it. (GitHub)
  7. Update Mootools to version 1.3.2 (Issue) (Revision) (GitHub)
  8. Namespace the checkAll() function. (GitHub)
  9. Update TinyMCE to version 3.4.2 (Issue) (Revision)
  10. Don't always load Mootools (More) in the backend (Issue) (Revision)