Tres Seaver wrote:
>>>>I really appreciate your effort in all other cases, but in this case I
>>>>think its not a simplification.
>>>At least in case of class/implements it is. I'm merging two directives,
>>>class/implements and five:implements into one.
>>>The case of class/factory is arguable, I admit. However, there I'm just
>>>following the rule of a) defining things in Python and registering them in
>>>ZCML and b) use more basic ZCML directives, less special ones.
> That "rule" is somewhat debatable (the debate seems ongoing).
Well, it's a rule (my rule :)), the question is whether it's one that we
officially want to use ;).
Yep, the debate is ongoing. Unfortunately, I don't have time for the
debate. I need to solve problems. Like, for example, explaining someone
in a book that <utility /> registers a utility, except when you're doing
factories, DAV interfaces, vocabularies, etc. etc. Of course, they're
all looked up the same way, namely with getUtility. Well, that's just great.
> I think we could argue the following equally well: if you find a
> directive unuseful, *just don't use it*. Register *new* directives
> (perhaps in a new namespace, if you want to reuse the names) which do
> your "simpler / cleaner" thing.
Ok. Let's call that the Tres rule :).
I'd just say: Use Python constructs until your unuseful directives
become useful again. I find <utility /> extremely useful.
> Deprecation is not always a reasonable model, given disagreement about
> the value of the simplification.
Deprecation wasn't objected for the other directives (the top-level
ones), so at least for the majority of the directives in question,
deprecation and eventual removal does seem to be a reasonable model.
Zope3-dev mailing list