📚 Documentación oficial

AOS Program
Manual de Usuario

Gestor completo del programa y agenda de congresos. Programación automática, control de conflictos, peticiones de ponentes y publicación de la parrilla en tiempo real.

v1.5.0 AOS Palace Core requerido WordPress 6.0+ PHP 7.4+
🗺
Visión General
Qué hace AOS Program y cómo encaja en el ecosistema

AOS Program es el módulo de gestión de programa y agenda del ecosistema AOS Palace. Permite al equipo organizador construir la parrilla de ponencias de un congreso de forma automática o manual, publicarla en el sitio web y gestionar todas las interacciones con los ponentes: confirmación de horario, declaración de indisponibilidades y valoración de sesiones.

🤖
Programación automática
El motor asigna artículos aprobados a slots respetando salas, horarios y disponibilidad de autores.
Drag & Drop manual
Mueve y reordena ponencias en la parrilla visual con validación de conflictos en tiempo real.
🙋
Peticiones de ponentes
Los autores informan sus franjas de indisponibilidad; el sistema las respeta y alerta en caso de conflicto.
❤️
Favoritos y Mi Agenda
Los asistentes guardan sesiones de interés y ven su agenda personalizada en el perfil.
Valoraciones
Sistema de 5 estrellas con comentario para cada actividad, accesible mediante shortcode.
📧
Emails automáticos
5 plantillas editables que notifican a autores y secretaría en cada evento relevante.

Roles del sistema

RolAcciones disponibles
Administrador / SecretaríaConfigurar jornada, ejecutar auto-programación, gestionar parrilla, resolver peticiones, ver auditoría, editar plantillas de correo.
Ponente / AutorVer su horario en "Mi Programación", declarar indisponibilidades, ver estado de sus peticiones.
Asistente registradoVer el programa público, guardar favoritos, valorar sesiones.
📋
Requisitos
Dependencias necesarias antes de instalar
ComponenteVersión mínimaNotas
WordPress6.0
PHP7.4Se recomienda 8.1+
AOS Palace CoreCualquiera activaObligatorio. Sin él el plugin se desactiva automáticamente.
AOS PaperOpcionalNecesario para programar artículos científicos. Sin él, solo se pueden programar Actividades manuales.
Edición activaDebe existir una edición activa en AOS Palace con fechas de inicio y fin definidas.
ℹ️

AOS Program verifica la presencia de AOS Palace Core al cargar. Si no lo detecta, muestra un aviso en el panel de WordPress y no inicializa sus módulos.

Instalación y Activación
Pasos iniciales para poner en marcha el plugin
  1. Verifica que AOS Palace Core está activo

    Ve a Plugins → Plugins instalados y comprueba que AOS Palace Core aparece activo. Sin él, AOS Program no puede funcionar.

  2. Sube e instala AOS Program

    Ve a Plugins → Añadir nuevo → Subir plugin, selecciona el archivo .zip de AOS Program y haz clic en Instalar ahora.

  3. Actívalo e introduce la licencia

    Activa el plugin. Aparecerá AOS Program en el menú lateral del admin. Ve a AOS Program → Ajustes → Licencia e introduce tu clave de licencia.

  4. Crea una edición activa en AOS Palace

    En AOS Palace → Ediciones, asegúrate de tener una edición publicada y activa con las fechas del congreso correctamente definidas.

  5. Configura la jornada

    Ve a AOS Program → Ajustes → Jornada y define la duración de los slots, el número de salas y los bloques horarios del día.

  6. Verifica el email de secretaría

    En AOS Program → Ajustes → Correos, introduce el email que recibirá las notificaciones de peticiones de ponentes.

Una vez completados estos pasos, ya puedes ejecutar la Programación Automática o empezar a asignar ponencias manualmente desde la Parrilla.

⚙️
Configuración de Jornada y Salas
AOS Program → Ajustes → Jornada

Esta pestaña es el núcleo de la configuración. Aquí defines cómo está organizado cada día del congreso: cuántas ponencias caben en paralelo, cuánto duran y en qué franjas horarias tienen lugar.

