Crear una operación
El formulario de creación vive en /operations/new y se renderiza como una sola página larga con desplazamiento —
no es un asistente por pasos. Cada panel recuadrado es una sección. Rellena lo que aplique y pulsa Crear
operación al final; el documento se escribe en missions/{id} al enviar y el
router navega a /operations/{id}.
El enlace Volver a operaciones (arriba a la izquierda) descarta el formulario en memoria. No hay autoguardado de borrador.
Sección 1 — Organización
Se muestra solo si tu cuenta pertenece a más de una org. Selecciona el orgId almacenado
en la misión y por defecto usa tu org activa. El texto de ayuda indica que la elección
limita el acceso de lectura: los miembros de otras orgs no verán esta operación en su lista.
Sección 2 — Identidad de la misión
- Nombre de misión — obligatorio, mín. 2 caracteres. Etiqueta legible por humanos.
- Nombre en clave — obligatorio, mín. 2 caracteres. Se muestra bajo el nombre en el hero de detalle y se usa en las insignias de indicativo.
- Descripción — párrafo de briefing de texto libre, almacenado en
mission.description.
Sección 3 — Clasificación y prioridad
- Tipo de misión —
sar,recon,surveillance,combat,humanitarian,training,escort,logistics,other. Determina el icono del hero de la página de detalle. - Estado — estado del pipeline de planificación:
planning | ready | active | completed | aborted. - Clasificación —
UNCLASSIFIED | RESTRICTED | CONFIDENTIAL | SECRET | TOP SECRET. - Prioridad —
LOW | MEDIUM | HIGH | CRITICAL.
Sección 4 — Programación
- Fecha de inicio (obligatoria) — milis de época en
mission.startOn. - Fecha de fin (opcional) —
mission.finishedOn, 0 si está vacía. - PTT semidúplex — cuando está activado, el tile de comms fuerza un-locutor-a-la-vez en la pista de audio TACLINK. Déjalo desactivado para voz full-duplex.
Sección 5 — Mando y control
- UID del comandante — UID de asset (no email) del oficial al mando. Se muestra en la tarjeta Oficial al mando de la página de detalle.
- POI principal — etiqueta corta para el punto de interés principal.
- Notas de HQ / OPORD — briefing u orden de operaciones, renderizado literal en el detalle.
- Etiquetas — separadas por comas, normalizadas a
string[]al guardar.
Sección 6 — Objetivos, ROE, Plan de comms
Tres secciones de listas dinámicas con un botón Añadir cada una.
- Objetivos de la misión — cada uno tiene una prioridad (
primary | secondary | tertiary) y texto.completedsiempre es false al crear. - Reglas de enfrentamiento — lista numerada de reglas en texto libre.
- Plan de comunicaciones — una tarjeta por canal (
name,frequency,encryption,callsign,notes).
Sección 7 — CAS
El panel de configuración CAS está incrustado en línea. Los valores por defecto son sensatos para un equipo sUAS mixto; expande solo para ajustar o relajar los buffers.
Sección 8 — Difuminado de privacidad
Postprocesamiento para vídeo grabado, almacenado como mission.privacyBlur:
- Difuminar caras — difumina las caras detectadas en las copias grabadas.
- Difuminar matrículas de vehículos — lo mismo, para matrículas.
Los originales se preservan; se producen copias redactadas para compartir.
Sección 9 — Área de operaciones
Un Google Map con tema oscuro. Desplaza y haz zoom para encuadrar tu AO — los límites actuales del mapa
se capturan en mission.region.northeast / southwest al enviar. Los polígonos, flags y
zonas de vuelo se dibujan posteriormente dentro de la consola en vivo, no aquí.
Sección 10 — Personal
Tres sub-secciones, todas alimentando un assetIds[] deduplicado al guardar:
- Equipos globales — añadir un equipo incorpora a todos sus miembros.
- Operativos individuales — búsqueda por email/nombre/indicativo en la org activa.
- Organizaciones — añadir una org completa incorpora su roster activo (carga perezosa).
Los roles no se asignan aquí — los operadores llevan su rol a nivel de org a la operación.
Sección 11 — Multimedia de la misión
Fotos y vídeos que viajan con el briefing. Los archivos se suben a S3 en
missions/media/{missionId}/photos/{mediaId} o .../videos/{mediaId} durante el envío;
el s3Key se escribe de vuelta en cada registro de media.
Envío
Crear operación valida, sube multimedia, escribe el documento de misión y enruta a
/operations/{id}. Los fallos de campos obligatorios muestran un banner de error rojo. Después de la creación,
cada miembro activo de la organización recibe una notificación operation_created best-effort.
Consejos
- No hay autoguardado de borrador.
- Para montar una operación similar, usa Duplicar desde la lista de operaciones — copia la misión más cada subcolección.
- UID del comandante es un UID de asset (no un email). Encuéntralo en Admin → Activos.
- Las programaciones recurrentes no están soportadas — programa solo eventos únicos.
- Todo en la operación corre sobre TACLINK.