Calendario de Discourse (y evento)

:discourse2: Summary Discourse Calendar and Event adds dynamic and interactive calendar and event features to your Discourse site.
:open_book: Install Guide This plugin is bundled with Discourse core. There is no need to install the plugin separately.

Enabling Calendar (and Event)

The Calendar plugin can be enabled either by the toggle or from its settings, both accessible from your admin/plugins page:

/admin/plugins

Features

Somewhat unsurprisingly, Discourse Calendar (and Event) adds both the calendar and event features to your Discourse site. With these, you can create individual topic calendars to track important occasions or timelines, display calendars in categories, add a holiday calendar to mark vacations, absences, or sick days, create interactive event topics, as well as show an easy-access calendar summary of all of your upcoming events.

Calendars

Bespoke calendars can be created in multiple topics, and ones you wish to give higher visibility to can be displayed above a category’s topic list.

You can find more detailed information on how to create and use calendars in:

Events

The Event feature allows interactive elements to be inserted into topics which your members can use to sign up to attend or participate in your community’s activities. These are all summarised in a dedicated site-wide calendar, with the option to add an easy-access link to your navigation menu. You can find more information on how to create and use this feature in:

:exclamation: This should not be confused with Pavilion’s Events plugin (note the plural)

Calendar Settings

Name Description
calendar enabled Enable the discourse-calendar plugin. This will add support for a [calendar][/calendar] tag in the first post of a topic.
holiday calendar topic id Topic ID of staffs holiday / absence calendar.
holiday status emoji Defines the emoji used for the holiday status.
delete expired event posts after Posts with expired events will be automatically deleted after (n) hours. Set to -1 to disable deletion.
all day event start time Events that do not have a start time specified will start at this time. Format is HH:mm. For 6:00 am, enter 06:00
all day event end time Events that do not have a end time specified will end at this time. Format is HH:mm. For 6:00 pm, enter 18:00
calendar categories Display a calendar at the top of a category. Mandatory settings are categoryId and postId. eg: categoryId=6;postId=453[1] Other valid settings: tzPicker[2], weekends[3] and defaultView[4].
calendar categories outlet Allows to change which outlet should show the category calendar.
working days Set working days. You can display the availability of a group using the timezones tag in a post, eg: [timezones group=admins][timezones]
working day start hour Start time of the working day hours.
working day end hour End time of the working day hours.
close to working day hours extension Set extension time in working day hours to highlight the timezones.
calendar automatic holidays enabled Automatically set holiday status based on a users region (note: you can disable specific automatic holidays in plugin settings)
map events title Maps title of the sidebar calendar based on category. Defaults to “Upcoming events”

Event Settings

Name Description
discourse post event enabled Enables the Event features. Note: also needs calendar enabled to be enabled.
discourse post event allowed on groups Groups that are allowed to create events.
displayed invitees limit Limits the numbers of invitees displayed on an event.
display post event date on topic title Displays the date of the event after the topic title.
use local event date Use local date after topic title instead of relative time.
discourse post event edit notifications time extension Extends (in minutes) the period after the end of an event when going invitees are still being notified from edit in the original post.
discourse post event allowed custom fields Allows to let each event to set the value of custom fields.
events calendar categories Display an events calendar at the top of a category.
sort categories by event start date enabled Enable the sorting of category topics by event start date.
disable resorting on categories enabled Allow categories to disable the ability for users to sort on the event category.
sidebar show upcoming events Show upcoming events link in the sidebar under ‘More’. Requires post event enabled
map events to color Assigns an event color to a specified tag or category

:information_source: :curling_stone: The discourse-post-event/events.json endpoint now has an added parameter to switch between simple and detailed response. To get the detailed response you can add ?include_details=true:

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

Integrations with Other Plugins

You can use a component from this plugin with Right Sidebar Blocks. You’ll want to ensure the desired route is enabled in the Right Sidebar Blocks component. The block name will be upcoming-events-list. Historically, there were additional settings required in the Calendar plugin itself, but this has been streamlined.

This is how the sidebar calendar will appear by default.

If you don’t want the time, you can add an empty timeFormat value in the component’s block setting.

:discourse2: Hosted by us? This plugin is available on our Business and Enterprise tiers Calendar | Discourse - Civilized Discussion


  1. categoryId is the category the calendar will be displayed on top of.
    postId is the post in which you put the calendar in with [calendar][/calendar] ↩︎

  2. it can display a time zone picker on the upper right of the calendar. False by default, you can enable it with tzPicker=true ↩︎

  3. it can hide Saturdays and Sundays from the calendar. True by default. You can set it to false with weekends=false. ↩︎

  4. defaultView will set the calendar’s view (day, week, etc;). It can be set as:

    defaultView=agendaDay
    defaultView=agendaWeek
    defaultView=month (default)
    defaultView=listNextYear ↩︎

Last edited by @tobiaseigen 2025-07-16T21:10:06Z

Check documentPerform check on document:
97 Me gusta

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?

2 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