Plugin Lieux 🌍

Je voulais juste soulever à nouveau cette demande de fonctionnalité.

Nous rencontrons cela dans notre communautĂ© lors de la planification d’un Ă©vĂ©nement. Les gens utilisent maintenant Google Maps pour voir Ă  quelle distance se trouve le lieu suggĂ©rĂ© pour l’évĂ©nement.

Il est Ă©galement utile de vĂ©rifier Ă  quelle distance se trouve l’autre utilisateur. (Nous gĂ©rons un forum de plongĂ©e sous-marine et les gens cherchent des partenaires de plongĂ©e sur notre forum.)

3 « J'aime »

@Roi, ceci pourrait vous intéresser :

Avec cette version, nous introduisons la recherche (expérimentale) en langage naturel pour les emplacements des utilisateurs avec Discourse Chatbot :robot:, vous pouvez donc lui poser des questions comme :

  • “Lister les cinq utilisateurs les plus proches de ma position” 
 (si vous avez enregistrĂ© une position) 
 ou mĂȘme
  • “Lister tous les utilisateurs Ă  moins de 500 km de ma position.”
  • “Lister les utilisateurs Ă  moins de 200 km de Berlin.”

Il ne prend pas encore en charge les emplacements de sujets 
 mais c’est fait aux 2/3 et en cours de dĂ©veloppement 


Il y a une migration de donnĂ©es dans cette version, alors faites-moi savoir si quelqu’un rencontre des problĂšmes et j’essaierai d’aider.

8 « J'aime »

Je sais que c’est encore en cours de dĂ©veloppement, donc vous ĂȘtes peut-ĂȘtre dĂ©jĂ  au courant de ces points


  1. Parfois, lorsque j’ouvre la carte utilisateur, j’obtiens une carte vide, c’est-Ă -dire que la carte des pays s’affiche mais aucun utilisateur n’y figure. Si je rafraĂźchis la page, les utilisateurs cartographiĂ©s rĂ©apparaissent. Je n’ai pas trouvĂ© de moyen garanti de reproduire cela, mais je vois la carte vide au moins 50 % du temps oĂč j’ouvre la carte utilisateur. La carte vide ne semble apparaĂźtre que sur la carte utilisateur. Je ne l’ai pas vue sur la carte des sujets, du moins pas jusqu’à prĂ©sent.

  2. Il y a une boüte blanche vide à gauche des champs de boutons radio pour le nom/nom d’utilisateur/etc., par exemple :

image

1 « J'aime »
  1. Oui, la solution n’est pas parfaite. Ce n’est pas mon objectif actuel. PR acceptĂ©.

  2. est entiùrement intentionnel : c’est une boüte de recherche.

1 « J'aime »

Ahhh ! C’est donc ça.

J’ai trouvĂ© autre chose. Ma carte thĂ©matique n’a pas beaucoup d’entrĂ©es, mais aux États-Unis, j’en ai 3 regroupĂ©es sur la cĂŽte est et deux regroupĂ©es sur la cĂŽte ouest. Si je clique sur le regroupement de la cĂŽte est, cela zoome pour afficher les trois emplacements thĂ©matiques individuels. Si je clique sur l’un de ces emplacements, au lieu d’ouvrir le sujet associĂ©, cela zoome pour montrer les deux emplacements de la cĂŽte ouest. C’est rĂ©pĂ©table - essayez sur mon site https://discourse.weather-watch.com/map

2 « J'aime »

TrĂšs curieux en effet ! Étrangement, ils fonctionnent bien sur mes donnĂ©es. Je note Ă©galement sur votre carte une erreur lors du survol d’un cluster.

La version de Leaflet est trĂšs obsolĂšte
 cela pourrait ĂȘtre un problĂšme


1 « J'aime »

OK, j’ai mis à jour Leaflet et son populaire plugin de regroupement de marqueurs vers la derniùre version, voyez si cela aide :

Autant casser les choses correctement avec le code le plus récent :sweat_smile:

(Il n’y a aucun intĂ©rĂȘt Ă  discuter de tels problĂšmes si nous utilisons une ancienne bibliothĂšque, qui sait ce qu’ils ont corrigĂ© !).

3 « J'aime »

Merci pour la mise Ă  jour rapide. Lors d’un premier test, le comportement s’est amĂ©liorĂ©. Je n’ai pas constatĂ© le saut Ă©trange de la cĂŽte est Ă  la cĂŽte ouest lors des quelques tests que j’ai effectuĂ©s. Je ferai d’autres tests demain.

