Comment puis-je dupliquer un sujet entier ?

Cela peut sembler ridicule, car les gens cherchent généralement à éviter ou à supprimer les sujets en double. Cependant, j’ai actuellement un cas d’usage où je dois dupliquer un sujet. Comment puis-je faire ?

2 « J'aime »

Manuellement ? Vous pouvez accéder au contenu brut du sujet en allant à /raw/{topic_id} et en copiant tout ce qui s’y trouve.

Ainsi, https://meta.discourse.org/t/195111 devient https://meta.discourse.org/raw/195111

Au passage, Discourse appelle « topics » ce que vous nommez « threads ».


Édition : ou, si vous êtes niveau TL4/équipe, vous pouvez simplement cliquer sur « modifier » et copier tout le contenu.

4 « J'aime »

En fait, cela ne fait pas ce dont j’ai besoin. Je veux tous les sujets avec toutes les réponses. Je veux une copie exacte du fil de discussion, mais avec un topic_id différent.

1 « J'aime »

J’ai trouvé un moyen de « reproduire » un fil complet, ce qui était fastidieux, mais il n’y avait aucun moyen de le dupliquer véritablement (en conservant les « j’aime », par exemple).

Je crée un nouveau fil et le place dans une catégorie inaccessible, par exemple « staff ». Je copie chaque réponse du sujet original et la colle dans une réponse du nouveau fil. Pour les réponses dont j’ai besoin uniquement dans le nouveau fil, je les sélectionne et les déplace. Ensuite, je change le propriétaire de la réponse copiée pour qu’il corresponde au nom de l’auteur de la réponse originale. Une fois terminé, je ferme le fil original et je change la catégorie du nouveau sujet pour une catégorie publique.

Bien sûr, c’est trop fastidieux pour être utilisé régulièrement. La raison pour laquelle j’ai dû le faire cette fois, c’est parce que quelqu’un a créé un sujet avec un titre très long qui pouvait être interprété dans deux fils de discussion différents. Nous (les modérateurs) avons noté le problème du titre trop long (il sera désormais limité à un nombre de caractères inférieur), mais nous n’avons pas réalisé à ce moment-là que cela causerait un problème.

La conversation a commencé et, avant que nous ne nous en rendions compte, nous avions deux conversations délicates et très imbriquées en cours, avec certains commentaires offensants de la part d’un membre qui ont néanmoins provoqué une riche série de réponses dans les deux sujets.

Pour conserver la richesse des contributions qui avaient eu lieu, pour réprimander le contrevenant récidiviste, pour utiliser l’événement à des fins éducatives pour la communauté et pour permettre aux deux conversations précieuses de se développer chacune de son côté, j’ai estimé qu’il était préférable de séparer les sujets, en ne conservant que les interventions pertinentes pour chacun, mais sans hésiter à répéter dans les deux fils les interventions qui couvraient les deux sujets pour des raisons de clarté et de compréhension.

Dans le fil de discussion qui a conservé la réponse offensive, j’ai également ajouté un avis du personnel avant le message offensant, indiquant qu’il n’était pas conforme à nos valeurs communautaires, mais que nous le laissions pour des raisons éducatives. J’ai modifié ce message de la manière suivante : j’ai inséré le code markdown <del> devant le langage offensant :

<del>
J’ai expliqué que, pour exprimer son opinion de manière constructive, le membre aurait mieux valu formuler ses propos
</del>

de cette manière :

<ins>
<ins> ainsi.
</ins>

C’était beaucoup de travail et de réflexion. Je ne referais pas cela manuellement. Mais le cas d’usage existe bel et bien.

2 « J'aime »

Ça semble être beaucoup de travail ! Tu pourrais obtenir de meilleurs retours la prochaine fois si, au lieu de simplement demander de l’aide technique (« Comment dupliquer un sujet ? »), tu expliquais la situation et ce que tu souhaitais accomplir dans ton premier message. Par exemple, tu aurais probablement pu simplement fermer le sujet, ajouter une note de l’équipe en dernier message et le lier à deux nouveaux sujets où les discussions respectives pourraient continuer.

7 « J'aime »

Je ne peux pas vous blâmer pour votre commentaire : nous nous demandons souvent quel est l’objectif lorsque des personnes demandent des informations techniques sur fmpro sur notre forum.

Cependant, j’étais fermement résolu à expérimenter cette approche dans la situation actuelle. Je savais qu’il fallait fermer le fil et ouvrir deux nouveaux sujets. Je voulais utiliser le matériel existant à des fins éducatives.

