Eventos de Discourse

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

Habilitar Eventos

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

:discourse2: ¿¿Nos alojas? Este plugin está disponible en nuestras capas Business y Enterprise https://www.discourse.org/plugins/calendar.html

Funciones

No es de extrañar que Discourse Events añada tanto las funciones de calendario como las de eventos a tu sitio de Discourse. Con ellas, puedes crear calendarios de temas individuales para seguir ocasiones importantes o líneas de tiempo, mostrar calendarios en categorías, añadir un calendario de vacaciones para marcar vacaciones, ausencias o días de enfermedad, crear temas de eventos interactivos, así como mostrar un resumen de calendario de fácil acceso de todos tus próximos eventos.

Calendarios

Se pueden crear calendarios a medida en múltiples temas, y aquellos a los que desees dar mayor visibilidad pueden mostrarse 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 temas que tus miembros pueden usar para inscribirse para asistir o participar en las actividades de tu comunidad. Todo esto se resume 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 (fíjate en 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 en -1 para deshabilitar la eliminación.
all day event start time Los eventos que no tienen una hora de inicio especificada comenzarán a esta hora. El formato es HH:mm. Para las 6:00 am, introduce 06:00
all day event end time Los eventos que no tienen una hora de fin especificada terminarán a esta hora. El formato es HH:mm. Para las 6:00 pm, 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é outlet 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 laborales.
working day end hour Hora de fin de las horas laborales.
close to working day hours extension Establece el tiempo de extensión en las horas laborales 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 Mapea el título del calendario de la barra lateral según la categoría. Por defecto es “Próximos eventos”

Ajustes de Eventos

Nombre Descripción
discourse post event enabled Habilita las funciones de Evento. Nota: también es necesario habilitar calendar enabled.
discourse post event allowed on groups Grupos que tienen permiso para 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 del tiempo relativo.
discourse post event edit notifications time extension Extiende (en minutos) el período después del final de un evento cuando los invitados going (asistentes) siguen siendo notificados desde la 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ías por fecha de inicio del evento.
disable resorting on categories enabled Permite a las categorías deshabilitar la capacidad de los usuarios para clasificar 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 endpoint 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

Crear eventos a través de la API

Puedes crear eventos a través de POST /posts.json con BBCode [event][/event] en el campo raw. Aquí están los detalles sobre cómo configurar tu solicitud de API:

  • Usa POST /posts.json con el parámetro raw
  • Sintaxis de evento: [event start="2024-05-10 20:00" status="public" timezone="America/Vancouver" end="2024-05-10 21:30" allowedGroups="trust_level_0"]\n[/event]
  • Se requiere un salto de línea \n literal entre las etiquetas de apertura y cierre
  • Las comillas dobles deben escaparse al usar JSON (\")
  • La cuenta de usuario de la API debe tener permiso para crear eventos (administrador o un grupo con derechos de creación de eventos)
  • Establece la categoría mediante el parámetro category, pasando el id de la categoría como valor.

Eventos de transmisión en vivo

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

Un evento de transmisión en vivo incluye:

  • Un flujo de video (usando YouTube, por ejemplo)
  • Un evento de calendario usando Discourse Events
  • Un canal de chat adjunto creado automáticamente para el evento

Requisitos previos para eventos de transmisión en vivo

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

Si quieres usar transmisión en vivo, pero no quieres chat en otro lugar...
  • Establece chat allowed groups en la configuración predeterminada, o incluye trust_level_0 para permitir que los usuarios nuevos participen en el chat de transmisión en vivo
  • Elimina grupos del ajuste direct message enabled groups para prevenir mensajes directos entre usuarios
  • No crees otros canales de chat

Crear un evento de transmisión en vivo

Para crear un evento de transmisión en vivo:

  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 video del evento (p. ej., una URL de YouTube) en el campo de ubicación/URL.
  4. Activa “livestream”

Entonces verás que el evento y la transmisión en vivo se han creado, junto con un canal de chat adjunto en el lado derecho.

En cuanto cualquier usuario haga clic en Going (Asistiré) en el evento, se unirá automáticamente al canal de chat, ¡lo que les permite participar en la conversación!

Transmisión en vivo de seminarios web de Zoom

Puedes usar la transmisión en vivo para albergar seminarios web de Zoom directamente en Discourse, para que los miembros puedan ver el evento y participar en el canal de chat adjunto sin salir de tu comunidad.

Requisitos previos para seminarios web de Zoom

Además de los requisitos previos de la transmisión en vivo, también necesitarás configurar los siguientes ajustes:

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

Para obtener la clave y el secreto de Zoom Meeting SDK:

  1. Ve a marketplace.zoom.us, haz clic en Develop (Desarrollar) y haz clic en Build app (Crear aplicación).

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

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

  4. Bajo Embed (Incrustar), habilita el permiso Meeting SDK (SDK de Reunión).

  5. En tu Discourse, ve a Admin → All site settings (Administrador → Todos los ajustes del sitio) 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 ni contraseña para unirse.

  • Desactiva el chat integrado de Zoom para asegurar que toda la discusión ocurra en el único canal de chat de Discourse para mantener todo el chat en un solo lugar y asegurar que la conversación pueda continuar después de que termine el seminario web.

Crear un evento de transmisión en vivo de seminario web de Zoom

Para crear un evento de transmisión en vivo para tu seminario web de Zoom:

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

Al igual que otros eventos de transmisión en vivo, este evento se creará con un canal de chat de Discourse adjunto al que los miembros se unen automáticamente después de responder “Asistiré”.

Experiencia del miembro

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

Antes del evento

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

Durante el evento

Una vez que los miembros hagan 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 video).

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óviles, el seminario web se abre en una vista de Zoom a pantalla completa (que también es accesible en escritorio añadiendo /zoom al final de la URL del tema del evento) con un botón flotante de 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 sigue siendo 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 de Right Sidebar Blocks. El nombre del bloque será upcoming-events-list. Históricamente, se requerían ajustes adicionales en el propio plugin de Calendar, 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 de timeFormat en el ajuste de bloque del componente.


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

  2. puede mostrar un selector de zona horaria en la esquina 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 (predeterminado)
    defaultView=listNextYear ↩︎

101 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?
📅 Event List Widget (Layouts Plugin)
I am looking for a webhook or event api
Inserting date/time into new topic's title field (ie, right here > !)
Db:migrate fails on discourse-calendar
Moderator/Admin Off Duty Button
Go from a Wordpress + Discourse structure to a Discourse site only?
Creating sub-communities in a discourse server
Vacation autoresponder for users who are away?
Please better document the Discourse Calendar plugin
Plugin to gather approvals / signatures on an initiative?
Plugin to show upcoming events on hosted discourse
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?
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)
Event Creation
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
Discourse Calendar & Events: Webhook triggers & Automations Plugin
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 Duplicator: duplicate calendar events/topics into a new time period
It is very difficult to make events all day in the events modal (and 00:00 is confusing)
Questions about the Zoom Livestream integration
Help us test Horizon, our newest theme
Discourse Calendar is now Discourse Events!
Category Calendar with defaultView="listNextYear" not showing events
Zoom webinar livestream in the Events plugin
Calendar Core - Needs any special theme?
Current Projects - August 2026
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?