RE: [Zope-dev] ZPatterns Design Issue

2001-04-25 Thread Roch'e Compaan

I generally follow this approach for long lists and reports, but the tree
tag is a bit more tricky because you only have a simple data object
without the context that a real object provides.  A real object makes it a
lot simpler if you recursively draw a hierarchy - doing it with simple
data objects requires some thinking but thanks for pointing me in the
right direction.

Roché

 Just return the result directly.  If the data is all from SQL, that's all
 you need to do.  The catch is that you may have to structure your ZClass
 differently to allow it to be returned from an SQL method.

 The simplest thing, though, is to define your application API's so that
 methods which must return multiple objects in this fashion are returning
 sequences of simple data objects which do not provide the full
 semantics
 of the real objects.  In essence, define the API as returning reporting
 data rather than objects.  This is similar to the ZCatalog
 approach which
 returns dumb record objects, but can optionally retrieve the real
 object if
 needed.  It is generally the best approach for report-like
 situations (such
 as use of the tree tag).



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )



RE: [Zope-dev] ZPatterns Design Issue

2001-04-24 Thread Roch'e Compaan

How do you bind a SQL Result with multiple records with multiple instances
of the class?  Can you do this in Skinscript? Or do you mean I should return
the sql result directly?

Roché

 Why don't you just have the rack's getChildrenFor() method return
 instances
 of the correct class, with all the data filled in from the SQL
 method?  There should be no need to re-retrieve the same items with
 getItem().  Note, by the way, that this does not violate encapsulation,
 since the specialist and racks are specifically the place to put
 implementation-specific versions of multi-object methods like this.

 (Btw, if anybody's compiling a ZPatterns FAQ, this should probably get in
 there.)



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://lists.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope )