Плагин Locations 🌍

Вот предварительный просмотр некоторых прототипов, над которыми я работаю.

Я планирую предоставить ранний доступ к этим прототипам текущим и недавним спонсорам на определённый период (независимо от уровня спонсорства).

В дальнейшем я буду предлагать ранний доступ к новым функциям за 7 долларов в месяц для индивидуальных спонсоров и небольших сообществ и за 40 долларов в месяц для бизнеса.

5 лайков

Первые приглашения на ранний доступ только что отправлены текущим спонсорам. Вскоре я расширю этот доступ и для бывших спонсоров; этот доступ будет сохраняться в течение определённого периода, после чего для его поддержания потребуется поддерживать минимальный уровень спонсорства.

Список спонсоров проверяется ежедневно, поэтому пожалуйста, рассмотрите возможность стать спонсором, если вы хотите использовать новейшие функции Locations и/или в целом поддерживаете мою работу.

Функции будут переноситься в публичный репозиторий в индивидуальном порядке и с задержкой…

3 лайка

Я только что реализовал замечательную функцию автоматического определения местоположения пользователей, которая требует правильной настройки MaxMind. Это было сделано на новом экземпляре.

Новый файл app.yml стал прекрасным и лаконичным, но больше не содержит в виде комментария переменных окружения MaxMind.

Если мы хотим сделать процесс более доступным для менее опытных системных администраторов, занимающихся самостоятельным хостингом, нам, возможно, потребуется ясное руководство — и ссылка на эту тему:


Также — небольшой вопрос UX

На боковой панели появляется ссылка на карту, которую я (по крайней мере) не хотел бы видеть, и это не контролируется никакими настройками. Я скрыл её следующим образом:

// скрыть ссылку на карту пользователей
.sidebar-sections li[data-list-item-name="users map"] {
    display: none;
}

Возможно, пришло время отказаться как от этой ссылки, так и от ссылки на карту тем (которая контролируется настройками)? Теперь их можно легко добавить через стандартный интерфейс, если администратор этого пожелает.

1 лайк

Ссылки, которые администратор добавляет в боковую панель, в настоящее время не переводятся. Поэтому для сообщества, где пользователи могут предпочитать разные языки интерфейса, плагин, добавляющий ссылку в боковую панель, предоставляет возможность перевести и отобразить их на нескольких языках.

2 лайка

Я заметил, что не могу разрешить геолокацию тем для категории.

Предложение сохранить изменения отсутствует :thinking: (у меня версия 2026.5.0-latest)

1 лайк

Это должно быть исправлено сейчас.

Исправление будет развернуто в версиях Early Access и публичных версиях репозитория вместе с целым рядом исправлений совместимости.

В рамках этой работы я увеличил различия между версиями.

Версия Early Access, доступная достаточно привилегированным спонсорам, включает следующие функции, которых в настоящее время нет в публичной версии Locations:

Заголовок Описание
Глобус карты пользователей Добавляет интерактивный 3D-глобус для карты пользователей, где аватары размещены по местоположению, с поддержкой вращения перетаскиванием/касанием, масштабирования, сброса, фокусировки по поиску, кликов по карточкам пользователей и всегда включенного bump-маппинга.
Экранная заставка глобуса Опциональная экспериментальная заставка в режиме ожидания, показывающая вращающийся 3D-глобус с аватарами пользователей под заголовком.
Улучшенные фильтры карты пользователей Добавляет элементы управления для ограничения количества результатов, типа поиска, поискового запроса и фильтрации по группам на карте пользователей.
Фильтр ближайших тем Добавляет экспериментальный фильтр списка ближайших тем на основе расстояния от текущего местоположения пользователя.
Поиск местоположения пользователя по IP Автоматически оценивает и сохраняет местоположения пользователей на основе данных IP, с настраиваемым режимом триггера, точностью, временем ожидания, разрешением через GeoNames, поведением при пропуске уже существующих записей и отладочным логированием.

Это означает, что поддерживаемая публичная версия была немного урезана. Боюсь, это необходимо, чтобы мои спонсоры получали достаточную выгоду.

