In plone, you have the concept of Browserlayer .
Since you can install browser roaming through the generic setting, you can activate / deactivate it on one site.
I would fulfill the condition in the subscriber that checks the installed browser.
Note: Browsers are used on REQUEST with a hook in front of the traverse.
Example function for the subscriber:
from my.package.interfaces import IMyPackageLayer def my_function(obj, event): if IMyPackageLayer.providedBy(obj.REQUEST):
You can register / create a browser in your package as follows:
Create interface.py
from zope.interface import Interface class IMyPackageLayer(Interface): """A layer specific to my package """
Create browserlayer.xml in your package profile
<layers> <layer name="my.package" interface="my.package.interfaces.IMyPackageLayer" /> </layers>
An example web browser is taken from plone.browserlayer readme
source share