Yireo - Extensions, tutorials and blog for Magento and Joomla!

Blog Tags

MageBridge Standard

MageBridge in Joomla! 1.6

Friday, 07 August 2009

Slowly details are emerging about Joomla! 1.6 - the next major version of this popular CMS. Key features include better user-permissions, an extension update-procedure and more. How does MageBridge cope with this? Though the code of Joomla! 1.6 is not final yet and though we have made no effort yet about making MageBridge compatible with Joomla! 1.6, - based on the latest news on Joomla! 1.6 Alpha - we can at least tell you something.

Will it work?

Joomla! 1.6 is basically not backwards compatible with Joomla! 1.5. This means that the MageBridge version for 1.5 will not work in 1.6. However, because the extension is written in native mode (and not backwards-compatible with the pre-historic 1.0) it will take only little modifications to get things going under Joomla! 1.6.

There are some technical challenges though. Joomla! 1.6 uses the same component-architecture as Joomla! 1.5 (based on the MVC design pattern), but some specific implementations are different. For instance, MageBridge makes use of the XML-RPC protocol to send API-messages from Magento to Joomla!.This is done by adding a Joomla! XML-RPC plugin which acts as an extension to the XML-RPC server of Joomla!. With Joomla! 1.6 this architecture is removed entirely - both the regular XML-RPC server as the plugin-architecture.

It is replaced with a webservices-implementation in MVC: Within a component (so for instance the MageBridge component) a specific controller can be implemented, listening to incoming JSON- or XML-RPC-requests. Allowing for different protocols by just creating a different file was already implemented in the JView-classes, where you could have a "view.json.php" file or a "view.pdf.php" file. Now the same applies to controllers with filenames like "controllers/xmlrpc.php" or "controllers/json.php". Because MageBridge uses both JSON as XML-RPC, this method will certainly be adapted.

Other changes like the storage of parameters which is migrated from INI-format to JSON-format, or the upgrade to MooTools 1.2 also involve modifications in the MageBridge-code but all does not seem to be that dramatic.

Improved ACL

Just making it work under Joomla! 1.6 is one thing. But the upcoming release of Joomla! ships with tons of new cool features, and it makes sense to make some effort into implementing those in MageBridge - because let's face it: MageBridge is new and cool as well.

One main feature that is awaited by many people is the new ACL system. While Joomla! already shipped with an ACL (Access Control List) for many years, it was not very flexible and also not extendible. To put it in laymen terms: User groups were present, but you could not set the permissions for these user groups, neither could you create custom user groups. With the new ACL system of Joomla! 1.6 this is all possible.

With the 1.6 version of MageBridge we have two major things regarding ACLs in mind. If they make sense, is something we still need to find out. But here are the braindumps anyway: First, a relation could be made between Magento Customer Groups and Joomla! User Groups. This sounds logical, but the question is if it is needed at all. Groups in Joomla! are used to set permissions, but in Magento they are not used for that purpose. Instead, Magento uses them for tax-roles or other non-ACL related things. To define a relation between those has at the moment not much meaning. (Besides that, the current MageBridge plugin-architecture allows for Magento integration with extensions like Anahita or Community Builder anyway.)

The second thing we are thinking about it is integrating the permissions themselves. It would be very interesting to allow Joomla! Administrators to set permissions in the regular ACL-system - but instead of defining Joomla!-related permissions, the ACL-rules refer to Magento resources instead. We will for sure investigate all the options here.

Other features

Other improvements in Joomla! 1.6 also could be integrated into MageBridge. For instance, MageBridge has built its own update-procedure to allow one-click-upgrades of all MageBridge extensions (component, modules, plugins). But Joomla! 1.6 introduces a generic procedure for upgrading Joomla! extensions. In the end, the MageBridge GUI for upgrading the extensions will probably not change, but the underlying code will be more Joomla!-compliant.

Joomla! 1.6 also introduces a generic way to redirect certain "404 Page Not Found" errors to specific pages. This would allow also for Magento 404-pages to be redirected to specified Joomla! pages.

Though we can not commit ourselves to anything mentioned in this blog, the released information on Joomla! 1.6 suggests many improvements in both Joomla! as well as the MageBridge solution. We are looking forward to Joomla! 1.6 getting more stable. Thumbs up for the Joomla! community.

Tags: magebridge

About Yireo

Yireo tries to help webdevelopers build successful Joomla! and Magento sites.

More about Yireo