Features

A high-level map of what Odoo Sync provides. Each card links to the relevant guide or reference section.

📦 Content Addressing

Blobs are identified by a content hash (CID). Any node that has pinned a CID can serve it; deduplication is free. Any binary served over the network is only fetched once.

CIDs
🔂 Unique Event Queues

Events targeted at offline nodes are queued until back online. The key (from_peer, seqno) is unique on ip.event. Duplicate payloads are silently discarded at with no extra application logic.

Event (ip.event)
📋 Payload ↔ Record Mapping

A single ip.schema record drives both export (Odoo → JSON) and import (JSON → Odoo). Relations, upserts, defaults, and binary blobs are declared once and work in both directions.

Odoo Schema
☑️ Payload Validation

Payloads validated against a JSON Schema draft-07 definition before import/delivery. Malformed or schema-incompatible payloads are rejected at the network edge.

Data Schema
🚦 Automated Routing

Export mode (instant / batch), import mode (instant / batch), delivery mode (push / pull), and routing mode (broadcast / direct) all configurable per topic.

Delivery
🤖 Managed Infrastructure

Topics auto-create and self-heal their base.automation and ir.cron records. Archiving a topic or its infrastructure deactivates any automated routing.

Auto-managed Infrastructure
🌐 Global Networks

Network swarms can be restricted to select DBs or open for new members to easily join. Transport type is fixed per swarm; multiple swarms can coexist on the same Odoo instance.

Swarm, Node, Peer
🔌 Pluggable Transports

sync_http delivers events with a direct HTTPS POST — no daemon required. sync_kubo routes through a Kubo sidecar for gossip networks and large binary payloads.

Networks
🤝 Open Protocols

Built-in coordination protocols run on top of the same topic infrastructure. The heartbeat / presence protocol flushes pending events the moment a node comes back online.

Protocols
🧩 Pluggable Applications

The framework is application-agnostic. sync_discuss shows the pattern: federated Discuss channels with real-time delivery and content-addressed attachments, built entirely on core primitives.

Applications

Incoming Features

⭐ Trust & Reputation

Each ip.peer carries a trust_level (unknown / trusted / blocked). The gateway enforces it at the network edge before any data touches the database.

Peer Trust Levels
🔐 Cryptographic Identity

Every node has an Ed25519 keypair. Every event is signed by the sender and verified before import. Unsigned or tampered events are rejected at ingestion.

Ed25519 Identity
📑 Static Schema Analysis

The schema AST will be analysed at save time for unreachable paths, conflicting operators, and model-field mismatches — catching mapping errors before the first event is ever sent.

🌱 Version Control & History

Every synced record will carry a full version history in the Odoo chatter. Concurrent edits from different nodes will be detected and surfaced for manual or automatic conflict resolution.