Archived

Version 1.6 Developer Notes: Difference between revisions

From Joomla! Documentation

No edit summary
Jgress- (talk | contribs)
 
(24 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 ===
 
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.


Remove <code>JAuthorization::_mos_add_acl</code>.
Added <code>JDocumentXML</code> to allow easy generation of valid XML files.


Added <code>JAuthorization::getUserAccessLevels( $section [, $action = 'view'] )</code>.
=== 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 43: 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==


== Files/Features Dropped ==
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 ==
== 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>
 
[[Category:Update Working Group]]

Latest revision as of 21:41, 21 August 2014

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.