Files
dtic-DIIAA/docs/ambito/dtic-DIGIs/P2603.01_Automatizacion_Zoom.md
T

2.9 KiB

Plan: Automatización Flujo Zoom a YouTube

Grupo de Trabajo: DIGIs (Digitalización y Contenidos)

Código: P2603.01
Fecha: 31 de marzo de 2026
Autor: Sistema ADN
Versión: 1.0
Estado: 📝 PLANIFICADO

📋 Resumen Ejecutivo

El objetivo es automatizar un proceso repetitivo que actualmente requiere un alto esfuerzo manual y tiempo de espera ("toil"): descargar grabaciones de aulas y posgrados de Zoom a partir de enlaces en una Google Sheet, procesarlas localmente, subirlas en modo oculto al canal interno de YouTube, y finalmente notificar o retornar los enlaces a la planilla para los destinatarios.

Al automatizar este flujo utilizando el ecosistema ADN (CLI de herramientas Ruby), la intervención manual se reducirá idealmente a la ejecución de un solo comando (zoom:sync o similar).

🎯 Objetivo

Desarrollar una herramienta nativa ADN que englobe estas etapas clave:

  1. Conectarse a Google Sheets para leer nuevas filas pendientes (sin ID-YTB).
  2. Gestionar la descarga robusta (wget/curl con sanitización estricta de espacios y nombres) al entorno delimitado temp/.
  3. Interconectar con la YouTube Data API v3 para subir los videos directamente, dejándolos No Listados ("Unlisted").
  4. Devolver las URLs post-subida a la planilla y despachar las notificaciones necesarias.

📅 Fases de Implementación Orientativas

FASE 1: Integración Source (Google Sheets & Descarga)

  • 1.1: Habilitar Google Sheets API. Guardar la credencial de Service Account cifrada usando candados.
  • 1.2: Crear módulo Ruby (adn/tools/cli/digis.rb) para extraer columnas IDReu, urlDOWN, y TIT.
  • 1.3: Descargar archivos de manera concurrente al directorio de trabajo optimizando transferencia y sanitizando las salidas de los nombres de archivos.

FASE 2: Extracción local (si aplica según webhook)

  • 2.1: Detectar dinámicamente si Zoom retorna un mp4 o requiere un unpack/descompresión (en el caso de recursos vinculados a chat txt y grabaciones juntas).

FASE 3: Upload a YouTube

  • 3.1: Habilitar y configurar YouTube Data API v3 usando OAuth2 en la cuenta destino.
  • 3.2: Mecanismo de subida asíncrona mediante Ruby, empujando chunks grandes de video con protección contra cortes, nombrando el archivo según TIT y ajustando la privacidad.

FASE 4: Notificación final y actualización

  • 4.1: Almacenar de retorno el enlace definitivo en la columna ID-YTB de la planilla.
  • 4.2: Desarrollar rutina para generar correos preformateados o alertas para los organizadores, confirmándoles los enlaces limpios.

🛠 Requisitos para Ecosistema ADN

  • Integración en ./adn/tools/run digis zoom:sync
  • Todo el manejo temporal de GBs debe apuntar a la carpeta limpia temp/ pero preferiblemente limpiar al concluir (cleanup ensure).
  • Los tokens API irán guardados de forma imperativa dentro de la bóveda de Candados.