Archived

Difference between revisions of "Version 1.6 Developer Notes"

From Joomla! Documentation

m (Wilsonge moved page Version 1.6 Developer Notes to Archived:Version 1.6 Developer Notes: Move to archived Namespace)
(22 intermediate revisions by 9 users not shown)
Line 1: Line 1:
{{incomplete}}
+
{{stub/abandoned}}
{{RightTOC}}
+
{{version|1.6}}{{RightTOC}}
[[Category:Development]]
 
  
 
Compilation of developer notes on changes in 1.6.
 
Compilation of developer notes on changes in 1.6.
Line 7: Line 6:
 
== Schema ==
 
== Schema ==
  
Added ACL tables (todo - list them)
+
* Added ACL tables (todo - list them)
Removed jos_groups table
+
* Removed jos_groups table
 +
* Removed [[Tables/plugins|jos_plugins]] table in favour of [[Tables/extensions|jos_extensions]]
 +
* Added update tables
 +
** jos_updates
 +
** jos_update_sites
 +
** jos_update_sites_extensions
 +
** jos_update_categories
  
 
== Framework ==
 
== Framework ==
 +
 +
=== JAuthorization ===
 +
 +
Remove <code>JAuthorization::_mos_add_acl</code>.
 +
 +
Added <code>JAuthorization::getUserAccessLevels( $section [, $action = 'view'] )</code>.
 +
 +
=== JDatabase ===
  
 
JDatabase::setQuery casts the sql variable to a string. This allows you to pass an object that implements the __toString magic method.
 
JDatabase::setQuery casts the sql variable to a string. This allows you to pass an object that implements the __toString magic method.
 +
 +
=== JFile ===
 +
 +
Both JFile::write and JFTP::write now use a reference for its second argument. Code like ''JFile::write($filename,'string');'' will fail, however ''$data = 'string'; JFile::write($filename, $data);'' will work for both 1.5 and 1.6
 +
 +
=== JModel ===
  
 
JModel::getState will now take an optional second argument to set the default.
 
JModel::getState will now take an optional second argument to set the default.
 
$value = $model->getState( 'foo', 'bar' );
 
$value = $model->getState( 'foo', 'bar' );
  
Both JFile::write and JFTP::write now use a reference for its second argument. Code like ''JFile::write($filename,'string');'' will fail, however ''$data = 'string'; JFile::write($filename, $data);'' will work for both 1.5 and 1.6
+
JModel has an addition contruction option and internal variable <code>__state_set</code>. This is used to lazy-load model initialisation.
 +
 
 +
=== New API ===
  
Remove <code>JAuthorization::_mos_add_acl</code>.
+
Added <code>JTableTree</code> as an abstract class for tree-based tables.
  
Added <code>JAuthorization::getUserAccessLevels( $section [, $action = 'view'] )</code>.
+
Made JObject abstract.  It can no longer be directly instantiated.  Use JStdClass instead.
  
Added <code>JTableTree</code> as an abstract class for tree-based tables.
+
Added <code>JDocumentXML</code> to allow easy generation of valid XML files.
  
JModel has an addition contruction option and internal variable <code>__state_set</code>. This is used to lazy-load model initialisation.
+
=== Changes to XML-RPC support ===
 +
On april the 9th. Louis Landry explained his intended changes to the way Joomla will handle XML-RPC in version 1.6. You can view his detailed explanation [http://docs.joomla.org/Xml-rpc here].
  
 
== Components ==
 
== Components ==
Line 47: Line 69:
 
* <code>global $mainframe</code> - Use <code>$app = &JFactory::getApplication()</code> instead.
 
* <code>global $mainframe</code> - Use <code>$app = &JFactory::getApplication()</code> instead.
 
* JTemplate (patTemplate completely deprecated)
 
* JTemplate (patTemplate completely deprecated)
 +
* Multiple client language install packs (e.g. where site and administrator language files are in the same installation file), use packages with two language install packages
 +
 +
== Files/Features Dropped ==
 +
 +
* Support for constants as language strings with JLanguage
 +
* Polls component
 +
 +
==Templates==
  
 +
Mapping of positions in Milky Way 1.5 to new positions.
  
== Files/Features Dropped ==
+
*user3->position-1
 +
*breadcrumb->position-2
 +
*right->position-3,position-4
 +
*left->position-7
 +
*user1->position-9
 +
*user2->position-10
 +
*footer->position-5,position-8,position-11
 +
*user4->position-12
 +
*syndicate->position-14
  
 
== TODO ==
 
== TODO ==
  
Don't forget to do this:
 
  
* Access Level links in backend lists need to be refactored to support the new levels available in the jos_core_acl_axo_groups table.
+
== Migration issues ==
 +
 
 +
Please use [[Version_1.6._Migration_Notes]] to track migration issues that are not schema changes.
 +
 
 +
<noinclude> </noinclude>

Revision as of 18:48, 5 June 2013

This page has been archived. This page contains information for an unsupported Joomla! version or is no longer relevant. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.

Compilation of developer notes on changes in 1.6.

Schema[edit]

  • Added ACL tables (todo - list them)
  • Removed jos_groups table
  • Removed jos_plugins table in favour of jos_extensions
  • Added update tables
    • jos_updates
    • jos_update_sites
    • jos_update_sites_extensions
    • jos_update_categories

Framework[edit]

JAuthorization[edit]

Remove JAuthorization::_mos_add_acl.

Added JAuthorization::getUserAccessLevels( $section [, $action = 'view'] ).

JDatabase[edit]

JDatabase::setQuery casts the sql variable to a string. This allows you to pass an object that implements the __toString magic method.

JFile[edit]

Both JFile::write and JFTP::write now use a reference for its second argument. Code like JFile::write($filename,'string'); will fail, however $data = 'string'; JFile::write($filename, $data); will work for both 1.5 and 1.6

JModel[edit]

JModel::getState will now take an optional second argument to set the default. $value = $model->getState( 'foo', 'bar' );

JModel has an addition contruction option and internal variable __state_set. This is used to lazy-load model initialisation.

New API[edit]

Added JTableTree as an abstract class for tree-based tables.

Made JObject abstract. It can no longer be directly instantiated. Use JStdClass instead.

Added JDocumentXML to allow easy generation of valid XML files.

Changes to XML-RPC support[edit]

On april the 9th. Louis Landry explained his intended changes to the way Joomla will handle XML-RPC in version 1.6. You can view his detailed explanation here.

Components[edit]

Join for access level[edit]

Before:

LEFT JOIN #__groups AS g ON g.id = c.access

After:

LEFT JOIN #__core_acl_axo_groups AS g ON g.value = a.access


Administrator:Users[edit]

Legacy Mode[edit]

Only available in legacy mode (to be dropped in future versions):

  • global $mainframe - Use $app = &JFactory::getApplication() instead.
  • JTemplate (patTemplate completely deprecated)
  • Multiple client language install packs (e.g. where site and administrator language files are in the same installation file), use packages with two language install packages

Files/Features Dropped[edit]

  • Support for constants as language strings with JLanguage
  • Polls component

Templates[edit]

Mapping of positions in Milky Way 1.5 to new positions.

  • user3->position-1
  • breadcrumb->position-2
  • right->position-3,position-4
  • left->position-7
  • user1->position-9
  • user2->position-10
  • footer->position-5,position-8,position-11
  • user4->position-12
  • syndicate->position-14

TODO[edit]

Migration issues[edit]

Please use Version_1.6._Migration_Notes to track migration issues that are not schema changes.