이 구현을 제공해 주셔서 감사합니다! 이 기능은 많은 커뮤니티에서 캘린더/이벤트 플러그인의 사용성을 크게 높여줄 것입니다.
저도 @hellekin님과 같은 의견을 가지고 있습니다. Discourse 내부에서는 오픈 소스 환경입니다. 저희 커뮤니티에서는 Google Calendar이나 Microsoft를 사용하는 사람이 없습니다. 사용자가 이러한 비공개 서비스의 링크가 필요하다면, 애플리케이션이 아닌 사용자 스스로 결정해야 합니다. 따라서 구독 URL 생성 단계에서 외부 캘린더 서비스 유형을 선택할 수 있도록 하는 것(예: 체크박스 사용)을 선호하며, 이후 단계에서 선택하는 것보다는 이 방식이 더 좋다고 생각합니다.
당신의 Discourse 인스턴스에는 여러 커뮤니티가 있습니다. 이들은 그룹 권한으로 분리되어 있으며, 일부 사용자는 두 개 이상의 커뮤니티에 속해 있습니다. “Discourse Calendar - All Events” URL을 필터링하여 특정 커뮤니티의 캘린더 항목만 표시할 수 있으면 편리할 것입니다. 샘플 URL
또 다른 작은 개선 제안입니다: 두 개의 다른 클라이언트(예: 두 기기에 설치된 Thunderbird)에서 Discourse 이벤트를 구독하려면 URL을 두 번 복사해야 합니다. 하지만 현재 URL은 한 번만 표시됩니다. 두 번째 클라이언트를 추가하면 URL을 다시 생성해야 하며, 이렇게 하면 첫 번째 URL을 잃어버리게 됩니다.
알겠습니다. 하지만 제 말씀은 URL이 처음 표시된 후에 필요한 재생성(regeneration)에 대한 것이었습니다.
두 개의 다른 기기에서 캘린더 링크를 사용하는 경우, 두 기기가 동시에 설정 가능하지 않을 가능성이 높습니다. 저는 첫 번째 기기에서 내 Discourse 프로필에 접근하고, 나중에 두 번째 기기에서 다시 접근하게 될 것입니다. 기존 URL을 다시 표시하고, 명시적인 요청에 의해서만 무효화하는 것이 더 나을 것입니다.
두 개의 서로 다른 커뮤니티(그리고 그들의 권한 그룹)에 가입되어 있는 경우, "https://discourse.example.com/discourse-post-event/events.ics"에는 두 커뮤니티의 이벤트가 모두 표시됩니다. 이 부분은 맞습니다. 하지만 두 커뮤니티는 각각 자체 웹사이트를 가질 수 있습니다. 저는 Discourse의 이벤트를 해당 웹사이트에서 공유할 때, "커뮤니티 A"의 이벤트만 보고 "커뮤니티 B"의 이벤트는 보고 싶지 않습니다. 그 반대 경우도 마찬가지입니다.
다른 공급자의 일정 서비스를 말씀하시는 거라면, 1일 1~2회 같은 원리입니다. 당시에는 동기화 횟수를 늘릴 수 있는 방법을 찾지 못했어요. 나중에 생각해보니, 전 세계적으로 동기화해야 할 일정 수가 워낙 많다 보니 그렇게 제한되어 있는 게 당연한 것 같더라고요 서버가 과부하되지 않도록 제한을 두는 것 같습니다!
배경: 저희 Discourse 인스턴스는 여러 사용자 그룹/커뮤니티가 함께 사용하며, 각 커뮤니티에는 별도의 권한 그룹이 있습니다. 각 그룹마다 메인 카테고리가 있습니다. 이 카테고리는 공개적으로 표시되며, 콘텐츠는 Fediverse(Discourse ActivityPub)로 연동됩니다. 또한 공개 캘린더도 표시됩니다. 예시 (https://forum.netzwissen.de/c/meshcore-str/84):
캘린더에는 메인 카테고리의 게시물과 하위 카테고리의 이벤트가 표시됩니다. 하위 카테고리(커뮤니티 권한 그룹에 속한 “로그인된” 사용자만 볼 수 있음)의 이벤트 게시물은 익명 사용자(로그인 안 된 상태)의 메인 캘린더에 표시되지 않습니다. 완벽합니다 - 이것이 기대하는 기능입니다!
ics 캘린더 링크를 "기능 완성"으로 만들기 위해 두 가지 요구사항을 확인했습니다. 저희는 새로운 ics 캘린더 링크를 사용하여 Discourse에서 생성된 이벤트를 커뮤니티의 공개 웹사이트(CMS: WordPress)에 공유하고 있습니다.
ics 파일에는 상태가 "공개(public)"인 이벤트만 표시되어야 합니다. 상태가 “비공개(private)” 또는 "독립(standalone)"인 이벤트는 일반적으로 ics 파일에 게시되어서는 안 됩니다. 참고: 이것이 이미 구현되어 있는지 아직 테스트해 보지 않았습니다 …
불행히도 캘린더 플러그인은 활성화되어 있고(정기적으로 사용해 오고 있습니다) 제 사용자에 대한 URL을 생성할 때 북마크 구독만 생성됩니다. 이런 현상이 발생하는 이유가 무엇일까요? 아이디어가 있으신 분 계신가요?
또한 @Thomas_Rother 님의 의견에 동의합니다. 구독 URL은 폐기되거나 재생성될 때까지 표시되어야 합니다. 디바이스와 앱은 시간이 지나면서 바뀌기 때문에, 하나만 더 추가하고 싶을 뿐인데 모든 디바이스에서 다시 구독해야 하는 것은 번거롭고 불필요해 보입니다. 이벤트 데이터의 민감도에 따라 플러그인 설정 옵션으로 제공될 수 있을 것 같습니다.