connector_importer
Provide a configurable framework to import and update Odoo records from external sources through the connector job queue.
Key Features
- import.backend: Supports cron scheduling, debug-mode execution, and automatic cleanup of excess recordsets before launching imports.
- import.backend: Blocks deletion while jobs are active and can clone a master recordset before running all configured imports.
- import.type: Lets administrators describe multi-model import pipelines in YAML, including component options and job queue behavior.
- import.recordset: Aggregates import sessions that chunk source data into records, launch importer jobs, track job states, and render HTML summaries.
- import.recordset: Can trigger server actions after each importer or the full run when created or updated data is present.
- import.record: Stores chunked source payloads as attachments, decides between synchronous or queued execution, and dispatches each configured importer.
- import.source: Defines a source abstraction with chunk sizing, configuration summaries, and optional access to specialized reporters.
- import.source.consumer.mixin: Allows models to bind to configurable sources, display summaries, and open source configuration forms.
- import.source.csv: Reads CSV input from uploads or filesystem paths, auto-detects delimiter and quote settings, and exposes example files for download.
- tracking.handler: Collects created, updated, skipped, and errored entries per chunk while logging contextual messages for each line.
- importer.record: Initializes record handlers and trackers, enforces unique keys, handles translation extraction, and logs per-line outcomes.
- importer.record.csv.std: Uses the standard load() method to import datasets atomically, collecting tracker data and mapping load errors back to source lines.
- importer.mapper.auto: Automatically maps source keys to destination fields while omitting internal metadata entries.
- importer.mapper.dynamic: Dynamically maps source keys to model fields using whitelists, prefixes, converters, and automatic defaults.
- importer.odoorecord.handler: Finds or creates records with configurable domains or xmlids, applies field overrides, manages translations, and generates xmlids when needed.
- cron.mixin: Automatically maintains an associated scheduled action based on the host model’s interval settings.
- job.related.mixin: Links records to queue jobs, exposes state helpers, and prevents deletions while processing is unfinished.
- utils.import: Supplies CSV helpers for encoding detection, dialect guessing, and chunk generation to support diverse sources.
- utils.mapper: Provides converters for dates, numbers, booleans, external id sanitization, and relational lookups used by mappers.
- utils.misc: Retrieves importer components with contextual options and sanitizes external identifiers for consistent xmlid management.