Plugin Emplacements 🌍

Voici donc un aperçu de certains travaux de prototype que je réalise.

Je vais proposer un accÚs anticipé à cette fonctionnalité pour les contributeurs actuels et récents, pendant une période déterminée (quel que soit le niveau de parrainage).

À l’avenir, je proposerai un accĂšs anticipĂ© Ă  certaines nouvelles fonctionnalitĂ©s Ă  partir de 7 /mois pour les sponsors individuels ou les petites communautĂ©s, et de 40 /mois pour les entreprises.

5 « J'aime »

Les premiĂšres invitations pour l’accĂšs anticipĂ© viennent d’ĂȘtre envoyĂ©es aux sponsors actuels. Je l’étendrai bientĂŽt aux anciens sponsors et cet accĂšs restera valable pendant une pĂ©riode, aprĂšs laquelle le maintien d’un niveau minimum de parrainage sera requis.

La liste des sponsors est revue quotidiennement, donc veuillez envisager de me parrainer si vous souhaitez utiliser les derniÚres fonctionnalités sur Locations et/ou soutenir mon travail en général.

Les fonctionnalités seront migrées vers le dépÎt public au cas par cas et aprÚs un délai


3 « J'aime »

Je viens de mettre en Ɠuvre la dĂ©termination automatisĂ©e de la localisation des utilisateurs, une fonctionnalitĂ© gĂ©niale qui nĂ©cessite une configuration correcte de MaxMind. Cela a Ă©tĂ© fait sur une nouvelle instance.

Le nouveau fichier app.yml est Ă©lĂ©gant et lĂ©ger, mais il ne contient plus les variables d’environnement MaxMind sous forme de commentaire.

Si l’on souhaite rendre cela plus accessible aux administrateurs systĂšme auto-hĂ©bergeant moins expĂ©rimentĂ©s, nous aurions peut-ĂȘtre besoin d’un guide explicatif clair et de les orienter vers ce sujet :


Autre chose - un petit dĂ©tail d’expĂ©rience utilisateur

Un lien vers la carte apparaĂźt sur la barre latĂ©rale, ce qui n’est pas souhaitĂ© (du moins pas par moi) et n’est rĂ©gi par aucun paramĂštre. Je l’ai masquĂ© ainsi :

// masquer le lien vers la carte des utilisateurs
.sidebar-sections li[data-list-item-name="users map"] {
    display: none;
}

Il serait peut-ĂȘtre temps de dĂ©prĂ©cier Ă  la fois ce lien et celui vers la carte des sujets (contrĂŽlĂ© par un paramĂštre) ? Ils peuvent dĂ©sormais ĂȘtre facilement ajoutĂ©s via l’interface standard si l’administrateur le souhaite.

1 « J'aime »

Les liens que l’administrateur ajoute Ă  la barre latĂ©rale ne sont actuellement pas traduisibles. Ainsi, pour une communautĂ© oĂč les utilisateurs peuvent prĂ©fĂ©rer diffĂ©rentes langues d’interface, le plugin qui ajoute le lien Ă  la barre latĂ©rale offre la possibilitĂ© de les traduire et de les afficher dans plusieurs langues.

2 « J'aime »

J’ai remarquĂ© que je ne peux pas autorisĂ© Ă  une catĂ©gorie la gĂ©olocalisation des sujets

il ne propose pas de sauvegarder les modifications :thinking: ( je suis en version 2026.5.0-latest)

1 « J'aime »

Cela devrait ĂȘtre corrigĂ© maintenant.

La correction devrait ĂȘtre dĂ©ployĂ©e sur les versions Early Access et publiques du dĂ©pĂŽt, accompagnĂ©e d’une multitude de correctifs de compatibilitĂ©.

Dans le cadre de ce travail, j’ai augmentĂ© l’écart entre les versions.

La version Early Access exposée aux sponsors suffisamment privilégiés comprend les fonctionnalités suivantes, qui manquent actuellement à la version publique de Locations :

Titre Description
Globe de la carte des utilisateurs Ajoute une vue interactive du globe 3D pour la carte des utilisateurs, avec des avatars placĂ©s par localisation, une rotation par glissement/touche, un zoom, une rĂ©initialisation, un focus de recherche, des clics sur les cartes d’utilisateur et un bump mapping toujours actif.
Écran de veille du globe Écran de veille expĂ©rimental optionnel affichant un globe 3D en rotation avec les avatars des utilisateurs sous l’en-tĂȘte.
Filtres améliorés de la carte des utilisateurs Ajoute des contrÎles pour la limite de résultats, le type de recherche, le terme de recherche et le filtrage par groupe sur la carte des utilisateurs.
Filtre de sujet Ă  proximitĂ© Ajoute un filtre expĂ©rimental de liste de sujets Ă  proximitĂ© basĂ© sur la distance par rapport Ă  la localisation actuelle de l’utilisateur.
Recherche de localisation utilisateur basĂ©e sur l’adresse IP Estime et stocke automatiquement les localisations des utilisateurs Ă  partir des donnĂ©es IP, avec un mode de dĂ©clenchement configurable, une granularitĂ©, un temps de refroidissement, une rĂ©solution GeoNames, un comportement de saut si dĂ©jĂ  existant et une journalisation de dĂ©bogage.

Cela signifie que la version publique maintenue a Ă©tĂ© lĂ©gĂšrement dĂ©gradĂ©e. Je crains que cela soit nĂ©cessaire pour garantir que mes sponsors bĂ©nĂ©ficient d’avantages suffisants.

Si vous souhaitez ces fonctionnalitĂ©s supplĂ©mentaires, envisagez de me soutenir et assurez-vous de choisir un niveau mensuel incluant l’accĂšs anticipĂ©. Me soutenir au bon niveau vous donnera accĂšs Ă  la version Early Access sous 24 heures.

