This question has been flagged

I'm trying to install database with default values to recreate always the same environment. For example: French Chart of account already configured, some modules already installed and a lot of options like manage pricelists, manage warehouses checked....

Because its very boring when I create a fresh new database to check all needed checkboxes, and re-install all the modules I need.

Avatar
Discard

If there was a way to purge transaction and master file data, I believe that would do what you are looking for. That way you could take and existing company, and use it as a template for other setups. I have seen other systems that do this, and I found it extremely helpful. Is that what you are look

Great! But how can we set a many2one value?


<function model="ir.values" name="set_default">

<value>res.partner</value>

<value>country_id</value>

<value ref='base.pt'/>

</function>


will cause an error

Best Answer

You can create a module that configures the system as you need using XML files. I do not think creating a backup of a database and using it as a template is a good option as it will get out-of-date when modules are updated.

In the module's __openerp__.py, You may add required default modules to 'depends': []. Also, you can set 'auto_install': True to have this module installed for all new databases.

Here is a an example that sets some defaults:

<?xml version="1.0" encoding="utf-8"?>
<openerp><data>
  <!-- Activate Technical Features for Admin -->
  <record id="base.user_root" model="res.users">
    <field name="groups_id" eval="[(4, ref('base.group_no_one'))]"/>
  </record>

  <!-- Some configuration settings -->
  <record id="base.group_user" model="res.groups">
    <field name="implied_ids" eval="[(4, ref('base.group_multi_currency')),
                                     (4, ref('product.group_sale_pricelist')),
                                     (4, ref('product.group_purchase_pricelist')),
                                     (4, ref('product.group_uom')),
                                     (4, ref('stock.group_production_lot')),
                                     (4, ref('stock.group_inventory_valuation')),
                                     (4, ref('sale_stock.group_invoice_deli_orders')),
                                     (4, ref('analytic.group_analytic_accounting')),
                                     (4, ref('sale.group_analytic_accounting')),
                                     (4, ref('purchase.group_analytic_accounting'))]"/>
  </record>

  <!-- Set sales and purchase invoice based on picking by default -->
  <function model="ir.values" name="set_default">
    <value>purchase.order</value>
    <value>invoice_method</value>
    <value>picking</value>
  </function>
  <function model="ir.values" name="set_default">
    <value>sale.order</value>
    <value>order_policy</value>
    <value>picking</value>
  </function>
</data></openerp>
Avatar
Discard

have to give it a try.

Author

Thank you, it works like i wanted to.

Hy, I'm sorry but I don't understand the structure you use for setting default values. You use many times the <value> tag and in the model you only have onece.

'auto_install': True wont install it automatically with each new database. It means the module will install itself automatically when all its dependencies are satisfied.

Hello Mohammad! Thank you very much for the explanation! Very helpfull! Would you mind to add an example to your XML File that shows how we can set configuration variables like: stock.config.settings -> group_stock_packaging to true also? Would be very nice and completes the example ;)

Sorry - it is already there i simply overlooked it :)

Best Answer

Personnaly, this ressource seems to be also an excellent one : http://anybox.fr/blog/openerp-7-how-to-load-a-language-from-a-module It explains how to deal with transient models

Avatar
Discard
Best Answer

I'm not sure if my answer is even close, but I'll give it a shot..

On the log-in page, there is a Manage Databases link and when the link opens, there is a Backup Menu on the left pane. I think this could be one way to backup the database. However, I was never actually able to use that feature, because I always have the error "Access Denied" but maybe, it might work for you.

The other alternative is to install pgadmin, right click the database and click backup.. as described on this old thread: http://forum.openerp.com/forum/topic27824.html

Avatar
Discard

When you finished installing and configuring same modules it's important to create a backup of the database. After, you can go back to it in case of problem.

@Abner Galeno Jr. did you give the proper super admin password (default 'admin') ?

yes, i used the default admin password 'admin'. I can drop the databases using the password 'admin' but cant backup using the same password. I have read version 6.xx has this bug too, although it should have been solved already. A fresh openerp server running on a virtual machine behaves the same.

Author

@Abner Galeno Jr. Maybe the pg_dump command from Postgresql is not installed.

I just ran a backup using pgadmin 3 and pgdump seems to be working fine. The command it generated is C:\Program Files\pgAdmin III\1.16\pgdump.exe --host localhost --port 5432 ...

Best Answer

I have V7.0 on VMPlayer and did some basic settings. In Win7 I made a copy of the Virtual Machine and renamed it. When I need the template copy I start it from VMPlayer and in OpenERP click on settings-updates and than on the button "Update All" in the upper right corner, which updates all modules. You can also make a copy as a backup.

Avatar
Discard