Mode lecture seule partiel

De temps en temps, nous rencontrons une situation où un forum doit être en mode « lecture seule » afin d’empêcher la publication de nouveaux messages.

Cependant, il est vraiment agaçant que le mode lecture seule empêche également les modifications de configuration, la synchronisation SSO et la connexion.

Ce serait formidable si nous avions une sorte de mode lecture seule partiel où seuls les messages et les actions sur les messages seraient en lecture seule.

Pour l’instant, la seule chose à laquelle je peux penser est de supprimer les autorisations de publication de tous les groupes de sécurité de catégorie, mais c’est un peu trop « hacky » et cela nécessite de les stocker ailleurs pour le moment.

Quelqu’un a-t-il une idée de la meilleure façon d’y parvenir ?
C’est probablement du ressort des plugins, mais quand même : quelle approche serait la meilleure ?

14 « J'aime »

Un plugin + un réglage du site devraient faire l’affaire.

Essayez peut-être le hook validate_post, ajoutez une validation personnalisée qui renvoie « no good » si le réglage du site le définit sur lecture seule.

6 « J'aime »

J’ai utilisé NewPostManager.add_handler, il semble que l’événement :validate_post ne fasse que notifier et n’offre pas la possibilité de retourner un résultat et de refuser la publication.

Voici un plugin qui désactive la publication en un clic : GitHub - communiteq/discourse-prevent-posting

Configuration

Allez dans Admin - Plugins - discourse-prevent-posting - Paramètres

prevent posting enabled : active le plugin et empêche la création de nouvelles publications.

prevent posting message : message à afficher comme annonce globale lorsque le plugin est activé.

prevent posting allow pms : si activé, les messages privés sont autorisés.

7 « J'aime »

Je pense que nous devrions ajouter cela à notre feuille de route @sam

7 « J'aime »

Absolument !

Bien que j’aimerais fixer le cadre ici, idéalement, nous pouvons tout intégrer dans un seul paramètre de site avec plusieurs options.

J’aimerais d’abord établir un bon cahier des charges. Quelques questions :

  • Qu’en est-il des réactions et des plugins ?
  • Qu’en est-il des profils utilisateurs ?
  • Qu’en est-il de l’inscription avec de nouveaux comptes ?

Je m’inquiète également de permettre trop de détails ici.

Peut-être qu’un simple mode maintenance activé/désactivé et permettant aux administrateurs de toujours contourner, est suffisant ?

8 « J'aime »

Pour information/à titre indicatif -

Pour notre communauté, ce plugin fournit un mode « Sabbat ». L’objectif est d’inciter les membres de la communauté à transposer ce qu’ils ont vécu dans notre contexte en ligne pour servir avec amour leurs voisins dans leurs communautés locales.

Les principaux éléments derrière ce que Richard a développé sont :

  • La possibilité de planifier des moments routiniers et occasionnels où la publication est désactivée et réactivée. Il est possible de désactiver la publication pour les week-ends (en continu) et aussi pour les jours fériés majeurs (occasionnellement).

  • La capacité de synchroniser cela avec une bannière globale personnalisée afin de ne pas confondre les participants (« pourquoi le site ne fonctionne-t-il pas ?! »). Au contraire, nous pouvons expliquer clairement aux visiteurs et aux membres pourquoi la publication est temporairement désactivée.

Quant aux autres activités :

  • La désactivation des réactions est conforme à la vision originale, mais je suppose que cela pourrait être une case à cocher que les administrateurs pourraient activer afin d’étendre la polyvalence de ce paramètre de site.

  • Je ne pense pas que ce plugin affecte d’autres plugins.

  • De nouveaux comptes peuvent être créés - seule la publication est désactivée.

Cela fonctionne à merveille. Je suis ravi que cette capacité puisse être intégrée à la feuille de route.

3 « J'aime »

@outofthebox En fait, la planification ne fait pas partie de ce plugin, c’est le plugin scheduled-readonly qui fonctionne en étroite collaboration avec le plugin prevent-posting.

5 « J'aime »

Je me corrige ! :slight_smile:

4 « J'aime »

Je suis ravi de le savoir, car j’expérimentais l’idée d’un mode sabbat ou vacances, car je pourrais vouloir prendre du temps libre, surtout si je gère mon site Discourse en parallèle d’un cours.

Je pense que je vais essayer les deux plugins, merci !

EDIT : Je viens de tester cela et cela fonctionne sur l’un de mes sites, mais lorsque j’ai voulu modifier le plugin pour le désactiver, il a indiqué qu’il était en mode lecture seule et que je ne pouvais pas modifier le paramètre. J’ai essayé de cliquer sur « désactiver le mode lecture seule » dans Admin > Sauvegardes, mais je pense que le plugin remplaçait le paramètre.

Une fois le plugin activé et dans la période de lecture seule, y a-t-il un moyen pour moi de le désactiver ?

EDIT 2 : J’ai dû reconstruire sans le plugin, car il s’est bloqué et a appliqué le mode lecture seule même après l’expiration du délai. Je ne sais pas si le fait de cliquer manuellement sur le bouton « désactiver le mode lecture seule » a causé cela. De plus, pour une raison quelconque, la période de vacances ne s’activait même pas sur une autre instance Discourse, donc je reste perplexe :slight_smile:

2 « J'aime »

Quelque chose de similaire à l’OP est maintenant possible.

Nous avons récemment ajouté un mode « seul le personnel peut écrire » – c’est un mode lecture seule qui n’affecte que les non-membres du personnel. Il permet au personnel de se connecter, de publier, de modifier les paramètres, etc., tandis que les autres utilisateurs voient un site qui est effectivement en mode lecture seule.

Utilisation

Pour activer, depuis la console, exécutez :

Discourse.enable_readonly_mode(Discourse::STAFF_WRITES_ONLY_MODE_KEY)

et pour désactiver :

Discourse.disable_readonly_mode(Discourse::STAFF_WRITES_ONLY_MODE_KEY)

J’espère que cela vous sera utile ! Faites-moi savoir si vous avez des questions.

14 « J'aime »

Y a-t-il une chance d’implémenter ADMIN_WRITES_ONLY_MODE_KEY pour empêcher également les actions de modération ?

J’ai un scénario d’utilisation où je mets le forum en mode lecture seule, j’effectue une sauvegarde, puis je garde le forum en ligne et accessible pour consultation pendant que le nouveau VPS est reconstruit à partir de zéro, que la sauvegarde est restaurée, puis que l’adresse IP est basculée vers le nouveau serveur de manière transparente et sans interruption.

Toute action de modération sur l’ancien serveur après la sauvegarde/le mode lecture seule serait perdue après le basculement en direct si les modérateurs sont exemptés du mode lecture seule partiel.

J’utilise actuellement un mode lecture seule complet, mais c’est fastidieux car cela empêche également les modifications d’administration à l’aide de l’interface Web.

3 « J'aime »

Ce sujet a été automatiquement fermé après 13 jours. Les nouvelles réponses ne sont plus autorisées.

Maintenant que cela a été ajouté, est-il prévu d’ajouter cela comme option au plugin de lecture seule programmé ?

3 « J'aime »

Bonne idée. Je vais l’ajouter à ma liste de projets amusants et en attendant, les PR sont également les bienvenus :slight_smile:

3 « J'aime »

Juste pour information, pour quiconque teste le plugin de lecture seule programmé, j’ai mis en place un cas de test d’environ 2 minutes et j’étais confus de voir pourquoi il ne s’arrêtait pas — il s’avère qu’il ne vérifie que toutes les 5 minutes.

2 « J'aime »

Si l’administrateur peut toujours envoyer des messages dans le chat en mode lecture seule, ce serait génial.