Nous avons une excellente communauté, avec de nombreuses contributions remarquables. Toutefois, nous sommes nés de la frustration face à la plateforme du fournisseur. J’ai donc utilisé diverses approches et techniques de gestion du changement pour aider les gens à cesser de se plaindre et de critiquer le fournisseur.

La plupart ont évolué dans la manière dont ils expriment des opinions critiques sur le produit ou le fournisseur. Malheureusement, quelques individus avaient tendance à attiser les conflits, ce qui a nui à la réputation de notre communauté et a éloigné des membres précieux de l’écosystème, ceux qui entretiennent une relation plus proche ou privilégiée avec le fournisseur. C’est regrettable, car nous avons grandi de manière organique : la plupart des gens, lorsqu’ils découvrent notre existence, apprécient les forums et souhaitent y rester, et ces membres exceptionnels apportaient une expertise et un contenu de grande valeur.

Deux développeurs très respectés et estimés ont dû endurer des querelles et ont dû « travailler » trop dur pour corriger les informations ; ils ont perdu leur motivation et leur plaisir de contribuer et se sont retirés.

Nous avons bien modéré, mais il était désagréable de voir constamment réapparaître les mêmes comportements irritants. En essayant de donner à chacun le droit de s’exprimer, j’ai fini par réaliser qu’il était quelque peu injuste de demander à tous de faire preuve de tolérance et de les forcer à assister à des désagréments simplement parce que quelques-uns refusaient de cesser d’être désagréables.

Notre FAQ ne les a pas convaincus de la nécessité d’observer et de reconnaître les défauts dans leurs interactions. Au lieu de listes de choses à faire et à ne pas faire, ou de directives que les gens interprètent comme ils l’entendent, notre nouvel administrateur a décidé de promouvoir des valeurs. Il s’avère que cela facilite la modération : nous pouvons simplement indiquer qu’un message ne respecte pas les valeurs de notre communauté, et il est alors modifié (ou masqué jusqu’à ce que vous le corrigiez).

Cependant, nous avons fini par réaliser que cela n’aidait pas les personnes qui communiquent mal depuis toujours à savoir comment s’améliorer.

Nous ajoutons donc désormais des interventions éducatives, essentiellement de la métacommunication, directement dans les fils de discussion. Nous verrons bien comment cela se passera.

5 « J'aime »

Je le sais, @HAWK a même modifié mon titre pour refléter cela.

J’utilise le terme « fils de discussion » précisément pour éviter ce qui s’est produit ici : votre suggestion était une solution pour dupliquer le sujet (c’est-à-dire le premier message). Or, ce que je voulais, c’était une solution pour dupliquer l’ensemble du fil de discussion (c’est-à-dire le premier message, appelé sujet, ainsi que toutes les réponses qui suivent).

Autrement dit, lorsque vous créez un nouveau sujet et que les gens y répondent, ce que vous obtenez, c’est un fil de discussion.

C’est ça le problème — ce n’est pas le cas… Il n’existe littéralement pas de « fil de discussion » dans Discourse. Le premier message et toutes les réponses ensemble sont appelés un sujet.

2 « J'aime »

J’accepte le concept que vous exposez dans le contexte de Discourse. Cependant, d’un point de vue linguistique, philosophique et historique dans le domaine des forums en ligne, « thread » est ce qui décrit le mieux l’entité composée d’un premier message titré et des réponses qui suivent. :slightly_smiling_face:

1 « J'aime »

D’accord, mais ce qui vous échappe ici, c’est que Discourse ne propose pas de fils de discussion comme toutes les autres plateformes de forum. C’est précisément pour cela que nous faisons cette distinction.

4 « J'aime »

Vous avez raison. Dans ce cas, une discussion ou une conversation pourrait être un terme plus approprié, car il est moins spécifique quant au concept de conception qui unit les composants :grinning:

3 « J'aime »

Eh bien, vous pouvez rechercher la définition de sujet sur Google :

sujet
/ˈtäpik/
une affaire traitée dans un texte, un discours ou une conversation ; un thème.

C’est assez exact. Si vous préférez un autre mot pour des raisons personnelles, vous êtes libre de modifier le texte dans Discourse via Admin, Personnaliser.

Quant à la question initiale…

