Como esta solicitação de nossa comunidade apareceu novamente, gostaria de vincular esta solicitação de recurso mais antiga que não estava localizada na categoria correta:
Embora a exportação ical seja baseada em arquivo, caldav exigiria um serviço dav com chamadas de API apropriadas. A opção de exportação ical seria mais fácil, suponho…
Do meu ponto de vista, a implementação atual da funcionalidade de calendário é útil apenas para casos de uso onde todo o gerenciamento de tempo é preparado dentro do Discourse e/ou com algumas soluções proprietárias como o calendário do Gmail. Isso o torna de alguma forma “isolado”, pois não há integração com outros sistemas abertos.
Em muitos casos, as pessoas usam soluções de calendário externas que são independentes de um provedor específico (por exemplo, servidor Radicale caldav/carddav em Python). Elas simplesmente querem exibir o calendário dentro do fórum (“somente leitura”) e sincronizar com as alterações externas automaticamente.
Se o Discourse pudesse atuar como um cliente CalDAV (como o Thunderbird no desktop e o DAVx⁵ no Android), seria um grande passo. Primeiro, poderia ser “somente leitura”, o segundo passo seria a implementação de permissões de escrita para calendários CalDAV externos. Isso deveria estar vinculado ao perfil do usuário, o que é uma abordagem diferente do plugin de calendário atual.
Caldav é mais prático de fato para uma comunidade e também dá muito trabalho, como você mencionou, precisa atuar como um servidor para uma sincronização bidirecional.
Por outro lado, um feed Webcal é apenas uma coleta e transmissão unidirecional de dados, o que seria muito mais fácil e rápido de implementar.
Eu entendo a necessidade de caldav, mas isso pode atrasar a implementação do recurso mais rapidamente viável que o webcal representa.
Talvez você goste de dar uma olhada em Events Plugin 📅 do @angus, que basicamente faz o que acredito que você está procurando.
Ele tem sua própria interface para eventos, ou você pode usar o plugin e a interface oficial do Discourse calendar-and-event, e ele fará apenas o trabalho de backend.
Eu não acho. Não precisamos da funcionalidade de servidor de calendário CalDAV no Discourse. O Servidor Radicale que mencionei anteriormente é um pequeno servidor Caldav/CardDav baseado em Python que já resolve todos os requisitos do lado do servidor, tanto para CalDAV quanto para CardDAV. A única coisa que falta no lado do Discourse é uma implementação de cliente e uma interface para exibir e editar o conteúdo. O plugin de Eventos do @angus ainda não preenche essa lacuna.