| Résumé | Les utilisateurs créent des collections de sujets liés | |
| Lien du dépôt | https://github.com/Alteras1/discourse-collections | |
| Guide d’installation | Comment installer des plugins dans Discourse |
Aperçu
Mobile
Collections
Cette fonctionnalité permet aux utilisateurs de créer des collections de sujets visibles lors de la consultation de ces derniers. Les collections peuvent inclure n’importe quelle URL et seront visibles sur tout sujet lié. Les collections peuvent être organisées en sections, et toute modification apportée à une collection est reflétée sur tous les sujets liés. Il n’y a aucune restriction sur le sujet à lier, ce qui permet aux utilisateurs de créer une collection à travers différentes catégories/étiquettes.
Titre et description
Champ facultatif disponible pour la saisie. S’ils sont fournis, ils seront affichés en haut de la liste.
Sections
Fonctionnalité d’organisation facultative. En ajoutant un en-tête de section, la collection peut être divisée en sections, permettant l’affichage de sections réductibles.
Sous-collections
Les utilisateurs peuvent également créer une sous-collection, qui n’est affichée que pour un seul sujet, permettant aux utilisateurs de lier des URL pertinentes (c’est-à-dire des messages spécifiques/ressources externes) uniquement pour ce sujet unique. Les URL de sujet ajoutées ne seront pas liées.
Autorisations
Le plugin permet à tout utilisateur de créer une collection pour ses propres sujets. Par défaut, les utilisateurs ne peuvent lier que leurs propres sujets et doivent ajouter d’autres utilisateurs en tant que responsables, qui peuvent ajouter leurs propres sujets à la collection. Ce paramètre peut être désactivé, permettant uniquement à des groupes spécifiques d’avoir un contrôle total sur n’importe quelle collection (par défaut Staff & TL4).
Démonstration des autorisations
Paramètres
| Nom | Description |
|---|---|
| collections enabled | Activer/désactiver le plugin. Par défaut : true |
| collection by topic owner | Autoriser le créateur du sujet à créer des collections. Par défaut : true |
| collection by topic owner allow groups | Restreindre les créateurs de sujets autorisés à créer des collections. Limite collection by topic owner. Par défaut : TL1 |
| subcollection by topic owner allow groups | Restreindre les créateurs de sujets autorisés à créer des sous-collections. Limite collection by topic owner. Par défaut : TL1 |
| collection modification by allowed groups | Groupes autorisés à créer/modifier n’importe quelle collection. Par défaut : Admin Moderators TL4. |
| sections in subcollection | Autoriser les en-têtes de section dans les sous-collections. Par défaut : true |
Alternatives
Ce plugin est fortement inspiré par (et était à un moment basé sur) le plugin Discourse Doc Categories. Bien que le plugin Doc Categories possède un bon mécanisme d’indexation et un excellent affichage, sa conception était destinée à des pages de style wiki, où tout est compilé dans une seule catégorie. De même, l’indexation repose sur une saisie de texte formaté dans un sujet séparé, ce qui présente ses propres avantages et inconvénients.
Le composant de thème DiscoTOC - automatic table of contents permet également d’organiser des liens en dehors du corps du message, mais est limité à un seul sujet.
Si votre objectif est simplement une organisation de style wiki, Discourse Doc Categories serait plus adapté. Si vous avez juste besoin que certains sujets aient des liens vers d’autres sujets, DiscoTOC - automatic table of contents serait préférable.
Remarques
Ce plugin a été initialement conçu pour soutenir la migration du forum auquel je participe vers Discourse. En tant que forum axé sur l’écriture, les utilisateurs maintiennent des sujets séparés à des fins différentes, ce qui entraîne une situation où les liens entre sujets à travers les catégories sont pratiquement indispensables. Pour faciliter cela, j’ai créé ce plugin pour soutenir l’auto-organisation des utilisateurs.
Il existe une timeline alternative où cela n’est qu’un composant de thème, où l’indexation se ferait via des divs saisies par l’utilisateur contenant des URL vers d’autres messages. Mais après avoir développé 90 % des outils, assistants et code nécessaires, j’ai réalisé que cela ne valait pas la peine et que les utilisateurs ignoreraient probablement tous les tutoriels écrits et se plaindraient quand même du fonctionnement. Cette voie a donc été abandonnée. Honnêtement, ce n’est pas une mauvaise solution, car elle serait bien plus légère qu’un plugin, mais elle aurait imposé aux utilisateurs une charge inutile pour s’assurer qu’ils avaient le bon formatage non pas sur un seul message, mais sur plusieurs.
J’ai actuellement marqué ceci comme experimental, car je ne suis pas encore à 100 % fixé sur les fonctionnalités de l’interface utilisateur (comme les icônes) et le système d’autorisations. De plus, je dois ajouter des tests unitaires automatisés.

