[Zope-dev] SVN: zope.app.component/trunk/ Please, don't just remove things that could be used in users code.

Martijn Faassen faassen at startifact.com
Thu Feb 5 14:55:23 EST 2009


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. :)

Regards,

Martijn




More information about the Zope-Dev mailing list