Problèmes de migration de XenForo vers Discourse

Bonjour, à partir de l’étape 7, je rencontre des problèmes. Toute aide serait grandement appréciée. Je n’ai jamais travaillé avec Ruby auparavant, il est donc possible qu’il y ait des étapes évidentes nécessaires juste avant l’étape 7 que j’ignore simplement en raison de mon manque d’expérience. Excusez-moi si cette question semble naïve.

Lorsque j’exécute :

J’obtiens le résultat suivant :

-bash : Gemfile : Permission refusée

Ceci se produit sur un tout nouveau serveur avec une installation fonctionnelle de Discourse.

Y a-t-il d’autres composants ou logiciels que je dois installer pour que les étapes commençant à l’étape 7 fonctionnent ?

J’ai également remarqué que ce fil de discussion date de quelques années. Toutes les étapes de l’OP sont-elles toujours correctes ?

Merci !

Ok, j’avais soumis un message complet ici, mais je l’ai supprimé car, en creusant davantage, j’ai réalisé que je comprenais mal le fonctionnement de Docker avec l’installation de Discourse. Mon message précédent aurait pu prêter à confusion, car, fondamentalement, je ne savais pas de quoi je parlais. :joy:

Je tentais d’ajouter manuellement les fichiers d’importation dans le répertoire /var/discourse/, alors que j’aurais dû les chercher à l’intérieur du conteneur Docker. En y repensant, c’est une erreur évidente, mais j’étais assez confus à l’époque. Les instructions pourraient être plus claires à ce sujet, mais j’ai fini par comprendre et résoudre mon propre problème.

J’ai réussi à faire fonctionner cette importation sur un forum de plus d’un million de publications. J’ai remarqué quelques points.

  1. Les avatars sont absents. Après avoir examiné le script, je ne vois aucune référence aux avatars. Pour confirmer, sont-ils vraiment non importés ?

  2. Les vues des sujets sont toutes à 0. Est-ce normal ?

  3. Les publications des invités (si un compte utilisateur a été supprimé et son nom d’utilisateur marqué comme « invité » dans XenForo) s’affichent toutes sous « system ». Existe-t-il un moyen de les faire afficher au moins comme « invité » au lieu de « system » ? Discourse prend-il en charge les publications non attribuées à un compte enregistré ?

Existe-t-il des scripts d’importation qui prennent en charge l’importation des avatars et des vues des sujets ? J’aimerais les examiner pour voir à quel point il serait difficile de modifier le script xenforo.rb.

Je connais très bien les bases de données vBulletin et XenForo. Il me suffit d’être orienté dans la bonne direction sur la façon dont Discourse stocke les vues des sujets et les avatars, afin que je puisse les mapper correctement.

Rien de tout cela n’est surprenant.

Je fais généralement un grep dans le répertoire des scripts pour trouver ce que je cherche (Avatar). Je pense que pour les vues, vous pouvez simplement l’ajouter à la requête SQL et inclure le champ lors de la création de l’enregistrement. Pour l’utilisateur invité, il existe une ligne qui utilise system si la recherche de l’utilisateur échoue. Vous pouvez la remplacer par l’utilisateur invité que vous avez créé.

J’ai parcouru ce script et je ne parviens pas à trouver ce qui fait que les identifiants (IDs) s’incrémente systématiquement à partir de 1 au lieu de correspondre exactement à ceux de la base de données source.

Je souhaiterais rediriger les URL existantes, et la meilleure façon de procéder serait de conserver les IDs tels quels. IDs des utilisateurs, des publications, des sujets, des catégories, etc.

Le script les « mappe » tous vers de nouveaux IDs.

Est-ce que je passe à côté d’une évidence qui me permettrait de forcer le maintien de tous les IDs après l’importation ?

Si cette question sort du cadre de ce forum, je le comprends. Merci de l’avoir lue quand même ! :+1:

Ce n’est pas le cas. Vous devez créer des permaliens pour chaque utilisateur, message, sujet et catégorie. Consultez Administration → Personnaliser → Permalien. De nombreux autres importateurs prennent en charge la création de permaliens.