10394 Posts in 2203 Topics by 1714 members
|Go to End||Next >|
22 June 2010 at 10:24pm Last edited: 23 June 2010 7:50am
I'm not sure if this is the correct board, if not, please move to the correct one
I'm here to announce that I'm starting on the integration of Magento (an E-commerce solution) into silverstripe.
I noticed that the current E-commerce module isn't as extensive as Magento, thus I felt the need for an integration with magento.
I'm calling it Magss (for MAGentoSilverStripe)
This task will follow roughly the following steps:
1. orientation -> compare Magento and Silverstripe architecture
compare the database structures, see how stuff is stored. see how addons are added, how we can keep the flexibility of both while unifying some aspects that come with integration
2. implementation plan -> draw a list of tasks to make a succesful integration
important issue is how to integrate. How to structure directories, and whether or not it cares which of the two you install first.
3. user integration -> I figure that easiest start is to get a unified user system
Integrate the user tables so that when users register, they register for both systems. There should be some tool for transfering users. Note: this might be a good moment also to release some kind of installation guide.
4. front-end integration -> get front-ends integrated
5. back-end integration -> get back-ends integrated.
I'll be posting shortly on any follow ups, and files
any help is apreciated
edit:// Google Code project is created: http://code.google.com/p/magss/
22 June 2010 at 11:43pm
That sounds like a great idea! Note there is a movement to rewrite / fix up the ecommerce module which has quite a few people offering help. (http://code.google.com/p/silverstripe-ecommerce/). Thats going to bring the module up to scratch but I'm sure people would like to use Magento though so having that option is great.
I recommend setting up a google code project or a github project to store you code so that people can download, submit fixes easily. Dealing with file zips etc gets hard to manage! Things like google code / github also will allow you to have wikis to manage documentation and planning.
23 June 2010 at 2:24am
This is something we've been talking about doing for a long time. Magento being hands-down the most robust ecomm platform out there right now, I think marrying it to a robust content management application (read: Silverstripe) would create a very competitive solution.
Here's what I see as the most logical path at this point:
- Read about and learn the Magento API. It's very, very good.
- Create a magento Silverstripe module that integrates with the API. You'd have to create a series of frontend controllers that communicate with Magento's backend to retrieve products, etc, and effectively create your store
- Finding a way to do single sign-on, that is allowing the user to access both Magento and Silverstripe through the same credentials would be ideal, but I don't think it could happen easily.
The advantage of using the API is that you get to take advantage of what each framework does best. Magento has a slick UI with an amazing feature set. It doesn't need to be messed with. Any backend you create in Silverstripe just isn't going to be as good.
Silverstripe steps in on the frontend with a solid, easily themeable MVC framework. If you've ever created a Magento store, you probably share my opinion that'd I'd take the Sapphire framework over that jungle of cryptic XML any day of the week.
It's a parity that could be very strong. Each component gets to do what it does best. I don't know of any ecomm solutions that offer CMS to any significant degree. Magento's CMS component is essentially nothing more than a really bare-bones wysiwyg editor, and even that doesn't work too well.
I think you're wise to be going down this path. I've wanted to for a long time, but we can never find the justification for a time investment. Good luck!
23 June 2010 at 3:52am
Magento in opinion is overkill. It is slow. The code is total mess. Very hard to update and optimize. I much rather would like to see a marriage between SilverStripe and OpenCart.
23 June 2010 at 5:27am
We've completed one SilverStripe/Magento integration project already (http://www.time2.co.uk/), and have another one launching in a few days (fingers crossed).
The approach that we took was to keep the systems loosely coupled by exchanging data over http and then caching it to improve perfromance. Magento already has a SOAP api for this which we used, and on the SilverStripe side we wrote a simple controller which delivered json encoded arrays.
For session data we have attempted to share sessions between the two systems, which works fairly well for things like login status, basket count and recently viewed products, but has a few issues with regards the two authentication systems. I'm considering looking at integrating the Zend session libs into SilverStripe to make this easier, as the current session code is very thin.
If anyone's interested in seeing the code then I can probably put some very rough modules together.
As to my opinions on Magento, here's my highlights:
- You can get a very fully featured store set up in very little time
- It's got a good admin interface
- Pretty good support for payment gateways
- Very customisable and modular, both core code and templates
- SOAP api
- It is developing brand recognition with customers
- It's a memory hog
- The import system is complex, lacks features, and is horribly slow
- Once you go beyond xml/css customisation, it makes future upgrades tricky
- Database architecture is overly complex (EAV)
- Whole thing feels over engineered, simple changes often require editing many files
- Developer documentation is almost non existant, zero code commenting, and as the whole thing is glued together with xml it make following the code very hard work
- XML configuration for everything (:shudder:)
There's not much else out there to touch it featurewise at the moment though.
23 June 2010 at 7:24am
That's exactly why I want Magento, it's simply the best.
Any help, or code available is definitly welcome. I'll create a Google Code acount in a minute.
I'm more or less familiar with the Zend session libs, so I'll look into that aswell.
(I actually saw yout time2.co.uk, but couldn't find any info on code/modules. If you could provide code that would be great!)
23 June 2010 at 8:45pm
Magento and SilverStripe together? Using SOAP to share data? I pity your end-users. Not to mention your fellow engineers and sysadmins.
Seriously I think you need to re-read Mary Shelley's Frankenstein again before you attempt this.
Combining two extremely complicated packages with 15 year-old glue just cannot be a good idea.
Remember KISS? That should be your prime directive as a software engineer.
BTW I have built projects in both SS and Magento.
23 June 2010 at 9:29pm
We used soap because that's the preferred api for magento. Sending data from silverstripe to magento was done using simple json encoded arrays.
As to whether we've created a monster, maybe. But we've purposely kept the two systems loosely connected rather than combining the two stacks which I've seen done for wordpress integrations. With the addition of caching on both sides (both silverstripe and magento use the zend cache libs), the number of calls between stacks is very low and performance is no worse than either one on it's own.
If you know Magento, then you should understand the attraction of avoiding using it as a cms.
|Go to Top||Next >|