Если вы хотите получить эти дополнительные функции, подумайте о поддержке меня и выберите ежемесячный тариф, включающий доступ к версии Early Access. Поддержка меня на соответствующем уровне даст вам доступ к версии Early Access в течение 24 часов.

3 лайка

Спасибо @merefield за вашу оперативность :+1:.

1 лайк

Я только что наткнулся на уведомление об устаревании в последней версии Discourse:

[PLUGIN discourse-locations] УВЕДОМЛЕНИЕ ОБ УСТАРЕВАНИИ: Использование api.modifyClass для model:composer устарело. Вместо этого используйте API addModelField, addModelAccessor/addModelGetter/addModelSetter, addModelMethod, addModelSaveProperty и addModelCallback. [устарело начиная с Discourse 2026.8] [id устаревания: discourse.modify-class-model]

Я попробовал посоветоваться со своим воображаемым другом, но это, кажется, выше моего примитивного уровня навыков программирования… :see_no_evil_monkey:

1 лайк

К вашему сведению:

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

У меня та же проблема:

Эта проблема была решена благодаря вкладу @cvx :folded_hands: (на самом деле 5 дней назад! :sweat_smile: )

Недавние PR

PR Основная цель Автор
#168 Обновление зависимостей Ruby и JavaScript для устранения предупреждений о безопасности. angusmcleod
#169 Замена устаревшего использования modifyClass в Composer на современные API расширения моделей. cvx
#171 Расширение тестов Composer location-default и исправление синхронизации местоположений при переключении категорий. merefield
#172 Синхронизация линтинга плагина и инструментов разработки с текущим шаблоном плагина Discourse. merefield
#173 Обновление Ruby-библиотеки json с версии 2.21.1 до 2.21.2 для устранения уязвимости use-after-free. dependabot
#174 Восстановление обработки ошибок поиска местоположений, предотвращение пустых запросов геокодирования и улучшение защиты карты и покрытия регрессионными тестами. merefield

Спасибо @angus и @cvx за их вклад.

Это было применено как к бесплатному плагину, так и к плагину раннего доступа только для спонсоров.

Кроме того, код, отвечающий за возможность обсуждения местоположений пользователей с Chatbot, был перенесен в Locations Early Access для дальнейшего расширения дополнительных функциональных возможностей репозитория только для спонсоров.

5 лайков

Сегодня я перенес несколько нефункциональных улучшений из раннего доступа в основной плагин:

2 лайка

Подобно плагину Bookmark Notes, я перестроил Locations так, что для его использования в любом случае потребуется базовый плагин, независимо от того, являетесь ли вы спонсором pro или нет.

Это было необходимо для оптимизации процессов поддержки. Кроме того, это закрепляет статус ранее называвшейся «раннего доступа» версии как полноценного премиального расширения для спонсоров.

Пожалуйста, замените старую команду клонирования раннего доступа в вашем файле app.yml на следующие, сохранив базовый плагин первым:

  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

Затем пересоберите Discourse в обычном режиме. Ваши существующие данные о локациях будут сохранены — ручная миграция не требуется.

Доступ к вашему репозиторию должен сохраниться после переименования. Если вы столкнётесь с проблемами доступа или установки, пожалуйста, отправьте мне сообщение, и я с радостью помогу.

Спасибо за вашу постоянную поддержку!

1 лайк

Это было добавлено в качестве обходного решения некоторое время назад, но с тех пор CSS для личных сообщений стал выглядеть больше как обычный топик, поэтому мы его убираем, и вы снова получаете правильное выравнивание метки расположения пользователя в личных сообщениях, отлично!:

1 лайк

Есть ли возможность сохранить пользовательские локации? Например, удалённая горная хижина, которой пользуются несколько человек, — её сложно найти через поиск, так как она определяется по координатам, а не по названию. Было бы очень полезно иметь возможность сохранить набор координат (широта/долгота) с пользовательским названием.

1 лайк

Да. Вы можете сохранить только координаты в тему.

Просто убедитесь, что:

Если вы отключите поля ввода, вы можете использовать общий поиск, при условии, что для этого местоположения есть запись в вашем провайдере геолокации:

1 лайк