OdooWiki OCA HUB

JSONify Stored

jsonifier_stored folder_open OCA/server-tools open_in_new
Uncategorized License: AGPL-3

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.0

Provides 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.

Depends on

jsonifierbase_sparse_fieldqueue_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-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation 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.0

This 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.

info

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.