תוסף מיקומים 🌍

So a sneak peak of some prototype work I’m doing.

I’m going to be looking at giving early access to this for current and recent backers for a period (regardless of sponsorship level)

Going forward I have will be offering early access to some new features from $7/month for individual sponsors/small communities and $40/month for business.

5 לייקים

Initial invites to early access have just gone out for current sponsors. I’ll widen this to past sponsors soon and this access will remain for a period, after which maintaining a minimum level of sponsorship will be required.

Sponsor list is reviewed daily, so please consider sponsoring me if you are keen to use the latest features on Locations and/or generally keen to support my work.

Backers will always get fixes first.

Features will be migrated to the public repo on a case by case basis and after a delay …

3 לייקים

I’ve just been implementing the awesome Automated User Location Determination, which involves configuring Maxmind properly. This was on a new instance.

The new app.yml is lovely and lean, but doesn’t include the Maxmind ENV variables as a comment any more.

If this is to be more accessible to less confident self-hosting sysadmins, we might need a clear explainer - and to point them to this topic:


Also - a minor UX thing

An unwanted (by me anyway) link to the map pops up on the sidebar, and this isn’t governed by any settings. I’ve hidden it thus:

// hide the users map link
.sidebar-sections li[data-list-item-name="users map"] {
    display: none;
}

Perhaps it is time to deprecate both this and the (setting controlled) topic map link? These can now easily be added via the standard UI if the admin wishes to have them.

לייק 1

Links the admin adds to the sidebar are currently not translatable. So for a community where users might prefer different interface languages, the plugin adding the link to the sidebar provides the option to translate and display them in multiple languages.

2 לייקים

I noticed that I cannot enable geolocation for topics in a category.

It doesn’t offer to save the changes :thinking: (I’m on version 2026.5.0-latest)

לייק 1

This should be fixed now.

The fix should be deployed to Early Access and Public versions of the repo, together with a whole host of compatibility fixes.

As a part of that work I’ve increased the difference between the versions.

The Early Access version exposed to sufficiently privileged Sponsors has the following features which the public version of Locations currently lacks:

Title Description
Users-map globe Adds an interactive 3D globe view for the Users Map, with avatars placed by location, drag/touch rotation, zoom, reset, search focus, user-card clicks, and always-on bump mapping.
Globe screen saver Optional experimental idle screen saver showing a rotating 3D globe with user avatars below the header.
Enhanced users-map filters Adds controls for result limit, search type, search term, and group filtering on the Users Map.
Nearby topic filter Adds a nearby topic-list filter based on distance from the current user’s location.
IP-based user location lookup Automatically estimates and stores user locations from IP data, with configurable trigger mode, granularity, cooldown, GeoNames resolution, skip-if-existing behavior, and debug logging.

This means the maintained public version has been slightly downgraded. I’m afraid that’s necessary to ensure my sponsors get sufficient benefit.

If you would like these extra features, consider sponsoring me and making sure you go for a monthly tier which includes Early Access. Sponsoring me at the right tier will give you access to the Early Access version within 24 hours.

3 לייקים

Thanks @merefield for your speed :+1:.

לייק 1

I just stumbled upon a deprecation notice with the newest version of Discourse:

[PLUGIN discourse-locations] DEPRECATION NOTICE: Using api.modifyClass on model:composer is deprecated. Use the addModelField, addModelAccessor/addModelGetter/addModelSetter, addModelMethod, addModelSaveProperty and addModelCallback APIs instead. [deprecated since Discourse 2026.8] [deprecation id: discourse.modify-class-model]

I tried with my imaginary friend but it seems to be above my rudimentary programming skills… :see_no_evil_monkey:

לייק 1

FYI:

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

I have the same issue:

This issue has been resolved with a contribution from @cvx :folded_hands: (5 days ago in fact! :sweat_smile: )

Recent PRs

PR Main purpose Author
#168 Update Ruby and JavaScript dependencies to resolve security alerts. angusmcleod
#169 Replace deprecated Composer `modifyClass` usage with modern model extension APIs. cvx
#171 Expand Composer location-default tests and fix location syncing when switching categories. merefield
#172 Synchronize plugin linting and development tooling with the current Discourse plugin skeleton. merefield
#173 Upgrade the Ruby `json` gem from 2.21.1 to 2.21.2 to fix a use-after-free vulnerability. dependabot
#174 Restore location-search error handling, prevent empty geocoding requests, and improve map safeguards and regression coverage. merefield

Thanks to @angus and @cvx for their contributions.

This has been applied to both the free plugin and sponsors only early access plugin.

In addition the code responsible for allowing you to discuss User Locations with Chatbot has been moved to Locations Early Access to further enhance the additional functional capability of the sponsors only repo.

5 לייקים

Today I back-ported several non-functional improvements from early access to the main plugin:

2 לייקים

Similar to the Bookmark Notes Plugin, I’ve restructured Locations so that in order to use it, you need the base plugin in any case, whether you are a pro sponsor or not.

This was necessary to streamline maintenance activity. This will help ensure the basic functionality gets more timely support. It also establishes the previously name “early access” version as a definite premium extension with features exclusive to sponsors.

Please replace the old early-access clone command in your app.yml with these, keeping the base plugin first:

  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

Then rebuild Discourse normally. Your existing location data will be retained - no manual migration is required.

Your repository access should continue after the rename. If you encounter an access or installation problem, please send me a message and I’ll be happy to help.

No action is needed for non-sponsors - the base plugin has received updates but your site should continue to build as normal with it!

Thanks for your continued support!

Sponsor me from at least the $7/month Bronze tier on GitHub to get access to Locations Pro

Features

Discourse Locations provides the complete location-storage, geocoding, and map foundation. The optional Pro extension adds advanced discovery, automation, and users-map presentation while requiring this base plugin.

Feature Base plugin Pro extension
Structured topic locations and configurable input fields :white_check_mark:
Optional or required geocoding with multiple providers :white_check_mark:
Category and site-wide topic map views :white_check_mark:
User locations on posts, profiles, cards, and the directory map :white_check_mark:
Leaflet users map with local name and username search :white_check_mark:
Configurable location labels, flags, map markers, clustering, and tiles :white_check_mark:
Default a new topic to the current user’s location :white_check_mark:
Automated IP-based user-location estimation :white_check_mark: Exclusive
Nearby-topic discovery based on the current user’s location :white_check_mark: Exclusive
Optional location-aware Discourse Chatbot tools :white_check_mark: Exclusive
Permission-aware group and result-limit users-map filters :white_check_mark: Exclusive
Interactive WebGL users-map globe :white_check_mark: Exclusive
Idle globe screen saver :white_check_mark: Exclusive

Installing Pro now adds its exclusive features to the base functionality; it does not replace the base plugin.

לייק 1

This was added as a workaround some time back, but since then PM CSS looks more like a normal topic, so out it goes and you get your nice PM user location label alignment back, nice!:

לייק 1

Is there a way to save custom locations? For example a remote mountain hut a number of people use - there is no easy way to search for it as the location is found by coordinates, not a name. If there was a way to save a set of lat/long coordinates with a custom name that would be very useful.

לייק 1

Yes. You can save just the Coords to a Topic.

Just make sure:

If you turn input fields off you can use generic search so long as the location has an entry in your geolocation provider:

לייק 1