3 « J'aime »

Merci @merefield pour ta rapidité :+1:.

1 « J'aime »

Je viens de tomber sur un avis de dépréciation avec la derniÚre version de Discourse :

[PLUGIN discourse-locations] AVIS DE DÉPRÉCIATION : L’utilisation de api.modifyClass sur model:composer est dĂ©prĂ©ciĂ©e. Utilisez plutĂŽt les API addModelField, addModelAccessor/addModelGetter/addModelSetter, addModelMethod, addModelSaveProperty et addModelCallback. [dĂ©prĂ©ciĂ© depuis Discourse 2026.8] [id de dĂ©prĂ©ciation : discourse.modify-class-model]

J’ai essayĂ© avec mon ami imaginaire, mais cela semble dĂ©passer mes compĂ©tences rudimentaires en programmation
 :see_no_evil_monkey:

1 « J'aime »

Pour information :

[Admin Notice] Plugin 'discourse-locations' contains code which needs updating. (id:discourse.modify-class-model)

J’ai le mĂȘme problĂšme :

Ce problÚme a été résolu grùce à une contribution de @cvx :folded_hands: (en fait, il y a 5 jours ! :sweat_smile: )

PRs récents

PR Objectif principal Auteur
#168 Mettre à jour les dépendances Ruby et JavaScript pour résoudre les alertes de sécurité. angusmcleod
#169 Remplacer l’utilisation obsolùte de modifyClass de Composer par les API modernes d’extension de modùle. cvx
#171 Élargir les tests de localisation par dĂ©faut de Composer et corriger la synchronisation des localisations lors du changement de catĂ©gorie. merefield
#172 Synchroniser les outils de linting et de développement du plugin avec le squelette de plugin Discourse actuel. merefield
#173 Mettre à niveau le gem Ruby json de la version 2.21.1 à la version 2.21.2 pour corriger une vulnérabilité use-after-free. dependabot
#174 Restaurer la gestion des erreurs de recherche de localisation, empĂȘcher les requĂȘtes de gĂ©ocodage vides et amĂ©liorer les protections de la carte ainsi que la couverture des rĂ©gressions. merefield

Merci Ă  @angus et @cvx pour leurs contributions.

Ces modifications ont été appliquées à la fois au plugin gratuit et au plugin à accÚs anticipé réservé aux sponsors.

De plus, le code permettant de discuter des emplacements des utilisateurs avec Chatbot a Ă©tĂ© dĂ©placĂ© vers l’accĂšs anticipĂ© de Locations afin d’amĂ©liorer davantage les fonctionnalitĂ©s supplĂ©mentaires du dĂ©pĂŽt rĂ©servĂ© aux sponsors.

5 « J'aime »

Aujourd’hui, j’ai rĂ©troportĂ© plusieurs amĂ©liorations non fonctionnelles de l’accĂšs anticipĂ© vers le plugin principal :

2 « J'aime »

De maniĂšre similaire au Bookmark Notes Plugin, j’ai restructurĂ© Locations de sorte qu’il soit dĂ©sormais nĂ©cessaire d’utiliser le plugin de base, que vous soyez ou non un sponsor pro.

Cela Ă©tait nĂ©cessaire pour simplifier l’activitĂ© de maintenance. Cela permettra de garantir un support plus rapide pour les fonctionnalitĂ©s de base. Cela Ă©tablit Ă©galement la version prĂ©cĂ©demment nommĂ©e « early access » comme une extension premium dĂ©finitive, avec des fonctionnalitĂ©s exclusives aux sponsors.

Veuillez remplacer l’ancienne commande de clone early-access dans votre app.yml par celles-ci, en gardant le plugin de base en premier :

  git clone https://github.com/merefield/discourse-locations.git
  git clone https://YOUR_GITHUB_USERNAME:YOUR_TOKEN@github.com/merefield/discourse-locations-pro-ext.git

Puis reconstruisez Discourse normalement. Vos donnĂ©es de localisation existantes seront conservĂ©es - aucune migration manuelle n’est requise.

Votre accĂšs au dĂ©pĂŽt devrait se poursuivre aprĂšs le renommage. Si vous rencontrez un problĂšme d’accĂšs ou d’installation, veuillez m’envoyer un message et je serai heureux de vous aider.

Merci pour votre soutien continu !

Devenez sponsor sur GitHub pour obtenir Locations Pro

1 « J'aime »

Cela avait Ă©tĂ© ajoutĂ© comme solution de contournement il y a quelque temps, mais depuis, le CSS des MP ressemble davantage Ă  un sujet normal, donc il est retirĂ© et vous retrouvez votre joli alignement de l’étiquette de localisation de l’utilisateur dans les MP, super !

1 « J'aime »

Existe-t-il un moyen d’enregistrer des emplacements personnalisĂ©s ? Par exemple, une cabane de montagne isolĂ©e utilisĂ©e par plusieurs personnes — il n’y a pas de moyen simple de la rechercher, car l’emplacement est identifiĂ© par des coordonnĂ©es et non par un nom. S’il existait une possibilitĂ© d’enregistrer un ensemble de coordonnĂ©es latitude/longitude avec un nom personnalisĂ©, cela serait trĂšs utile.

1 « J'aime »

Oui. Vous pouvez enregistrer uniquement les Coords dans un Topic.

Assurez-vous simplement que :

Si vous dĂ©sactivez les champs de saisie, vous pouvez utiliser la recherche gĂ©nĂ©rique, Ă  condition que l’emplacement figure dans votre fournisseur de gĂ©olocalisation :

1 « J'aime »