sexta-feira, 12 de abril de 2013

Configurando o OpenERP para trabalhar com subdominios

O Openerp já foi criado para trabalhar em ambientes multi-tenant ou seja, com várias empresas acessando bancos de dados diferentes, todos compartilhando a mesma aplicação.
Podemos configurar num mesmo servidor vários bancos de dados para várias empresas, e acessar o banco através de um subdominio. Ex:
http://google.openerp.com.br  - Vai acessar a base google
http://microsoft.openerp.com.br  - Vai acessar a base microsoft
http://facebook.openerp.com.br  - Vai acessar a base facebook

São apenas dois simples passos ou um dependendo se o Openerp corrigiu um bug ou não.
Procure em seu arquivo de configuração pela tag dbfilter, se não existir crie-a.

dbfilter = .*   - mude-a para:
dbfilter = ^%d$

Agora você apenas deve configurar em seu servidor de dns os subdominios para apontar para a sua aplicação. Esse parametro irá pegar o subdominio da url, por exemplo "google" e usar para filtrar a lista de banco de dados. Não vai mais aparecer na página inicial a lista de banco de dados.

Caso não funcione, é porque o bug dessa configuração ainda não foi corrigido. Para corrigir é bem simples.
Procure pelo arquivo config.py dentro de server -> openerp -> tools

Procure por:

        group.add_option("--db-filter", dest="dbfilter", default='.*',
                         help="Filter listed database", metavar="REGEXP")

Modifique para :

        group.add_option("--db-filter", dest="dbfilter", my_default='.*',
                         help="Filter listed database", metavar="REGEXP")



Mude default para my_default e pronto.


Agora você já pode configurar vários subdominios.