Espace réservé pour les images distantes inexistantes

Bonjour,

J’ai importé 80 000 messages de phpBB vers Discourse. Dans ces messages, il y a beaucoup d’images liées à un site web distant comme [img]http://www.domain.tld/image.jpg[/img] qui ne sont plus là.

Le message n’affiche rien à cet endroit, ce qui provoque des irritations, car le contexte est brisé dans certains de ces messages, car il n’est pas clair qu’entre le bloc de texte précédent et le suivant il y a/avait une image.

Ma question est donc : est-il possible d’avoir une image de remplacement là où l’image d’origine n’est plus disponible ?

Cordialement,
Roi

Est-ce qu’il affiche l’icône de l’image du courtier par défaut ? Je pense qu’il devrait le faire une fois les publications traitées.

J’ai personnalisé le mien. Voir (code inclus) :

1 « J'aime »

Non, rien ne s’affiche. Mais je m’en rapproche. Je pense que c’est dû à la balise BBCode . Si je modifie un message et que je supprime la balise, ça ressemble à ça.

Il faudrait donc que je supprime toutes les balises BBCode [img] et que je retraites les messages ?

Ça a l’air intéressant. Je pense que j’en ai besoin aussi. :slight_smile: Merci !

Je ne suis pas sûr. Si vous supprimez une balise BBCode en ligne, vous aurez l’URL de l’image en texte brut dans votre texte, et elle n’utilisera pas l’icône d’image brisée.

Peut-être pourriez-vous essayer de supprimer la balise BBCode, mais en insérant une ligne vide avant et après l’URL de l’image. Faites une sauvegarde d’abord !

Ouais. Mince, tu as peut-être raison.

Eh bien, que faudrait-il changer pour obtenir l’icône d’image brisée - ou l’image distante (ma supposition alors téléchargée) si elle existe toujours ?

Je ne suis pas sûr.
J’aurais dû rencontrer ce problème aussi puisque j’ai importé aussi un forum phpBB avec des balises [IMG] et 95% d’images cassées, mais d’après mes souvenirs, après le “baking”, les images cassées en ligne ont été correctement remplacées par l’icône d’image cassée même quand elles étaient en ligne, mais je pourrais me tromper :thinking:

Je crains de ne pas avoir de solution toute faite pour le moment, mais je suis sûr qu’il y a un moyen de trouver.

Auriez-vous par hasard un lien vers un message qui contiendrait une image cassée en ligne ? Pourriez-vous également copier-coller le texte brut ?

1 « J'aime »

Bien sûr, voici un exemple concret :

Si vous regardez le premier message, il y a un grand espace vide sous la dernière ligne de texte et la signature. Dans le code source, vous pouvez voir les images mortes, par exemple :

<p><img src="http://www.grillen-darf-nicht-gesund-sein.de/gfx/beef-buddies-2008_initiative.jpg" alt="" role="presentation" loading="lazy"></p>

“brut” depuis la base de données :

[img]http://www.grillen-darf-nicht-gesund-sein.de/gfx/beef-buddies-2008_initiative.jpg[/img]

“cuit” depuis la base de données :

<p><img src="http://www.grillen-darf-nicht-gesund-sein.de/gfx/beef-buddies-2008_initiative.jpg" alt="" role="presentation"></p>

Avez-vous activé le paramètre télécharger les images distantes en local ? L’icône d’image brisée n’apparaît qu’après que Discourse a tenté de télécharger l’image distante et a échoué.

Si le paramètre est désactivé, il laisse une ligne vide.

Oui, c’est activé. Ça l’a toujours été, même avant que j’importe depuis phpBB.

Est-il possible que l’importateur phpBB ne tienne pas compte de ce paramètre ? Selon ma compréhension, la cuisson devrait se faire en dehors de l’importateur et utiliser les paramètres.

Est-ce que la recuisson de tous les messages cause des dommages ?

J’ai essayé :

rake posts:rebake_match["[img]"]
      767 / 767 (100,0%)
767 messages terminés !

Le message que j’ai mentionné ci-dessus (et tous les autres) ont exactement le même aspect…

Je pense qu’il existe un paramètre dans /var/discourse/shared/standalone/import/settings.yml où nous pouvons définir le téléchargement d’images distantes sur vrai ou faux, mais les publications seront traitées après l’importation, que cette option soit définie ou non.

Je vois que vos lignes vides affichent maintenant l’icône d’image brisée attendue :
\u003chttps://forum.gdngs.de/t/grill-shirts-von-3dsupply-de/5515\u003e

Au lieu de retraiter un tas de publications, un bon test consiste à reconstruire le HTML d’une publication spécifique à partir des options d’administration de la publication, car cela déclenche un retraitement :

chrome_RLLvokErfg

Et ensuite, déclencher le travail UpdateHotlinkedRaw en l’ajoutant à la file d’attente :

J’ai essayé sur mon instance de test en utilisant l’une de vos images brisées et à l’intérieur de BBcode. Lorsque télécharger les images distantes en local était désactivé, la ligne vide est restée. Lorsqu’il était activé, l’icône d’image brisée est apparue à la place.

1 « J'aime »

Oh oui, vous avez raison. Je pense que c’était un problème de cache de navigateur après la commande de re-cuisson. Merci de l’avoir vérifié vous-même ! :slight_smile:

C’était donc un problème d’importation phpBB d’une manière ou d’une autre. Je jurerais que je n’ai modifié aucun paramètre de configuration lié aux images distantes après avoir tout importé de phpBB…

Ah cool. Je l’ai trouvé et j’ai cliqué dessus.

Je ne trouve aucun travail UpdateHotlinkedRaw dans Sidekiq… Pouvez-vous m’aider à régler ça. Je suis sûr que c’est d’une manière ou d’une autre PEBCAK. :wink:

Cela irait dans le sens où j’ai activé download remote images to local après avoir tout importé de phpBB. Hm… Comme j’avais/ai aussi une installation de test et que j’y ai testé beaucoup de choses, je suis toujours à peu près sûr que c’était déjà activé avant.

Remarque : la tâche serait déclenchée dans quelques minutes de toute façon, aller sur Sidekiq n’est qu’un moyen de vérifier les choses plus rapidement.

La tâche UpdateHotlinkedRaw devrait être présente quelques secondes après la reconstruction de votre HTML de publication, dans l’onglet Scheduled de Sidekiq.

La tâche ne devrait être visible que si le paramètre download remote images to local est activé dans les paramètres de votre forum Discourse, et si votre publication contient une ou plusieurs images.

Si cela ne fonctionne pas, je n’ai pas d’autre idée pour le moment… !

Merci, c’est donc clair. J’ai simplement refait la cuisson de n’importe quelle publication - une sans images distantes. Donc rien ne s’est passé. :wink:

Et merci, vous m’avez aidé à régler les choses ici. Je vois maintenant les images de remplacement. Et je vais très probablement remplacer l’image de remplacement par votre astuce CSS que vous avez liée ici.

1 « J'aime »