Plugin Locations 🌍

Merci @merefield, c’est exactement ce que nous avions essayĂ© :slight_smile:

HĂ©las, cela charge toujours d’abord la page de la liste des utilisateurs, ensuite il redirige vers la carte.

J’espĂ©rais que seule la carte soit disponible sur /map ou quelque chose comme ça :slight_smile:

2 « J'aime »

J’ai compris.

Mais c’est une fausse piste.

La liste des utilisateurs standard est mise en cache, ce qui permet un chargement quasi instantanĂ©. Le problĂšme rĂ©side dans le temps nĂ©cessaire pour charger le modĂšle de la carte, qui, dans votre cas, concerne environ 400 utilisateurs d’un coup
 donc oui, le rendu de la liste des utilisateurs ne consomme que 0,1 % du temps de traitement, mais le vrai problĂšme se situe dans la seconde partie. Il se peut qu’il n’y ait pas de solution rapide Ă  cela.

Je le sais en partie parce que je viens de dĂ©ployer sur un site qui n’avait pas encore utilisĂ© cette fonctionnalitĂ©. Les donnĂ©es de la carte se chargent si rapidement que la liste des utilisateurs n’est jamais visible (malgrĂ© son chargement en premier). Le hic ? Seuls deux utilisateurs ont pour l’instant Ă©pinglĂ© leur localisation
 la carte des utilisateurs ne s’adapte pas bien avec son architecture actuelle.

3 « J'aime »

Intéressant, merci.

Pour l’instant, seuls environ 12 % des membres de notre communautĂ© sont rĂ©pertoriĂ©s sur la carte, et nous avons rĂ©cemment Ă©voquĂ© une initiative pour en ajouter davantage.

Ai-je raison de penser que, à mesure que notre communauté continuera de croßtre, le chargement de la carte deviendra de plus en plus lent ?

2 « J'aime »

Je suppose aussi qu’il doit d’abord charger la liste des utilisateurs ?

Ne sachant rien du code, est-il possible d’avoir la carte à part quelque part ? :thinking: :man_shrugging:

2 « J'aime »

Comme je l’ai dit, cela n’a pas d’importance. La liste des utilisateurs est mise en cache et trùs courte.

2 « J'aime »

Le plugin Locations utilise-t-il son propre modĂšle pour cela ou un modĂšle de base existant ? Je me demande oĂč se situe le goulot d’étranglement lors de la sĂ©lection de seulement 400 lignes d’informations utilisateur depuis la base de donnĂ©es ?

Désolé pour toutes ces questions @merefield, je tente simplement de mieux comprendre comment cela fonctionne sous le capot :slight_smile:

2 « J'aime »

Pas de problÚme, Richie. Nous surchargeons le contrÎleur DirectoryItemsController pour récupérer plus de personnes en une seule fois que ce qui se produit normalement lorsque les données sont paginées pour le tableau standard. Le modÚle ne change pas.

Cela nĂ©cessite vraiment un remplacement complet par un systĂšme de streaming de donnĂ©es beaucoup plus complexe, qui tient compte de la taille et de la position de la zone visible. C’est un travail considĂ©rable, je suppose. Sans compter que cela ne pourra plus exploiter autant de code fourni avec Discourse, car il s’agit d’un cas d’utilisation complĂštement diffĂ©rent. Un travail tout Ă  fait intĂ©ressant, cependant !

Le fait que vous rencontriez ce dĂ©lai Ă  chaque seule fois suggĂšre qu’il ne s’agit pas d’un problĂšme de cache, et c’est peut-ĂȘtre quelque chose que nous pourrions corriger sans apporter de modifications majeures.

4 « J'aime »

Je n’ai tout de mĂȘme pas manquĂ© ou modifiĂ© un simple paramĂštre de Discourse, si ? :man_facepalming:

2 « J'aime »

Non, ce n’est pas de votre faute, sauf que vous avez peut-ĂȘtre dĂ©passĂ© les capacitĂ©s actuelles du plugin :slight_smile:

Quand j’aurai un moment, je regarderai ce qu’il faudrait pour mettre en cache les rĂ©sultats, afin que vous ne rencontriez ce problĂšme qu’une seule fois par session. C’est le fruit Ă  portĂ©e de main.

Cependant, la vraie chirurgie arboricole


2 « J'aime »

:cry:

Merci @merefield, mais attendons un peu pour cela. Je n’ai aucune preuve dans un sens ou dans l’autre, mais j’ai le fort sentiment que les gens ne consultent la carte qu’une seule fois par session de toute façon :thinking:

2 « J'aime »

Un rapport de bogue.

