URLs de suscripción al calendario para aplicaciones de calendario externas

Hemos añadido una nueva pestaña Calendario a las preferencias del usuario que te permite suscribirte a las fuentes de Discourse en aplicaciones de calendario externas como Google Calendar, Apple Calendar y Microsoft Outlook.

:down_arrow:

Cómo funciona

Navega a tu pestaña Preferencias → Calendario y haz clic en Generar URLs de Suscripción. Obtendrás botones de suscripción con un solo clic para:

  • Google Calendar — abre Google Calendar con la fuente precargada
  • Microsoft Outlook — abre el diálogo de suscripción web de Outlook
  • Apple Calendar — activa la aplicación nativa Calendario a través de webcal://
  • Copiar URL — para cualquier otra aplicación de calendario que admita fuentes ICS

Fuentes disponibles

Siempre disponibles:

  • Recordatorios Marcados — tus marcadores que tienen fechas de recordatorio

Con el plugin discourse-calendar habilitado:

  • Todos los Eventos — todos los eventos del foro
  • Mis Eventos — eventos a los que vas a asistir o que te interesan

Para desarrolladores de plugins

Los plugins pueden registrar fuentes ICS adicionales usando la nueva API register_calendar_subscription_feed. Las fuentes registradas de esta manera aparecen automáticamente en la pestaña de preferencias de Calendario cuando el plugin está habilitado.

Seguridad

Las URLs de suscripción utilizan claves de API de usuario limitadas restringidas al acceso de solo lectura en formato ICS. Las claves tienen límites de velocidad y las URLs se muestran una sola vez en el momento de la generación; los usuarios pueden regenerarlas en cualquier momento, lo que revoca las URLs antiguas.

19 Me gusta

Gracias @Falco, pero ¿cómo se eliminan las opciones corporativas? Me parece ofensivo para mi comunidad tener que ver publicidad de servicios propietarios.

Puedes ocultarlo con CSS.

2 Me gusta

¡Muchas gracias por esta implementación; esto aumentará la usabilidad del complemento de calendario/eventos para muchas comunidades!

Tengo la misma objeción que @hellekin: dentro de Discourse, estamos en un entorno de código abierto. En nuestra comunidad, nadie utiliza Google Calendar ni Microsoft. Si los usuarios necesitan un enlace para estos servicios propietarios, deberían decidirlo ellos mismos, no la aplicación. Por lo tanto, preferiría seleccionar el tipo de servicio de calendario externo durante el paso de creación de las URL de suscripción (por ejemplo, con algunas casillas de verificación), no más tarde.

Mejora de “filtro”

Tenemos múltiples comunidades en nuestra instancia de Discourse. Están separadas por permisos de grupo y algunos usuarios son miembros de más de una comunidad. Sería conveniente filtrar la URL de “Discourse Calendar - All Events” para que solo muestre las entradas del calendario de una comunidad en particular. URL de ejemplo

https://discourse.example.com/discourse-post-event/events.ics?user_api_key=c2aa22d800dd473b62d199d796742382&group=[nombre_del_grupo]

Con esta mejora sería posible compartir los eventos de Discourse de una comunidad en particular (!) en su propio sitio web, por ejemplo, con el complemento de WordPress “ICS calendar”.

2 Me gusta

Otra pequeña mejora propuesta: si deseas suscribir los eventos de Discourse en dos clientes diferentes (por ejemplo, Thunderbird en dos dispositivos), necesitas copiar la URL dos veces. Pero actualmente la URL solo se muestra una vez. Si agregas un segundo cliente, tienes que regenerar las URL y pierdes las primeras.

¿No funciona ya de esa manera un feed generado por un usuario en uno de esos grupos? ¿Lo probaste?

Solo necesitas copiar una vez, luego pegar en los dos clientes que necesites.

Y si olvidas un cliente, puedes regenerar con un clic.

2 Me gusta

Esto es bastante bueno. Una idea de feed podría ser también el complemento Búsquedas guardadas (Saved Searches).

[quote=“Falco, post:7, topic:398902”]Solo necesitas copiar una vez y luego pegar en los dos clientes que necesites.

Y si olvidas un cliente, puedes regenerar con un solo clic.

[/quote]

Entiendo, pero mi punto es la regeneración necesaria después de que se muestren las URL por primera vez.

Si utilizo el enlace del calendario en dos dispositivos diferentes, es probable que no estén disponibles para configuración al mismo tiempo. Accedería a mi perfil de Discourse desde el primer dispositivo y más tarde de nuevo desde el segundo dispositivo. Sería mejor mostrar la URL antigua de nuevo y solo invalidarla mediante solicitud explícita.

Si soy miembro de dos comunidades diferentes (y sus grupos de permisos), la URL “https://discourse.example.com/discourse-post-event/events.ics“ muestra los eventos de ambas comunidades. Eso es correcto hasta ahora. Pero ambas comunidades pueden tener su propio sitio web. Si quiero compartir los eventos de Discourse en sus sitios web, solo querría ver los eventos de la “comunidad A” pero no de la “comunidad B”. Y viceversa.