Sometimes, you have 2 modules acting on the same view but which can act interdependently.
And when one of those modules start to redefine completely the view or mode commonly delete an element of the view, there are some trouble in compatibility.
However, in most case you could find a way to install both without issue.
But then you push the dangerous update button of one module and not the other or try a base update, and there everything is stuck because of some issue like, the module B cannot find the attribute of the field X because module A removed it. But if you had installed the module A before the module B it would work.
How can we settle this kind of issue to make more compatibility between modules?
Is there a way to make sure a view of a module is loaded before the other? Moreover is there a way to check if an other module is installed and if so do some different behaviors?
Setting in __openerp__.py
a module as a dependency is not a solution as it would force its install and we don't want that to happen.