Plugin Emplacements 🌍

:information_source: Résumé Un plugin Discourse qui ajoute des emplacements structurés et géocodés pour les sujets et les utilisateurs, avec une découverte basée sur les cartes
:hammer_and_wrench: Lien du dépÎt https://github.com/merefield/discourse-locations
:open_book: Guide d’installation Comment installer des plugins dans Discourse
:heart: Sponsoring Veuillez envisager de devenir un sponsor rĂ©gulier de mon travail open source Ă  un niveau adaptĂ© aux ressources et aux besoins de votre personne ou de votre organisation, afin de garantir que ce plugin reçoive la maintenance qu’il mĂ©rite et continue de fonctionner pour votre site Ă  l’avenir.

Vous appréciez ce plugin ? Veuillez lui mettre une :star: sur GitHub ! :pray:

Fonctionnalités

Discourse Locations fournit la base complĂšte pour le stockage des emplacements, le gĂ©ocodage et les cartes. L’extension Pro optionnelle ajoute une dĂ©couverte avancĂ©e, l’automatisation et la prĂ©sentation de la carte des utilisateurs, tout en nĂ©cessitant ce plugin de base.

Fonctionnalité Plugin de base Extension Pro
Emplacements de sujets structurĂ©s et champs de saisie configurables :white_check_mark: —
GĂ©ocodage optionnel ou obligatoire avec plusieurs fournisseurs :white_check_mark: —
Vues de carte des sujets par catĂ©gorie et pour tout le site :white_check_mark: —
Emplacements des utilisateurs dans les publications, profils, cartes et carte du rĂ©pertoire :white_check_mark: —
Carte des utilisateurs Leaflet avec recherche par nom local et nom d’utilisateur :white_check_mark: —
Étiquettes d’emplacement, drapeaux, marqueurs de carte, regroupement et tuiles configurables :white_check_mark: —
Affecter par dĂ©faut un nouveau sujet Ă  l’emplacement de l’utilisateur actuel :white_check_mark: —
Estimation automatique de l’emplacement des utilisateurs basĂ©e sur l’IP — :white_check_mark: Exclusif
DĂ©couverte de sujets proches basĂ©e sur l’emplacement de l’utilisateur actuel — :white_check_mark: Exclusif
Outils optionnels de Discourse Chatbot prenant en compte l’emplacement — :white_check_mark: Exclusif
Filtres de la carte des utilisateurs avec prise en compte des autorisations et limites de rĂ©sultats — :white_check_mark: Exclusif
Globe interactif de la carte des utilisateurs en WebGL — :white_check_mark: Exclusif
Écran de veille globe pour les utilisateurs inactifs — :white_check_mark: Exclusif

L’installation de Pro ajoute ses fonctionnalitĂ©s exclusives aux fonctionnalitĂ©s de base ; elle ne remplace pas le plugin de base.

Configuration

Les paramĂštres du plugin de base utilisent le prĂ©fixe location_ et contrĂŽlent les emplacements des sujets, le gĂ©ocodage, l’affichage des cartes, les emplacements des utilisateurs et la carte des utilisateurs standard.

Documentation utile :

Confidentialité et stockage

Les utilisateurs choisissent s’ils souhaitent enregistrer un emplacement de profil. Les emplacements de sujets et d’utilisateurs entiĂšrement Ă©ditables restent dans des champs personnalisĂ©s appartenant Ă  la base, tandis que les tables de projection appartenant au plugin prennent en charge les requĂȘtes spatiales et l’ordre des cartes.

Les champs personnalisĂ©s d’emplacement bruts ne sont pas rendus publiqulement accessibles. Les rĂ©ponses pour les sujets, profils, cartes, publications et rĂ©pertoires n’exposent que les donnĂ©es d’emplacement requises par cette surface et respectent les rĂšgles de visibilitĂ© des profils et des groupes de Discourse.

Extension Pro

Discourse Locations Pro est une extension optionnelle disponible pour les sponsors GitHub en guise de remerciement pour le soutien au dĂ©veloppement continu. Les sponsors individuels et les communautĂ©s indĂ©pendantes reçoivent un accĂšs Ă  partir de l’étage Bronze Ă  7 /mois** ; les entreprises et les institutions doivent sponsoriser Ă  l'**Ă©tage Silver Ă  40 /mois ou au-dessus. Les sponsors Ă©ligibles reçoivent des instructions d’installation pour le dĂ©pĂŽt privĂ©.

