Projet

Général

Profil

Bug #41600

recherche: indexation d'un seul lien d'une cellule ayant des liens externes

Ajouté par Serghei Mihai (congés, retour 15/05) il y a environ 4 ans. Mis à jour il y a environ 4 ans.

Statut:
Fermé
Priorité:
Normal
Version cible:
-
Début:
10 avril 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Constaté sur l'exemple d'une cellule "Formulaires d'une categorie".

Test qui réproduit le souci (certainement mal placé) et une proposition de correction.


Fichiers

0001-search-index-all-cell-s-external-links.patch (2,95 ko) 0001-search-index-all-cell-s-external-links.patch Serghei Mihai (congés, retour 15/05), 10 avril 2020 13:50
0001-search-index-all-cell-s-external-links-41600.patch (4,29 ko) 0001-search-index-all-cell-s-external-links-41600.patch Serghei Mihai (congés, retour 15/05), 13 avril 2020 18:56
0001-search-index-all-cell-s-external-links-41600.patch (3,31 ko) 0001-search-index-all-cell-s-external-links-41600.patch Serghei Mihai (congés, retour 15/05), 13 avril 2020 20:16

Révisions associées

Révision efc784d4 (diff)
Ajouté par Serghei Mihai (congés, retour 15/05) il y a environ 4 ans

search: index all cell's external links (#41600)

Révision 86b4643b (diff)
Ajouté par Serghei Mihai (congés, retour 15/05) il y a environ 4 ans

search: index all cell's external links (#41600)

Historique

#2

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a environ 4 ans

Le même nom utilisé pour l'indexation de la cellule et de ces liens fait qu'un seul lien va ressortir.

#3

Mis à jour par Frédéric Péters il y a environ 4 ans

La description ne dit rien du problème, juste qu'il est constaté, et je lis le code mais il est compliqué par le fait qu'un truc s'appelait indexed_cell et maintenant indexed_link mais le code reste le même, et pareil pour indexed_cell (un autre?) qui devient indexed_cell_by_url ? Et complication encore dans le test; quelle importance à ce que "form title" vienne avant "a second form title" ?

Bref, il me semble que :

-                indexed_cell = external_urls.get(indexed_cell.url)
+                indexed_cell = external_urls.get(link_data.get('url'))

« les liens externes sont individuellement indexés, ça se fait en itérant sur ce que renvoie cell.get_external_links_data(), si jamais deux liens pointent vers la même adresse ils doivent être indexés une seul fois, il y a un bug dans le code sur ce point qui fait qu'on ne récupérait pas comme adresse celle du lien mais celle précédemment indexée, et du coup tout le temps la même et pas d'indexation au-delà du premier élément. ».

#4

Mis à jour par Frédéric Péters il y a environ 4 ans

En bonus,

-                    indexed_cell.indexed_text += ' ' + link_data.get('text') or ''
+                    indexed_cell.indexed_text += ' ' + (link_data.get('text') or '')
#5

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a environ 4 ans

Frédéric Péters a écrit :

La description ne dit rien du problème, juste qu'il est constaté, et je lis le code mais il est compliqué par le fait qu'un truc s'appelait indexed_cell et maintenant indexed_link mais le code reste le même, et pareil pour indexed_cell (un autre?) qui devient indexed_cell_by_url ? Et complication encore dans le test; quelle importance à ce que "form title" vienne avant "a second form title" ?

Je renomme la variable car il ne me semble pas clair qu'au début de la boucle:

            for link_data in cell.get_external_links_data():
                # index external links
                indexed_cell = external_urls.get(indexed_cell.url)

indexed_cell désigne l'index de la cellule et qu'à l'itération suivante il devienne l'index du lien.
Mais oui, la modification:

-                indexed_cell = external_urls.get(indexed_cell.url)
+                indexed_cell = external_urls.get(link_data.get('url'))

suffit pour rendre les choses plus claires.

Et complication encore dans le test; quelle importance à ce que "form title" vienne avant "a second form title" ?

Aucune, en effet. Retirée.

#6

Mis à jour par Frédéric Péters il y a environ 4 ans

  • Statut changé de Solution proposée à Solution validée
#7

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a environ 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)
  • Assigné à mis à Serghei Mihai (congés, retour 15/05)
commit efc784d4e1409b2ebd84f11bc6ea91d12034a109 (origin/master)
Author: Serghei Mihai <smihai@entrouvert.com>
Date:   Fri Apr 10 13:47:49 2020 +0200

    search: index all cell's external links (#41600)
#8

Mis à jour par Serghei Mihai (congés, retour 15/05) il y a environ 4 ans

J'envoie le patch dans la hotfix aussi, sans contre-avis.

#9

Mis à jour par Frédéric Péters il y a environ 4 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF