Skip to main content

Pre-compute and store JSON data on any model

Project description

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

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.

Table of contents

Usage

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.

Known issues / Roadmap

  • Make the jsonified_data field recomputed when: - any of the exported field is modified - the related export is changed (exported fields definition)

  • This module is inspired by connector_search_engine which should be refactored on top of this.

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

  • Camptocamp

Contributors

Maintainers

This module is maintained by the OCA.

Odoo Community Association

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.

Current maintainers:

simahawk mmequignon

This module is part of the OCA/server-tools project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page