기본 내비게이션 메뉴 범주에 지정되어 있음에도 사이드 패널에 카테고리가 표시되지 않음

카테고리 2개를 구성했습니다:

  • 특정 group_School_A 그룹에만 비공개로 설정된 School_A 카테고리
  • Trust Level 0 사용자에게 비공개로 설정된 Support 카테고리

Default navigation menu categories 설정에 School_ASupport를 포함하도록 구성했는데, group_School_A에 속한 사용자의 사이드패널에는 School_A만 표시됩니다.

Support 카테고리에 접근하려면 여전히 All categories를 클릭한 후 Support를 선택해야 합니다.

Support 카테고리를 group_School_A 그룹에만 비공개로 구성해도 동일한 문제가 발생합니다.

제가 무엇을 잘못하고 있는지 이해하는 데 도움을 주실 수 있을까요?

감사합니다.

어떻게 테스트하셨나요? 새로운 테스트 사용자를 생성하셨나요? 사용자들은 사이드바에 표시되는 카테고리를 사용자 지정할 수도 있습니다. 이로 인해 기존 사용자에게 새로운 기본 설정이 적용되지 않을 수 있습니다. 사용자가 카테고리를 수동으로 추가할 수 있나요?

사실 그게 문제가 될 수 있겠네요.

저는 변경 사항을 적용하기 전에 생성된 더미 사용자로 테스트하고 있습니다.

카테고리의 연필 버튼을 클릭하면 두 가지 카테고리가 모두 표시되고 Support는 선택되지 않은 상태로 보입니다.

그렇다면 기존 사용자에게 새로운 설정을 어떻게 적용해야 할까요?
사용할 수 있는 API가 있을까요?
사용자들은 일주일 전에 계정을 생성했기 때문에(사용자 설정을 할 시간이 많지 않았고) 사이드바와 카테고리가 표시되지 않는 문제를 오늘에서야 발견했습니다.
사용자들에게 특정 작업을 수행해 달라고 요청하면 대부분은 이해하지 못하고, 나머지는 무시할 가능성이 큽니다…

감사합니다!

사이트 설정을 변경할 때 기존 사용자에게 이를 적용할지 여부를 선택할 수 있습니다.

따라서 설정에서 supportschool_a를 제거한 후, 기존 사용자에게 적용하지 않고 저장해야 합니다. 그런 다음 몇 분을 기다린 뒤 다시 추가하세요. 이번에는 변경 사항을 기존 사용자에게 적용합니다. (카운트 때문에 두려워하지 마세요. 여러 카테고리를 추가하고 있기 때문에 잘못 표시될 수 있습니다)

여기에 가이드가 있지만, 이는 모든 사용자에게 동일한 사이드바를 강제 적용하기 위해 모든 커스텀을 오버라이드하는 데 초점을 맞추고 있습니다: How to set the same sidebar categories for all the users.

기존 사용자들에게 이미 적용한 것 같습니다.

하지만 다시 시도해 보았습니다:

  • 기본 내비게이션 메뉴 카테고리에서 모든 카테고리를 제거하면 기존 사용자에게 적용할지 묻는 프롬프트가 나타납니다. 저는 No라고 답했습니다.
  • 몇 분 정도 기다렸습니다.
  • 다시 카테고리를 추가했는데, 이번에는 기존 사용자에게 적용할지 묻는 프롬프트가 나타나지 않았습니다.
  • 사이드바를 확인해 보니 Support는 여전히 체크되어 있지 않았습니다(하지만 항목은 존재했습니다).
  • 기존 사용자에게 적용할지 묻는 프롬프트를 강제하기 위해 기본 내비게이션 메뉴 카테고리에 더미 카테고리를 추가해 보았습니다. 이번에는 프롬프트가 나타났고, 저는 Yes라고 답했습니다.
  • 다시 사이드바를 확인해 보니 Support는 여전히 체크되어 있지 않았습니다.

따라서 이 변경 사항을 과거에 적용 기능에 문제가 있는 것 같습니다.

업데이트: 기본 내비게이션 메뉴 카테고리를 비우고, 기존 사용자에게 적용한 뒤, 몇 분을 기다린 다음 카테고리를 다시 추가하고 기존 사용자에게 다시 적용해 보았는데, 이번에는 작동했습니다!

많은 도움 주셔서 감사합니다

음. 모든 사용자가 이미 사이드바에 해당 카테고리를 가지고 있다면 해당 옵션이 제공되지 않는 것은 당연한 것 같습니다.

모든 사용자에게 카테고리를 제거하는 단계를 적용할 수 있습니다. 그 후 카테고리를 추가하면 “기존 사용자에게 적용” 모달이 트리거됩니다. 하지만 이는 현재 포럼을 사용 중인 사용자에게 혼란을 줄 수 있습니다.

또한 데이터 탐색기(data explorer)를 사용하여 현재 설정을 확인할 수도 있습니다. 다음 쿼리는 카테고리와 그룹을 선택할 수 있으며, 각 그룹 멤버가 사이드바에 해당 카테고리를 가지고 있는지 여부를 반환합니다.

-- [params]
-- group_id :group
-- category_id :category

SELECT
    u.id AS user_id,
    CASE WHEN sl.id IS NULL THEN 'No' ELSE 'Yes' END AS category_added_to_sidebar
FROM users u
JOIN group_users gu ON gu.user_id = u.id
LEFT JOIN sidebar_section_links sl
    ON sl.user_id = u.id
    AND sl.linkable_type = 'Category'
    AND sl.linkable_id = :category
WHERE gu.group_id = :group
ORDER BY category_added_to_sidebar ASC

결과는 다음과 같습니다.

최근에 가입한 사용자가 몇 명밖에 없어서 카테고리를 삭제하고 다시 적용하는 데 큰 문제가 없었습니다 (사이드 패널을 커스텀할 시간이 있었던 사람은 아무도 없을 거라고 확신합니다).

이제 잘 작동하는 것 같습니다. 도움을 주셔서 정말 감사합니다!