next-level e-commerce with magebridge

43
Next level e-commerce with MageBridge Next level e-commerce with MageBridge

Upload: yireo

Post on 08-May-2015

3.165 views

Category:

Technology


1 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Next-level e-commerce with MageBridge

Next level e-commerce with MageBridge

Next level e-commerce with MageBridge

Page 2: 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

Page 3: Next-level e-commerce with 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

Page 4: Next-level e-commerce with MageBridge

Next level e-commerce with MageBridge

E-commerce in Joomla?

Page 5: Next-level e-commerce with MageBridge

Next level e-commerce with MageBridge

E-commerce & Joomla! (2006)

• VirtueMart

Page 6: Next-level e-commerce with MageBridge

Next level e-commerce with MageBridge

E-commerce & Joomla! (2011)

• VirtueMart• Tienda• HikaShop• K2Mart• SimpleCaddy• iJoomla Digistore• MightyCommerce• IXXO

• redShop• JoomShopping• RokQuickCart• OpenFreeway• MageBridge

Page 7: Next-level e-commerce with 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

Page 8: Next-level e-commerce with MageBridge

Next level e-commerce with MageBridge

Conclusion

• All solutions allow you to sell products

Page 9: Next-level e-commerce with MageBridge

Next level e-commerce with MageBridge

Conclusion

• All solutions allow you to sell products …• … so there must be differences besides “selling”

Page 10: Next-level e-commerce with MageBridge

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

Page 11: Next-level e-commerce with MageBridge

Next level e-commerce with MageBridge

What is MageBridge?

Page 12: Next-level e-commerce with 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!

Page 13: Next-level e-commerce with MageBridge

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

Page 14: Next-level e-commerce with MageBridge

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

Page 15: Next-level e-commerce with MageBridge

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

Page 16: Next-level e-commerce with MageBridge

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

Page 17: Next-level e-commerce with MageBridge

Next level e-commerce with MageBridge

MageBridge basic concepts

Page 18: Next-level e-commerce with MageBridge

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

Page 19: Next-level e-commerce with MageBridge

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

Page 20: Next-level e-commerce with MageBridge

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?

Page 21: Next-level e-commerce with MageBridge

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

Page 22: Next-level e-commerce with MageBridge

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

Page 23: Next-level e-commerce with MageBridge

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/

Page 24: Next-level e-commerce with MageBridge

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

Page 25: Next-level e-commerce with MageBridge

Next level e-commerce with MageBridge

MageBridge specific

Page 26: Next-level e-commerce with MageBridge

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

Page 27: Next-level e-commerce with MageBridge

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)

Page 28: Next-level e-commerce with MageBridge

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)

Page 29: Next-level e-commerce with MageBridge

Next level e-commerce with MageBridge

MageBridge advanced concepts

Page 30: Next-level e-commerce with MageBridge

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

Page 31: Next-level e-commerce with MageBridge

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()

Page 32: Next-level e-commerce with MageBridge

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

Page 33: Next-level e-commerce with MageBridge

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_”

Page 34: Next-level e-commerce with MageBridge

Next level e-commerce with MageBridge

Connector code

Page 35: Next-level e-commerce with MageBridge

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

Page 36: Next-level e-commerce with MageBridge

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);

Page 37: Next-level e-commerce with MageBridge

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)

Page 38: Next-level e-commerce with MageBridge

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

Page 39: Next-level e-commerce with MageBridge

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

Page 40: Next-level e-commerce with MageBridge

Next level e-commerce with MageBridge

MageBridge summary

Page 41: Next-level e-commerce with MageBridge

Next level e-commerce with MageBridge

MageBridge summary

• Visual integration, combined theming• Components, modules, plugins• Store connectors, product connectors• Event forwarding

Page 42: Next-level e-commerce with MageBridge

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

Page 43: Next-level e-commerce with MageBridge

Next level e-commerce with MageBridge

Questions?