Adicionamos uma nova aba Calendário às preferências do usuário que permite assinar feeds do Discourse em aplicativos de calendário externos como Google Agenda, Apple Calendar e Microsoft Outlook.
Meus Eventos — eventos que você vai participar ou tem interesse
Para desenvolvedores de plugins
Plugins podem registrar feeds ICS adicionais usando a nova API register_calendar_subscription_feed. Feeds registrados dessa forma aparecem automaticamente na aba de preferências do Calendário quando o plugin está ativado.
Segurança
Os URLs de assinatura usam chaves de API de usuário com escopo restritas ao acesso somente leitura no formato ICS. As chaves são limitadas por taxa, e os URLs são exibidos apenas uma vez no momento da geração — os usuários podem regenerar a qualquer momento, o que revoga os URLs antigos.
Muito obrigado por esta implementação - isso aumentará a usabilidade do plugin de calendário/eventos para muitas comunidades!
Tenho a mesma objeção que @hellekin: dentro do Discourse, estamos em um ambiente de Código Aberto. Em nossa comunidade, ninguém usa o Google Calendar ou o Microsoft. Se os usuários precisarem de um link para esses serviços proprietários, eles devem decidir por si mesmos, não o aplicativo. Portanto, eu preferiria selecionar o tipo de serviço de calendário externo na etapa de criação dos URLs de assinatura (por exemplo, com algumas caixas de seleção), e não mais tarde.
Temos várias comunidades em nossa instância do Discourse. Elas são separadas por permissões de grupo e alguns usuários são membros de mais de uma comunidade. Seria conveniente filtrar a URL “Discourse Calendar - All Events” para que ela exiba apenas as entradas do calendário de uma comunidade específica. URL de exemplo
Com este aprimoramento, seria possível compartilhar os eventos do Discourse de uma comunidade específica (!) em seu próprio site, por exemplo, com o plugin do WordPress “ICS calendar”.
Outro pequeno aprimoramento proposto: se você quiser assinar os eventos do Discourse em dois clientes diferentes (por exemplo, Thunderbird em dois dispositivos), você precisa copiar o URL duas vezes. Mas atualmente o URL é exibido apenas uma vez. Se você adicionar um segundo cliente, terá que regenerar os URLs e, assim, perderá os primeiros.