Le panneau latéral n'affiche pas une catégorie malgré sa présence dans les catégories du menu de navigation par défaut

J’ai configuré 2 catégories :

  • une catégorie School_A qui est privée pour un groupe spécifique group_School_A
  • une catégorie Support qui est privée pour les utilisateurs de Niveau de confiance 0

J’ai configuré le paramètre Catégories du menu de navigation par défaut pour inclure School_A et Support, mais dans le panneau latéral, seule School_A s’affiche pour les utilisateurs appartenant à group_School_A.

Pour accéder à Support, nous devons toujours cliquer sur Toutes les catégories et sélectionner Support.

Si je configure la catégorie Support comme privée pour group_School_A, je rencontre toujours le même problème.

Pouvez-vous m’aider à comprendre ce que je fais de mal ?

Merci

Comment avez-vous testé cela ? Avez-vous créé un nouvel utilisateur de test ? Les utilisateurs peuvent également personnaliser les catégories affichées dans leur barre latérale. Cela peut empêcher l’application d’une nouvelle valeur par défaut aux utilisateurs existants. Est-il possible pour les utilisateurs d’ajouter manuellement la catégorie ?

En effet, c’est peut-être là le problème.

Je teste avec un utilisateur fictif, mais créé avant que j’effectue la modification.

Si je clique sur le bouton en forme de crayon pour la Catégorie, je vois les deux catégories et Support n’est pas sélectionné.

Mais la question est alors de savoir comment appliquer le nouveau paramètre aux utilisateurs existants ?
Existe-t-il une API que je peux utiliser ?
Les utilisateurs ont créé leur compte il y a une semaine (donc peu de temps pour personnaliser) et je n’ai réalisé le problème avec la barre latérale et la catégorie invisible qu’aujourd’hui.
Si je demande aux utilisateurs d’effectuer une opération, la plupart ne comprendront pas et les autres l’ignoreront…

Merci beaucoup !

Lorsque vous modifiez le paramètre du site, vous pouvez choisir d’appliquer cette modification aux utilisateurs existants.

Vous devriez donc pouvoir retirer support et school_a du paramètre, puis enregistrer sans appliquer cette modification aux utilisateurs existants. Ensuite, vous attendez quelques minutes et vous les réajoutez. Cette fois-ci, appliquez la modification aux utilisateurs existants. (Ne vous inquiétez pas à cause du nombre d’utilisateurs, il peut être incorrect si vous ajoutez plus d’une catégorie)

Il existe un guide ici, mais il se concentre sur la suppression des personnalisations et l’imposition de la même barre latérale à tous les utilisateurs : How to set the same sidebar categories for all the users.

Je pense que je l’ai déjà appliqué aux utilisateurs existants.

Mais j’ai réessayé :

  • quand je supprime toutes les catégories de default navigation menu categories, le système me demande de l’appliquer aux utilisateurs existants. Je réponds Non.
  • J’attends quelques minutes
  • Je les réajoute, mais cette fois-ci, aucune demande d’application aux utilisateurs existants n’apparaît.
  • J’ai vérifié la barre latérale, et Support est toujours décoché (mais présent)
  • J’ai essayé d’ajouter une catégorie fictive à default navigation menu categories pour forcer l’apparition de la demande d’application aux utilisateurs existants. Cette fois, la demande est apparue et j’ai répondu Oui.
  • J’ai de nouveau vérifié la barre latérale et Support est toujours décoché.

Il semble donc y avoir un problème avec apply this change historically ?

Mise à jour : J’ai réessayé en vidant default navigation menu categories, en appliquant aux utilisateurs existants, en attendant quelques minutes, en réajoutant les catégories et en appliquant à nouveau aux utilisateurs existants, et cette fois-ci, ça fonctionne !

Merci beaucoup

Hmm. Il est logique que l’option ne soit pas proposée si tous les utilisateurs ont déjà la catégorie dans leur barre latérale.

Vous pourriez appliquer l’étape de suppression de la catégorie à tout le monde. Par la suite, l’ajout devrait déclencher la modale « Appliquer aux utilisateurs existants ». Mais cela pourrait être déroutant pour les utilisateurs actuels du forum.

Vous pouvez également consulter la configuration actuelle à l’aide de l’explorateur de données. Cette requête vous permet de sélectionner une catégorie et un groupe, et renvoie, pour chaque membre du groupe, s’il a la catégorie dans sa barre latérale.

-- [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

Le résultat ressemble à ceci :

Je n’avais que quelques utilisateurs ayant rejoint récemment, il n’a donc pas été difficile de supprimer les catégories puis de les réappliquer (je suis quasiment certain que personne n’avait eu le temps de personnaliser le panneau latéral).

Ça semble maintenant fonctionner, merci beaucoup pour votre aide !