Transcript

Slide 1

How to get your extension 1.6 ready

By Hannes PapenbergJoomla! Release Manager

Do I need to change my extension?

Depends on the extension

All extensions need to update their language files

All extensions need to update their XML files

Extensions dependent on the old access system need to update

Language Changes

Why did we change this?MASSIVE speed-improvement (50% faster)

What do you need to change?

Quote all values in the INIs

Keys should only contain Aa-Zz & 0-9

Quotes are escaped with _QQ_

XML Changes

Why did we change this?JParameter is deprecated, JForm is the future

What do you need to change?

Replace all with

Replace all with

Use

Access System Changes

Why did we change this?Isn't that obvious? ;-)

What do you need to change?

Change your queries from
'access < '.$gid
to
'access IN ('.implode(',',$user->authorisedLevels()).')'

Implement access.xml and $user->authorise()

Make a native 1.6 extension

Use JForm for forms

Use JDatabaseQuery

Change your component entry file

Use JCategories for your category system

Move your assets to the /media folder

Create semantic, table-less output

Forms with JForm

Used to create dynamic forms

Provides easy way to create and extend forms

Good example: Backend of com_weblinks

JDatabaseQuery

SQL Querybuilding class

Database abstraction layer

Be one step ahead, be 1.7 compatible

Syntax:$query = $database->getQuery(true);

$query->select('*');

$query->from('#__table');

$query->where('id = 1');

$database->setQuery($query);

Component entry file

All classes used and invoked in the core are overrideable except the component controllers

Instead of require_once(JPATH_COMPONENT.'/controller.php')
use jimport('joomla.application.component.controller') and $controller = JController::getInstance('Componentname')

JCategories

Class to simply handle your components categories

Create a /helpers/categories.php file with the configuration options

Syntax:$categories = Jcategories::getInstance('com_component');

$category = $categories->get($id);

$category->getChildren();

$category->getParent();

Assets in /media folder

Make it possible to move your extension from the webroot

Use -tag in install file

Use API-functions to access them:JHTML::image()

JHTML::stylesheet()

JHTML::script()

Semantic, table-less output

Ask Angie! ;-)

Questions?

05/27/09


Recommended