Given that different combination of plugins can be enabled, how do we prevent (or at least minimize) issues between them?
I'll give an example: Plugin A's x breaks when Plugin B's y happens in case C. Another example: Plugin A doesn't want x, y, or z to happen from any other plugin in case C. A real example: The Realtime plugin's popup window throws a JavaScript error from Mapstraction because it is trying to do its thing in a place where it shouldn't and it halts something Realtime is trying to do. Obviously a simple fix would be to make sure that Mapstraction only does its thing where it really should. I'd like to think that each plugin should only be responsible for itself, however, the problem in general remains as it is difficult to make sure every plugin is flawless at all times or come into conflict with another for unknown reasons. Edge-case? So, based on that premise, I presume it follows that each plugin may need to have some control over the availability of other plugins (in some situations) or at least be aware of their existence. By 'control', I only mean conflict prevention, and certainly not giving the ability to disable every other plugin or do any potentially dangerous refactoring of other plugin's code. If we want this sort of a control within a plugin (or perhaps from a neutral plugin), how do we go at it? In any case, before taking that route, I'd like to first know if our plugin system has a way to handle these potential conflicts between plugins that I'm overlooking, or if there is an existing approach out there we can adopt? Do you know how MediaWiki or WordPress goes at it? -Sarven _______________________________________________ StatusNet-dev mailing list [email protected] http://lists.status.net/mailman/listinfo/statusnet-dev
