- Added comprehensive README files for all three sync modules - Implemented advanced logging system with multiple log levels (DEBUG, INFO, WARNING, ERROR) - Added automatic sensitive data masking for security in log payloads - Implemented log retention policy (90 days local, 7 years in AWS S3 Glacier) - Added AWS S3 integration for long-term log archiving - Fixed validation error with bemade_instance_id in sync model creation - Refactored model inheritance structure from _inherit to _inherits for proper delegation - Fixed duplicate sync model prevention logic - Restored Test Connection button in instance view - Fixed connection test logging to properly record success/failure - Fixed queue creation for connection test logs - Removed unnecessary Synchronized Module tab from odoo_to_odoo_bemade - Added database indexing on create_date for performance optimization - Fixed foreign key constraint violations in field mappings creation - Enhanced error handling throughout the synchronization process |
||
|---|---|---|
| .. | ||
| data | ||
| models | ||
| security | ||
| static/description | ||
| utils | ||
| views | ||
| __init__.py | ||
| __manifest__.py | ||
| README.md | ||
| Spécifications.md | ||
Odoo to Odoo Sync
Overview
The odoo_to_odoo_sync module provides a robust foundation for bidirectional synchronization between Odoo instances. It serves as the core framework upon which more specialized synchronization modules are built.
Features
- Multi-Instance Support: Connect and synchronize with multiple Odoo instances simultaneously
- Asynchronous Synchronization: Queue-based architecture ensures reliable data transfer without blocking operations
- Conflict Management: Built-in conflict detection and resolution mechanisms
- Error Handling: Comprehensive logging and error recovery systems
- Monitoring Tools: Dashboard for monitoring synchronization status and performance
Technical Architecture
Core Components
- Sync Instance: Manages connection details and authentication for external Odoo instances
- Sync Model: Defines which models should be synchronized and their mapping configuration
- Sync Queue: Handles the asynchronous processing of synchronization operations
- Sync Log: Records all synchronization activities for auditing and troubleshooting
- Sync Conflict: Manages detected conflicts and provides resolution mechanisms
- Sync Manager: Orchestrates the entire synchronization process
Synchronization Process
- Changes are detected through model observers
- Sync operations are queued for processing
- Queue processor executes operations asynchronously
- Results are logged and conflicts are identified
- Administrators can monitor and resolve issues through the interface
Configuration
Setting Up Instances
- Navigate to Synchronization > Configuration > Instances
- Create a new instance with connection details:
- URL
- Database
- Username/API Key
- Password/API Secret
- Test the connection before proceeding
Configuring Models for Synchronization
- Navigate to Synchronization > Configuration > Models
- Create a new sync model:
- Select the Odoo model to synchronize
- Choose the target instance
- Configure field mappings
- Set synchronization direction (bidirectional, push, or pull)
Monitoring and Management
- View synchronization status in Synchronization > Dashboard
- Check logs in Synchronization > Logs
- Resolve conflicts in Synchronization > Conflicts
Technical Notes
- Built on a queue-based architecture for reliability
- Uses Odoo's ORM hooks for change detection
- Implements proper error handling and retry mechanisms
- Provides extension points for specialized synchronization modules
Requirements
- Odoo 18.0
- Network connectivity between Odoo instances
- Appropriate API access rights on both instances
License
LGPL-3.0