Dan Korostelev wrote:
> Log message for revision 96156:
> Please, don't just remove things that could be used in users code.
> U zope.app.component/trunk/CHANGES.txt
> U zope.app.component/trunk/src/zope/app/component/metadirectives.py
> Modified: zope.app.component/trunk/CHANGES.txt
> --- zope.app.component/trunk/CHANGES.txt 2009-02-05 18:07:51 UTC (rev
> +++ zope.app.component/trunk/CHANGES.txt 2009-02-05 18:22:19 UTC (rev
> @@ -5,7 +5,9 @@
> 3.6.1 (unreleased)
> -- ...
> +- Make ``class`` directive schemas importable from old location,
> + raising a deprecation warning. It was moved in the previous release,
> + but some custom directives could possibly use its schemas.
Out of curiosity, *was* it used by custom directives that you know of?
A more philosophical question: are the interfaces used to implement a
directive part of a public API that is reusable or not?
When we moved the directive implementation I arbitrary made the
assumption that it'd be fine to just move them wholesale, but you
clearly don't agree. Besides the interfaces, should the implementation
also have backwards compatibility imports? I guess sometimes reuse by
interface subclassing does happen in directive implementation, but of
course we could declare that such reuse is only intra-package.
In my mind, it's also less risky to move a directive implementation even
if it is reused, as the amount of external reuse is likely rare and is
less likely to be in end-user code. The developers of the code layered
on top of the directive definition would therefore be quite capable of
fixing any breakage quickly.
But of course placing a few imports for backwards compatibility is not a
lot of work and may be the easiest way out of this set of questions. :)
Zope-Dev maillist - Zope-Dev@zope.org
** No cross posts or HTML encoding! **
(Related lists -