OpciónDescripciónPor defecto
Duración estándar de ponenciaMinutos asignados a cada paper sin duración específica.20 min
Número de Salas en ParaleloCuántas salas simultáneas hay en el congreso. Mínimo 1.1
Nombre de cada salaSi se dejan en blanco se muestran como "Sala 1", "Sala 2"…
Estado del ProgramaBorrador o Definitivo. Ver sección Estado del Programa.Borrador
Peticiones de IndisponibilidadCheckbox global para habilitar o deshabilitar el formulario de peticiones.Desactivado
Mostrar ResúmenesSi está activo, el resumen del artículo se muestra en las tarjetas de la parrilla pública.Desactivado
⚠️

Si configuras 0 salas, tanto la programación automática como la asignación manual devolverán un error. Asegúrate de tener al menos 1 sala.

🕐
Estructura de Jornada (Bloques Horarios)
Definir los tramos programables y las pausas del día

La estructura de jornada define cómo se divide cada día del congreso en franjas horarias. Se compone de bloques ordenados que el sistema lee de arriba a abajo.

🟢
Bloque Activo
Franja programable. El motor auto-programación asigna ponencias dentro de este rango.
🔴
Bloque de Exclusión
Franja no programable (comidas, inauguración, café…). No se asignan ponencias aquí.

Gestión de bloques

  • Añadir bloque: Botón "+ Añadir al final" en la cabecera de la sección.
  • Insertar entre bloques: Botón + en cada bloque para insertar uno inmediatamente después.
  • Reordenar: Arrastra el icono ☰ de cada bloque para cambiar el orden.
  • Eliminar: Botón × en cada bloque. Debe quedar al menos un bloque.
💡

La parrilla pública solo muestra las horas entre el inicio del primer bloque activo y el fin del último, ocultando horas muertas.

📌
Estado del Programa
Borrador vs. Definitivo — control de publicación
📋 Borrador
Los ponentes pueden enviar peticiones de indisponibilidad. La parrilla puede estar en proceso de ajuste. Se muestra "Programa Provisional".
✅ Definitivo
Las peticiones quedan bloqueadas. El programa es público y estable. Se muestra "Programa Definitivo".
⚠️

Al pasar a estado Definitivo, los autores ya no podrán enviar nuevas peticiones. Puedes volver a Borrador en cualquier momento si necesitas reabrirlas.

🤖
Programación Automática
El motor asigna todos los artículos aprobados con un clic

Con un solo clic, el sistema toma todos los artículos aprobados (de AOS Paper) no programados aún y los distribuye en los slots disponibles, respetando salas, horarios, disponibilidad de autores e indisponibilidades declaradas.

Cómo ejecutarla

  1. Ve a AOS Program → Parrilla

    La columna "Sin asignar" muestra todos los papers pendientes a la izquierda.

  2. Haz clic en "Programar Automáticamente"

    Puedes elegir si limpiar la parrilla existente o solo completar los huecos libres.

  3. Revisa el resultado

    El sistema muestra cuántos artículos se programaron, cuántos se saltaron y si hubo errores.

  4. Ajusta manualmente si es necesario

    Usa el drag & drop para mover ponencias que no quedaron en el lugar óptimo.

1
Carga artículos aprobados no programados
Lee de AOS Paper todos los posts con estado approved que no tienen slot asignado en la edición activa.
2
Genera la secuencia de slots disponibles
Para cada día recorre los bloques activos generando slots de duración estándar × número de salas. Los bloques de exclusión se saltan automáticamente.
3
Verifica disponibilidad del autor
Para cada slot candidato comprueba que ningún autor ya esté programado en ese rango horario.
4
Verifica indisponibilidades declaradas
Consulta las peticiones en estado pending y conflict_placed. Si el slot cae en una franja declarada como no disponible, lo descarta.
5
Asigna y notifica
Guarda el slot en BD, marca el paper como programado, registra en el log de auditoría y envía email de confirmación al autor principal.
🚫

