← Back to team overview

openerp-expert-framework team mailing list archive

RFC: Multi-company vs multi-installation

 

Hello, I'd like your opinion on the following:

Currently, we're making some effort to integrate "multi-company" support in the 
OpenERP addons.
This means that we're adding a 'company_id' field in many tables, and 
subsequently extending the rules/clauses/logic to follow this company field.

I'd like to challenge that.
What is the purpose/vision of a multi-company installation? Obviously, one use 
would be to have a unified db instance, which would serve a few "sibling" 
companies.
But: what are the records/models/tables that these companies would have in 
common? Do we have a chart of the things that will be common vs. the ones 
(models) that will be shared? Which ones do have a strict rule on the company, 
as opposed to allowing Null company for all of them?

Second: what are the performance implications of using this company_id field? 
If the rule system have us join one more table, in so many places, wouldn't 
that affect the server's response (considering that many OpenERP installations 
will be for a single company) ? How can we make up for that? Could this code 
turn into a no-op when not needed?

Third (only a remark) is that migration from 5.0 databases may get a little 
hairy, if the company_id is not properly updated (has happened here). Please 
check thoroughly that things work when using an old db.

That said, I would NOT wish to back off from the current multi-company 
development, but just consider an alternative. I still appreciate the effort 
done.

My counter-proposal (which, however, doesn't cancel the multi-company code) 
would be to also put an effort into **B2B** instances of OpenERP.
That is, instead of cramming many companies into the same db, try to have a 
solid framework of inter-operation between OpenERP instances. Let 2 or more 
OpenERP dbs share their data through some communication channel.
I do know that this is not my idea, but has been started and worked upon by 
others, already. Indeed, I support it and propose that it would be an 
alternative to the multi-company case.

B2B links between OpenERP instances (= dbs) would bring a series of advantages 
to OpenERP. It is a scalability solution, for one. It is also an added value 
to the OpenERP project, because it could create a /network effect/ of OpenERP 
installations.

Just make sure b2b works out of the box, with easy installation and minimal 
administration.


My EUR 3M ;)







Follow ups