This module provides a mixin to help storing JSON data.
The idea is that you can pre-compute some data so that the system does not have to compute it every time it is asked, for instance, by an external service.
Inspired by the machinery in connector_search_engine (which ideally should be refactored on jsonifier_stored) and by a first experiment for v12 done here https://github.com/OCA/server-tools/pull/1926.
auto_awesome What this module does
AI-generated from the code · Odoo 14.0Provides a reusable building block that lets other Odoo modules pre-compute and store JSON data on any model, so external services can read it instantly without recalculating.
This module adds a technical mixin (a reusable component) called jsonifier.stored.mixin that other modules can inherit to store pre-computed JSON data on their records. It does not add menus or screens for end users; it works behind the scenes.
On any model using the mixin, a stored jsonified_data field is filled automatically from an export definition (ir.exports). A read-only jsonified_display field shows the same data as nicely formatted text, and ir_export_id shows which export definition is used.
Business rules and automation:
- Data is computed in the background using queue jobs, grouped by language and export definition, so large volumes do not slow down the user interface.
- A scheduled action named "JSONify stored - Recompute data for all models" can regenerate the JSON for all models using the mixin. It is shipped inactive, and the code recommends creating your own cron for each model.
- If a model has a language field (lang_id), the computation is split per language.
- If no export definition is found for a record, its JSON data is cleared and an error is logged.
The module touches ir.exports, res.lang, queue job channels and functions, and adds a database column for the stored JSON. It depends on jsonifier, base_sparse_field and queue_job.
Models and fields (1)
- jsonifier.stored.mixin · new modelir_export_id, jsonified_display
Text generated by AI (DeepSeek) from reading the Odoo 14.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 1 confirmed, 8 with no information of 9 versions.
Sources · Odoo 14.0
Confirmed on 2026-11-03 in branch 14.0 of OCA/server-tools.
terminal Installation and usage
OCA documentation · Odoo 14.0Usage
Source · Odoo 14.0This is a technical module, hence you should take care of extending your models w/ jsonifier.stored.mixin.
Your module should also provide a base_jsonify compatible exporter by overriding _jsonify_get_exporter.
The cron "JSONify stored - Recompute data for all models" will recompute data for all inheriting models.
Computations is delegated to queue jobs and by default each job will compute 5 records. You can tweak this by passing chunk_size to cron_update_json_data_for.
If your model has a lang field, before jobs are created, records will be grouped by language.
NOTE: if the model is already existing in your DB is recommended to use jsonifier_stored.hooks.add_jsonifier_column function to prevent Odoo to compute all data when you update your module.
No verified information in OCA: Installation, Configuration.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.