Requisito previo: Debes tener al menos 1 sala configurada y bloques horarios activos definidos. Si falta alguno de estos elementos, la programación automática devuelve un error sin programar nada.

Programación Manual (Drag & Drop)
Control total sobre cada ponencia con validación en tiempo real

La parrilla visual permite mover cualquier elemento de forma manual. Cada movimiento valida automáticamente conflictos de autor e indisponibilidades antes de confirmar el cambio.

AcciónCómo hacerloValidación
Asignar desde "Sin asignar"Arrastra una tarjeta de la columna izquierda a cualquier celda de la parrilla.Conflicto de autor + indisponibilidad. Si hay colisión, la celda se muestra en rojo y no se confirma el movimiento.
Mover entre slotsArrastra una tarjeta ya asignada a otra celda.Si hay conflicto de indisponibilidad, el movimiento se permite pero devuelve warning: true con aviso visible.
Eliminar de la parrillaBotón "×" en la tarjeta, o arrastrarla de vuelta a "Sin asignar".
⚠️
Gestión de Conflictos
Superposiciones de autores e indisponibilidades
TipoDescripciónComportamiento
Conflicto de autorEl mismo autor está programado en dos ponencias simultáneas o solapadas.Celda en rojo. El movimiento se bloquea.
Conflicto de indisponibilidadSe programa una ponencia en una franja declarada como no disponible por el autor.Se permite pero devuelve warning: true. Petición pasa a conflict_placed y se notifica al autor.
💡

Para ver un resumen de todos los conflictos actuales, consulta AOS Program → Ajustes → Auditoría, donde se registran todos los eventos tipo request_conflict.

🔄
Intercambios Inteligentes (Swap)
Resolución de conflictos en parrillas llenas

Cuando la parrilla está llena y hay un conflicto que no se puede resolver moviendo a un espacio libre, el sistema puede sugerir intercambios: dos ponencias que pueden intercambiar sus slots sin generar nuevos conflictos.

Condiciones para un swap válido

  • Misma duración: Las dos ponencias deben ocupar el mismo número de minutos.
  • Autor A libre en slot B y autor B libre en slot A.
  • Sin indisponibilidades cruzadas al hacer el intercambio.
📄
Artículos Científicos (Papers)
Integración con AOS Paper

AOS Program lee automáticamente los artículos aprobados desde AOS Paper. No es necesario importar ni duplicar datos: el módulo de integración consulta directamente el CPT aos_paper.

DatoOrigen
Títulopost_title
Resumen / Abstractpost_content
Área temáticaTaxonomía aos_paper_thematic
Autores y coautoresTabla aos_paper_authors
Duración específicaMeta _duration (si no existe, se usa la duración estándar configurada)
⚠️

Solo los papers con estado aprobado (aos_paper_status = approved) aparecen en la parrilla de AOS Program.

🎯
Actividades Manuales
Keynotes, talleres, coffee breaks y otros eventos del programa

Puedes añadir al programa cualquier tipo de actividad no-paper: inauguraciones, conferencias plenarias, talleres, coffee breaks, actos de clausura, etc. Se crean como entradas del CPT aos_activity.

  1. Ve a AOS Program → Actividades → Añadir nueva

    O usa el menú de WordPress si tienes acceso directo al CPT.

  2. Rellena los metadatos

    Campos clave: _duration (minutos), _activity_type (keynote, taller, pausa…), _location_id (sala) y _speakers (IDs de usuarios ponentes).

  3. Publica la actividad

    Aparecerá en la columna "Sin asignar" de la parrilla junto con los papers.

Las actividades con is_global = true ocupan visualmente todas las salas a la vez (ej. un coffee break común a todo el congreso).

