Eu reconstruí com sucesso minha instância do Discourse🥲
O plugin oficial discourse-calendar do Discourse já suporta exportação de .ics, o que é extremamente útil para compartilhar eventos do Discourse externamente. No entanto, muitas comunidades — particularmente nas áreas de educação, governo ou empresarial — dependem de feeds iCal externos para publicar informações de eventos (por exemplo, de Moodle, Office365, Google Calendar ou plataformas CMS institucionais).
Atualmente, não há uma maneira integrada de importar ou sincronizar de fontes .ics. Isso limita o uso do Discourse como um verdadeiro centro de calendário para comunidades que já publicam cronogramas importantes em outros lugares.
Proposta de Funcionalidade
Adicionar sincronização de feed iCal (importação de URLs .ics) ao plugin Discourse Calendar.
Funcionalidades Principais
- Configurar uma URL de feed
.icspara uma categoria ou tópico habilitado para calendário. - Importar eventos automaticamente para o calendário, correspondendo ao feed
.ics. - Especificar um intervalo de sincronização (por exemplo, horário, diário) ou permitir um botão manual de “Sincronizar agora”.
- Usar o campo UID do evento para evitar duplicatas e atualizar eventos modificados de forma limpa.
Configurações Opcionais
- Marcar ou rotular eventos importados para mostrar sua origem externa.
- Escolher entre:
- Sincronização unidirecional (externo → Discourse apenas),
- ou sincronização bidirecional (editar eventos sincronizados dentro do Discourse envia alterações de volta — escopo futuro).
- Suportar múltiplos feeds
.icspor calendário, mesclados em uma única visualização. - Indicação visual de que um evento está sincronizado externamente (por exemplo, “Sincronizado de: outlook.university.edu”).
Casos de Uso
| Setor | Exemplo de Caso de Uso |
|---|---|
| Educação | Preencher automaticamente fóruns de alunos com datas de semestre, horários de cursos, exames, etc. |
| Governo | Sincronizar eventos oficiais de CMS ou intranet para um calendário comunitário público |
| Empresas | Espelhar calendários de reuniões internas (do Outlook ou Google Calendar) |
| Fóruns de Eventos | Integrar listas de palestrantes ou cronogramas de sessões de provedores externos |
Segurança e Privacidade
- Os feeds de calendário podem suportar acesso público ou tokenizado (por exemplo, URL contendo um token secreto).
- Suporte para OAuth2 / Autenticação Básica pode ser uma melhoria futura.
Relacionado
discourse-calendar- Exportação
.icsjá suportada — ótimo precedente! - Necessidade semelhante discutida em threads mais antigas, por exemplo, aqui
Compatibilidade
Este recurso não exigiria discourse-events (agora obsoleto) e funcionaria nativamente com a sintaxe existente do Discourse Calendar ([calendar] e [event]). Os usuários ainda poderiam criar eventos nativos do Discourse manualmente — a sincronização iCal apenas aumentaria esses calendários.
Adoraria saber se esta funcionalidade já está no roteiro — ou se outros na comunidade a achariam valiosa.
Obrigado!