Magento Commerce integration

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
crashtest_'s picture

Moved to official ideas list at http://drupal.org/node/236456

Magento Commerce (http://magentocommerce.com) is (quoted from their site): "Magento is a new professional open-source eCommerce solution offering unprecedented flexibility and control."

Megento integration would provide a perfect blend of powerful, flexible eCommerce and great community and content management. Offering features such as one-page checkout, guest checkout, multiple address shipping, many many shipping and pay portal options, means that Drupal sites could take eCommerce to a whole new level, while offering much better content management to Magento.

Comments

Some links

Drupal performance tuning, development, customization and consulting: 2bits.com, Inc..
Personal blog: Baheyeldin.com.

marqpdx's picture

hi,
i have installed the Magento software at http://cradlemoon.net and it feels slick. not at all 1.0 tight yet, but you can tell smart people and a robust community are behind the endeavor, and that it's going to succeed. (sounds familiar :-)

If you want to join the group over there, goto:
http://www.magentocommerce.com/group/view/208/ and sign up.

i saw a group for Joomla integration had 50+ people, so there is a lot of activity on the magento side of things.

don't want to be redundant with this site, but wanted to attract people w/ more of a magento skillset.

signup if you want. i'm subscribing to this.

thanks
m

True Wheel - Community Hosting

interested student

soethiha's picture

I will be posting up a proposal here.

A user bridge which ensure synchronization would be the must. However, Magento has two user tables; one for site admins and one for customers. That can be worked around with Drupal user group feature.

For next level of integration, I am thinking of turning Magento's frontend into a Drupal Module and Magento's side blocks into a consolidated Drupal block. Wrapping in Iframe would be easy but I don't really like Iframe.

Still working out the detail. That would be great if I could get more ideas here.

Integration will be between Drupal 6 and Magento 1.

Please comment for the proposal

soethiha's picture

ABSTRACT:

Magento has just released production ready version 1.0 and has comprehensive support ecosystem for its users. Current existing ecommerce modules for Drupal either do not have production ready release or do not support Drupal 6. Hence, integration between Drupal and Magento will be the powerful combination and will drive embracing of Drupal 6 even more.

This project aims to tightly integrate Magento into Drupal by coming up with a Magento module and a few essential native Magento blocks. The integration is elaborate upto the level of rendering Magento as a Drupal page.

BENEFITS TO DRUPAL/OPEN SOURCE COMMUNITY:

The outcome of this project will benefit both Drupal and Magento community. Magento team has expressed that they will focus on ecommerce portion only. Hence, the Magento community has been seeking for integration of solid CMS with Magento. I believe Drupal would be a good fit for Magento, vice versa. Both popular ecommerce module and ubercart module do not support Drupal 6 yet and do not have stable release yet. I hope this project will offer one more solid alternative to Drupal users while adding ecommerce functionalities.

PROJECT DETAILS:

This project is inspired off from the concepts of existing Drupal integration with phpBB forum [http://drupal.org/project/phpbbforum]. The difference is in the architecture of phpBB and Magento where phpBB has built-in system to extend to work with other systems. Hence, this project will need to delve a bit deeper into Magento core to achieve integration.

In addition to user synchronization and wrapping Magento inside Drupal through iframe, the project will achieve rendering of Magento as a Drupal page by manipulating Magento layout framework. I am confident of achieving the full integration with zero modification to core files by wrapping and/or mimicking which are possible based on my initial study of Magento structure.

I have yet to explore about potential url rewrite problems and impact on SEO when Magento is rendered as Drupal page. Though it is not that important technically, I will be doing more finding on those before the program starts.

FEASIBILITY ANALYSIS:

Authentication and synchronization of users (of Drupal) and customers (of Magento) is feasible with reference to successful implementation of Drupal+phpBB. Even though Magento does not has built-in support for integration with 3rd party application like phpBB, it is still possible to write an API wrapper to access Magento's customer controller as Magento is based on MVC structure of Zend framework.

Regarding about overhead of these two system combined, it would be minimal since rendering of Magento into Drupal as a page will only initialize required controllers for Magento. I do not foresee hacking/patching existing core files (other than minimal changes to presentation layer) due to Magento's MVC structure and possibility of mimicking. Moreover, Roy from Magento has been quite supportive of this initiative and I think it will work out nicely.

DELIVERABLES:

= Magento Module:
-- Drupal+Magento API: for Drupal to communicate with Magento framework(especially Magento customers)
-- Bilateral Authentication
-- -- Hidden Authentication block in Drupal
-- -- Hidden Authentication block in Magento
-- User profile mapping and synchronization
-- Magento wrapped in resizable iframe or rendered as a Drupal page

= Magento Blocks:
-- Hidden Authentication block (for user authentication and synchronization)
-- Core Magento Blocks: Menu, My Cart, Comparable Products, Newsletter Subscription
-- Structure to easily add in new blocks

= Drupal+Magento Distribution/Installation Profile

PROJECT SCHEDULE:

= Before May 26:
-- Communication with Magento Team (Roy Rubin), developer of phpbbforum, and Drupal community
-- in-depth analysis of Magento architecture and Drupal hooks
= May 26 to June 1:
-- Drupal+Magento API
= June 2 to June 8:
-- Drupal+Magento API Cont'd
= June 9 to June 15:
-- Magento Module
= June 16 to June 22:
-- Magento Module Cont'd
-- Hidden Autentication blocks for Drupal and Magento
= June 23 to June 29:
-- Resizable Iframe wrapping with JQuery
= June 30 to July 6:
-- Bug fixing (& SimpleTests)
-- Alpha release
-- Mid-term Report
= July 7 to July 13:
-- Integrating Magento as a Drupal Page
= July 14 to July 20:
-- Integrating Magento as a Drupal Page Cont'd
= July 21 to July 27:
-- Integrating Magento as a Drupal Page Cont'd
= July 28 to August 3:
-- Drupal+Magento Distribution
-- Prepare for Beta release (SimpleTests)
= August 4 to August 10:
-- Beta release
-- Screencast for installation process
= August 11 to August 17:
-- Final Report
-- Bug fixing (& SimpleTests)
-- Port Magento module to be compatible with Drupal 5

Continue with bug fixing and adding in new features suggested by the community till August 27; one week before September 3.

Any update

rmohankumar's picture

Hi Guys,

Any updates on Magento+Drupal Integration.Let me know.

Thanks,
Mohan

Integration of Drupal and

JurriaanRoelofs's picture

Integration of Drupal and Magento would be extremely powerful but I think it's also incredibly complex, because Magento is quiet a beast by itself - theres lots of functionality that can potentially break. I'm mostly thinking of stuff like security, integration with merchant accounts, etc (this might not work with drupal's authentication/session management).
Also, Magento uses a lot of server resources and a drupal site with 50 modules can get sluggish as well, integration would have to be done in such a way the you don't have double the pageload overhead when Mage and Drupal are integrated.


peach from All Drupal Themes!

It is definitely challenging

soethiha's picture

It is definitely challenging and complex as Magento does not really have built-in support to tie in with other applications. However, it is built on Zend framework. Hence, it has clear MVC structure, making integration highly attainable.

Magento's customers/frontend authentication and synchronization with Drupal users will be achieved through Drupal+Magento API wrapper and one invisible block each in Drupal and Magento. Hence, I don't really see the shortcoming in authentication part.

As I can only initialize required controllers from Magento, there won't be much added overhead. If the server can handle seperate installations of Drupal and Magento, it should be able to handle the Magento module inside Drupal. Nevertheless, performance issue won't be overlooked.

The concern for potential break is in URL rewrite and SEO issues. I am still exploring in that area.

Iframe

JurriaanRoelofs's picture

I also hope this can be done without an Iframe, both Magento and Drupal have a very powerful theme engine, there is most likely oppurtunity there for integration.


peach from All Drupal Themes!

users can choose either Iframe or Drupal Page

soethiha's picture

Iframe version will be available for testing before the end of mid-term of GSoC.

Enabling Magento to render as a Drupal page will be done by tapping into Magento layout architecture and/or mimicking Magento controllers. Hence, users can choose which Magento structural blocks to render inside Drupal [http://www.magentocommerce.com/design_guide/articles/magento-design-terminologies4]. The feature will be available by the end of GSoC.

I have been talking with Roy from Magento and he has been really supportive of this project. This will really speed up the development.

Thanks for your comment.

-1

catch's picture

Both popular ecommerce module and ubercart module do not support Drupal 6 yet and do not have stable release yet.

Just because these modules aren't upgraded to D6 yet, doesn't mean someone should do a bridge module to third party applications instead. And -1000 to anything involving iframes. The general tone of the proposal suggests you haven't looked into the history of 3rd party app integration with Drupal very much.

I'd much rather see a proposal which aimed to extend Ubercart or ecommerce.

Iframe version is to be

soethiha's picture

Iframe version is to be ready by mid-term of SoC. It is to allow users to test as the authentication and synchronization will be ready as well.

Full integration to render Magento as usual Drupal modules will be ready by the end of SoC.

My purpose is to add one more alternative for current Drupal users to choose when adding ecommerce feature as well as to offer current Magento users advanced CMS capabilities of Drupal.

While writing this proposal, Ubercart was also in my mind. I would be looking into it too.

Thanks, catch!

...

jpetso's picture

This project has some serious support from the Magento people themselves, see the Magento blog for a short impression. To me this project seems to be Magento reaching out to Drupal instead of the other way round, it might even be sponsored by the Magento company.

Which isn't necessarily a bad thing (this is open source, after all), but in this light it's even more important to see if the project is actually helping Drupal just as much as it is pushing Magento. Not having used Magento yet, I can't tell if this is the case or not.

I have contacted Roy from

soethiha's picture

I have contacted Roy from Magento to ask a few questions about Magento's architecture to assist in my proposal write-up. That's why the team got to know about this proposal.

In reality, users of either system would be benefitting to be able to tie in the two systems. Personally, I feel that the project is inclined more towards the benefits of Drupal users as it is about integrating Magento into Drupal (not the other way around); adding in another solid ecommerce choice for Drupal users.

Additionally, I think this would drive the embracing of Drupal 6, espeically by those users looking for ecommerce functionalities in Drupal 6.

pragmatic integration

rkendall's picture

Just to offer some feedback, this is how I would approach it:

If I wanted to use 2 large and complex programs such as Drupal and Magento on a single website I would generally keep them seperate, and only integrate aspects that need to be integrated - which would of course depend on the purpose of the website being developed.

Firstly, because of the complexity and architectural differences between the 2 systems, I would not try to integrate the theming/templating systems, rather I would separate the 'shop' part of the website from the 'content' part of the website - with the less important part being installed in a sub-directory.

If the website was primarily an ecommerce site I would have Magento installed in the main directory, with Drupal in a sub-directory. If the shop was a smaller part of the website, then I would have Drupal installed in the main directory with Magento installed in a sub-directory.

The most important part to integrate in my mind is the user registration and authentication. From a customer/user perspective, you don't want to register twice, or have to remember 2 logins. Drupal already has the ability to use different systems for authentication, so I don't think it would be too difficult to extend it to authenticate against Magento. Of course it would be good to integrate user profile information as well, or at least provide a single location to manage both. Also, most sites don't have a lot of 'admin' users, so I don't think that is as important as having a combined login working for customers/regular users.

Being able to display Magento blocks in Drupal pages and Drupal blocks in Magento pages would be good as well, but like I said before, trying to tightly integrate the templating systems sounds like trouble to me. And iframes sound like a very bad idea - even for testing/development.

Really, the place to start is with some real use-case scenarios then look at pragmatic solutions, rather than getting obsessed about the ideal of melding 2 great systems into 1.

licensing issues

ortsai's picture

Magento is distributed under the OSL license and Drupal is distributed under the GNU GPL. I'm curious how you intend to integrate the templating systems/other libraries. Some licensing issues may arise, as in when the SMF/Joomla bridge plugin was withdrawn. See here:

http://www.simplemachines.org/community/index.php?topic=184557

Re: licensing

royrubin's picture

I can confirm that licensing is not an issue. We've discussed such scenarios with our legal counsel and there is no issue whatsoever.

Roy / Magento

Unfortunately, no applications...

webchick's picture

We didn't receive any viable applications for this proposal (the one student who did apply submitted another application that has gained a lot more traction), so this won't be one of the SoC projects.

Integration scenarios

soethiha's picture

There are 3 scenarios which I could think of for integration and the outcome of this project would solve:

  1. two-way user/customer authentication and user's/customer's synchronization
    -- then Drupal's theme and Magento's theme will be customized to look a like

  2. Scenario 1 plus Iframe
    -- wrapping of Magento's into the page area with resizeable Iframe (there won't be disturbing vertical scroll bar)

  3. Scenario 1 plus rendering of Magento as usual Drupal Module (no Iframe)
    -- this is feasible as Magento has MVC structure and its layout engine is robust to achieve it

This is tough. But just achieving Scenario 1 would not be big enough for an SoC project. Thus, second part of the SoC term is dedicated to achieving upto Scenario 3.

Just my 2cent.

Have you achieved scenario 3

regroup's picture

Have you achieved scenario 3 yet?

Real Value

eskimo42's picture

I can see this add-on brining huge realizable value to both the Drupal community and Magneto community. Both projects have a real need for each other at this point in time. Magento could surely use the additional community members, and Drupal undoubtedly needs an outstanding e-commerce package.

I agree with earlier posts regarding the need to thoroughly examine integration options, and at what depth Drupal and Magento will integrate without sacrifice to either of these products. I for once hope to see this integration happen, and am more than willing to provide assistance.

with Magento using Zend and

japerry@drupal.org's picture

with Magento using Zend and having a completely different release cycle, I don't see this happening in the near future. Hopefully with SoC we can work to improve an integrated d.o ecommerce package like ubercart to gain the functionality of magento.

I agree that SoC's priority

soethiha's picture

I agree that SoC's priority must be about improving/adding features to Drupal code base. Though this project would be beneficial to both communities, most of the work is required on Magento side. Hence, other proposals working on Drupal code base should be given more priority as there are limited slots available for SoC.

Still this integration could be pursued outside of SoC with interested people coming together. This thread should be moved to another group?

Ouch!

keesee's picture

Keep in mind that its fairly new, and they have done a great thus fair. In terms of usability and feature list, other apps including OSC (and forks like Zen) can't compare. I do agree they need a bit more time out there before I use it for production sites. I will, however be keeping, a close eye on it as I have been.

J.

where we are ?

hades666evil's picture

I'm going to spend a lot of time one the integration of magento as a module for drupal
Has someone started to go farther than reflexion, some tests or something ?
If I've understood, the projet for the soC has been canceled, maybe it could be better to switch to a une group about the integration of magento in drupal ...

Getting somewhere on Drupal / Magento Integration

daninigo's picture

We've started our own integration for a client with Drupal as the main event and Magento information being passed back through Drupal.

See more information of our approach here:
http://www.magentocommerce.com/boards/viewthread/9915/P45/#t65867

Don't get too excited yet, it's still early days and we're only integrating with 5.x at the moment, but we'll keep both communities informed of our progress.

Dan Frydman
Inigo Media Ltd
http://www.inigo.net/

help with moneyy?

matteoraggi's picture

I hope to can help in it with some $ or €from next year

Luxury furniture
http://www.luxury-furniture.biz

Magento and drupal integration

regroup's picture

Hi All,

I am planning a new social shopping website and plan on using Drupal as the CMS and take advantage of all the social widgets but also want to use Magento as the e-commerce engine and share things like sessions, customers, users (single sign on) promotions engine, product tagging and reviews etc. I think I want to publish Magento through drupal but am unsure how that will effect the ability to leverage all of the rich shopping tools Magento has and what the impact will be on Magento upgrades (they are developing fast and have alot of updates.

I am not highly technical and by no means a developer so am looking at out sourcing the work once I have the plans finalised but if I can help it don't want to start from scratch, can anybody shed light on the current development of this integration.

I went down this path about

ebeyrent's picture

I went down this path about 2 months ago, and quickly realized that it didn't make sense. The project I was working on had a ton of integration between Drupal and the e-commerce engine, and it quickly became apparent that while Ubercart didn't have the features I needed, neither did Magento. I tried adding some of the features into Magento as modules, but it was such a cumbersome process (not to mention how tricky theming is) that I went back to ubercart. Within 3 days, I was able to add all the features I needed into Ubercart with none of the integration headaches.

I'm not trying to belittle your efforts at all - I just wanted to share my experiences with Magento and Drupal.

Thanks for that ...

shaneod's picture

Interesting, I've been thinking that my current project might have to go the same route for now untill this gets moved further long. I havent used UberCart before, how well does it handle order processing, product display etc etc. Fir example, if magento is 9 out of 10 for an e-commerce solution, and OsCommerce is - say - 4 out of ten, what would you give Ubercart?

------------------------------
Pride Web Design Cork
------------------------------

Ubercart, in my opinion, is

ebeyrent's picture

Ubercart, in my opinion, is 8 out of ten. While Ubercart not have all the features of other platforms, it's extremely easy to add and extend. For example, I added Ubercart Marketplace and was able to extend the entire platform to behave like etsy.com via custom cart and checkout panes and individual seller payment options and settings.

I never would have been able to do that with Magento in the time frame that I've been able to do it with Ubercart.

Any news on this lads?

shaneod's picture

Anyone getting anywhere with this? Magento and Drupal would be a fantastic combination.

------------------------------
Pride Web Design Cork
------------------------------

Dead Project?

khansen46's picture

Recent posts seem to be inquiries about the state of the project, and not much from anyone actually working on it. Is it now dead? Or (I hope!) maybe everyone is too busy working on it at the moment to give an update?

I am in the planning stages of building a new site for my consulting business. My intention is to follow the current trend of Social Networking, and add much more functionality and features including community blogs and a forum.
I am also adding additional services for my clients, one of which is Asset Recovery. While I intend to market a lot of inventory through online auctions and local sales, I also intent to have an eStore. Personally, I am not concerned with theming. In fact, I intend to give a different look and feel to each area of my site. I don't like the idea of having a site that covers a large range of interests and services where every page you go to looks like the last. This is especially true for the store. I don't want it to look like a Social Network or CMS with things for sale - It needs to look like a place to shop. To me, using the native theming in Magento is ideal.

I will be using Drupal for the main site (upgrading from Joomla). I have looked at various eCommerce solutions. Though I have not made a firm decision, I am leaning toward Magento, but I need to have something that will at least either share user tables or sync users, so I can keep a single sign-on environment. Obviously this is not my area of expertise (hence this post), so I'm hoping that someone is still actively working on this project. If I get the rest of the site finished and there is no progress on this, I'll most likely go with Ubercart. That's not necessarily a bad thing. I think Ubercart will meet my needs, it's just not my first choice.

Interested! Subscribing...

perandre-gdo's picture

Interested! Subscribing...

Status?

chris.atf's picture

I am currently using both Magento and Drupal for my company's site using iFrames but am eagerly awaiting more support, especially in the form of a Magento module. What is the status of this?

Module

perandre-gdo's picture

I guess more info will be available on the issue tracker here: http://drupal.org/project/magento

Done

Yann P's picture

Indeed, it's done now. Took us some time, but now it should help the community :)
see
http://drupal.org/project/magento

any comments are welcomed !

Yann Perron
Adyax - Paris, France

Yann Perron
Adyax - Paris, France

WOW!!!

shaneod's picture

Excellent, Thanks a million YANNADYAX, I look forward to trying it out, could be a really powerful combination I feel!

------------------------------
Pride Web Design Cork
------------------------------

Error with integration

vinegar's picture

Anyone who successfully got it to work please help me with this one. I'm getting these issues and can't seem to sync the products. Sync categories to taxonomy works ok.

Drupal side - when synching products I get this warning:

user warning: Unknown column 'field_product_id_value' in 'where clause' query: SELECT nid FROM content_type_product WHERE field_product_id_value = 1 in /var/www/drupal/modules/magento/magento_products/magento_products.module on line 247.
user warning: Unknown column 'field_product_id_value' in 'field list' query: SELECT field_product_id_value FROM content_type_product ORDER BY field_product_id_value ASC in /var/www/drupal/modules/magento/magento_products/magento_products.module on line 257.

I still get a new Product type in Administer->Content management ->Content every time despite the warning message, but viewing the product i get this error message in Drupal

Could not get state name because the remote site gave an error: Product not exists. (102).

Magento side - when i try to add/edit categories/products with Events Notification turned on I get this error:
Server error. Wrong number of method parameters.

Error trace from Magento Log
2009-06-24T00:39:45+00:00 DEBUG (7): Exception message: Server error. Wrong number of method parameters.
Trace: #0 /var/www/magento/app/code/community/Drupal/ApiExtend/Model/Observer.php(95): Zend_XmlRpc_Client->call('user.login', Array)
1 /var/www/magento/app/code/core/Mage/Core/Model/App.php(1231): Drupal_ApiExtend_Model_Observer->catalogProductSaveAfter(Object(Varien_Event_Observer))
2 /var/www/magento/app/Mage.php(303): Mage_Core_Model_App->dispatchEvent('catalog_product...', Array)
3 /var/www/magento/app/code/core/Mage/Core/Model/Abstract.php(292): Mage::dispatchEvent('catalog_product...', Array)
4 /var/www/magento/app/code/core/Mage/Catalog/Model/Product.php(497): Mage_Core_Model_Abstract->_afterSave()
5 /var/www/magento/app/code/core/Mage/Core/Model/Abstract.php(252): Mage_Catalog_Model_Product->_afterSave()
6 /var/www/magento/app/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.php(566): Mage_Core_Model_Abstract->save()
7 /var/www/magento/app/code/core/Mage/Core/Controller/Varien/Action.php(376): Mage_Adminhtml_Catalog_ProductController->saveAction()
8 /var/www/magento/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(248): Mage_Core_Controller_Varien_Action->dispatch('save')
9 /var/www/magento/app/code/core/Mage/Core/Controller/Varien/Front.php(158): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
10 /var/www/magento/app/Mage.php(459): Mage_Core_Controller_Varien_Front->dispatch()
11 /var/www/magento/index.php(65): Mage::run()
12 {main}

Magento works ok when Events Notification turned off.

Im using Drupal 6.12 and Magento 1.3.1.2

thanks for the help guys

Any news

Maxime Topolov's picture

Did you try with the latest Drupal / Magento extensions ? Still experiencing problems ?

Contact me by PM.

Maxime TOPOLOV
Adyax / http://www.adyax.com
+33 6 14 58 21 53

Maxime TOPOLOV
Adyax / http://www.adyax.com
+33 1 76 77 34 60

Sorry, I don't have an

Firebrand's picture

Sorry, I don't have an answer. But I wanted to share a relevant comment:

I didn't know one could combine both Drupal, and Magento.
How does one do that?
I always thought you had to add a "module" to Drupal, e.g. the e-Commerce module.

Good luck and thank you

When I use Drupal and

russiangirls's picture

When I use Drupal and MagentoSafari 4 in Mac OS X, some elements of the page and off to the side and the text is broken: ( Please help me How can I remove the problem?

[edit - Link removed by admin]

Check Theme Compatiblity with Your Broswers and OS

wisdom's picture

Which theme are you using? Make sure the theme you using is compatible with the browser and OS that you using. You can also test by changing your theme, browser and operating system.

Drupal Magento Integration

Marine_quot's picture

Hi,

My agency core-Techs just finished the fully integation between Drupal/Magento

The following websites are using the same back-Office:
http://www.rackham-e.com/fr
http://store.rackham-e.com/
http://games.rackham-e.com/fr/at-43
http://studio.rackham-e.com/fr
http://www.rackham-e.com

the community website will come soon!

Regards

http://www.core-techs.fr

sso for magento 1.4 and drupal 6.x

mannejkumar's picture

hi is there any chance for single sign on for magento1.4 and drupal6.x? i need only single authentication for both systems. if anyone creates account in drupal automatically user will be created into magento.
drupal login--->magento login
drupal logout--->magento logout
magento login-->drupal login
magento logout-->drupal logout

so many people suggesting me to use joomla and magento with jfusion. but i love drupal verymuch

plzz guide me to proceed further

thanks
jagadeesh
www.eprlabs.com

Drupento

jimkeller's picture

the Drupento module offers Drupal & Magento SSO and also allows for sharing of theme elements between the two:

http://drupal.org/project/drupento

Any news for D7?

jsims281's picture

Very nice work! Are there any plans for a release of either "drupento" or "magento" module for Drupal 7?

DhirendraGrazitti's picture

Hi,
Can we integrate Drupal forums module on magneto based eCommerce site. by using forums module we will discuss about product features which is mange on magneto website. can any one help.

Thanks
Dhirendra