🙋
Peticiones de Indisponibilidad
Los ponentes informan cuándo no pueden presentar
📝
El ponente envía su petición
Desde "Mi Programación", selecciona las franjas problemáticas y añade un mensaje opcional. Solo disponible en estado Borrador con la opción habilitada.
📧
Notificaciones automáticas
El autor recibe confirmación por email. La secretaría recibe aviso de nueva petición.
👀
La secretaría revisa en AOS Program → Peticiones
Ve todas las peticiones de la edición activa con estado, mensaje del autor y franjas declaradas.
⚖️
La secretaría actúa
Puede cambiar el estado a cualquiera de los cuatro disponibles. Puede añadir un mensaje de respuesta.
📬
El autor recibe la respuesta
Email automático con el nuevo estado y el mensaje del organizador.

Estados de una petición

⏳ pending
Recibida, pendiente de revisión. El sistema tiene en cuenta esta franja en la programación.
✅ resolved
La secretaría ha confirmado que el horario es compatible.
⚠️ conflict
La ponencia ha sido asignada en una franja declarada no disponible. El autor ha sido notificado.
🔵 conflict_placed
Ponencia en horario no disponible, pendiente de resolución definitiva.
ℹ️

Desde v1.5.0 el admin puede cambiar libremente entre cualquier estado desde la tabla de peticiones, sin restricciones de transición.

👤
Mi Programación
Vista personal del ponente / asistente en su perfil

La pestaña "Mi Programación" se inyecta automáticamente en el perfil de usuario del shortcode [aos_user_profile] de AOS Palace. No requiere configuración adicional.

📄
Mis ponencias
Papers donde el usuario es autor o coautor, con fecha, hora y sala asignadas.
❤️
Mis favoritos
Sesiones marcadas como favoritas. Muestran su slot cuando son programadas.
🙋
Mis peticiones
Historial de peticiones de indisponibilidad con estado actualizado y mensaje de la secretaría.
💡

También puedes mostrar "Mi Programación" de forma aislada con el shortcode [aos_my_schedule] en cualquier página.

❤️
Sistema de Favoritos
Los asistentes construyen su agenda personalizada

Cualquier usuario registrado puede marcar sesiones como favoritas desde el programa público. Los favoritos se guardan en el meta _aos_fav del usuario y están disponibles en "Mi Programación".

  • Pulsar ♡ en el programa añade la sesión a favoritos y el icono pasa a ♥.
  • Pulsar ♥ elimina el favorito. El cambio se guarda vía AJAX sin recargar la página.
  • Los favoritos cuya sesión aún no está programada aparecen con la etiqueta "Sin programar". Cuando se les asigne un slot, la tarjeta mostrará automáticamente la fecha y hora.
Valoraciones de Actividades
Feedback de los asistentes con 1–5 estrellas y comentario
[aos_activity_rating activity_id="123"]

Sustituye 123 por el ID del post de la actividad o paper que quieres valorar.

  • Solo usuarios registrados pueden valorar.
  • Cada usuario puede modificar su valoración cuantas veces quiera (sistema de upsert).
  • El widget muestra la media de valoraciones y el número total de participantes.
  • Las valoraciones se guardan en la tabla aos_prog_ratings.
📧
Plantillas de Correo Electrónico
AOS Program → Ajustes → Correos

AOS Program envía emails automáticos en cinco situaciones. El asunto y el cuerpo de cada email son completamente editables desde el panel de administración.

Todos los emails enviados quedan registrados en el meta _aos_email_logs del usuario, visible en la pestaña "Comunicaciones Enviadas" de su ficha CRM en AOS Palace.

📊
Registro de Auditoría
AOS Program → Ajustes → Auditoría

El sistema de auditoría registra automáticamente todos los eventos significativos del ciclo de programación. Es de solo lectura y sirve como trazabilidad completa de quién hizo qué y cuándo.

EventoCuándo ocurre
slot_assignedAl asignar un slot (auto o manual)
slot_movedAl mover una ponencia a otro slot
slot_deletedAl eliminar una ponencia de la parrilla
auto_scheduledAl completar la programación automática
request_submittedAl recibir una petición de indisponibilidad
request_resolvedAl marcar una petición como resuelta
request_conflictAl detectar conflicto con petición
fav_added / fav_removedAl añadir o eliminar un favorito
ℹ️

