Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Help me plan a big project
 
mirage
Member
 
Avatar
Total Posts:  40
Joined:  2008-06-09
Milwaukee, WI
 

Hello all -

If Magento was a commercial solution, then the questions I’m about to pose here would likely be considered ‘pre-sales’ questions. Since it’s Open Source, I’m just looking for some early guidance for a bigger project I’m about to take on.

Let me preface most of this by saying that I consider myself a fairly experience PHP developer and I’ve been doing [PHP/Web] programming for the better part of 10 years now. I’m familiar with MVC, use CodeIgniter for most of my projects but have also work with Zend Framework on occasion. The programming experience aside, I haven’t done a whole lot with regards to bigger e-commerce development. A few shopping carts, yes. CreditCard gateways of various kinds yes. But pretty much all hand coded. Could never warm up to Open Source solutions out there… especially not after working with the MVC pattern.

Therefore, when tasked with creating a multi-phased/tiered e-commerce solution for a client, I was delighted to come across Magento which presents a fresh approach at implementing e-commerce in PHP and - no less - is built on top of Zend Framework. Lots to look forward to and definitely has the feel of something that I can grow with and support for my clients.

I’ve installed Magento on my development machine and minus the Error parsing body - doesn’t seem to be a chunked message error for which I found a fix here all went smooth. I’ve been browsing the docs, forums and wiki for a while now as well and believe that the only way I will agree to doing this project is using Magento.

With all that said - here’s my scenario. If you could, I’d appreciate comments and pointers to help me determine whether Magento is the right solution for me.

Phase One - Establish online ordering for Retailers
My client is a manufacturer. I the first phase, they want a ‘private’ storefront that will enable their retailers to order product online. This is envisioned to be functioning like a form to email type system. Wouldn’t really need to consider Magento for this, but the future phases certainly would.

The idea for this phase is to take the online orders and process them through the manufacturers internal systems the same way as if they were ordered via phone or other conventional means. Payment remains via traditional means. Basically just a web-driven frontend to augment the existing order processes.

Considerations
- Must be able to update products and price breaks remotely
- Price breaks have a default but may vary per client
- Client should be able to review their entire order history (not just online orders)
- The latter therefore also requires to update/add conventional orders remotely

Phase Two - Create Online webstores for Retailers
Initially about 100 stores ramping up to 200 over the first twelve months and probably peaking at about 500-600. The idea is that many of the smaller retailers really have no clue about e-commerce - or rather - how to get it started for their business. They don’t have the resources and expertise to hire programmers to create a quality online experience. What they do have is requests / pressure from their clientele to offer online ordering capabilities. As this is in the interest of the manufacturer, they want to provide a service to their retailers to provide fully-branded and managed web-stores to kickstart their e-commerce experience.

These [consumer facing] stores would be full-blown with credit-card processing and all that connected with that. Here’s where Magento comes in. I’m not certain whether I should/would deploy these stores as independent Magento sites or via the multi-store management feature of magento. Part of the decision would depend on performance/data separation concerns and also how fine-grained access to the backend can be set up. I’d imagine that at least some stores would want to have the ability to manage their products directly. Quite possibly there will be different requirements across stores, so some would be fully managed (using Magento Multiple Store manager) and some would be more independent.

The stores in this phase would only offer products available through the manufacturer, essentially feeding the order management system built in Phase One transparently for the retailer. The manufacturer would handle all the credit-card processing and basically repay the markup to their retailers on a regular basis.

The manufacturer wants the store backend interface to be such that a retailer could pick and choose which products they’d want to resell and at which price. I could already see in the product management interface that products can be enabled/disabled so this won’t be an issue. However, the manufacturer products should be ‘locked’, so that the store owner would not be able to delete them completely or modify the ‘cost’ of the product. Also - I currently only see one ‘cost’ field, rather than price breaks for the cost. I’d like the retailer to be able to ‘see’ their breaks, but not be able to edit them. I assume this could be done by treating the templates accordingly?

Considerations
- Must be able to update products and price breaks remotely (for manufacturer products)
- Must be able to ‘lock’ manufacturer products so they can’t be deleted.
- Orders for manufacturers products directly placed with manufacturer, order status visible to retailer in the order sytems, order status visible to consumer in the webstore

Phase Three - Allow Retail online-stores to sell 3rd party products
An expansion of Phase II. This would probably require that retailers handle their own credit-card processing. The manufacturers products could still be ordered immediately but 3rd party products ordering/backordering would need to be handled at the retailer level. Given this scenario I’d assume it would be more appropriate to have each store run as a separate Magento app?

In all of the above, when I talk about remote updatability, I’m thinking about a semi-realtime approach. As shouldn’t come as a surprise to the experienced reader here, the manufacturers internal IT processes are heavily guarded and they don’t care to open holes that would e.g. allow the webstore to ‘poll’ data realtime.

So what I’m envisioning is to provide them with a ‘pull/push’ API that allows them to provide/request data from the Magento database at their leisure. At the most basic level, I’d envision using the Dataflow tool - setting up policies for file exchange letting the upload change files and then processing them immediately to Dataflow. But that’s really only useful for batches.

To get closer to an event-based workflow on their end, I’m envisioning providing SOAP services which would enable them to ‘push’ on any given event in their internal systems and calling on the Magento internal API’s to fullfil the requests on the public side. I haven’t been able to look much into the access and/or documentation for these APIs so I’d appreciate some feedback on how possible this is with the current version of Magento. On DataFlow I’ve read that SOAP could be a driver for it, but in the current download there only seems to be local and ftp filesystem based support for batches. Is the SOAP thing something that’s still in development?

My deadline for Phase I would be Feb’09 with about 200 storefronts to be completed by 2010. Do you think that in general the Phase I goal is feasible? Establish 200 storefronts in through 2009 would measure up to almost a store a day. Just from the store perspective - is that feasible? I’ll allocate resources if I need them, but if anyone has good experience on setting something like this up, perhaps you could share your wisdom.

Thanks for staying with me on this first, long post. I hope you’ll have some advice to share to help me get started with this endeavor. It most certainly has me very excited.

- m

 
Magento Community Magento Community
Magento Community
Magento Community
 
freshwebs
Sr. Member
 
Total Posts:  153
Joined:  2008-05-27
Leicestershire, UK
 

Hi,
Phase 2 - I don’t think Mage will enable you to have a single admin UI that different store owners can access to update only their products/orders/customers, etc. Even with multiple stores, I think there is a still a single admin view of all data.

This then points to a single installation of Mage for each client I believe.

Eddie

 
Magento Community Magento Community
Magento Community
Magento Community
 
mirage
Member
 
Avatar
Total Posts:  40
Joined:  2008-06-09
Milwaukee, WI
 

Hi,

Yes, it would appear that way. I really don’t have an objection to multiple magento installations. I’m just thinking that keeping the inventory in sync is going to be troublesome with that scenario. Basically, I’d have to constantly update inventory across 200 sites/stores.

However it’s been said that this fine grained access is possible via customization. So maybe I’ll just have to dig in and figure that out. I do understand that Magento wasn’t necessarily envisioned to be used this way - that stores would be owned by different customers.

Thanks for chiming in though. Seems tough to get good answers in the Magento community.

- m

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top