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

From Joomla! Documentation

(added note about JPATH_LIBRARIES support)
Line 1: Line 1:
= Platform =  
= Platform =  
*JPATH_PLATFORM is now used instead of JPATH_LIBRARIES
*JPATH_PLATFORM is now used instead of JPATH_LIBRARIES (JPATH_LIBRARIES will continue to be supported for version 1.7)
== JDatabaseQuery ==
== JDatabaseQuery ==

Revision as of 12:48, 4 June 2011


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


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.


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


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


  • 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 can't load files multiple times anymore.[4]


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


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


General Coding Principles[edit]

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.