diff --git a/ckan/plugins/core.py b/ckan/plugins/core.py index 1fee98a10f3..f2ff584a63f 100644 --- a/ckan/plugins/core.py +++ b/ckan/plugins/core.py @@ -11,7 +11,7 @@ from pyutilib.component.core import SingletonPlugin as _pca_SingletonPlugin from pyutilib.component.core import Plugin as _pca_Plugin -from ckan.plugins.interfaces import IPluginObserver +from ckan.plugins.interfaces import IPluginObserver, IGenshiStreamFilter __all__ = [ 'PluginImplementations', 'implements', @@ -123,6 +123,10 @@ def load(plugin): service.activate() for observer_plugin in observers: observer_plugin.after_load(service) + + if IGenshiStreamFilter in service.__interfaces__: + log.warn("Plugin '%s' is using deprecated interface IGenshiStreamFilter" % plugin) + return service diff --git a/doc/writing-extensions.rst b/doc/writing-extensions.rst index 6dea271e130..0d63f36582f 100644 --- a/doc/writing-extensions.rst +++ b/doc/writing-extensions.rst @@ -141,6 +141,7 @@ Here's a list of some of the more commonly used plugin interfaces: :class:`~ckan.plugins.interfaces.IGenshiStreamFilter` Intercept template rendering to modify the output. +.. warning :: This interface is currently deprecated, use ITemplateHelpers instead. :class:`~ckan.plugins.interfaces.IResourcePreview` Add custom previews. The preview extensions can make use of the resoucre proxy extension, if enabled.