Next-level e-commerce with MageBridge

Preview:

DESCRIPTION

Presentation given at JAndBeyond 2011 (international Joomla! conference in Kerkrade, Netherlands)

Citation preview

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?

Recommended