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.
Roles del sistema
| Rol | Acciones disponibles |
|---|---|
| Administrador / Secretaría | Configurar jornada, ejecutar auto-programación, gestionar parrilla, resolver peticiones, ver auditoría, editar plantillas de correo. |
| Ponente / Autor | Ver su horario en "Mi Programación", declarar indisponibilidades, ver estado de sus peticiones. |
| Asistente registrado | Ver el programa público, guardar favoritos, valorar sesiones. |
| Componente | Versión mínima | Notas |
|---|---|---|
| WordPress | 6.0 | — |
| PHP | 7.4 | Se recomienda 8.1+ |
| AOS Palace Core | Cualquiera activa | Obligatorio. Sin él el plugin se desactiva automáticamente. |
| AOS Paper | Opcional | Necesario para programar artículos científicos. Sin él, solo se pueden programar Actividades manuales. |
| Edición activa | — | Debe 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.
- 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.
- Sube e instala AOS Program
Ve a Plugins → Añadir nuevo → Subir plugin, selecciona el archivo
.zipde AOS Program y haz clic en Instalar ahora. - 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.
- 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.
- 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.
- 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.
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ón | Descripción | Por defecto |
|---|---|---|
| Duración estándar de ponencia | Minutos asignados a cada paper sin duración específica. | 20 min |
| Número de Salas en Paralelo | Cuántas salas simultáneas hay en el congreso. Mínimo 1. | 1 |
| Nombre de cada sala | Si se dejan en blanco se muestran como "Sala 1", "Sala 2"… | — |
| Estado del Programa | Borrador o Definitivo. Ver sección Estado del Programa. | Borrador |
| Peticiones de Indisponibilidad | Checkbox global para habilitar o deshabilitar el formulario de peticiones. | Desactivado |
| Mostrar Resúmenes | Si 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.
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.
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.
Al pasar a estado Definitivo, los autores ya no podrán enviar nuevas peticiones. Puedes volver a Borrador en cualquier momento si necesitas reabrirlas.
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
- Ve a AOS Program → Parrilla
La columna "Sin asignar" muestra todos los papers pendientes a la izquierda.
- Haz clic en "Programar Automáticamente"
Puedes elegir si limpiar la parrilla existente o solo completar los huecos libres.
- Revisa el resultado
El sistema muestra cuántos artículos se programaron, cuántos se saltaron y si hubo errores.
- Ajusta manualmente si es necesario
Usa el drag & drop para mover ponencias que no quedaron en el lugar óptimo.
approved que no tienen slot asignado en la edición activa.pending y conflict_placed. Si el slot cae en una franja declarada como no disponible, lo descarta.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.
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ón | Cómo hacerlo | Validació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 slots | Arrastra 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 parrilla | Botón "×" en la tarjeta, o arrastrarla de vuelta a "Sin asignar". | — |
| Tipo | Descripción | Comportamiento |
|---|---|---|
| Conflicto de autor | El mismo autor está programado en dos ponencias simultáneas o solapadas. | Celda en rojo. El movimiento se bloquea. |
| Conflicto de indisponibilidad | Se 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.
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.
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.
| Dato | Origen |
|---|---|
| Título | post_title |
| Resumen / Abstract | post_content |
| Área temática | Taxonomía aos_paper_thematic |
| Autores y coautores | Tabla aos_paper_authors |
| Duración específica | Meta _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.
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.
- Ve a AOS Program → Actividades → Añadir nueva
O usa el menú de WordPress si tienes acceso directo al CPT.
- Rellena los metadatos
Campos clave:
_duration(minutos),_activity_type(keynote, taller, pausa…),_location_id(sala) y_speakers(IDs de usuarios ponentes). - 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).
Estados de una petición
Desde v1.5.0 el admin puede cambiar libremente entre cualquier estado desde la tabla de peticiones, sin restricciones de transición.
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.
También puedes mostrar "Mi Programación" de forma aislada con el shortcode [aos_my_schedule] en cualquier página.
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.
[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.
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.
[name][paper_title][start][end][room][site_name][name][paper_title][slots][author_msg][site_name][name][author_email][paper_title][slots][author_msg][site_name][name][paper_title][status][admin_msg][profile_url][site_name][name][paper_title][status][admin_msg][profile_url][site_name]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.
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.
| Evento | Cuándo ocurre |
|---|---|
| slot_assigned | Al asignar un slot (auto o manual) |
| slot_moved | Al mover una ponencia a otro slot |
| slot_deleted | Al eliminar una ponencia de la parrilla |
| auto_scheduled | Al completar la programación automática |
| request_submitted | Al recibir una petición de indisponibilidad |
| request_resolved | Al marcar una petición como resuelta |
| request_conflict | Al detectar conflicto con petición |
| fav_added / fav_removed | Al 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.
[aos_program] — Parrilla pública del programa
[aos_program]| Atributo | Valores | Descripción |
|---|---|---|
view | full | compact | full: parrilla completa. compact: lista con solo hora y título. |
status | draft | final | Fuerza 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"]| Estado | Etiqueta en frontend | Comportamiento |
|---|---|---|
| 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.
| Término | Definición |
|---|---|
| Slot | Unidad de tiempo asignada a una ponencia: combinación de fecha, hora de inicio, hora de fin y sala. |
| Bloque activo | Franja horaria programable dentro de la jornada. Las ponencias solo se asignan aquí. |
| Bloque de exclusión | Franja no programable: comidas, inauguraciones, coffee breaks. El motor auto-programación los salta. |
| Parrilla | Vista de cuadrícula con todos los slots del congreso organizados por día y sala. |
| Paper / Artículo | Comunicación científica enviada y aprobada a través de AOS Paper. |
| Actividad | Evento no-paper (keynote, taller, pausa…) creado directamente como CPT aos_activity. |
| Conflicto de autor | Situación en la que el mismo autor está programado en dos ponencias simultáneas o solapadas. |
| Petición de indisponibilidad | Solicitud de un ponente para informar franjas en las que no puede presentar. |
| Swap | Intercambio de slots entre dos ponencias sin generar nuevos conflictos. |
| is_global | Flag de actividad que la hace ocupar visualmente todas las salas simultáneamente. |
| AuditLog | Registro automático de todos los eventos de programación. Solo lectura. |
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.