Calendario y eventos de Discourse

:discourse2: Resumen Discourse Calendar and Events añade funciones de calendario y eventos dinámicos e interactivos a tu sitio de Discourse.
:open_book: Guía de instalación Este plugin viene incluido en el núcleo de Discourse. No es necesario instalar el plugin por separado.

Habilitar Calendario y Eventos

El plugin Calendario y Eventos se puede habilitar mediante el interruptor o desde sus ajustes, ambos accesibles desde tu página admin/plugins:

Características

Como era de esperar, Discourse Calendar and Events añade tanto las funciones de calendario como de eventos a tu sitio de Discourse. Con ellas, puedes crear calendarios de temas individuales para seguir ocasiones importantes o cronogramas, mostrar calendarios en categorías, añadir un calendario de vacaciones para marcar días libres, ausencias o bajas por enfermedad, crear temas de eventos interactivos, así como mostrar un resumen de calendario de fácil acceso de todos tus eventos próximos.

Calendarios

Se pueden crear calendarios personalizados en múltiples temas, y aquellos que desees darles mayor visibilidad se pueden mostrar encima de la lista de temas de una categoría.

Puedes encontrar información más detallada sobre cómo crear y usar calendarios en:

Eventos

La función de Eventos permite insertar elementos interactivos en los temas que tus miembros pueden usar para inscribirse para asistir o participar en las actividades de tu comunidad. Todos estos se resumen en un calendario dedicado a todo el sitio, con la opción de añadir un enlace de fácil acceso a tu menú de navegación. Puedes encontrar más información sobre cómo crear y usar esta función en:

:exclamation: Esto no debe confundirse con el plugin de Eventos de Pavilion (nota el plural)

Ajustes del Calendario

Nombre Descripción
calendar enabled Habilita el plugin discourse-calendar. Esto añadirá soporte para una etiqueta [calendar][/calendar] en la primera publicación de un tema.
holiday calendar topic id ID del tema del calendario de vacaciones/ausencias del personal.
holiday status emoji Define el emoji utilizado para el estado de vacaciones.
delete expired event posts after Las publicaciones con eventos caducados se eliminarán automáticamente después de (n) horas. Establece -1 para deshabilitar la eliminación.
all day event start time Los eventos que no tengan una hora de inicio especificada comenzarán a esta hora. El formato es HH:mm. Para las 6:00 a. m., introduce 06:00
all day event end time Los eventos que no tengan una hora de finalización especificada finalizarán a esta hora. El formato es HH:mm. Para las 6:00 p. m., introduce 18:00
calendar categories Muestra un calendario en la parte superior de una categoría. Los ajustes obligatorios son categoryId y postId. ej: categoryId=6;postId=453[1] Otros ajustes válidos: tzPicker[2], weekends[3] y defaultView[4].
calendar categories outlet Permite cambiar qué salida debe mostrar el calendario de la categoría.
working days Establece los días laborables. Puedes mostrar la disponibilidad de un grupo usando la etiqueta timezones en una publicación, ej: [timezones group=admins][timezones]
working day start hour Hora de inicio de las horas laborables.
working day end hour Hora de finalización de las horas laborables.
close to working day hours extension Establece el tiempo de extensión en las horas laborables para resaltar las zonas horarias.
calendar automatic holidays enabled Establece automáticamente el estado de vacaciones según la región de un usuario (nota: puedes deshabilitar vacaciones automáticas específicas en los ajustes del plugin)
map events title Asigna el título del calendario de la barra lateral según la categoría. Por defecto “Próximos eventos”

Ajustes de Eventos

Nombre Descripción
discourse post event enabled Habilita las funciones de Evento. Nota: también necesita que calendar enabled esté habilitado.
discourse post event allowed on groups Grupos que tienen permitido crear eventos.
displayed invitees limit Limita el número de invitados mostrados en un evento.
display post event date on topic title Muestra la fecha del evento después del título del tema.
use local event date Usa la fecha local después del título del tema en lugar de la hora relativa.
discourse post event edit notifications time extension Extiende (en minutos) el período después del final de un evento cuando los invitados going siguen recibiendo notificaciones de edición en la publicación original.
discourse post event allowed custom fields Permite que cada evento establezca el valor de campos personalizados.
events calendar categories Muestra un calendario de eventos en la parte superior de una categoría.
sort categories by event start date enabled Habilita la clasificación de temas de categoría por fecha de inicio del evento.
disable resorting on categories enabled Permite que las categorías deshabiliten la capacidad de los usuarios para ordenar en la categoría de eventos.
sidebar show upcoming events Muestra el enlace de próximos eventos en la barra lateral bajo ‘Más’. Requiere post event enabled
map events to color Asigna un color de evento a una etiqueta o categoría especificada

