[Zope-dev] How is 'retrieveItem intended to work with TTW Specialists?

Steve Spicklemire steve@spvi.com
Sat, 30 Sep 2000 08:05:41 -0500 (EST)


Thanks again... it's great that you're willing to entertain
my apparantly twisted use of ZPatterns. ;-)

>>>>> "PJE" == Phillip J Eby <pje@telecommunity.com> writes:

    PJE> To put it another way: design your whitebox specialist how
    PJE> you want it.  Make it complete, but of course some parts will
    PJE> have to be changed if someone wants to use other than your
    PJE> default implementation.  If they want its data to come from
    PJE> somewhere else, they can plug in the SkinScript or do
    PJE> whatever else it takes.

    PJE> So, to sum up...  Stop worrying about delegated retrieval!
    PJE> :) You're stepping into app integrator territory here.
    PJE> ZPatterns was designed to make it easy to make reusable
    PJE> frameworks without hardly trying.  And it was *especially*
    PJE> designed for retrofitting object frameworks over legacy
    PJE> applications and databases.

Hmm... OK I see what you mean. I guess I somehow got the idea that ZPatterns 
worked best when you had two ZPatterns based frameworks that you wanted
to work together *after* they had both been designed. I was looking for a
way to 'hook up' two 'finished' applications. I was trying to avoid creating
a framework that couldn't be easily integrated, by attemting a 'fake' integration
myself. How can I be sure I've got all the TTW stuff organized in a way that
an integrator can change unless I actually set it up and test it that way?
I'd hate to find out later that someone needs to go in and edit my Python
code to make my framework useable.... But.. I think what I'm hearing is that
working out the integration at the Rack level is much better than trying
to delgate retrieval at the Specialist level. I'm not sure where I got the
idea that delegating retrieval at the Specialist level was the 'right' way,
maybe in the Drop Zone example? Anyway... thanks again for your reply. I'll
march happily along now and see what I run into next! ;-) (I'm especially
grateful for your explaination of using a virtual object (non-persistent)
in a Rack. I've not seen that explained so clearly anywhere else.. and I'm
going to use it!

thanks!
-steve