Ah! Yes. I did not explain very clearly...again. We use SQL because storing lots of data in sessions can be a bit slow (or at least that's what the doc says). The use of containers is not to create new objects everytime someone checks out, but to define the checkout process in general. We will be producing eCommerce sites and we want to give our clients the ability to create and customize the checkout process for their end consumers.

So we define a Checkout container that we add to the site. Then we allow the client to add the steps they want to see in their checkout process. When the end consumer checks out we just step through the each object in the Checkout container. Each Step uses formlib to get checkout data. In otherwords our Checkout container has a view which is a combination of all the steps. This is one of the reasons why I miss the acquisition available in Zope 2. It would be easier to do.

I may reconsider the use of SQL based upon your comments and instead use sessions. It is a lot of extra coding to read and write from a SQL database.


On Jan 20, 2007, at 10:59 AM, Philipp von Weitershausen wrote:

David Johnson wrote:
The best process I've come up with so far is the following:
1. Create a Container that can contain only IStep (which I call IWizard)
2. Create components that are derived from or provide IStep
3. Add the components and sort them according to the order they should be displayed. 4. Create a view on the container that guides the user through the steps.

You don't need to create objects just for the sake of displaying a form. Its also expensive to do this every time somebody puts something in the shopping cart or goes to checkout.

I'd keep the data in sessions; zope.formlib is flexible enough to be customized where its initial data comes from (sessions) and where to put it after form submittal (sessions, SAP, etc.).

See my other reply.


--
http://worldcookery.com -- Professional Zope documentation and training
2nd edition of Web Component Development with Zope 3 is now shipping!

_______________________________________________
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users


_______________________________________________
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users

Reply via email to