Pourquoi ne pas utiliser la clé à molette d’administrateur sur le sujet et scinder le sujet, afin que les réponses concernant l’“autre” sujet soient dans un sujet différent, mais lié ? Ce serait l’action la plus simple, soutenue par une multitude d’outils dans Discourse.

2 « J'aime »

Parce que :

« Je [voulais] séparer les sujets, en ne gardant que les interventions pertinentes pour chacun, mais sans hésiter à répéter dans les deux les interventions qui couvraient les deux sujets à des fins de clarté et de compréhension. »

À moins qu’il n’existe un moyen de copier une publication dans un nouveau sujet tout en la laissant également dans le sujet d’origine que je n’ai pas encore découvert, la solution que vous proposez ne permet pas de conserver certaines réponses dans les deux sujets à des fins de compréhension.

Je vois, si vous avez des réponses très imbriquées avec beaucoup de citations de divers messages, cela pourrait devenir délicat, mais cela devrait être relativement rare. J’ai modéré meta sous la plupart de ses formes pendant près d’une décennie maintenant et je ne peux pas penser à de nombreuses fois où j’ai rencontré ce « besoin » de dupliquer un sujet entier… une division de sujet régulière fonctionne généralement assez bien.

2 « J'aime »

Jeff, j’ai un cas d’utilisation où la duplication d’un sujet entier serait extrêmement utile.

Nous utilisons notre instance pour la collaboration d’entreprise, spécifiquement un syndicat. Chaque réunion, nous créons un fil de discussion, 8 messages, style TOC.

Chaque réunion publie 1 à 8, bien que très différents au sein du sujet, ont le même format mois après mois, avec juste des informations spécifiques collées. Il serait incroyablement utile d’avoir la possibilité de créer un modèle non seulement pour le premier message, mais pour l’ensemble du sujet, en le reproduisant chaque mois et en insérant les informations mensuelles.

Actuellement, j’ai un sujet que j’ai créé dans une catégorie privée avec le modèle pour chaque message 1-8. Je dois actuellement l’ouvrir en écran partagé avec un nouveau sujet, copier le message 1 du sujet modèle vers le nouveau sujet, puis le message 2, puis le message 3, etc.

Bien qu’il s’agisse d’un cas d’utilisation vraiment inhabituel, certaines instances pourraient vraiment bénéficier d’une fonctionnalité d’administrateur pour cloner un sujet, ou s’il existe un moyen d’étendre le modèle de sujet pour inclure plusieurs modèles de réponse individuels imbriqués dans la catégorie avec le modèle de sujet.

Actuellement, qu’il s’agisse d’un modèle de sujet ou d’un assistant, tout ce que je peux faire, c’est essentiellement cloner un message n°1 non rempli.

1 « J'aime »

Bonjour,

Est-ce que Discourse Canned Replies ne pourrait pas être une meilleure solution pour cela ? Il vous suffit de le créer une fois pour le sujet et les publications, puis vous pouvez simplement sélectionner les modèles.

4 « J'aime »

Vous savez… ça pourrait bien fonctionner. Après l’avoir examiné, je suis vraiment encouragé. @Don merci !

4 « J'aime »

Nous avons également un cas d’utilisation. Nous utilisons les messages privés à un groupe comme moyen de demandes d’aide privées, mais nous encourageons les utilisateurs à nous permettre de rendre leur demande publique. Nous préférons les demandes d’aide publiques car plus de personnes peuvent bénéficier de l’assistance.

Idéalement, nous copierions la demande d’aide de l’OP et les réponses sélectionnées dans un nouveau sujet public, en omettant le message de réponse automatique et les réponses où nous demandons si nous pouvons la rendre publique, etc.

Tel quel, nous devrons faire du sujet du message privé un sujet complet dans une catégorie privée, supprimer les réponses que nous ne voulons pas montrer, puis le déplacer vers une zone publique.

Y a-t-il une raison pour laquelle vous ne faites pas l’inverse ? Sélectionner les messages que vous voulez rendre publics, les déplacer vers une nouvelle conversation et transformer celle-ci en sujet public ? Je me sentirais plus en sécurité en choisissant soigneusement ce que je publie plutôt qu’en supprimant tout ce que je ne veux pas publier.

4 « J'aime »

C’est un bon point. Je suppose que je pensais que le message de l’OP ne pouvait pas être déplacé vers un nouveau sujet. Je vais faire quelques tests pour voir comment cela pourrait fonctionner. Merci pour la suggestion.

1 « J'aime »