Dan Korostelev wrote:
> Log message for revision 96156:
>   Please, don't just remove things that could be used in users code.
> Changed:
>   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 
> 96155)
> +++ zope.app.component/trunk/CHANGES.txt      2009-02-05 18:22:19 UTC (rev 
> 96156)
> @@ -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 - 
 http://mail.zope.org/mailman/listinfo/zope )

Reply via email to