Integrating Magento into Joomla!


Published on

Presentation on how to integrate Magento into Joomla!, made for the Joomla!Days 2011 Netherlands. A fair comparison between JFusion, JMint and MageBridge.

Published in: Technology
1 Comment
  • Mogent: Mobile ready Magento template

    Mogent is responsive Magento template packaged with quick starter sample data and responsive theme. It is fully responsive template, has Eight color variations in style, Mobile optimized Magento product pages and cart, more then 20 Module positions and mobile optimized slideshow & menu.
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Integrating Magento into Joomla!

  1. 1. Joomla! vs MagentoMoogla?
  2. 2. Joomla! vs MagentoMoogla• Joomla! – Most popular open-source CMS – Community-driven – User-friendly; easy architecture• Magento – Most popular open-source e-commerce system – Created by company Varien – Flexible; complicated architecture
  3. 3. Joomla! vs MagentoMagento is hot
  4. 4. Joomla! vs MagentoMagento is hot• Fast growth – Rapid development of new features – Quick adaption of market (because there is no good alternative?) – Buzz
  5. 5. Joomla! vs MagentoWhy Magento?• Highly configurable • Numerous payment gateways and other modules • All HTML can be modified• Cool frontend features • Layered Navigation (or “Shop by ...”) • One Page Checkout• Never a need for core-hacks • Parent/child theming • Class overrides • Observable events
  6. 6. Joomla! vs MagentoSerious e-commerce features• Catalog features • Product comparison • Shop by color / manufacturer / price / ... • Reviews, rating, wishlists • Upselling, cross-selling, gift-certificates• Ordering features • Multiple shipping addresses • One Page Checkout • Multicurrency, multicountry, multisite, multistore, multilingual • Online order-reviewing by admins• Backend features • Export / import functionality • APIs for connecting to 3rd party ERP / CRM / bookkeeping
  7. 7. Joomla! vs MagentoMagento is for big shops• Higher costs • Full implementation easily takes 50 hours of an expert • Cheap shared hosting doesnt work • Majority of Magento extensions is commercial• Flexibility in favor of user-friendliness • XML layouts in Magento theming • MVC-usage and observer/observables • Clustering capabilities, advanced caching• Only worth it, if you want to earn money
  8. 8. Joomla! vs MagentoIntegrating Magento and Joomla! (1)• Magento inside Joomla! – JFusion – JMint – MageBridge• Joomla! inside Magento – JFusion (partially) – MageBridge (partially)
  9. 9. Joomla! vs MagentoIntegrating Magento and Joomla! (2)• Common technologies – Integration over HTTP • JFusion: HTML webpage • JMint: HTML webpage / SOAP • MageBridge: JSON-RPC / custom API – Configuration of webservice • API user • API role – Visual integration or not • IFRAME or integrated through API • Magento blocks reused in Joomla! • Other integrations (search, breadcrumbs)
  10. 10. Joomla! vs MagentoSolution 1: No integration
  11. 11. Joomla! vs MagentoNo integration• Keep Joomla! separate from Magento • No performance loss due to bridging • Building a Magento shop is made neither simple or difficult • No extra benefits from integration (because there is none) • Theming used to optimize
  12. 12. Joomla! vs MagentoSolution 2: JFusion
  13. 13. Joomla! vs MagentoWhat is JFusion?• Open-source project• Latest release 1.5.5 (February 2011)• Focussed on user-authentication and user-sync • Magento, phpBB, WordPress, SMF, vBulletin, Moodle, Gallery2
  14. 14. Joomla! vs MagentoJFusion architecture• Parsing of Magento-generated HTML – HTML-blocks are extracted (for instance login-form) – Form is submitted to Magento – No API, no Magento extension• Managing user records – User synchronization (pull from Joomla!) – Single Sign On between applications• Joomla! requires access to Magento filesystem
  15. 15. Joomla! vs MagentoJFusion configuration on multiple levels
  16. 16. Joomla! vs MagentoJFusion packages• Component (1 total) • com_jfusion• Plugins (6 total) • User, Authentication, System Search, Content • Magelib• Modules (13 total) • mod_magecustomblock • mod_mageselectblock • mod_whosonline • mod_login • mod_user_activity
  17. 17. Joomla! vs MagentoMagento inside IFRAME
  18. 18. Joomla! vs MagentoJFusion Magelib plugin• Load Magento classes inside Joomla! code – Initialize Magento application (partially) – Call upon any Magento class within Joomla! extensions • Magento blocks built-in Joomla! • Checkout using Joomla! component • Joomla! plugins reacting on Magento events• Code • Hack of app/Mage.php to prevent redefinition of DS constant • Hack of app/code/core/Mage/Core/functions.php to add __autoload() conditionally • $plg = new plgSystemMagelib(); $plg->loadAndStartMagentoBootstrap(); $customer = Mage::getModel(customer/customer);
  19. 19. Joomla! vs MagentoSolution 3: JMint
  20. 20. Joomla! vs MagentoWhat is JMint?• Created by Anh Nguyen• Google Summer of Code 2009 Project• Latest version 1.0 in August 2009
  21. 21. Joomla! vs MagentoJMint architecture• Parsing of Magento-generated HTML – HTML-blocks are extracted – Use Firebug to identify DOM ID – URLs are dynamically replaced (Magento-to-Joomla!-URL)• SOAP API – User synchronization (pull from Joomla!)
  22. 22. Joomla! vs MagentoGuru configuration• Modify PHP-code of Joomla! class-file
  23. 23. Joomla! vs MagentoJMint packages• Component • com_jmint• Plugins • JMint User Plugin • JMint Authentication Plugin• Modules • mod_jmint_content • mod_jmint_head• Templates • Magento lookalike
  24. 24. Joomla! vs MagentoComponent: User synchronization
  25. 25. Joomla! vs MagentoModule “mod_jmint_content”• Any HTML-identifier (“CSS selector”) can be used• Built-in caching
  26. 26. Joomla! vs Magento
  27. 27. Joomla! vs MagentoSolution 4: MageBridge
  28. 28. Joomla! vs MagentoWhat is MageBridge?• Created by Yireo• Commercial package, free SVN-access• Latest major version 1.6 in February 2011
  29. 29. Joomla! vs MagentoMageBridge architecture• JSON / JSON-RPC API – All API-requests in one single HTTP-request – HTML-blocks combined with API-data – No usage of stand-alone Magento frontend• Extra features – “Easier” setup and checks – Menu-Items with Lightbox-popups – JCE integration – Template-patches to make Magento / Joomla! combo easier
  30. 30. Joomla! vs MagentoMaeBridge packages• Component (1 total) • com_magebridge• Plugins (10 total) • User, Authentication, System, Content • Search, Magento, MageBridge• Modules (13 total) • mod_magebridge_block • mod_magebridge_menu • mod_magebridge_products• Connectors (29 total) • Specific MageBridge plugins• Templates (1 total) • Magento lookalike
  31. 31. Joomla! vs MagentoFrontend integration
  32. 32. Joomla! vs MagentoCreating Menu-Items
  33. 33. Joomla! vs MagentoMageBridge Magelib plugin• Load Magento classes inside Joomla! code – Initialize Magento application (partially) – Call upon any Magento class within Joomla! extensions • Magento blocks built-in Joomla! • Checkout using Joomla! component • Joomla! plugins reacting on Magento events• Code • No hacks • Works only under Joomla! 1.6 • Autoloading all classes when plugin is activated $customer = Mage::getModel(customer/customer);
  34. 34. Joomla! vs MagentoComparison
  35. 35. Joomla! vs MagentoComparison (1): General JFusion JMint MageBridge Type Free Free Commercial License GPL GPL / OSL GPL / OSL Joomla! 1.5 compatible Yes Yes Yes Joomla! 1.6 compatible Yes No Yes Configuration Backend PHP-class Backend Joomla! ext ension(s) Yes Yes Yes Magent o extension(s) No Yes Yes Ease-of-setup Difficult Xtra difficult Fairly difficult Documentation Yes Yes Yes
  36. 36. Joomla! vs MagentoComparison (2): Users JFusion JMint MageBridge Authentication from J to M Yes Yes Yes Authentication from M to J No (#1) No Yes User synchronization Yes (auto) Yes (manually) Yes Usergroup synchronization No Yes Yes (partially) Single Sign In (integrated) Yes Yes Yes Single Sign On (separate apps) Yes No Yes Password synchronization Yes No Yes Shadow Joomla! users (#2) Yes (optionally) No Yes (optionally) #1: JFusion assumes integration of Magento into Joomla! (to my knowledge) #2: In other words: Users with an empty password, that require remote authentication
  37. 37. Joomla! vs MagentoComparison (3): Visual integration JFusion JMint MageBridge Visual integration IFRAME (#1) Int egrated Int egrated Magent o blocks Yes Yes Yes Search plugin Yes No Yes Menu-Items No No Yes Breadcrumbs No No Yes Extra modules (cart, product s) No No Yes Hacks in Joomla! core No Yes (#2) No #1: JFusion 2.0 will introduce “Frameless Integration” of Magento #2: This could have been done through a simple System Plugin instead
  38. 38. Joomla! vs MagentoComparison (4): Advanced JFusion JMint MageBridge Output caching No Yes Yes Database integration Yes (partially) No No Support for multisite Yes No Yes Backend int egration No Yes Yes Full Magent o bootstrap Yes Yes No HTTP requests Multiple Single Single Install in same directory Yes No No
  39. 39. Joomla! vs MagentoComparison (5): Extras JFusion JMint MageBridge JCE integration No No Yes Multilingual int egration Yes (#1) No Yes (#2) Magent o code inside Joomla! Yes (#3) No Yes (#4) Joomla! after-sales actions No No Yes ACLs to apply private sales No No Yes #1: JoomFish #2: JoomFish, Nooku Content, m17n #3: Requires some small core-hacks inside Magento code #4: Only works with Joomla! 1.6
  40. 40. Joomla! vs MagentoQuestions?