Overview
The Mission component provides comprehensive mission planning and management capabilities for FreeTAKServer. It enables users to create missions, manage mission content, track changes, handle subscriptions, and collaborate with team members through a TAK-compatible mission management system.Architecture
Component Structure
Key Classes
Mission Facade
Location:FreeTAKServer/components/extended/mission/mission_facade.py:24
MissionGeneralController
Location:FreeTAKServer/components/extended/mission/controllers/mission_general_controller.py:41
Handles core mission operations including creation, retrieval, and content management.
Core Functionality
Mission Management
Creating Missions
Method:put_mission()Location:
mission_general_controller.py:72
Retrieving Missions
Methods:get_missions()- Get all public missions (location:mission_general_controller.py:191)get_mission(mission_id)- Get specific mission (location:mission_general_controller.py:206)
Mission Content
Adding Content
Method:add_contents_to_mission()Location:
mission_general_controller.py:215
Supports adding:
- CoT messages
- Data packages
- External data links
- Files and documents
Mission Subscriptions
Controller:MissionSubscriptionController
Mission Logs
Controller:MissionLogsControllerMethods: (locations in
mission_facade.py:129-149)
Mission Hierarchy
Controller:MissionHierarchyController
Manages parent-child mission relationships:
Change Tracking
Controller:MissionChangeController
Tracks all mission modifications:
- Mission creation
- Content uploads
- Content deletions
- Subscription changes
- External data additions
Mission CoT Integration
Controller:MissionCOTController
Mission Invitations
Controller:MissionInvitationController
Data Models
Mission Model
Location:FreeTAKServer/components/extended/mission/persistence/mission.py:17
Notifications
Controller:MissionNotificationController
Sends CoT notifications for mission events:
Integration with Services
Enterprise Sync Integration
Missions integrate with Enterprise Sync for content storage:Service Manager Integration
Mission notifications are routed through the Service Manager to connected clients.API Examples
Complete Mission Workflow
Best Practices
- Mission Naming: Use descriptive, unique mission IDs
- Role Management: Set appropriate default roles for mission security
- Change Tracking: Leverage change records for audit trails
- Subscriptions: Manage subscriptions to control information flow
- Logs: Use mission logs for operational record-keeping
Related Components
- ExCheck - Checklist management for missions
- Enterprise Sync - Content storage and synchronization
- Emergency - Emergency alerts in mission context