El log muestra los últimos 300 eventos de la edición activa. Los eventos más antiguos están disponibles en la tabla aos_prog_audit_log de la base de datos.

🔧
Shortcodes Disponibles
Incrusta el programa y las funcionalidades en cualquier página

[aos_program] — Parrilla pública del programa

[aos_program]
AtributoValoresDescripción
viewfull | compactfull: parrilla completa. compact: lista con solo hora y título.
statusdraft | finalFuerza la visualización de un estado concreto, ignorando el estado configurado.

[aos_availability_request] — Modal de indisponibilidad

[aos_availability_request item_id="123"]

[aos_my_schedule] — Mi programación (standalone)

[aos_my_schedule]

[aos_activity_rating] — Widget de valoración

[aos_activity_rating activity_id="123"]
🌐
Vista Pública del Programa
Cómo se presenta a los asistentes del congreso
EstadoEtiqueta en frontendComportamiento
Borrador"Programa Provisional"La parrilla es visible pero el usuario sabe que puede cambiar. Favoritos y Mi Programación activos.
Definitivo"Programa Definitivo"Programa estable. Formularios de indisponibilidad bloqueados.

Usa [aos_program view="compact"] para mostrar el programa en formato lista, ideal para páginas de resumen o widgets de barra lateral.

📖
Glosario
Términos utilizados en el plugin y este manual
TérminoDefinición
SlotUnidad de tiempo asignada a una ponencia: combinación de fecha, hora de inicio, hora de fin y sala.
Bloque activoFranja horaria programable dentro de la jornada. Las ponencias solo se asignan aquí.
Bloque de exclusiónFranja no programable: comidas, inauguraciones, coffee breaks. El motor auto-programación los salta.
ParrillaVista de cuadrícula con todos los slots del congreso organizados por día y sala.
Paper / ArtículoComunicación científica enviada y aprobada a través de AOS Paper.
ActividadEvento no-paper (keynote, taller, pausa…) creado directamente como CPT aos_activity.
Conflicto de autorSituación en la que el mismo autor está programado en dos ponencias simultáneas o solapadas.
Petición de indisponibilidadSolicitud de un ponente para informar franjas en las que no puede presentar.
SwapIntercambio de slots entre dos ponencias sin generar nuevos conflictos.
is_globalFlag de actividad que la hace ocupar visualmente todas las salas simultáneamente.
AuditLogRegistro automático de todos los eventos de programación. Solo lectura.
Preguntas Frecuentes
Respuestas a los problemas más comunes

La programación automática no hace nada

Verifica que: (1) tienes al menos 1 sala configurada, (2) hay bloques activos con horario de inicio y fin, (3) las fechas de la edición activa son correctas, (4) existen artículos con estado aprobado en AOS Paper.

El favorito se añade pero no aparece en "Mi Programación"

Este problema fue corregido en v1.4.0. Si persiste, comprueba si hay errores de conexión en la consola del navegador (F12).

El email de secretaría no llega

Ve a Ajustes → Correos y verifica que el campo "Email de Secretaría Técnica" tiene un valor válido. Si está vacío, el sistema usa el admin_email de WordPress.

Los ponentes no ven el botón de indisponibilidad

Tres causas posibles: (1) el checkbox "Peticiones de Indisponibilidad" está desactivado en Ajustes, (2) el programa está en estado Definitivo, o (3) el usuario no está logueado.

Un artículo no aparece en la parrilla aunque está aprobado

AOS Program solo muestra artículos de la edición activa. Comprueba que el artículo fue enviado y vinculado correctamente a la edición activa del congreso. Si la licencia de AOS Program está en modo trial, el número de artículos visibles puede estar limitado.

¿Puedo usar AOS Program sin AOS Paper?

Sí, pero solo podrás programar Actividades manuales (aos_activity). AOS Paper es necesario para gestionar artículos científicos con revisión por pares.