:information_source: :curling_stone: El punto final discourse-post-event/events.json ahora tiene un parámetro añadido para cambiar entre respuesta simple y detallada. Para obtener la respuesta detallada puedes añadir ?include_details=true:

/discourse-post-event/events.json?include_details=true

Eventos en directo

Para eventos en directo, usa la funcionalidad de retransmisión en directo para que los miembros puedan ver un evento y participar en el chat al mismo tiempo.

Un evento en directo incluye:

  • Una transmisión de vídeo (usando YouTube, por ejemplo)
  • Un evento de calendario usando Discourse Calendar and Events
  • Un canal de chat acompañante creado automáticamente para el evento

Requisitos previos para eventos en directo

Para usar eventos en directo, debes tener chat enabled, ya que la retransmisión en directo crea un canal de chat para acompañar tu evento, además de discourse post event enabled y calendar enabled.

Crear un evento en directo

Para crear un evento en directo:

  1. Abre un nuevo tema.
  2. Selecciona el icono + en la barra de herramientas del compositor y haz clic en Create Event (si el evento no se había añadido ya a tu tema).
  3. Pega el enlace al vídeo del evento (por ejemplo, una URL de YouTube) en el campo ubicación/URL.
  4. Activa “livestream”

Entonces verás que se ha creado el evento y la retransmisión en directo, junto con un canal de chat acompañante en el lado derecho.

Una vez que cualquier usuario pulse Going en el evento, se unirá automáticamente al canal de chat, ¡lo que le permitirá participar en la conversación!

Retransmitir seminarios web de Zoom

Puedes usar la retransmisión en directo para alojar seminarios web de Zoom directamente en Discourse, para que los miembros puedan ver el evento y participar en el canal de chat acompañante sin salir de tu comunidad.

Requisitos previos para seminarios web de Zoom

Además de los requisitos previos de retransmisión en directo, también necesitarás configurar los siguientes ajustes:

  • Activa livestream zoom enabled
  • Introduce tu clave SDK de reunión de Zoom en el ajuste livestream zoom sdk key
  • Introduce tu secreto SDK de reunión de Zoom en el ajuste livestream zoom sdk secret

