Actions

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)
(26 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.
 +
 +
== Schema ==
 +
 +
* Added ACL tables (todo - list them)
 +
* 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 ===
 +
 
 +
Added <code>JTableTree</code> as an abstract class for tree-based tables.
 +
 
 +
Made JObject abstract.  It can no longer be directly instantiated.  Use JStdClass instead.
 +
 
 +
Added <code>JDocumentXML</code> to allow easy generation of valid XML files.
 +
 
 +
=== 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 ==
 +
 +
=== Join for access level ===
 +
 +
Before:
 +
<pre>LEFT JOIN #__groups AS g ON g.id = c.access</pre>
 +
 +
After:
 +
<pre>LEFT JOIN #__core_acl_axo_groups AS g ON g.value = a.access</pre>
  
  
Line 22: Line 65:
 
== Legacy Mode ==
 
== Legacy Mode ==
  
 +
Only available in legacy mode (to be dropped in future versions):
 +
 +
* <code>global $mainframe</code> - Use <code>$app = &JFactory::getApplication()</code> 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 ==
 
== 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.
 +
 +
*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 ==
 +
 +
 +
== 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

Replacement filing cabinet.png
This page has been archived - Please Do Not Edit or Create Pages placed in this namespace. The pages in the Archived namespace exist only as a historical reference, it will not be improved and its content may be incomplete.

Contents

Compilation of developer notes on changes in 1.6.

Schema

  • 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

JAuthorization

Remove JAuthorization::_mos_add_acl.

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

JDatabase

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. $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

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

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

Join for access level

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

Legacy Mode

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

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

Templates

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

Migration issues

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