그룹 내부용 비공개 이벤트

현재 이벤트 항목은 항상 카테고리 추가가 가능한 달력 UI 요소의 일부입니다. 이벤트를 특정 사용자 그룹으로 제한하는 방법은 없습니다. 다중 커뮤니티 Discourse 구성을 사용하는 경우, 모든 커뮤니티가 다른 모든 커뮤니티의 이벤트를 모두 볼 수 있습니다.

https://example.discourse.org/discourse-post-event/events.ics?user_api_key=[xxxxx]

와 같은 API 호출을 통해 Discourse 이벤트를 외부 웹사이트에 표시하면 모든 이벤트가 표시됩니다.

사용자 그룹 내에서만 표시되는 “내부” 이벤트를 생성할 수 있는 옵션이 있어야 합니다. 이러한 이벤트는 “일반” ICS API 요청으로 읽을 수 없어야 합니다. 대신 특별하고 추가적인 “그룹 API 키” 또는 기타 유형의 보안 제한을 통해서만 사용 가능해야 합니다. 사용 사례는 “공개” 이벤트와 “비공개” 이벤트(특정 사용자 그룹 내에서만 표시 및 편집 가능) 사이의 선택입니다.

1개의 좋아요

필요한 그룹에만 속한 사용자를 생성하고, 해당 사용자의 설정에서 캘린더 구독 URL을 생성하는 방식이 당신의 경우에 적용 가능할까요? 이 경우 피드에는 해당 사용자가 볼 수 있는 이벤트만 포함됩니다.

1개의 좋아요

음, 확신은 없네요. 우회책(workaround)처럼 보이긴 하는데, 진정한 "해결책"은 아닌 것 같습니다 :smiling_face_with_sunglasses:

커뮤니티 전용 그룹에 속한 모든 사용자는 이벤트를 생성할 수 있어야 합니다. 또한 “자신의” 커뮤니티 카테고리에 들어갔을 때 해당 이벤트를 볼 수도 있어야 합니다. 현재 5개의 다른 커뮤니티를 사용하는 우리 설정에서는 이 기능이 이미 잘 작동하고 있습니다. 우리는 다음과 같은 카테고리 권한을 사용하고 있습니다:

  1. 커뮤니티 그룹당 하나의 카테고리. 이 카테고리는 "전체 읽기 전용"과 “커뮤니티 읽기/생성/답글” 권한을 가집니다. 이 카테고리는 AP를 통해 연동(federated)되어 Discourse 계정이 없는 사용자도 이벤트를 볼 수 있게 하고, Discourse 캘린더를 제3자 시스템(예: ICS 플러그인을 사용하는 WordPress)과 통합할 수 있게 합니다.
  2. 내부 하위 카테고리 여러 개. 이러한 하위 카테고리는 “커뮤니티 읽기/생성/답글” 권한만 가집니다. 적절한 그룹 권한이 없으면 보이지 않습니다.

현재의 문제점은 다음과 같습니다.

  1. 현재 ICS 요청은 모든 이벤트를 반환합니다.
  2. ICS/API를 통해 특정 커뮤니티의 이벤트만 요청할 수 있는 방법이 필요합니다.

모든 이벤트인가요, 아니면 해당 API 키를 사용하는 사용자가 접근할 수 있는 모든 이벤트인가요?

특정 요청에 어떤 이벤트를 포함할지 선택하는 과정을 어떻게 구상하고 계신가요?

좋은 지적입니다.

API 키에는 두 가지 사용자 수준이 있습니다: “단일 사용자” 또는 “모든 사용자”. 현재 ICS 요청에 사용 중인 API 키는 “모든 사용자” 수준입니다.

따라서 이 문제를 해결하려면 “단일 사용자” 수준의 API 키가 필요할 것입니다. 그리고 선택된 사용자는 오직 커뮤니티 권한 그룹만 가져야 하며, 다른 권한은 없어야 합니다.

확인해 보겠습니다. 이렇게 하면 문제가 해결될 수도 있습니다 …

1개의 좋아요