2 « J'aime »

Oui, je vois. Super ! Merci d’avoir revĂ©rifiĂ© rapidement.

2 « J'aime »

AprĂšs d’autres tests aujourd’hui, il semble que la derniĂšre mise Ă  jour ait rĂ©solu le problĂšme de la carte vide Ă  la premiĂšre ouverture et aussi le problĂšme Ă©trange de saut d’est en cĂŽte ouest Ă  partir d’emplacements groupĂ©s :grinning:

4 « J'aime »

Merci de me l’avoir signalĂ©, et dĂ©solĂ© de ne pas ĂȘtre lĂ  depuis quelques jours pour commenter.

Cela semble vraiment prometteur. :slight_smile: Mais pour le moment, nous n’avons pas le Chatbot IA actif sur notre forum. Je lutte encore pour deviner combien cela nous coĂ»terait d’obtenir une clĂ© API d’OpenAI. Comme nous gĂ©rons notre communautĂ© de maniĂšre Ă  but non lucratif et que nous ne facturons pas, nous couvrons Ă  peine les coĂ»ts de serveur et de domaine avec les quelques dons et autres choses du genre. C’est donc un sujet important pour nous. :wink:

Le lien vers la rĂ©ponse dans le post avec les exemples de calculs ne fonctionne plus. Pouvez-vous me dire oĂč le trouver ? :slight_smile:

Et au-delĂ  de l’intĂ©gration du Chatbot IA : Envisagez-vous Ă©galement d’intĂ©grer une information de distance dans le plugin ? Donc, simplement afficher la distance entre l’utilisateur actuellement connectĂ© et un Ă©vĂ©nement ou un autre utilisateur - si les deux parties ont dĂ©fini un lieu ? C’était la maniĂšre simple dont cela Ă©tait gĂ©rĂ© dans le plugin de localisation pour phpBB que nous utilisions auparavant.

Je crains que le message sur les coĂ»ts n’ait Ă©tĂ© supprimĂ© car le sujet devenait inutilement long. Je vais le retirer de la publication initiale. (Fait)

Je suggĂšre d’essayer : personnel autorisĂ© uniquement au dĂ©but.

Non, je ne prĂ©vois pas de le rendre disponible dans le plugin d’emplacements sans le Chatbot.

Pour tous les utilisateurs de sous-dossiers subversifs, @renato a gentiment soumis une PR pour s’assurer que les marqueurs fonctionnent dans une telle configuration :

Merci beaucoup @renato ! :pray:

5 « J'aime »

MERCI !
Une petite question :
Comment mettre à jour ce plugin ? run ./reset-all-repos semble risqué.
L’objectif est de ne mettre Ă  jour que ce plugin, et de ne pas perdre les donnĂ©es des 180 projets dĂ©jĂ  saisis.

1 « J'aime »

Ce n’est pas vraiment une question spĂ©cifique au plugin, mais vous devrez exĂ©cuter tests-passed et mettre Ă  jour vers la derniĂšre version pour que toutes les nouvelles fonctionnalitĂ©s fonctionnent.

C’est toujours risquĂ© :sweat_smile: , Ă  moins que vous ne vouliez exĂ©cuter une installation Stable ? (auquel cas cette mise Ă  jour n’est pas encore pertinente).

La mise Ă  niveau en ligne (depuis /admin/upgrade) pourrait fonctionner pour vous, ou comme d’habitude, reconstruire avec ./launcher rebuild app - en supposant que vous exĂ©cutez une installation standard ?

Je ne peux pas me porter garant du niveau de maintenance du reste de vos plugins, mais bonne chance ! :sweat_smile:

1 « J'aime »

J’ai rencontrĂ© le mĂȘme problĂšme.

J’ai essayĂ© la mĂ©thode indiquĂ©e ici

Mais ça ne fonctionne pas.
SystÚme Ubuntu, le redémarrage ne fonctionne pas,
./launcher restart app, ./launcher start app ne fonctionnent pas.

Message d’erreur lors de l’exĂ©cution de ./launcher rebuild app

......
111:M 12 déc. 2023 12:11:02.199 * DB sauvegardé sur disque
111:M 12 dĂ©c. 2023 12:11:02.200 # Redis est maintenant prĂȘt Ă  quitter, au revoir...


FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' a échoué avec le retour #<Process::Status: pid 3553 exit 1>
Emplacement de l'échec : /usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec a échoué avec les paramÚtres {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap a échoué avec le code de sortie 1
** ÉCHEC DU BOOTSTRAP ** veuillez faire dĂ©filer vers le haut et rechercher les messages d'erreur prĂ©cĂ©dents, il peut y en avoir plus d'un.

Merci Ă  @itsbhanusharma

Il est indiqué que cela est causé par une erreur précédente, je les liste ici

I, [2023-12-13T00:50:13.222274 #1]  INFO -- : > cd /var/www/discourse & su discourse -c 'bundl                e exec rake db:migrate'
2023-12-13 00:50:18.347 UTC [3597] discourse@discourse ERREUR :  syntaxe d'entrée invalide pour le type double precision : ""

2023-12-13 00:50:18.347 UTC [3597] discourse@discourse STATEMENT :  INSERT INTO locations_topic                 (topic_id, latitude, longitude, name, street, district, city, state, postalcode, country, count                rycode, international_code, locationtype, boundingbox, updated_at, created_at) (
          SELECT
          tc.topic_id,
          (tc.value::json->'geo_location'->>'lat')::FLOAT,
          (tc.value::json->'geo_location'->>'lon')::FLOAT,
          tc.value::json->'geo_location'->>'name',
          tc.value::json->'geo_location'->>'street',
          tc.value::json->'geo_location'->>'district',
          tc.value::json->'geo_location'->>'city',
          tc.value::json->'geo_location'->>'state',
          tc.value::json->'geo_location'->>'postalcode',
          tc.value::json->'geo_location'->>'country',
          tc.value::json->'geo_location'->>'countrycode',
          tc.value::json->'geo_location'->>'international_code',
          tc.value::json->'geo_location'->>'type',
          ARRAY[
            (tc.value::json->'geo_location'->'boundingbox'->>0)::FLOAT,
            (tc.value::json->'geo_location'->'boundingbox'->>1)::FLOAT,
            (tc.value::json->'geo_location'->'boundingbox'->>2)::FLOAT,
            (tc.value::json->'geo_location'->'boundingbox'->>3)::FLOAT
          ],
          tc.updated_at,
          tc.created_at
        FROM topic_custom_fields tc
        WHERE tc.name = 'location'
        AND tc.value NOT IN ('"{}"', '{}', '')
        AND tc.value::json->'geo_location'->>'lat' IS NOT NULL
        AND tc.value::json->'geo_location'->>'lon' IS NOT NULL
        )
        ON CONFLICT DO NOTHING

rake aborted!
StandardError: Une erreur s'est produite, cette migration et toutes les suivantes ont été annulées : (StandardError)

ERREUR :  syntaxe d'entrée invalide pour le type double precision : ""
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.3.0/lib/patches/db/pg.rb: 110:in `exec'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.3.0/lib/patches/db/pg.rb: 110:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/mini_sql-1.5.0/lib/mini_sql/postgres/connection.rb:202:in `run'

#--------------
Causé par :
PG::InvalidTextRepresentation : ERREUR :  syntaxe d'entrée invalide pour le type double precision : "" (PG:: InvalidTextRepresentation)
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.3.0/lib/patches/db/pg.rb: 110:in `exec'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.3.0/lib/patches/db/pg.rb:  110:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/mini_sql-1.5.0/lib/mini_sql/postgres/connection.rb:202:in `run'

et le message de docker ps

/var/discourse# docker ps
CONTAINER ID   IMAGE                 COMMAND        CREATED             STATUS         PORTS                                                                      NAMES
d3c8e85149a8   local_discourse/app   \"/sbin/boot\"   Il y a environ une heure   En cours d'exécution (6 minutes)   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp   app

Votre erreur n’est pas la mĂȘme que celle de l’OP. Pourriez-vous fournir le journal complet de la reconstruction ?

Merci Bhanu, j’ai refait le processus de reconstruction et gĂ©nĂ©rĂ© les « erreurs prĂ©cĂ©dentes » dans le post prĂ©cĂ©dent. Pourriez-vous s’il vous plaĂźt m’aider Ă  comprendre et Ă  rĂ©soudre le problĂšme ?

On dirait un problĂšme avec le plugin d’emplacements. Pourriez-vous essayer de reconstruire sans celui-ci pour voir si cela rĂ©sout le problĂšme de build ?

1 « J'aime »

Génial ! Je viens de reconstruire le systÚme et ça fonctionne.

Bien que je doive dire que le plugin de localisation est trĂšs bon. J’espĂšre donc que le dĂ©bogage relatif pourra ĂȘtre effectuĂ©.