IP Address based content

Hi all, this might already exist somewhere, but I can’t figure out if it does.

My forum provides overarching content/threads and discussions to the whole community, however, some content is designed specifically for smaller, more geo-location based users.

The solution I have at the moment is one where some users (let’s say who live in the North) will see the content of those that live in the South - it’s utterly useless info for them, and potentially clogs up their feed.

Based, on the IP addresses stored in the user’s account, is it possible to display content/threads whilst ignoring the other areas?

Thanks :slight_smile:

There isn’t such a feature built into Discourse. However, you have a couple of options:

  1. Take advantage of the joinable groups feature. Restrict the location categories to members of a specific group. Then allow users to join the groups then want, granting them access to the content for their location, without having to see the rest.
  2. Use the API (and groups). Again restrict location categories to members of a specific group. Instead of letting users join groups on their own, query users IP addresses via the API, run the IP through a location DB, and then add users to the corresponding groups with a second API call.
4 Likes

And a plugin could be developed to enforce the geo group joining.

Wanting to hide lots of stuff from lots of people is a fairly common problem. I’ve got a client with hundreds of geographic groups and people mostly don’t care about more than a few. Figuring out how to hide stuff they don’t care about while allowing them to see the stuff that they do care about has been a continual problem.

3 Likes