Please enable JavaScript to view this site.

Made in EU
Odoo Forums

Navigation: Schema: res > Tables

config_installer

Config Installer

Catalog: Odoo

Schema: res

Documentation:

New-style configuration base specialized for addons selection

and installation.

 

Basic usage

-----------

 

Subclasses can simply define a number of boolean fields. The field names

should be the names of the addons to install (when selected). Upon action

execution, selected boolean fields (and those only) will be interpreted as

addons to install, and batch-installed.

 

Additional addons

-----------------

 

It is also possible to require the installation of an additional

addon set when a specific preset of addons has been marked for

installation (in the basic usage only, additionals can't depend on

one another).

 

These additionals are defined through the ``_install_if``

property. This property is a mapping of a collection of addons (by

name) to a collection of addons (by name) [#]_, and if all the *key*

addons are selected for installation, then the *value* ones will

be selected as well. For example::

 

_install_if = {

('sale','crm'): ['sale_crm'],

}

 

This will install the ``sale_crm`` addon if and only if both the

``sale`` and ``crm`` addons are selected for installation.

 

You can define as many additionals as you wish, and additionals

can overlap in key and value. For instance::

 

_install_if = {

('sale','crm'): ['sale_crm'],

('sale','project'): ['sale_service'],

}

 

will install both ``sale_crm`` and ``sale_service`` if all of

``sale``, ``crm`` and ``project`` are selected for installation.

 

Hook methods

------------

 

Subclasses might also need to express dependencies more complex

than that provided by additionals. In this case, it's possible to

define methods of the form ``_if_%(name)s`` where ``name`` is the

name of a boolean field. If the field is selected, then the

corresponding module will be marked for installation *and* the

hook method will be executed.

 

Hook methods take the usual set of parameters (cr, uid, ids,

context) and can return a collection of additional addons to

install (if they return anything, otherwise they should not return

anything, though returning any "falsy" value such as None or an

empty collection will have the same effect).

 

Complete control

----------------

 

The last hook is to simply overload the ``modules_to_install``

method, which implements all the mechanisms above. This method

takes the usual set of parameters (cr, uid, ids, context) and

returns a ``set`` of addons to install (addons selected by the

above methods minus addons from the *basic* set which are already

installed) [#]_ so an overloader can simply manipulate the ``set``

returned by ``ResConfigInstaller.modules_to_install`` to add or

remove addons.

 

Skipping the installer

----------------------

 

Unless it is removed from the view, installers have a *skip*

button which invokes ``action_skip`` (and the ``cancel`` hook from

``res.config``). Hooks and additionals *are not run* when skipping

installation, even for already installed addons.

 

Again, setup your hooks accordingly.

 

.. [#] note that since a mapping key needs to be hashable, it's

possible to use a tuple or a frozenset, but not a list or a

regular set

 

.. [#] because the already-installed modules are only pruned at

the very end of ``modules_to_install``, additionals and

hooks depending on them *are guaranteed to execute*. Setup

your hooks accordingly.

 

The data in this table is partitioned per value of the column.

This is a read-only table. The Odoo API may not support changing the data or the Invantive SQL driver for Odoo does not cover it. In the latter case, please use the table NativePlatformScalarRequests to upload data to the Odoo API.

Table Columns

The columns of the table config_installer are shown below. Each column has an SQL data type.

Name

Data Type

Label

Required

Documentation

create_date

datetime

Created on

 

create_uid_label

string

 

 

create_uid

string

 

 

display_name

string

Display Name

 

id

int32

ID

 

write_date

datetime

Last Updated on

 

write_uid_label

string

 

 

write_uid

string

 

 

 

01-03-2023 15:29 Version 22.1.135-BETA+3826

X

Important Safety and Usage Information

Intended Use and Limitations: This software, developed by Invantive, is designed to support a variety of business and information technology data processing functions, such as accounting, financial reporting an sales reporting. It is important to note that this software is not designed, tested, or approved for use in environments where malfunction or failure could lead to life-threatening situations or severe physical or environmental damage. This includes, but is not limited to:

  • Nuclear facilities: The software should not be used for operations or functions related to the control, maintenance, or operation of nuclear facilities.
  • Defense and Military Applications: This software is not suitable for use in defense-related applications, including but not limited to weaponry control, military strategy planning, or any other aspects of national defense.
  • Aviation: The software is not intended for use in the operation, navigation, or communication systems of any aircraft or air traffic control environments.
  • Healthcare and Medicine Production: This software should not be utilized for medical device operation, patient data analysis for critical health decisions, pharmaceutical production, or medical research where its failure or malfunction could impact patient health.
  • Chemical and Hazardous Material Handling: This software is not intended for the management, control, or operational aspects of chemical plants or hazardous material handling facilities. Any malfunction in software used in these settings could result in dangerous chemical spills, explosions, or environmental disasters.
  • Transportation and Traffic Control Systems: The software should not be used for the control, operation, or management of transportation systems, including railway signal controls, subway systems, or traffic light management. Malfunctions in such critical systems could lead to severe accidents and endanger public safety.
  • Energy Grid and Utility Control Systems: This software is not designed for the control or operation of energy grid systems, including electrical substations, renewable energy control systems, or water utility control systems. The failure of software in these areas could lead to significant power outages, water supply disruptions, or other public utility failures, potentially endangering communities and causing extensive damage.
  • Other High-Risk Environments: Any other critical infrastructure and environments where a failure of the software could result in significant harm to individuals or the environment.

User Responsibility: Users must ensure that they understand the intended use of the software and refrain from deploying it in any setting that falls outside of its designed purpose. It is the responsibility of the user to assess the suitability of the software for their intended application, especially in any scenarios that might pose a risk to life, health, or the environment.

Disclaimer of Liability: Invantive disclaims any responsibility for damage, injury, or legal consequences resulting from the use or misuse of this software in prohibited or unintended applications.

  
Disclaimer