Ce bogue existe depuis un moment, mais j’ai enfin compris que le plugin Locations en est la cause. Lorsque le plugin est dĂ©sactivĂ©, mon site web s’affiche correctement sur la carte utilisateur, mais lorsqu’il est activĂ©, il apparaĂźt en double ! Voici une capture d’écran de la carte utilisateur qui apparaĂźt au survol :

et une autre depuis la page de profil entiÚrement développée :

Screen Shot 2020-06-11 at 11.15.36 AM

J’ai testĂ© cela Ă  de nombreuses reprises en modifiant diffĂ©rentes combinaisons de valeurs dans le profil. La seule fois oĂč je vois l’affichage correct, c’est-Ă -dire que le site web n’apparaĂźt qu’une seule fois, c’est lorsque je dĂ©sactive le plugin Locations.

2 « J'aime »

Merci Kartik, es-tu sur une mise à jour récente ?

2 « J'aime »

Oui, j’aurais dĂ» le mentionner.


MODIFICATION : Le HTML gĂ©nĂ©rĂ© pour l’élĂ©ment en double :

<span id="ember858" class="ember-view">  <div id="ember860" class="user-location-and-website-outlet replace-location ember-view"><!----><div class="user-profile-website">
  <svg class="fa d-icon d-icon-globe svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#globe"></use></svg>
    <span title="http://ks.cs.uchicago.edu">ks.cs.uchicago.edu</span>
</div>
</div>
</span>
3 « J'aime »

Je suis actuellement pris par du travail pour des clients, mais je garderai cela Ă  l’esprit Ă  l’approche de la prochaine pĂ©riode de mise Ă  niveau prise en charge (du 1er au 5 du mois prochain).

2 « J'aime »

C’est intĂ©ressant que l’un soit stylisĂ© comme un lien cliquable et l’autre non :thinking:

Il est aussi intéressant que nous ne rencontrions pas ce problÚme sur notre forum.

2 « J'aime »

Il semble que nous ayons un autre problĂšme, @merefield.

Notre carte des utilisateurs affiche actuellement 472 utilisateurs, mais plusieurs ont signalĂ© que leur Ă©pingle n’apparaĂźt pas sur la carte. Pourtant, lorsque vous consultez leur fiche utilisateur, ils sont bien visibles sur leur propre mini-carte.

Lorsque nous exĂ©cutons une requĂȘte sur la base de donnĂ©es pour les utilisateurs ayant ajoutĂ© une localisation, nous obtenons 492 rĂ©sultats. Il semble donc qu’une vingtaine d’entre eux ne soient pas visibles sur la carte.

Pouvons-nous faire quelque chose pour aider à déboguer ce problÚme ?

En consultant la fiche utilisateur de Chris, il s’affiche correctement sur sa propre carte de profil :

Sur la carte complĂšte / principale, Chris est manquant :thinking:

1 « J'aime »

Quelle est la valeur de ce paramĂštre, Richie ?

image

Pour l’exemple avec l’utilisateur manquant, pouvez-vous s’il vous plaĂźt m’envoyer un MP avec le rĂ©sultat de cette commande depuis la console Rails :

myuser = User.find_by(username: "===NOM_UTILISATEUR===")
myuser.custom_fields["geo_location"]
2 « J'aime »

L’histoire se corse :smiley:

Il était réglé sur 500.

Je l’ai modifiĂ© Ă  1000 et nos personnes disparues sont apparues instantanĂ©ment :thinking:

Je t’enverrai les rĂ©sultats par MP comme demandĂ© :+1:t2:

2 « J'aime »

Ah, dans ce cas, il n’est pas nĂ©cessaire d’envoyer ces informations par MP. Je soupçonne que la liste des personnes avec des geo_locations pouvait inclure des entrĂ©es avec des champs vides (par exemple, le champ personnalisĂ© existe mais l’objet est vide), et par consĂ©quent, vous pourriez atteindre le nombre maximum. Augmentez ce nombre maximum et, mĂȘme s’il y a des champs vides, ils ne dĂ©placeront pas les utilisateurs valides. Cela pourrait certainement amĂ©liorer le code, mais ce n’est pas critique.

2 « J'aime »

Merci @merefield, nous avons remarquĂ© que plusieurs utilisateurs avaient des valeurs comme '{}', je suppose donc qu’ils avaient peut-ĂȘtre une localisation par le passĂ©, mais qu’elle a depuis Ă©tĂ© supprimĂ©e.

Je ne me souviens plus non plus si ces valeurs sont supprimĂ©es lorsqu’un utilisateur est anonymisĂ© — cela nous ferait Ă  nouveau dĂ©passer la limite magique de 500 que nous avions dĂ©finie.

Salutations :slight_smile:

2 « J'aime »