Skip to main content

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: MissionLogsController
Methods: (locations in mission_facade.py:129-149)

Mission Hierarchy

Controller: MissionHierarchyController Manages parent-child mission relationships:

Change Tracking

Controller: MissionChangeController Tracks all mission modifications:
Change types tracked:
  • 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

  1. Mission Naming: Use descriptive, unique mission IDs
  2. Role Management: Set appropriate default roles for mission security
  3. Change Tracking: Leverage change records for audit trails
  4. Subscriptions: Manage subscriptions to control information flow
  5. Logs: Use mission logs for operational record-keeping