[Zope-dev] Z Classes hangup.

jhauser@ifm.uni-kiel.de jhauser@ifm.uni-kiel.de
Tue, 11 May 1999 18:21:18 +0200 (CEST)


Don't know much about ZClasses, but can't this be solved to have an
empty property in the ZClass and set this when an new doc_a (doc_a2)
is put into an instance. index_html can then look for the value of the
property (doc_a2) or render doc_a. Just a workaround, as I think it
should be possible to do this like in the aquisition case.

__Janko

Jeff K.Hoffman writes:
 > Hello,
 > 
 > I recently posted a message on the Zope list asking a very important (to us)
 > question about Z Classes, and haven't received a response, so I thought I
 > would try zope-dev instead.
 > 
 > I need to be able to create the following setup:
 > 
 > Z Class:
 > + MyBaseClass (inherits ObjectManager, isFolderish)
 >   Methods:
 >   - index_html (DTML Method)
 >   - doc_a (DTML Method)
 >   - doc_b (DTML Method)
 > 
 > where index_html is:
 > 
 > <!--#var doc_a-->
 > <!--#var doc_b-->
 > 
 > and doc_a is:
 > 
 > This is Base Document A.
 > 
 > and doc_b is:
 > 
 > This is Base Document B.
 > 
 > Now, when I make the following (in Zope Management interface):
 > 
 > + / (Root Folder)
 >   - MyBaseClassInstance (MyBaseClass)
 > 
 > I can browse to http://localhost/MyBaseClassInstance/index_html and see:
 > 
 > This is Base Document A.
 > This is Base Document B.
 > 
 > So far so good. Now, here's where I am having problems. I need to override
 > doc_a in the INSTANCE ONLY, like:
 > 
 > + / (Root Folder)
 >   + MyBaseClassInstance (MyBaseClass)
 >     - doc_a (DTML Method)
 > 
 > where doc_a is:
 > 
 > This is Instance Document A.
 > 
 > such that navigating to http://localhost/MyBaseClassInstance/index_html
 > yields:
 > 
 > This is Instance Document A.
 > This is Base Document B.
 > 
 > When I try to drop doc_a (DTML Method) in MyBaseClassInstance I get a "Bad
 > Request" message, telling me the id doc_a is already in use. :( 
 > 
 > I don't want to have to make a new Z Class, and I don't want to mess with
 > index_html or doc_b at all (though I may, in another instance, want to change
 > index_html to reverse the order of doc_a and doc_b, or just redefine doc_b
 > instead, etc. Each instance will be unique. Changing the base class should
 > change all instances, except those which have overloaded the changed aspect.
 > As I understand it, Z Classes already do this just fine.)
 > 
 > Making a new Z Class works, but I'll end up with 300 (NOT an exageration) Z
 > Classes, and my Zope Management UI will be quite ugly (plus, it will require
 > all of our web developers to work in Control Panel all the time, which isn't
 > the usual way of doing things.)
 > 
 > I tried being a bad boy and patching the source such that _checkId's allow_dup
 > parameter defaulted to 1, but it didn't do as I thought it would. I shouldn't
 > be messing around in there, anyways, since I'm not very familiar with Zope's
 > internals, yet.
 > 
 > If only I can get this to work, my company will be using Zope on two MAJOR
 > deals we just got. I can't mention names, now, but I promise DC would benefit
 > from the press involved once the projects are complete. 
 > 
 > This is the only hitch in our gitty-up at the moment. How frustrating to be
 > sooo close. :^) HEEELP! :^)
 > 
 > Thanks,
 > 
 > --jkh
 > 
 > ____________________________________________________________________
 > Get free e-mail and a permanent address at http://www.netaddress.com/?N=1
 > 
 > _______________________________________________
 > Zope-Dev maillist  -  Zope-Dev@zope.org
 > http://www.zope.org/mailman/listinfo/zope-dev
 > 
 > (For non-developer, user-level issues, use the companion list,
 > zope@zope.org, http://www.zope.org/mailman/listinfo/zope )