next-level e-commerce with magebridge
DESCRIPTION
Presentation given at JAndBeyond 2011 (international Joomla! conference in Kerkrade, Netherlands)TRANSCRIPT
Next level e-commerce with MageBridge
Next level e-commerce with MageBridge
Next level e-commerce with MageBridge
Who am I?
• Jisse Reitsma– Co-founder of Jira ICT (Dutch company)– Co-founder of Yireo (www.yireo.com)– Lead developer of MageBridge– Author of Joomla! template designer– Former VMware ESX trainer, UNIX
sysadmin, Linux trainer– PHP-developer, system architect,
consultant, trainer– Busy with Joomla!, Magento, … and
MageBridge
Next level e-commerce with MageBridge
Some of our customers
• Condoom-Anoniem• Condomerie• Porn king• Mushroom shop• Weed fertilizers• Dreadlocks store• Guns for sale
Next level e-commerce with MageBridge
E-commerce in Joomla?
Next level e-commerce with MageBridge
E-commerce & Joomla! (2006)
• VirtueMart
Next level e-commerce with MageBridge
E-commerce & Joomla! (2011)
• VirtueMart• Tienda• HikaShop• K2Mart• SimpleCaddy• iJoomla Digistore• MightyCommerce• IXXO
• redShop• JoomShopping• RokQuickCart• OpenFreeway• MageBridge
Next level e-commerce with MageBridge
E-commerce & open source (2011)
• osCommerce• UberCart (Drupal)• PrestaShop• ZenCart• DashCommerce• CubeCart• X-Cart• LiteCommerce• Shopify• TomatoCart
• Spree• Avactis• AgoraCart• WordPress plugin• OXID eShop• Batavi• osCMax• Magento
Next level e-commerce with MageBridge
Conclusion
• All solutions allow you to sell products
Next level e-commerce with MageBridge
Conclusion
• All solutions allow you to sell products …• … so there must be differences besides “selling”
Next level e-commerce with MageBridge
Conclusion
• All solutions allow you to sell products …• … so there must be differences besides “selling”
– Ease of use (GUI, features vs user friendliness)– Extendability (plugins, cleanness of code, theming)– Scalability (cloud computing, clustering, optimization)– Number of shipment providers and payment gateways– Tax calculation– Connecting the back-office (CRM, ERP) in real-time
Next level e-commerce with MageBridge
What is MageBridge?
Next level e-commerce with MageBridge
MageBridge
• Developed by Yireo– Other extensions: Vm2Mage, Dynamic404,
TweetScheduler, SSLRedirect, ScriptMergeSimpleLists, SEFTest, Fancybox
– Tutorials on Joomla! and Magento(performance, security, development)
• Integrates Magento into Joomla!– Better CMS for Magento– Better e-commerce for Joomla!
Next level e-commerce with MageBridge
How much does it cost?
• Not free beer– Mid-market pricing– Enterprise features– Community-driven roadmap
• Packages available– MageBridge Standard = 3 months, 2 domains, 95 Euro– MageBridge Enterprise = 12 months, 6 domains, 195 Euro– MageBridge Reseller / Partner = 12 months, ? domains, 1000 Euro
• SVN access available– svn://svn.yireo.com/svn/development/magebridge– Full sources available, but not in packaged form– Upcoming: Phing scripts
Next level e-commerce with MageBridge
Bridge everything (1/3)
• Integrates Magento visually into Joomla!– Main content-block within Joomla! component– Any other Magento block within Joomla! modules
Next level e-commerce with MageBridge
Bridge everything (2/3)
• Integrates Magento visually into Joomla!• Synchronizes Magento data with Joomla!
– Search products and categories– User synchronization and authentication– JCE editor
Next level e-commerce with MageBridge
Bridge everything (3/3)
• Integrates Magento visually into Joomla!• Synchronizes Magento data with Joomla!• Connecting Magento logic to Joomla!
– Product connectors, store connectors, profile connectors
Next level e-commerce with MageBridge
MageBridge basic concepts
Next level e-commerce with MageBridge
Visual integration
• Joomla! component– Magento “content” block
• Joomla! modules– Other blocks (cart, tags)– Products, categories, login
• Search integration• Breadcrumbs
Next level e-commerce with MageBridge
Combined theming
• Magento theme– XML layout, PHTML templates, CSS skin
• Joomla! template– Little PHP, jdoc-tags, CSS skin, MageBridgeTemplateHelper-class
Magento headers are merged into Joomla! <head>– CSS, JavaScript (conflict!?)– META-tags, title-tag, etcetera
• MageBridge-optimized template-patches– RocketTheme– JoomlArt– YOOtheme
Next level e-commerce with MageBridge
JavaScript frameworks
• MooTools– Used frequently by Joomla! extensions
• Prototype / Scriptaculous– Used by almost all Magento core-functionality
• Use both of them and JavaScript crashes– Conflicting namespace $ and conflicting classes– jQuery.noConflict() is always fine– Magento 2.0 will switch from Prototype to jQuery– Yireo's effort?
Next level e-commerce with MageBridge
Practical benefit of MageBridge
• Joomla! is used as CMS-system– Better WYSIWYG-editors– Hierarchy of categories (and sections)
• Joomla! is used as site building tool– Joomla! Menu Manager– Joomla! templating– Joomla! module management– No need to touch Magento XML-layouts or PHTML-templates
• Magento is used for e-commerce
Next level e-commerce with MageBridge
MageBridge & Joomla! 1.6
• Basic compatibility– Same PHP-codebase for both 1.5 as 1.6– But different XML-files (basically parameters)
• Extra features– ACLs for usage of backend– Joomla! 1.6 Usergroups Store Connector– Joomla! 1.6 Extensible Profiles Connector– Joomla! 1.6 Usergroups Product Connector– Backend-demo
Next level e-commerce with MageBridge
MageBridge Mobile
• Web-based instead of app-based– CMS + shop in 1 one mobile site– jQuery Mobile– Get rid of ProtoType as much as we can
• Demo– http://mobile.magebridge.com/
Next level e-commerce with MageBridge
MageBridge & other Yireo stuff
• MageBridge stuff– MageBridge labs (Nooku, FLEXIcontent/K2/ZOO, secret labs)– MageBridge Template Patches (RocketTheme, YOOtheme, JoomlArt)
• Other Yireo stuff– MageBridge plugin for Xmap– MageBridge plugin for Dynamic404– Vm2Mage migration from VirtueMart to Magento
Next level e-commerce with MageBridge
MageBridge specific
Next level e-commerce with MageBridge
MageBridge usage
• Basic usage– Shop with products and blog– Single product shop
• Advanced usage– Multi-site environments– Membership / club– Software subscriptions– Private sales– Advanced marketing
Next level e-commerce with MageBridge
MageBridge Store connectors
• Use Joomla! logic to determine Magento store• Examples:
– Multilingual integration (JoomFish, Nooku, m17n)– Special Magento stores on specific days (Christmas catalog)– Special Magento stores for specific users (Private Sales: Joomla! 1.6, NoixACL)
Next level e-commerce with MageBridge
MageBridge Product connectors
• Sell Joomla! logic in Magento• Examples:
– Access control (Joomla! 1.6 ACLs, NoixACL, FLEXIaccess)
– Private downloads (DOCman, jDowloads, RSFiles)
– Memberships (OSEMSC, MageBridge itself)
– Newsletter subscription (Acajoom, Acymailing, ccNewsletter, etcetera)
– Other subscriptions (Agora, Eventlist, Kunena, RSEvents)
– User rewards (JomSocial Karma Points)
Next level e-commerce with MageBridge
MageBridge advanced concepts
Next level e-commerce with MageBridge
Parsing content
• Magento content filters– Add Magento CMS-tags to Joomla! content
• Joomla! Content Plugins– Add Joomla! plugin-tags to Magento content
Next level e-commerce with MageBridge
One Single HTTP Request
• Only 1 initialization of Magento application
• Coding API– Register request with MageBridgeModelRegister class– Fetch response from MageBridgeModelBridge::build()
Next level e-commerce with MageBridge
MageBridge API
• Connection between Joomla! and Magento– Based on HTTP
• Transport protocols– From Joomla! to Magento (and back): JSON– From Magento to Joomla! (and back): XML-RPC
Next level e-commerce with MageBridge
Event forwarding
• Magento events are forwarded to Joomla!– Joomla! plugins of type “magento”
• Joomla! events are forwarded to Magento– Magento modules with observer functions with prefix “joomla_”
Next level e-commerce with MageBridge
Connector code
Next level e-commerce with MageBridge
Magento API in Joomla!
• Integrate Magento logic into any Joomla! extension– Template– Component– Module– Plugin
• MageBridge tools– autoloading classes (SPL)– class MageBridgeTemplateHelper
Next level e-commerce with MageBridge
Three steps to get what you want
• Register what you want– $register = MageBridgeModelRegister::getInstance();– $id = $register->add('api', 'magebridge_user.save', $user);
• Build the bridge– $bridge = MageBridgeModelBridge::getInstance();– $bridge->build();
• Get what you want– $data = $register->getById($id);
Next level e-commerce with MageBridge
Scalability
• Extensible architecture of MageBridge– Modules, plugins, connectors– Coding API (register, bridge, helpers)
• Magento as solid platform– API connections with backoffice– Clustering, optimization (10.000+ products)
Next level e-commerce with MageBridge
Performance (1/2)
• Inside MageBridge– Minimal initialization of Magento framework
• Caching– Magento caching, Joomla! caching– MageBridge caching on the Magento side– MageBridge caching on the Joomla! side
• Content loading– Prototype / Scriptaculous > Protoaculous or Google API
Next level e-commerce with MageBridge
Performance (2/2)
• Extra tips for optimization– Merging of CSS/JS files– Caching within Joomla!– Usage of tmpfs as filesystem– Magento compilation– Tuning of PHP parameters (f.i. realpath_cache_size)– Tuning of MySQL parameters (f.i. query_cache)– Usage of Litespeed or Nginx as webserver– ...
http://yireo.com/spo
Next level e-commerce with MageBridge
MageBridge summary
Next level e-commerce with MageBridge
MageBridge summary
• Visual integration, combined theming• Components, modules, plugins• Store connectors, product connectors• Event forwarding
Next level e-commerce with MageBridge
More information on MageBridge
• yireo.com/magebridge– Blogs on Joomla!, Magento and MageBridge– Tutorials on Joomla!, Magento and MageBridge– MageBridge demos, screenshots, FAQ– Demo days
Next level e-commerce with MageBridge
Questions?