Il serait utile que le script d’importation phpBB3 puisse prendre ces commentaires et les attribuer comme texte alternatif à l’image avec laquelle ils sont associés, ce qui apparaîtrait alors lorsque vous survolez l’image dans Discourse.
Ah ! Comme je ne connais rien à Ruby on Rails - et que je demande une amélioration au script d’importation phpBB - j’aimerais demander une amélioration supplémentaire comme décrit ici. Il serait utile que lorsque le script signale une erreur de date/heure avec une publication, il signale également le post_id phpBB à des fins de débogage.
Il n’est pas immédiatement clair comment procéder à ce que vous demandez, mais j’ai passé quelques minutes et il n’y a pas de solution très satisfaisante qui semble réalisable.
Il n’y a nulle part dans l’enregistrement de téléchargement pour la légende, et je ne vois aucun moyen évident de remonter à partir du téléchargement. . . une possibilité pourrait être d’insérer le commentaire comme nom de fichier, puis de le récupérer plus tard comme légende. Oui. C’est à peu près ce que vous pourriez faire de mieux, encoder cette légende comme nom de fichier, ce qui la ferait apparaître au survol de la souris et autres. Si vous le souhaitiez, vous pourriez ensuite faire autre chose, comme obtenir des noms de fichiers qui incluent une légende et l’insérer ensuite dans le html d’une manière ou d’une autre.
Certes, je ne connais rien à RoR, ni même à postgres. Mais, lorsque vous balisez une image avec un texte alternatif, celui-ci est stocké dans la base de données postgres en association avec cette image. Qu’est-ce qui, dans le script d’importation, empêche cette affectation ? Le commentaire est certainement accessible dans MySQL.
Merci ! Voulez-vous qualifier l’affectation en fonction du type MIME ? (Je n’ai pas pu joindre un commentaire phpBB à un .mp4 ; alors que j’ai pu le faire à un .gif, il n’est pas apparu au survol.)
Cela pourrait être utile, mais j’ai travaillé sur une nouvelle façon d’ajouter le commentaire directement dans le brut du message. Je pense que c’est plus sûr de cette façon pour gérer tous les types de fichiers.
Pourriez-vous tester ces changements avec votre jeu de données ? J’ai testé localement mais j’aimerais avoir vos commentaires avant de passer à une PR.
Je serais ravi de tester, mais… Dois-je purger mon environnement de test et recommencer ? Claude.ai m’a guidé à travers le processus d’installation, je suis un nouveau venu sur Docker - et même ainsi, il y a eu beaucoup d’erreurs en cours de route.
Si vous pouvez me décrire une manière simple de tester, je serais heureux d’essayer.
Bon travail ! J’ai examiné le code et je n’ai pas trouvé cela.
Oui. Vous devrez effacer la base de données et relancer. L’importateur ignore les données déjà importées, vous devrez donc tout réimporter pour l’essayer. Il semble que cela devrait fonctionner, cependant !
OK - eh bien, les pièces jointes sont toujours en place, tout comme la base de données MySQL. Il a fallu plusieurs heures pour s’exécuter, mais je vais demander à Claude de me guider et de vous faire un rapport.
Bien sûr, je peux vous aider. Pas besoin de modifier votre installation. La méthode simple :
Faites une sauvegarde de votre site et conservez-la en lieu sûr. Cela vous protégera de la perte de votre travail.
Réinitialisez votre site :
# Entrez dans le conteneur du site
cd /var/discourse
./launcher enter <votre-nom-de-conteneur>
# Réinitialiser la base de données
bundle exec rake db:drop
bundle exec rake db:create
bundle exec rake db:migrate
bundle exec rake db:seed
# Quittez le conteneur
exit
# Reconstruisez le conteneur juste pour être sûr que tout est en place
./launcher rebuild <votre-nom-de-conteneur>
Modifiez les fichiers avec le nouveau code. Vous pouvez utiliser un éditeur de texte en ligne de commande (cli) ou ouvrir votre conteneur via ssh dans votre éditeur de texte préféré.
Configurez le fichier settings.yml et exécutez à nouveau l’importateur.
Pour revenir à votre état précédent, il vous suffit de restaurer la sauvegarde que vous avez effectuée au début :
./launcher enter <votre-nom-de-conteneur>
discourse enable restore
discourse restore <nom-de-votre-sauvegarde>
Ah oui ! Pendant qu’on y est, est-il assez facile de modifier le script pour qu’il signale l’ID de publication phpBB qui est en cours de traitement, lorsque le problème de date/heure est signalé ?
Mais merci d’avoir jeté un œil, cela m’a fait réaliser que je n’avais pas pris en compte les pièces jointes non référencées que phpbb possède également :
Oups. Erreur de débutant, je ne voulais pas fermer le fil de discussion - juste pour accuser réception, cela semble avoir résolu ce problème particulier.
« Semble que oui. » J’attends toujours que db:drop se termine. En avant…