Migration depuis Yahoo! Groups

(modifications majeures ci-dessous–deuxième tentative)

Je travaille sur le processus d’importation des messages, en suivant les instructions disponibles sur Migrate from another forum to Discourse. À ma connaissance, le processus devrait se dérouler ainsi :

  • Configurer l’environnement de développement en utilisant Install Discourse on Ubuntu or Debian for Development
  • Installer MongoDB sur ce système
  • Sur ce système, en tant que l’utilisateur non privilégié qui exécute Discourse, faire un git clone du script yahoo-group-export
  • En tant que le même utilisateur, exécuter gem install mechanize puis gem install mongo. Ensuite, modifier .config.yaml pour y ajouter les identifiants Yahoo et le nom du groupe, puis lancer ruby bin/yg-export.rb.
  • Prendre une tasse (ou deux) de votre boisson préférée.
  • Une fois que yg-export a terminé, dans le répertoire Discourse, examiner script/import_scripts/yahoogroup.rb. Le modifier pour qu’il pointe vers le bon MONGODB_HOST (localhost).
  • Dans le répertoire discourse, exécuter bundle exec ruby script/import_scripts/yahoogroup.rb
  • Vérifier que l’importation s’est correctement déroulée
  • Sauvegarder et restaurer sur un serveur en production

Les étapes 2 à 4 sont déduites. Mais cela ressemble-t-il aux bonnes étapes à suivre ? Pensant que c’était le cas, j’ai poursuivi. Tout s’est bien passé jusqu’à l’étape 4 : yg-export.rb a tourné pendant environ une heure, signalant la SUCCÈS pour tout, et a sauvegardé environ 38 000 messages. La base de données syncro est présente avec environ 85 Mo de données. À ce stade, j’ai pris une capture d’écran de la machine virtuelle.

Cependant, je rencontre des problèmes avec le script d’importation. Lorsque j’exécute bundle exec ruby script/import_scripts/yahoogroup.rb, j’obtiens ceci :

dan@ubuntu:~/discourse$ bundle exec ruby script/import_scripts/yahoogroup.rb
Traceback (most recent call last):
script/import_scripts/yahoogroup.rb: Bootsnap::LoadPathCache::FallbackScan
        7: from script/import_scripts/yahoogroup.rb:4:in `<main>'
        6: from /home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/zeitwerk-2.1.10/lib/zeitwerk/kernel.rb:23:in `require'
        5: from /home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:26:in `require'
        4: from /home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:40:in `rescue in require'
        3: from /home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require_with_bootsnap_lfi'
        2: from /home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/loaded_features_index.rb:89:in `register'
        1: from /home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `block in require_with_bootsnap_lfi'
/home/dan/.rbenv/versions/2.6.2/lib/ruby/gems/2.6.0/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require': cannot load such file -- mongo (LoadError)

Étrange, je pensais avoir déjà installé le gem mongo. Bon, je vais le réinstaller :

dan@ubuntu:~/discourse$ gem install mongo
Successfully installed mongo-2.10.2
Parsing documentation for mongo-2.10.2
Done installing documentation for mongo after 4 seconds
1 gem installed

Je relance le script d’importation, même résultat. Est-ce que cela a de l’importance si je l’installe au niveau système ?

dan@ubuntu:~/discourse$ sudo apt install ruby-mongo
[sudo] password for dan: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
ruby-mongo is already the newest version (2.5.1-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Plus bizarre encore…