He reconstruido con éxito mi instancia de Discourse ![]()
El plugin oficial discourse-calendar de Discourse ya admite la exportación de .ics, lo cual es extremadamente útil para compartir eventos de Discourse externamente. Sin embargo, muchas comunidades —especialmente en educación, gobierno o empresas— dependen de fuentes de iCal externas para publicar información de eventos (por ejemplo, de Moodle, Office365, Google Calendar o plataformas CMS institucionales).
Actualmente, no hay una forma integrada de importar o sincronizar desde fuentes .ics. Esto limita el uso de Discourse como un verdadero centro de calendario para las comunidades que ya publican horarios importantes en otros lugares.
Propuesta de Funcionalidad
Añadir sincronización de fuentes iCal (importación desde URLs .ics) al plugin Discourse Calendar.
Funcionalidades Principales
- Configurar una URL de fuente
.icspara una categoría o tema habilitado para calendario. - Importar eventos automáticamente al calendario, coincidiendo con la fuente
.ics. - Especificar un intervalo de sincronización (por ejemplo, cada hora, diario) o permitir un botón manual de “Sincronizar ahora”.
- Utilizar el campo UID del evento para evitar duplicados y actualizar eventos modificados de forma limpia.
Configuraciones Opcionales
- Etiquetar o marcar los eventos importados para mostrar su origen externo.
- Elegir entre:
- Sincronización unidireccional (externo → Discourse solamente),
- o sincronización bidireccional (editar eventos sincronizados dentro de Discourse y que los cambios se reflejen de vuelta — alcance futuro).
- Soporte para múltiples fuentes
.icspor calendario, fusionadas en una sola vista. - Indicación visual de que un evento está sincronizado externamente (por ejemplo, “Sincronizado desde: outlook.university.edu”).
Casos de Uso
| Sector | Caso de Uso de Ejemplo |
|---|---|
| Educación | Rellenar automáticamente foros de estudiantes con fechas de trimestre, horarios de cursos, exámenes, etc. |
| Gobierno | Sincronizar eventos oficiales desde el CMS o intranet a un calendario comunitario público |
| Empresas | Reflejar calendarios de reuniones internas (desde Outlook o Google Calendar) |
| Foros de eventos | Integrar listas de ponentes o horarios de sesiones de proveedores externos |
Seguridad y Privacidad
- Las fuentes de calendario podrían admitir acceso público o tokenizado (por ejemplo, URL que contiene un token secreto).
- El soporte para OAuth2 / Basic Auth podría ser una mejora futura.
Relacionado
discourse-calendar- La exportación
.icsya está soportada — ¡un gran precedente! - Necesidad similar discutida en hilos antiguos, por ejemplo, aquí
Compatibilidad
Esta funcionalidad no requeriría discourse-events (ahora obsoleto), y funcionaría de forma nativa con la sintaxis existente de Discourse Calendar ([calendar] y [event]). Los usuarios aún podrían crear eventos nativos de Discourse manualmente — la sincronización iCal simplemente aumentaría estos calendarios.
Me encantaría saber si esta funcionalidad ya está en el roadmap — o si otros en la comunidad la encontrarían valiosa.
¡Gracias!