L’extension Pro ajoute la recherche IP automatique, les sujets proches, les outils de Chatbot, des filtres de carte des utilisateurs amĂ©liorĂ©s, le globe interactif et l’écran de veille globe. Chaque automatisation ou intĂ©gration optionnelle reste dĂ©sactivĂ©e jusqu’à ce qu’elle soit configurĂ©e, et le paramĂštre principal de Pro peut dĂ©sactiver tous les comportements Pro sans dĂ©sactiver le plugin de base.

Sponsorisez sur GitHub pour obtenir Locations Pro

110 « J'aime »
OpenStreet maps embedding
Learn how to build Discourse plugins by helping me
Job exception: undefined method `name' for
A plugin to "check" a portion of a post before it can be posted
Suitability of Discourse for Discussion on Page
Locations dropdown (Google maybe?)
Enable tagging only in some categories
My 2nd Discourse forum, 2 years after the first one
How to add custom fields to models
2020: The Year in Review
Angus' Events Plugin :calendar:
Listing users by group - ERROR: missing FROM-clause entry for table "groups"
2021: The Year in Review
A "Votes" option for the top menu in main page
Forum Completely Broken 2.8.5
It's Time We Talked About Tags
Who use event plugin in their discourse community?
Automated map
Configure plugin Custom Wizard for autoposting
2022: The Year in Review
Show a modal dialog after clicking toolbar button via a plugin
Must have plugins and components for Discourse?
Getting a 500 error on the mobile for bookmark and some category pages
Get aggregate user location data from IP addresses?
Could a List of Recommended Topics Be Added to the Top Menu?
2023: The Year in Review
ÂżCĂłmo encuentro a una persona en Discourse?
Angus' Events Plugin :calendar:
Usercard Redesign Experiment
Is it possible to add a location and display them on a map?
Generating an ical to use with a custom map
Remove overriding of cmd/ctrl-f
Locate a feature like the one shown in the photo
Discourse.fontawesome-6-upgrade needs updating
2024: The Year in Review
Migrated my old custom-built trail-journal/blog to Discourse
Newly created topic shown location based on device
Alternative post templates
What happens next?
Discourse-events 'this.router' error
èŻ·æ•™ć…łäșŽMaxMind é”™èŻŻæ—„ćż—é—źéą˜
National Flags
How minimal is your forum?
Layouts Plugin
Suggestions on how I can have hundreds of small groups (e.g. streets in a town)?
ProblÚme accÚs aux onglets des paramÚtres des catégories
Discourse Calendar and Events
Topic List Previews (legacy)
New Theme: Tag-Pages Navigation
Locations plugin modifications
Traditional multi level hierarchy vs flat discourse hierarchy
More options to filter users on users page
Project ideas for Google Summer of Code 2018
Traditional multi level hierarchy vs flat discourse hierarchy
Any way to display Location below the name in posts?
Developing with Discourse
Calendar plugin features to make it really useful for us
Learn how to build Discourse plugins by helping me
Developing
Discourse-common asset availability: difference between development and production?
2018: The Year in Review
Object instead of users due to locations plugin
Inserting a date with Paris timezone gives me Berlin
Failed building stable due to 3rd party plugin
Angus' Events Plugin :calendar:
How to make a topic filter based on current user group and topic location
2019: The Year in Review
United states map
Fig - Native Discourse client for iOS
Loading slider issues

Je suis trĂšs nouveau avec cette technologie. J’ai installĂ© le plugin (je vois la commande Map dans le menu hamburger et j’ai un champ de localisation sur ma page de profil utilisateur (avec une gĂ©orĂ©fĂ©rencement fonctionnelle via Nominatim), MAIS


Je ne vois pas le bouton « Ajouter un lieu » dans l’éditeur.

Voici ma configuration :

Et voici la fenĂȘtre de l’éditeur :

Enfin, voici comment j’ai installĂ© le plugin :

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-math.git
          - git clone https://github.com/paviliondev/discourse-events.git
          - git clone https://github.com/paviliondev/discourse-locations.git
          - git clone https://github.com/davidtaylorhq/discourse-whos-online.git
          - git clone https://github.com/discourse/twitter-profile-link.git
          - git clone https://github.com/discourse/discourse-tooltips.git

J’ai essayĂ© avec locale= en avec les mĂȘmes rĂ©sultats.

2 « J'aime »

Eh bien, eh bien, correction : le plugin fonctionne comme prévu dans le profil utilisateur.

Selon la carte, je suis une personne décédée puisque la carte indique un point au milieu du plus grand cimetiÚre de Montréal :

13 « J'aime »

Il doit Ă©galement ĂȘtre activĂ© pour chacune des catĂ©gories que vous souhaitez utiliser.

6 « J'aime »

Merci ! Cela a fonctionné.

Au fait, la coche était « activée » par défaut, MAIS !! il faut afficher le panneau de configuration, décocher puis recocher pour que la fonctionnalité fonctionne réellement.

4 « J'aime »

Content que ça fonctionne. Ça fait un moment que je n’ai pas utilisĂ© ce plugin, donc c’était ma meilleure estimation.

3 « J'aime »

@angus J’ai remarquĂ© ce problĂšme rĂ©cemment lorsque les utilisateurs n’ont pas renseignĂ© de lieu dans leur profil :

Cependant, cela ne se produit pas pour tous les utilisateurs ; je n’arrive pas vraiment à identifier le motif.

Peut-ĂȘtre s’agit-il de ceux qui ont supprimĂ© leur lieu dans leur profil ? Ou peut-ĂȘtre est-ce une chaĂźne vide, par exemple “”, plutĂŽt que NULL ? :thinking:

3 « J'aime »

Il semble que la derniĂšre mise Ă  jour ait complĂštement supprimĂ© l’emplacement de la carte utilisateur.

Carte utilisateur :
user-card

Profil utilisateur :

3 « J'aime »

Cela est trĂšs probablement dĂ» Ă  ce changement dans le cƓur :

5 « J'aime »

@omarfilip @david Merci pour ces éclaircissements :+1:t2:

@angus, est-ce quelque chose que tu pourras modifier ?

4 « J'aime »

@david @Richie Merci, ce plugin a été mis à jour pour prendre en charge la modification.

Petite information : ce plugin va bientĂŽt passer au mĂȘme calendrier de mises Ă  jour que les autres plugins principaux de Pavilion. Cela signifie qu’il sera alignĂ© sur la derniĂšre version du noyau Discourse lors de la premiĂšre semaine de chaque mois. Des dĂ©tails spĂ©cifiques Ă  ce plugin suivront, mais consultez les liens ci-dessous :

5 « J'aime »

Merci pour la correction rapide, Angus.

4 « J'aime »

Bonjour @angus, vous avez confirmĂ© que les emplacements s’affichent dĂ©sormais sur la carte de l’utilisateur, mais nous constatons toujours le problĂšme suivant : certains utilisateurs affichent une Ă©pingle de carte et une icĂŽne de carte, mĂȘme s’ils n’ont pas saisi d’emplacement :

Et sur leur page de profil complĂšte :

4 « J'aime »

Je ne peux pas dĂ©marrer l’application Discourse Ă  cause du plugin locations pour le moment. Ci-dessous, je joins le journal ; cela fonctionne si je commente locations dans app.yml. Quelqu’un peut-il prioriser cela et le corriger ?

De plus, existe-t-il un moyen de ne mettre Ă  jour que vers la version testĂ©e du plugin (s’il existe une telle chose), comme le fait l’application Discourse principale ? Ainsi, nous Ă©viterons de rencontrer de tels problĂšmes Ă  l’avenir.

Journal
5: from /var/www/discourse/plugins/discourse-layouts/plugin.rb:49:in `block in activate!'
4: from /var/www/discourse/lib/discourse_event.rb:13:in `trigger'
3: from /usr/local/lib/ruby/2.6.0/set.rb:338:in `each'
2: from /usr/local/lib/ruby/2.6.0/set.rb:338:in `each_key'
1: from /var/www/discourse/lib/discourse_event.rb:14:in `block in trigger'
/var/www/discourse/plugins/discourse-locations/plugin.rb:234:in `block in activate!': uninitialized constant DiscourseLayouts::WidgetHelper
Did you mean?  DiscourseLayouts::WidgetSerializer (NameError)

** PLUGIN INCOMPATIBLE **

Vous ne pouvez pas construire Discourse en raison d'erreurs dans le plugin situé à
/var/www/discourse/plugins/discourse-locations

Veuillez essayer de supprimer ce plugin et de reconstruire Ă  nouveau !
I, [2020-04-25T20:32:06.399307 #1]  INFO -- : gem install icalendar -v 2.4.1 -i /var/www/discourse/plugins/discourse-events/gems/2.6.5 --no-document --ignore-dependencies --no-user-install
HEADS UP ! iCalendar 2.0 n'est pas rétrocompatible avec 1.x. Veuillez consulter le README pour la nouvelle syntaxe

HEADS UP ! icalendar 2.2.0 passe auè§Łæžage non strict par dĂ©faut. Veuillez consulter le README si vous
dĂ©pendez duè§Łæžage strict pour des informations sur la maniĂšre de l'activer.

ActiveSupport est requis pour le support TimeWithZone, mais n'est pas requis pour un usage général.
icalendar-2.4.1 installé avec succÚs
1 gem installé
gem install geocoder -v 1.4.4 -i /var/www/discourse/plugins/discourse-locations/gems/2.6.5 --no-document --ignore-dependencies --no-user-install
geocoder-1.4.4 installé avec succÚs
1 gem installé

I, [2020-04-25T20:32:06.400580 #1]  INFO -- : Terminaison des processus asynchrones
I, [2020-04-25T20:32:06.400773 #1]  INFO -- : Envoi de INT Ă  HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/10/bin/postmaster -D /etc/postgresql/10/main pid: 50
I, [2020-04-25T20:32:06.400979 #1]  INFO -- : Envoi de TERM Ă  exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 167
167:signal-handler (1587846726) SIGTERM reçu, planification de l'arrĂȘt...
2020-04-25 20:32:06.401 UTC [50] LOG:  demande d'arrĂȘt rapide reçue
2020-04-25 20:32:06.403 UTC [50] LOG:  annulation de toutes les transactions actives
2020-04-25 20:32:06.406 UTC [50] LOG:  processus worker : lanceur de réplication logique (PID 59) terminé avec le code de sortie 1
167:M 25 Apr 2020 20:32:06.406 # ArrĂȘt demandĂ© par l'utilisateur...
167:M 25 Apr 2020 20:32:06.406 * Sauvegarde de la derniĂšre snapshot RDB avant la sortie.
2020-04-25 20:32:06.409 UTC [54] LOG:  arrĂȘt en cours
2020-04-25 20:32:06.439 UTC [50] LOG:  le systĂšme de base de donnĂ©es est arrĂȘtĂ©
167:M 25 Apr 2020 20:32:06.502 * DB sauvegardé sur le disque
167:M 25 Apr 2020 20:32:06.502 # Redis est maintenant prĂȘt Ă  quitter, au revoir...


ÉCHEC
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' a échoué avec le retour #<Process::Status: pid 13098 exit 1>
Emplacement de l'échec : /pups/lib/pups/exec_command.rb:112:in `spawn'
exec a échoué avec les paramÚtres {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
b5a02d7f9df6b6a9dc160e269de30eef49bb0aeaf5dcb1b712bab5e6edad4030
** ÉCHEC DU BOOTSTRAP ** veuillez faire dĂ©filer vers le haut et chercher des messages d'erreur antĂ©rieurs, il peut y en avoir plus d'un.
./discourse-doctor peut aider Ă  diagnostiquer le problĂšme.
root@discuss:/var/discourse#
3 « J'aime »

@k4rtik Merci pour votre signalement et désolé que vous ayez été affecté. Votre problÚme est survenu pour les raisons suivantes :

  1. Le plugin layouts a été mis à jour il y a 2 jours.
  2. Le plugin locations prenait en charge la version existante du plugin layouts.
  3. Vous utilisez les deux plugins.
  4. Vous avez mis à jour votre Discourse entre la mise à jour initiale du plugin layouts et l’ajout du support pour le plugin locations.

J’ai mis Ă  jour le plugin locations pour qu’il prenne en charge la nouvelle version du plugin layouts : Update to support layouts v0.2 · merefield/discourse-locations@52aec30 · GitHub. Lorsque vous effectuerez maintenant une mise Ă  jour avec les deux plugins installĂ©s, tout fonctionnera. @Richie Cela rĂ©soudra votre problĂšme : Add include? to geo_json in user_card serializer · merefield/discourse-locations@5185063 · GitHub

Avoir une branche tests-passed dans le plugin n’aurait malheureusement pas beaucoup aidĂ© dans cette situation particuliĂšre, ni dans une part non nĂ©gligeable d’autres situations d’incompatibilitĂ© de plugins. Les utilisateurs effectuent des mises Ă  jour Ă  des frĂ©quences trĂšs variĂ©es et disposent de nombreuses combinaisons diffĂ©rentes de personnalisations.

Cela dit, nous commençons à prendre des mesures pour résoudre ce problÚme. Nous passons à un calendrier garantissant que les principaux plugins open source de Pavilion (ce plugin, Events, Topic List Previews, etc.) sont à jour avec Discourse toutes les 24 heures durant les 5 premiers jours de chaque mois, du 1er au 5 mai.

Cela vous offre une fenĂȘtre sĂ»re pour mettre Ă  jour tous les plugins sur try.thepavilion.io ainsi que Discourse lui-mĂȘme, avec la certitude accrue que :

  1. Vous ne rencontrerez pas de conflits entre le plugin et Discourse, et si c’est le cas, ils seront rĂ©solus en moins de 24 heures.

  2. Vous ne rencontrerez aucun problĂšme dĂ» Ă  des modifications du plugin lui-mĂȘme. Tout changement potentiellement cassant du plugin lui-mĂȘme sera effectuĂ© en dehors de cette fenĂȘtre.

Cela s’applique Ă  tous les plugins listĂ©s ici :

Cette liste pourrait ĂȘtre Ă©largie au fil du temps. Pour plus d’informations, consultez : https://try.thepavilion.io.

Si vous avez des questions Ă  ce sujet, n’hĂ©sitez pas Ă  m’envoyer un MP ou Ă  nous contacter sur thepavilion.io.

8 « J'aime »

Merci, oui, j’essayais de comprendre pourquoi ma mise en page personnalisĂ©e n’apparaissait pas non plus avec la derniĂšre mise Ă  jour. Elle ne semble toujours pas s’afficher, mais je vois sur Pavilion que vous ĂȘtes en train de publier une documentation mise Ă  jour concernant les modifications apportĂ©es au plugin, donc je vais attendre un peu.

2 « J'aime »

@angus confirmé - problÚme résolu :clap:t2:

Merci encore pour votre soutien continu Ă  ce plugin :smiley:

4 « J'aime »

Salut @angus, j’ai reçu une notification indiquant que le premier message de ce fil a Ă©tĂ© modifiĂ©.

Il semble que l’emplacement du dĂ©pĂŽt ait changĂ©.

Devons-nous tous mettre à jour nos paramùtres Discourse vers le nouvel emplacement, ou l’ancien emplacement sera-t-il toujours mis à jour ?

Doit-on reconstruire quoi que ce soit aprĂšs avoir changĂ© l’emplacement de la source du plugin ?

3 « J'aime »

Salut @Richie, tu peux continuer Ă  utiliser l’ancienne URL GitHub - merefield/discourse-locations: Tools for handling locations in Discourse · GitHub. Tu peux attendre de la mettre Ă  jour quand tu auras l’occasion, par exemple lorsque tu devras reconstruire ton site pour une autre raison.

Le plugin a Ă©tĂ© transfĂ©rĂ© de mon GitHub personnel vers celui de Pavilion il y a quelque temps. Lorsqu’un dĂ©pĂŽt est transfĂ©rĂ©, GitHub redirige automatiquement tous les liens vers l’ancienne adresse vers la nouvelle.

Le premier post va changer un peu plus dans les semaines à venir. Je vais rédiger une documentation à ce sujet sur thepavilion.io et une description plus courte ici sur meta.

4 « J'aime »

Excellent, je ne savais pas cela :+1:t2:

Encore merci pour votre soutien !

3 « J'aime »