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

Blog Tags

MageBridge Standard

MageBridge version 1.2 is released

Tuesday, 10 November 2009

MageBridge version 1.2 has been released, adding a lot more features to the bridge between Joomla! and Magento. While version 1.1 added mainly Nooku and Joom!Fish integration, version 1.2 is about integrating Magento with Joomla! components like JomSocial and Community Builder.

Community Builder and JomSocial integration

We've tried to make the integration of CB and JomSocial as flexible as possible. We don't like core hacks in our own software, so we came up with the concept of connectors (think: plugins) to handle these integrations. In version 1.0 we already came up with "store connectors" which allow you to change the logic on which MageBridge decides which Magento store to load (used for multi-lingual extensions and other tricks).

Now, "profile connectors" can be used to synchronize the Magento customer-profile with the profile of either CB or JomSocial (or both!). Because we already designed a thing called "event forwarding", synchronizing things from Magento to Joomla! was fairly easy, but it even got easier when using these "profile connectors".

To synchronize the profile from CB or JomSocial back to Magento however proved to be more complex: Both extensions do not currently use Joomla! events to notify other extensions that the profile is changed. Instead, we had to create a work-around which is technically weird but does the job well.

Also new in 1.2, "product connectors" are used to sell Joomla! things through Magento: This allows you for instance to sell access to JomSocial groups. In the version 1.2, the major job was to build the architecture of connectors, while actually writing the connectors themselves is considered very easy.

sh404SEF integration

While Joomla! SEF was supported from the beginning, we have added - on request - support for sh404SEF as well. However, the implementation for this support posed us with various technical challenges. One of the issues was that MageBridge with or without SEF is responsible for creating its own URLs, mainly because part of the SEF URL is already created by Magento. For Joomla! SEF this is no problem - the router.php file allows for both creating SEF URLs as translating SEF URLs back into System URLs.

With sh404SEF however, the component (MageBridge) is responsible for the creation of SEF URLs, but sh404SEF is responsible for translating them back to System URLs. It sounds more easy, but actually, we needed to rewrite the URL-system of the bridge to make sure every URL passed to sh404SEF was a System URL and not a SEF URL. Anyway, we did it, and sh404SEF is now supported in MageBridge version 1.2.

Performance enhancements

Besides some minor improvements, the major improvement regarding performance is made by the Magento Configuration Cache. With earlier versions of MageBridge, it was recommended to disable the Configuration Cache because the MageBridge configuration required it to reload anyway. Actually enabling the Configuration Cache slowed things down!

As of version 1.2, you can enable the Configuration Cache and actually gain speed because of this. The only thing to beware of is the fact that the Configuration Cache also is used for Magento. By default, the Magento frontend is using the default Website (as part of the Magento GWS-system) which is then shared with MageBridge - this is not possible and will cause unwanted results. Instead, either stop using the Magento frontend or create a second Website in the Magento Admin Panel and assign that to Joomla!.

Backend modules and frontend modules

Besides adding support for third party Joomla! extensions, we have also added various modules for both the Joomla! frontend as the Joomla! Administrator. In the backend, you can now add a Latest Orders module or Latest Customers module to the module position "cpanel".

On the frontend, we added most importantly a Products-module which allows you to add a listing of products to the site. This listing can be configured in various ways (random, newest, most popular) while other parameters give good control over what to display and what not. Another module is the "Newsletter" module which is basically a copy of the original Magento-block but without the need for JavaScript.

Small fixes

There were some issues with the checkout-pages, due to JSON being handled differently on different webservers. Also, we have added HTTP Authentication to the API-communication so you can protect your development sites with an username and password.

What's next?

We have a couple of ideas for version 1.3 but these can be seen as minor changes and for sure, these changes will be added to MageBridge through intermediate builds instead of through a major version-change. In this sense, versions should be considered more as milestones than as actual releases of new features. Most features will be introduced before the actual milestone is reached.

But besides the MageBridge functionality there are other things to do as well. One of the major hubbles is that Magento uses the JavaScript-framework Prototype and Joomla! uses MooTools, and these two bite. It would be wonderfull if there could be a MooTools or jQuery based theme in Magento that does the job just as well, but nobody has started with such a project yet.

Also, many Magento sites are setup as replacement for VirtueMart, but there is no solid migration tool yet. Perhaps Yireo is the right party to create such a migration tool (which will migrate images as well). We'll keep you posted on all this.

More information

See the official Release Notes and the MageBridge Roadmap for more information.

About Yireo

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

More about Yireo