BREAKING CHANGE: Legacy API key system (sync.api.key) completely removed
Major Features:
- Complete bidirectional synchronization system between Odoo instances
- Legacy API key system removal and migration to built-in Odoo API keys
- Full protocol support: XML-RPC, JSON-RPC, and OdooRPC with API token authentication
- Bidirectional project sync with assign/receive wizard system
- Auto-sync wizard for intelligent field selection
- Comprehensive test suite for sync workflows
Detailed Changes:
odoo_to_odoo_sync (base module):
- Removed legacy sync.api.key and sync.api.key.log models entirely
- Added sync_project and sync_project_config_wizard models
- Enhanced sync_instance with proper Odoo 18 API key format support
- Added protocol selection (XML-RPC, JSON-RPC, OdooRPC) with API token auth
- Implemented comprehensive authentication with debug logging
- Added test_sync_workflow.py for complete workflow testing
- Updated security access rules for new models
- Enhanced error handling and state management
odoo_to_odoo_bemade (server module):
- Created OdooToBemadeInstance model for enhanced instance management
- Added assign project wizard for server-side project distribution
- Implemented project key and API token generation system
- Added automatic sync model creation for projects and tasks
- Enhanced sync_instance with bidirectional sync capabilities
- Updated views and security access for new functionality
- Removed legacy API key references and views
odoo_to_odoo_bemade_customer (client module):
- Added project model with Bemade sync flags (is_bemade_project, bemade_project_key)
- Created receive project wizard for client-side project acquisition
- Implemented multi-protocol support (XML-RPC, JSON-RPC, OdooRPC)
- Added project sync validation and configuration system
- Enhanced security access rules for client operations
- Updated views for project management interface
Authentication & Protocol Support:
- Fixed Odoo 18 API key format: {'scope': 'rpc', 'key': api_token}
- Added comprehensive debug logging for authentication flow
- Enhanced error handling with detailed state management
- Maintained backward compatibility with fallback attempts
- Updated all protocol implementations (XML-RPC, JSON-RPC, OdooRPC)
Testing & Validation:
- Added complete test suite for bidirectional sync workflow
- Implemented comprehensive authentication testing
- Added protocol-specific test cases
- Enhanced error state validation
UI/UX Improvements:
- Added intuitive wizards for project assign/receive operations
- Implemented auto-sync wizard with field selection modes (Full, Required, Balanced)
- Enhanced form views with radio button selections
- Added descriptive text and user guidance
Security:
- Updated security access rules for all new models
- Enhanced authentication token handling
- Added proper model access controls
Migration Notes:
- Legacy API key system completely removed - no migration path needed
- Uses built-in Odoo API key functionality
- All existing configurations remain compatible
Files Added/Modified:
- Multiple new model files for project sync functionality
- Wizard implementations for user workflows
- Enhanced test coverage
- Updated security rules and access controls
- New view definitions for UI components
|
||
|---|---|---|
| .. | ||
| controllers | ||
| data | ||
| models | ||
| security | ||
| static/description | ||
| views | ||
| wizards | ||
| __init__.py | ||
| __manifest__.py | ||
| README.md | ||
Odoo to Odoo Bemade
Overview
The odoo_to_odoo_bemade module extends the core synchronization framework to provide a universal connector for Bemade's Odoo instances. It adds advanced features specifically designed for Bemade's synchronization requirements, including enhanced logging, project integration, and specialized connection handling.
Features
- Advanced Connection Management: Support for multiple connection types and authentication methods
- Project Integration: Links synchronization configurations with Odoo projects
- Enhanced Logging System:
- Multiple log levels (DEBUG, INFO, WARNING, ERROR)
- Sensitive data masking for security
- Long-term retention policy with AWS S3 Glacier archiving
- Performance-optimized database indexing
- Improved Field Mapping: More sophisticated field mapping capabilities
- Administrator Interface: Advanced tools for monitoring and troubleshooting
Technical Enhancements
Advanced Logging
The module implements a comprehensive logging system with:
- Log Levels: Categorize logs by severity (DEBUG, INFO, WARNING, ERROR)
- Data Security: Automatic masking of sensitive information (passwords, API keys, tokens)
- Retention Policy:
- 90 days of logs kept in the database
- Older logs archived to AWS S3 Glacier Deep Archive with 7-year retention
- Detailed Context: Capture full payloads, diffs, and metadata for troubleshooting
Connection Types
Supports multiple connection methods:
- XML-RPC: Standard Odoo API connection
- OdooRPC: Using the OdooRPC library for enhanced functionality
- REST API: For connecting to REST-enabled Odoo instances
- Custom Protocols: Extensible architecture for additional protocols
Project Integration
- Link synchronization configurations to specific projects
- Track synchronization activities within project context
- Provide project-specific dashboards and reports
Configuration
Setting Up Bemade Instances
- Navigate to Synchronization > Configuration > Bemade Instances
- Create a new instance with:
- Connection details (URL, database, credentials)
- Connection type selection
- Advanced options for timeout, retry, etc.
- Test the connection using the "Test Connection" button
Configuring Synchronization Models
- Navigate to Synchronization > Configuration > Bemade Models
- Create or select models for synchronization
- Configure detailed field mappings
- Set synchronization rules and triggers
Monitoring and Management
- View comprehensive logs in Synchronization > Bemade Logs
- Monitor queue status in Synchronization > Bemade Queue
- Link synchronization activities to projects
Technical Notes
- Built on top of
odoo_to_odoo_synccore framework - Implements enhanced security features for sensitive data
- Provides optimized performance for large-scale synchronization
- Includes AWS S3 integration for long-term log archiving
Requirements
- Odoo 18.0
odoo_to_odoo_syncmoduleprojectmodule- Optional: boto3 Python library for AWS S3 integration
License
LGPL-3.0