익명 및 로그인 사용자를 위한 그룹별 세밀한 권한 관리

@moin 이 PR DEV: Add resolve_group_membership functionality to theme settings - Pull Request #41360 - discourse/discourse - GitHub 이 이제 병합되었고, 저는 DEV: Docs for theme setting resolve_group_membership - Pull Request #41537 - discourse/discourse - GitHub 에서 문서를 추가하고 있습니다. DEV: Use resolve_group_membership core theme functionality - Pull Request #37 - discourse/discourse-copy-post - GitHub 로 discourse-copy-post를 수정했으며, 이제 다른 공식 플러그인들 중 동일한 처리가 필요한 것이 있는지 확인하고 있습니다 (예: 이미 GitHub - discourse/discourse-unanswered-filter · GitHub 를 지적해 주셨죠).

당신의 Filter Favorites 에 대해서는 제가 만든 copy-post 예시를 참고할 수 있지만, 기본적으로 default_favorite_filters_groupscustom_favorite_filters_allowed_groups 모두에 resolve_group_membership: true를 추가해야 합니다. 그러면 settings에서 사용자의 그룹 멤버십에 따라 각각 settings.user_in_default_favorite_filters_groupssettings.user_in_custom_favorite_filters_allowed_groups라는 불리언 값으로 사용 가능하게 되며, 이제 프론트엔드에서 사용자 그룹 ID를 수동으로 확인하는 필요가なくなります.

곧 폐지될 0 (everyone) 대신 로그인된 사용자 및 익명 사용자인 4|5로 테마 컴포넌트에서 default_favorite_filters_groups의 기본값을 변경하는 것이 좋습니다.

everyone 그룹을 제거할 때 테마 설정에 대한 DB 마이그레이션을 실행하도록 메모해 두겠습니다. 사이트 설정에 대해서도 하나 수행해야 하며, 이는 다가오는 변경 사항이 향후 몇 주 내에 영구적으로 적용될 때 이루어질 것입니다 (다른 문제가 발생하는지와 resolve_group_membership이 추가되어야 하는 다른 테마/컴포넌트를 수정하는 속도에 따라 달라집니다).

현재 사이트 설정과 달리 이를 수행할 방법이 없습니다… 지금 바로 추가할 필요는 없다고 생각하며, 설정 설명에 이를 언급하고 프론트엔드에서 currentUser로 가드하는 것으로 충분합니다. 필요성이 더 증가하면 미래에 추가할 수도 있습니다.

4개의 좋아요