Para obtener la clave y el secreto del SDK de reunión de Zoom:

  1. Ve a marketplace.zoom.us, haz clic en Develop y haz clic en Build app.

  2. Cuando se te pregunte qué tipo de aplicación estás creando, elige General App y haz clic en Create.

  3. Desde la página de App Credentials de la aplicación, copia el Client ID (Clave SDK) y Client Secret (Secreto SDK).

  4. Bajo Embed, habilita el permiso Meeting SDK.[

  5. En tu Discourse, ve a Admin → All site settings e introduce los valores del paso 3 en livestream zoom sdk key y livestream zoom sdk secret.

Para que el seminario web de Zoom funcione correctamente en Discourse:

  • El seminario web no debe requerir registro o código de acceso para unirse.

  • Deshabilita el chat integrado del seminario web de Zoom para asegurarte de que toda la discusión ocurre en el único canal de chat de Discourse para mantener todo el chat en un solo lugar y asegurarte de que la conversación pueda continuar después de que finalice el seminario web.

Crear un evento en directo de seminario web de Zoom

Para crear un evento en directo para tu seminario web de Zoom:

  1. Abre un nuevo tema, selecciona el icono + y haz clic en Create Event.
  2. Pega tu enlace de seminario web de Zoom (por ejemplo, https://zoom.us/``...) en el campo URL/Ubicación.
  3. Activa Livestream.
  4. Establece el nombre del evento, hora de inicio, hora de finalización y otros detalles del evento según desees.
  5. Publica el tema.

Al igual que otros eventos en directo, este evento se creará con un canal de chat de Discourse acompañante al que los miembros se unirán automáticamente después de confirmar su asistencia como “Going”.

Experiencia del miembro

Así es como tus miembros experimentarán el seminario web:

Antes del evento

Se muestra un botón Join Zoom desde 30 minutos antes de que comience el evento. Fuera de esa ventana, el botón está deshabilitado con un mensaje indicando cuándo estará disponible.

Durante el evento

Una vez que los miembros hacen clic en Join Zoom, el seminario web se cargará en la página del tema (o, si el anfitrión aún no ha iniciado el evento, el miembro tendrá que esperar hasta que lo haga para ver el vídeo).

El audio no se conecta automáticamente al unirse al seminario web; los asistentes necesitan hacer clic o tocar el icono de audio en la barra de herramientas de Zoom para conectarse. Esta es una limitación del SDK de Zoom y no se puede cambiar.

En móvil, el seminario web se abre en una vista de pantalla completa de Zoom (que también es accesible en escritorio añadiendo /zoom al final de la URL del tema del evento) con un botón flotante Chat que pueden tocar para abrir un panel superpuesto de chat durante el evento.

Después del evento

El botón Join Zoom se oculta 10 minutos después de la hora de finalización del evento. El canal de chat permanece accesible para los asistentes hasta que lo cierres.

Integraciones con Otros Plugins

Puedes usar un componente de este plugin con Right Sidebar Blocks. Querrás asegurarte de que la ruta deseada está habilitada en el componente Right Sidebar Blocks. El nombre del bloque será upcoming-events-list. Históricamente, había ajustes adicionales requeridos en el propio plugin de Calendario, pero esto se ha simplificado.

Así es como aparecerá el calendario de la barra lateral por defecto.

Si no quieres la hora, puedes añadir un valor vacío timeFormat en el ajuste del bloque del componente.

:discourse2: ¿Alojado por nosotros? Este plugin está disponible en nuestras capas Business y Enterprise Calendar | Discourse - Civilized Discussion


  1. categoryId es la categoría sobre la que se mostrará el calendario.
    postId es la publicación en la que introduces el calendario con [calendar][/calendar] ↩︎

  2. puede mostrar un selector de zona horaria en la parte superior derecha del calendario. Falso por defecto, puedes habilitarlo con tzPicker=true ↩︎

  3. puede ocultar los sábados y domingos del calendario. Verdadero por defecto. Puedes establecerlo en falso con weekends=false. ↩︎

  4. defaultView establecerá la vista del calendario (día, semana, etc;). Se puede establecer como:

    defaultView=agendaDay
    defaultView=agendaWeek
    defaultView=month (por defecto)
    defaultView=listNextYear ↩︎

99 Me gusta
How to use the calendar plugin?
Discourse Calendar - How to?
Calendar plugin, nothing is displayed
Discourse 2.2.0.beta3 Release Notes
How to use the calendar plugin?
Discourse Calendar dislpay link text rather than link url
Ability to mark any post as unread
Is there a room booking plugin?
Db:migrate fails on discourse-calendar
I am looking for a webhook or event api
Inserting date/time into new topic's title field (ie, right here > !)
📅 Event List Widget (Layouts Plugin)
Please better document the Discourse Calendar plugin
Vacation autoresponder for users who are away?
Creating sub-communities in a discourse server
Plugin to show upcoming events on hosted discourse
Go from a Wordpress + Discourse structure to a Discourse site only?
Moderator/Admin Off Duty Button
Plugin to gather approvals / signatures on an initiative?
SEO applied to Discourse Official Plugins
Add color to events based on event category or tag?
Add recurrent items within a date-range
Use Case Question - Room/Equipment Booking
Best practices for communicating to user base
Integrate with Discourse-calendar
My Wiki of useful Meta (and other) links
Quotes in event name clears attendees
Calendar in Discourse
Show Cakeday dates on the Calendar plugin
Agenda de colegio
What are your favorite plugins for your community?
Display a category as a calendar by scheduled Topic-timer dates
Why you should use Discourse internally for your company/team instead of Slack (4 years use case)
Newbie question: Is there a comprehensive guide to configuring and administering Discourse instance?
Angus' Events Plugin :calendar:
When "closing" event it moves it to today's date & time
How to display different calendar views?
Discourse calendar and event iCal integration?
Can the auto-responder fire on @mentions?
Event/Calendar Plugin - Cannot select a user for bulk-invite
Bulk Invite via modal only allowing one user (and not displaying correctly)
Help us test Horizon, our newest theme
500 Error when posting, moment.tz runtime error
Best practice for a topic for a recurring event
How to get "back" btn
Event Chat Channels Now Available
📅 New Calendar Feature: End Date for Recurring Events
🌍 New Calendar Feature: Show Local Time
What livestream/webinar platforms do you use?
Custom Wizard Plugin :mage:
ICS → Discourse Importer
How have you built a local community around Discourse?
Angus' Events Plugin :calendar:
What happens next?
Bundling more popular plugins with Discourse core
Calendar subscription URLs for external calendar apps
Listing event invitees with email addresses
Discourse Daily Challenges
Upcoming Events Extra Buttons and Enhancements
Horizon: High Context Topic Cards
Besoin de renseignement pour informer une annulation d'événement
Current Projects - May 2026
It's easier than ever to create events in Discourse!
Easily create Events categories using the Calendar and Events plugin
It is very difficult to make events all day in the events modal (and 00:00 is confusing)
Discourse Calendar - How to?
Angus' Events Plugin :calendar:
Topic List Previews (TLP)
New Topic button text does not change to New Event in sidebar in events category in Horizon Theme
Current Projects - June 2026
Event Creation
Category Calendar with defaultView="listNextYear" not showing events
Calendar Core - Needs any special theme?
Creating and managing calendars
Sorting Categories by Title
Creating and managing events
Category Calendar with defaultView="listNextYear" not showing events
The "Save Changes" button is very low on my user preferences interface page
Group Timezones
Easily create Events categories using the Calendar and Events plugin
Available hours / work hours flair
Could use help, setting up new community
Feature request: wrap calendar items when there's just one per day
Right Sidebar Blocks
Custom Discourse instance for a writers club
Unread messages blue numbers appearing in Latest lately (when they shouldn't)?
Database migration chokes on huge value of a "calendar-details" item in table "post_custom_fields"
"Out of office" user indicator
Database migration chokes on huge value of a "calendar-details" item in table "post_custom_fields"
Angus' Events Plugin :calendar:
Angus' Events Plugin :calendar:
Calendar plugin features to make it really useful for us
"Out of office" user indicator
Can discourse display topic replies in reverse order?
Discourse Livestream
New to Discourse, have some questions :)
Expired events with end times are being removed from upcoming-events even with setting set to -1
Setup Continuous Integration using GitHub Actions
Add color to events based on event category or tag?
Is there any way to change the starting date of the Calendar?

Este plugin es prometedor, pero faltan algunas funciones que nos impiden cambiar desde el plugin de Pavilion.

  • Mostrar eventos no de día completo con la hora de inicio en el calendario; actualmente, todos los eventos parecen de día completo.

  • Botón “Añadir evento” en el compositor, junto al selector de etiquetas (no oculto en el engranaje).

  • Limitar qué categorías pueden tener eventos y si los eventos son obligatorios en una categoría.

Agradable de tener:

  • Los metadatos de eventos en el tema solo aparecen/se introducen en la parte superior del tema (en lugar de donde esté el cursor).
  • Capacidad de limitar qué grupos pueden crear eventos en una categoría (por ejemplo, solo el grupo ‘EventPlanners’ puede crear eventos en la categoría ‘Discussion’, pero todos los usuarios pueden crear temas que no sean eventos (o editar temas si el tema está configurado como Wiki).
  • Cambiar la URL de /upcoming-events a /calendar.
13 Me gusta

2 publicaciones se dividieron en un nuevo tema: El estado de vacaciones se aplica incorrectamente

Hola,\nGracias por este trabajo.\n\nTengo 2 preguntas de UX:\n\n- ¿Es posible mostrar el botón "Agregar evento" junto al botón "Agregar ubicación" en el editor de temas? ¿Como era el caso con el plugin pavillion?\nimage\n\n- ¿Existe la posibilidad de agregar una entrada de menú superior de Calendario? No la encuentro en la configuración\n

¡Esto se ve genial! Algunas ideas/preguntas:

¿Tengo razón al suponer que para crear un calendario simplemente se crea un nuevo hilo/tema y se pega lo siguiente en él?

Nombre del Calendario

[calendar]
[/calendar]

Luego, para agregar entradas al calendario, simplemente se hace una nueva publicación en el mismo hilo con algo como lo siguiente (haciendo clic en el icono insertar hora/fecha en las opciones de publicación):

Nombre del Evento/Entrada

[date-range from=2024-04-18 to=2024-04-19 timezone="Europe/London"]

Esto agrega la entrada al calendario, lo cual es genial, sin embargo:

  • ¿Hay alguna forma de agregar entradas a un calendario pero permitir que esas entradas tengan también un hilo/tema dedicado? (Veo que puedes agregar eventos en nuevos hilos, pero no parece haber ninguna forma de agregar esos eventos a un calendario).
  • ¿Hay alguna forma de destacar los ‘Próximos Eventos’ de un calendario específico en los correos electrónicos de resumen? ¿O tal vez en la columna de la izquierda, y que cada entrada enlace al hilo dedicado para esa entrada?

Si esto no es posible actualmente, ¿tienen algún plan para agregarlo?

1 me gusta

@vinothkannans ¿Podrías ayudarme a revisar esta pr?

1 me gusta

¿Hay planes para agregar una fuente de URL a la que los usuarios puedan suscribirse? Estoy seguro de que sería complicado para todos los eventos frente a los que han confirmado asistencia.

En segundo lugar, sería increíble una capa adicional si pudiera reconocer eventos privados (o tal vez eso es solo una fuente de URL diferente por grupo).

6 Me gusta

Sin embargo, no hay un feed RSS para la URL de /upcoming-events: ¡eso sería una buena adición!

3 Me gusta

¿Qué pasa con la sincronización de CalDAV?

6 Me gusta

Esa también sería una razón para mí para cambiar, de hecho.

Esto necesita más actualización ya que menciona una inserción de evento en el compositor y la adición de detalles del evento no como se muestra en la imagen. ¿A menos que Event fuera un complemento?

He instalado el complemento y la etiqueta del calendario funciona en la primera publicación de un tema. Pero no veo ninguna opción de evento o calendario en el menú de engranaje:

¿Alguien puede explicarme qué necesito hacer para obtener la opción de evento en el menú de engranaje?

Necesitas habilitar la parte de Eventos del plugin discourse post event enabled

2 Me gusta

Gracias. De alguna manera me perdí esta configuración.

3 Me gusta

¿Cómo hago para que el evento de creación se muestre en un tema de categoría con respuestas que son eventos?

Veo que la creación de eventos funciona para crear nuevos temas. Pero busco tener un calendario en un tema con respuestas que añadan eventos. Funciona parcialmente con la inserción de fecha, pero no es tan bueno como la creación de eventos, que tiene más opciones.

1 me gusta

Actualmente, los usuarios pueden establecer la región en las preferencias de su perfil.

Me gustaría permitirles establecer su región durante el registro mostrando este campo en el formulario de registro. ¿Es factible?

3 Me gusta

¿Seguirá apareciendo una respuesta eliminada en el calendario?

No encuentro ninguna configuración para cambiar el primer día de la semana a lunes, ¿es trivial de implementar si falta? :thinking:

Otro problema es que la entrada de hora y fecha está rota, si es un evento de todo el día debería haber una opción para seleccionarlo antes de que los campos de entrada de hora arruinen las fechas, y las fechas parecen cambiar aleatoriamente al editar.

También noté que es posible ingresar 00:00 tanto en la hora como en la fecha (lo que a veces funciona, a veces no), lo que lleva a que el calendario arroje un error que luego causará un conflicto con los borradores, lo que generará un error 422 repetido hasta que la página se revierta a una revisión anterior, luego se edite nuevamente, etc.

3 Me gusta

Por favor, consulta aquí

1 me gusta

No existe tal configuración y por eso no la uso. Y apuesto a que el equipo arreglaría ese error si fuera un truco trivial.

1 me gusta