Archived

Difference between revisions of "Version 1.6 Developer Notes"

From Joomla! Documentation

(21 intermediate revisions by 6 users not shown)
Line 4: Line 4:
  
 
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' );
  
JFile::write uses 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 66:
 
== 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.

Revision as of 10:32, 25 March 2011

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.

Quill icon.png
Content is Incomplete

This article or section is incomplete, which means it may be lacking information. You are welcome to assist in its completion by editing it as well. If this article or section has not been edited in several days, please consider helping complete the content.
This article was last edited by Kissaki (talk| contribs) 13 years ago. (Purge)

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.