[Zope-Coders] Re: [ANN] Proposed Features for Zope 2.7: OrderedObjectManager
Yuppie
yuppie@zedat.fu-berlin.de
Wed, 04 Dec 2002 22:18:05 +0100
Hi Shane!
Shane Hathaway wrote:
>> That argument makes me reconsider my position. You are right. We need
>> a migration plan. And I have no clear vision for the migration to Zope3.
>>
>> I thought it could work like this: Zope2 Folders will become Zope3
>> OrderedFolders, Zope2 BTreeFolders will become Zope3 Folders.
>
>
> One of the mandates of Zope 3 is that classes be as simple as they can
> be. That means normal folders are currently little more than dictionaries.
>
>> But for a smooth migration there should perhaps be a solution like this:
>>
>> - Adding a new class OrderedFolder (or what ever the name should be)
>> to Zope 2.7 with an API that also will be implemented in Zope3.
>>
>> - Adding a deprecation warning to methods of Zope 2.7 Folders that are
>> not continued in Zope3 Folders.
>> With a message like this: "Method xxx is deprecated for Folders.
>> Please switch to OrderedFolder if you need this method in the long run."
>>
>>
>> What do you think?
>
>
> You would be adding methods that are deprecated before anyone gets to
> use them. What's the sense in that? :-)
Either you didn't get me or I don't understand you and Zope3.
Just to get you right:
This sentence means the added methods will be deprecated because there
will not be something like OrderedFolder in the Zope3 Core or does it
mean a Zope3 OrderedFolder would be very different?
> I am in favor of an OrderedFolder class that people have the option of
> using. It's not necessary that it be in the core, since installing a
> Zope product is very easy.
This Zope3 OrderedFolder class you are in favor of: Will this class in
interface (not implementation) be fundamentally different from a Zope 2
ordered folder like proposed?
I'm confused. So far I thought you were arguing against implementing
OrderedFolder as default folder. But you don't want it in the core, not
as optional folder, not as Interface. Right?
> I suggest that perhaps what you really want to do is refactor
> manage_main in such a way that parts of it can be overridden without
> overriding the whole thing. Perhaps the best way to do that is to
> change it into a page template and fill it with "metal:define-macro"
> attributes. It would be a little difficult, but might simplify
> OrderedFolder, ExternalEditor, FolderFilter, BTreeFolder2, and other
> products that want to tweak the folder contents listing.
I'm not sure I want to do that ;)
Cheers,
Yuppie