Overview
The CoT Manager (COTManager) component is responsible for managing Cursor on Target (CoT) messages within FreeTAKServer. It provides functionality for routing CoT messages and assigning them to specific groups based on business rules and filtering criteria.Architecture
Component Structure
The CoT Manager follows FreeTAKServer’s standard component architecture:Key Classes
COTManagerFacade
The facade class provides the public interface for the CoT Manager component. Location:FreeTAKServer/components/extended/cotmanager/cotmanager_facade.py:9
- Isolates internal component complexity from external callers
- Provides a simple, stable API for CoT management operations
- Routes requests to appropriate controllers
COTManagerGeneralController
Handles the core business logic for CoT message management. Location:FreeTAKServer/components/extended/cotmanager/controllers/cotmanager_general_controller.py:8
Functionality
CoT Message Routing
The CoT Manager handles routing of Cursor on Target messages based on:- Group membership
- User permissions
- Message type and priority
- Geographic filtering
Group Assignment
Theassign_cot_to_group functionality allows CoT messages to be:
- Associated with specific operational groups
- Filtered based on group membership
- Routed to authorized recipients only
Message Serialization
The component supports serialization of CoT messages to various formats:Integration with Services
Service Manager Integration
The CoT Manager integrates with FreeTAKServer’s Service Manager for message processing:Action Mapper Integration
The component uses the action mapper pattern for routing requests:- External actions defined in action mapping configuration
- Internal business logic triggered through action mapper
- Supports both synchronous and asynchronous processing
Usage Examples
Basic CoT Assignment
Custom Message Processing
Configuration
The CoT Manager component is configured through:cotmanager_constants.py- Component-specific constants- Action mapping files - Define routing rules
- Business rules - Filter and assignment logic
Best Practices
- Group Management: Ensure groups are properly configured before assigning CoT messages
- Message Validation: Validate CoT messages before processing to ensure data integrity
- Error Handling: Implement proper error handling for failed assignments
- Logging: Enable appropriate logging levels for debugging message flow
Related Components
- Track Manager - Manages entity tracking
- Mission - Mission planning and management
- Emergency - Emergency alert handling