Le moyen le plus simple d'exporter un seul sujet ?

Bonjour,

Nous essayons d’exporter un seul sujet depuis une instance Discourse vers un stockage local ou, de préférence, vers une autre instance. Les administrateurs de l’instance d’origine soutiennent ce déplacement, mais ne souhaitent pas nécessairement consacrer beaucoup de temps à la mise en œuvre de ce transfert. Nous recherchons donc toutes les solutions disponibles qui soient relativement rapides et sans complications.

Jusqu’à présent, nous envisageons deux options :

Bien que le premier lien représente certainement la méthode la plus directe pour atteindre notre objectif final, nous ne sommes pas certains que nos administrateurs soient prêts à effectuer une tâche apparemment importante de leur côté pour faciliter ce déplacement. Nous envisageons donc également le Discourse Downloader de @pfaffman.

Cependant, si l’une de ces options s’avère clairement supérieure compte tenu de nos besoins et contraintes, nous apprécierions vraiment les retours d’expérience de personnes ayant déjà utilisé l’une ou l’autre méthode, ou qui sont plus familières avec le processus que nous. De plus, si vous connaissez une autre option que nous n’aurions pas trouvée et qui serait meilleure, nous serions ravis de l’apprendre !

Merci pour votre temps !

2 « J'aime »

L’outil en ligne de commande d’importation/exportation des catégories et sujets se résume à quelques commandes et à cinq minutes de travail, tout au plus.

Avez-vous envisagé les implications juridiques de la copie des utilisateurs vers une autre instance ?

3 « J'aime »

Tous les utilisateurs ont accepté ce déplacement, je ne m’attends donc pas à ce que cela pose problème.

Si vous pensez le contraire, n’hésitez pas à me le faire savoir !

1 « J'aime »

Voulez-vous vraiment dire un seul sujet ? Pourquoi ne pas faire un copier-coller dans l’interface web ?

Édit : ah oui. Un sujet contient plusieurs messages. Désolé. :frowning_face:

De toute façon, maintenant que j’ai compris, je pense que vous devriez utiliser la tâche rake si vous pouvez obtenir que vos administrateurs le fassent. Je ne pense pas que ce soit si difficile.

1 « J'aime »

Raisons possibles :

  • Vous souhaitez également récupérer les utilisateurs, les téléchargements, les citations, les likes
  • Le sujet contient des milliers de messages
2 « J'aime »

Bon alors

Les administrateurs ont refusé les deux solutions car cela demanderait trop de travail.

Ce sont leurs mots, pas les miens ; je ne suis pas fan non plus.

Je ne suppose pas que vous sachiez comment obtenir un fichier .json pour non pas un seul message, mais pour tout le sujet, sans les permissions d’administrateur ?

Édition : Cela pourrait mieux faire l’objet d’un sujet distinct, car je suppose que cela ne correspond plus au titre. Néanmoins, cela semble spammeur, donc je ne le ferai pas.

1 « J'aime »

Je ne pense pas que vous ayez besoin d’exécuter la solution de @pfaffman sur le serveur. Pour autant que je sache, vous n’avez pas besoin des administrateurs pour cela.

Cela nécessite une clé API.

Est-ce un sujet de forum public ? Dans ce cas, cela devrait fonctionner sans clé API.

Wow ! On dirait bien que je l’ai écrit de manière à ce qu’il ne nécessite pas de clé API s’il s’agit d’un sujet public.

Ou peut-être pas ?

J’ai poussé une correction, vous pouvez donc faire un git pull et cela devrait fonctionner maintenant avec un fichier apikeys vide. (Je pense que vous devez en créer un vide, cependant). Il téléchargera un sujet dans un fichier texte.

Je l’ai écrit pour l’analyse hors ligne des discussions, donc je ne suis pas sûr de son utilité sans quelques travaux supplémentaires. Je pense qu’il devrait vous permettre de télécharger les données localement, mais ne sera pas d’une grande aide (tel quel) pour les transférer vers un autre Discourse.

Si vous souhaitez les transférer vers un autre Discourse et qu’il s’agit d’un sujet public, vous devrez, par exemple, adapter cet outil d’une autre manière. Si vous avez un budget, vous pouvez me contacter ou poster dans Marketplace.

2 « J'aime »

Pour être honnête, si je devais passer autant de temps, je préférerais probablement écrire un script qui parcourt le sujet et récupère manuellement tous les fichiers .json individuels, lol.

Malheureusement, je ne suis pas vraiment en mesure de fournir les ressources nécessaires à l’une ou l’autre de ces options, donc exécuter le téléchargeur pourrait bien être la meilleure solution qui s’offre à moi.

Merci !

1 « J'aime »

Ce code est un bon point de départ. Il télécharge les fichiers JSON, puis les convertit en d’autres formats.

2 « J'aime »

Ça a l’air utile, merci !

1 « J'aime »

Merci pour le code Ruby, @pfaffman !

Pour ceux qui préfèrent Python, il existe un excellent point de départ pour savoir comment utiliser l’API et les fichiers JSON sur mcmcclur/ArchiveDiscourse : Code pour archiver mes sites Discourse.

2 « J'aime »