I am about to build a new site, using Symfony 1.4. It is a medium sized e-commerce site, for a business that does about $3 or $4 million in sales a year, about 10% of which is online. The company deals in a lot of limited-supply items, so keeping track of inventory is important. Short term, the goal is simply to have the site work. Long term, the goal is to integrate the website with the companies point-of-sale software.
I am looking around, and I notice that there is not a lot of activity involving e-commerce plugins for Symfony.
[[LINK href="http://code.google.com/p/symfony-ecommerce-project/"]]symfony-ecommerce-project[[/LINK]] seems inactive. Is Yannick Gauthier doing any work on it?
[[LINK href="http://code.google.com/p/sfshop/updates/list"]]sfShop has activity[[/LINK]], but no [[LINK href="http://code.google.com/p/sfshop/w/list"]]documentation[[/LINK]]. Have people used this? Does it work with Symfony 1.4?
[[LINK href="http://groups.google.com/group/symfony-ecommerce/web/sfcommerce-objectives-and-scope"]]sfCommerce looks good[[/LINK]], though I notice its mailist is [[LINK href="http://groups.google.com/group/symfony-ecommerce/topics"]]full of spam[[/LINK]].
The official plugin page [[LINK href="http://www.symfony-project.org/plugins/filter?filter[sf_1_0]=on&filter[sf_1_1]=on&filter[sf_1_2]=on&filter[sf_1_3]=on&filter[sf_1_4]=on&filter[propel]=on&filter[doctrine]=on&filter[category_id]=24&filter[name]="]]lists a number of e-commerce projects[[/LINK]], none of which seem to be compatible with version 1.4 of Symfony. Can anyone say what would be needed to upgrade these projects to 1.4? Has anyone used these?
I'll divide the prize money of this question among any who give a good, detailed answer.
Nicolò Pignatelli answers:
Any symfony plugin for ecommerce I'm aware of are really out of date or not compatible with symfony 1.4, included the ones you mentioned.
The reality is simple; it is really difficult to find a good piece of high customizable open source ecommerce software (symfony plugins included) for the following reason:
every company preferes to develop is own ecommerce solution because they need a really high level of customization and a perfect integration with their management softwares.
I faced this situation twice for two different companies and both of them decided for a custom solution; this is what I recommend to you, especially if you have to run a $3 or $4 million in sales/year shop.
Anyway, I can assure you symfony 1.4 is a really good starting point to develop an enterprise ecommerce solution.
It is to you now to decide in which direction you want to go: search for a pre-packed ecommerce/management solution with little space for customization OR start from scratch with symfony and build your own solution with good probabilities to build a good piece of software.
Hope my advices was usefull to you.
PS: if you want to know how to validate a project (plugin included for symfony 1.3/1.4) just run the task "symfony project:validate"
Nicolò, thanks for the detailed response. I had assumed I would have to customize a lot of code, but still, I was hoping some plugin might give me a starting point.
What do you mean about validate the site?
Nicolò Pignatelli comments:
The task "symfony project:validate" simply tells you if the code of your whole project is ready for and compatible with symfony 1.4. If not, it tells you the changes you have to do to correctly migrate your project. It is really usefull, I have to say.
Magento is one of the <em>"pre-packed ecommerce/management solution"</em> I was talking before.
Scott Meves answers:
I'm not looking to earn any prize money, but wanted to chime in and say that I'm a die-hard symfony developer, and I built an e-commerce site with symfony 1.0 a few years ago, and it wasn't too bad... I used a really simple shopping cart plugin as a starting point (sfShoppingCart) which really wouldn't take more than an hour or two to convert to symfony 1.4. The plugin was dead simple, and didn't have any built interfaces.. it was just a container to store references to your custom 'product' objects along with quantities and prices.
That process worked well, but obviously there is a ton of functionality that was missing that we built ourselves; all of the checkout pages, saving a cart for later, updating number of items in a cart, customer address book, support for different shipping methods... the list goes on and on. It's easy to underestimate exactly how many different pages there. (If you want to check out the final product, the site I'm referring to is customteedesigns.com.)
Six months ago I was faced with a similar situation, where we were going to be launching a large ecommerce site with a lot of custom functionality. We ended up going with Magento, and I have to say I'm happy we did. It has come a long way since it was first released, and it really does do most things really well. We customized it with a PDF generator since all of our products are virtual. The time it took to learn Magento and build that component, was about 10 times less building the entire site in symfony (of course this is a rough estimate, but Magento has so many features it would take a very, very long time to recreate).
As a symfony developer, Magento's code base made no sense to me. It's based on the Zend Framework, which has some similarities (MVC), but figuring out how object models or the XML configuration are set up took me a while. Magento is modular enough that you can override and customize as much of it as you want without editing the core code, so there is really no limit to what you can do. But, if you have never used ZF, you'll have to spend a while familiarizing yourself with it. An added perk is that the Magento code base gets updated by the community, and you don't have to do any work. If you built the store yourself, the only way things are going to get better is if you put the time in yourself.
Overall, it ended up taking less time for me to get familiar with Magento than it would have for me to build the entire store with Symfony.
Nirav Ranpara answers:
We have very good experience on symfony platform like more than 3 years.
We can provide you complete symfony based shopping cart solution as your requirements.
If you not find any ready made solution please, contact us.
- Nirav Ranpara
Cristian Baciu answers:
The answer for your issue is Magento [[LINK href="http://www.magentocommerce.com/product/features"]]http://www.magentocommerce.com/product/features[[/LINK]]
It is build with Zend Framework and it is easy to integrate with symfony.
Gert Findel answers:
I looked at the different sf solutions, but it is not easy to build a solution based on them.
I recommend you to use and integrate an external osCommerce solution like Magento or a paypal/google checkout shopping cart