MiniMod pour Discourse

discourse-mini-mod

Ce plugin résout un problème sur notre forum Discourse : nous avions besoin de « organisateurs », mais sans nécessairement accorder les permissions complètes de modérateur.

Les contributions sont les bienvenues !

Veuillez signaler tout problème via les issues GitHub.

Les mini-modérateurs peuvent réorganiser les étagères. Les modérateurs peuvent expulser des personnes du magasin.

Un plugin Discourse qui donne aux utilisateurs ordinaires la capacité de gérer les catégories, les balises et les sujets — sans exiger le statut de modérateur ou d’administrateur.

Il s’appuie sur la fonctionnalité existante de modération de groupe par catégorie de Discourse en étendant les permissions qu’elle accorde.

Fonctionnement

  1. Créez un groupe et ajoutez-y vos utilisateurs.
  2. Accédez à une catégorie, cliquez sur la clé à molette, puis ajoutez le groupe à « En plus du personnel, le contenu de cette catégorie peut également être examiné par : ».
  3. Activez mini_mod_enabled dans les paramètres du site.
  4. Ces utilisateurs peuvent désormais gérer les catégories qu’ils modèrent.

Optionnellement, activez mini_mod_manage_all_categories pour leur permettre de gérer toutes les catégories et de déplacer des sujets entre n’importe quelles catégories. Activez mini_mod_manage_tags pour leur permettre de créer, modifier et supprimer des balises.

NOTE : Vous devez ajouter au moins une catégorie au groupe pour que mini_mod_manage_all_categories fonctionne.

Paramètres

Paramètre Défaut Description
mini_mod_enabled false Activer le plugin
mini_mod_manage_all_categories false Permettre aux modérateurs de groupe par catégorie de gérer toutes les catégories et de modifier/déplacer des sujets dans toutes les catégories
mini_mod_manage_tags false Permettre aux modérateurs de groupe par catégorie de créer, modifier et supprimer des balises
mini_mod_can_post_in_closed_topics false Permettre aux modérateurs de groupe par catégorie de répondre sur des sujets fermés dans les catégories qu’ils modèrent. Désactivé par défaut — activez pour accorder ; le personnel du site n’est pas affecté
mini_mod_can_reopen_topics false Permettre aux modérateurs de groupe par catégorie de rouvrir des sujets fermés dans les catégories qu’ils modèrent. Désactivé par défaut — activez pour accorder ; le personnel du site n’est pas affecté

Tous les paramètres nécessitent que enable_category_group_moderation du cœur de Discourse soit également activé. La gestion des balises nécessite également tagging_enabled.

Permissions accordées

Action Défaut (par catégorie) Avec gestion de toutes les catégories Avec gestion des balises
Créer des catégories Sous-catégories sous les catégories modérées, ou niveau supérieur Toutes les catégories
Modifier des catégories Seules les catégories modérées Toutes les catégories
Supprimer des catégories Seules les catégories modérées (doivent être vides et sans enfants) Toutes les catégories (mêmes contraintes)
Modifier des sujets Uniquement dans les catégories modérées (fonctionnalité principale) Tous les sujets visibles
Changer en masse la catégorie d’un sujet Vers/depuis les catégories modérées Toute catégorie visible
Déplacer des messages Dans les catégories modérées (fonctionnalité principale) Dans les catégories modérées (fonctionnalité principale)
Créer des balises Oui
Modifier/renommer des balises Oui
Supprimer des balises Oui
Gérer les synonymes de balises Oui

Deux capacités supplémentaires sont désactivées par défaut mais peuvent être accordées en activant le paramètre de site correspondant :

Action Défaut Accordé par
Répondre sur des sujets fermés dans les catégories modérées Désactivé mini_mod_can_post_in_closed_topics: true
Rouvrir des sujets fermés dans les catégories modérées Désactivé mini_mod_can_reopen_topics: true

La fermeture des sujets ouverts, l’archivage, l’épinglage, la division/fusion et toutes les autres actions de modération restent disponibles pour les mini-modérateurs dans leurs catégories, indépendamment de ces paramètres.

Installation

Ajoutez l’URL du dépôt du plugin à votre app.yml :

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/alltechdev/discourse-mini-mod.git

Ensuite, reconstruisez le conteneur :

./launcher rebuild app

Les mises à jour ultérieures peuvent être effectuées depuis le tableau de bord d’administration.

Tableau de bord d’administration

10 « J'aime »

Réservé pour le futur…

Note : Je ne suis pas très actif ici, c’est pourquoi les issues GitHub sont préférables. Je reviendrai vérifier ici périodiquement.

2 « J'aime »

Deux nouveaux paramètres ont été ajoutés :

Je ne sais pas pourquoi c’est codé en dur dans le cœur du système pour permettre au niveau de confiance 4 de faire ces choses, alors je propose une option pour modifier cela.