Server Environment Autocreate
Add ability to auto create records
Server Environment Autocreate
This module adds a way to create automaticaly records using server_environment server.env.mixin.
Table of contents
Use Cases / Context
Modules that uses server_environment server.env.mixin need to be created manually in the database. This module avoid that needs by adding a way to autocreate records.
Configuration
This module does not need any configuration in Odoo.
The configuration is made in either server_environment_files, the environment variable or the configuration file as described in server_environment.
On top of the fields available when defining a record inheriting server.env.mixin, it is possible to add __autocreate = {}. The value is a dictionary that will be passed when the record is created. This allows setting required field values that are not made available. The values are only used once, when the object is created. Changes are not used.
To continue the example provided by server_environment, to have this module create the record for storage_backend.my_sftp, the file would look like:
# These variables are not odoo standard variables, # they are there to represent what your file could look like export WORKERS='8' export MAX_CRON_THREADS='1' export LOG_LEVEL=info export LOG_HANDLER=":INFO" export DB_MAXCONN=5 # server environment options export SERVER_ENV_CONFIG=" [storage_backend.my_sftp] __autocreate={} sftp_server=10.10.10.10 sftp_login=foo sftp_port=22200 directory_path=Odoo "
Another example, using a value in the creation dictionnary, when using fs_storage module, the name of the storage is required so the configuration would look like:
[fs_storage.my_sftp] __autocreate = {"name": "My SFTP"} protocol=sftp options={"host": "10.10.10.10", "username": "foo", "password": "xxxxxxxxx"}
When the module creates such a record, it will add an xml id in the form __server_environment_autocreate__.<section name with space replaced by ->.
When the module is removed, the created record are kept. They can be found by searching the xmlid for the pseudo module __server_environment_autocreate__.
If the creation fails with an exception, or if the values dictionary is incorrect, this will prevent the loading of the registry. This is intended, so that odoo does not start without the intended configuration.
Usage
This module does not impact the user interface.
Known issues / Roadmap
- This module does not guarantee that any model record can be created, extra steps might be needed.
- If a created record is not referenced in the configuration anymore, it is not removed.
Bug Tracker
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
Credits
Authors
- XCG Consulting
Contributors
- XCG Consulting, part of Orbeet:
- Vincent Hatakeyama <vincent.hatakeyama@orbeet.io>
Maintainers
This module is maintained by the OCA.

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
This module is part of the OCA/server-env project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Once the user has seen at least one product this snippet will be visible.