Позволяет привязывать геокодированные локации к темам и отображать их на красивой карте. Также даёт возможность пользователям отмечать своё местоположение и коллективно отображать их на общей карте пользователей на вашем сайте.
Пожалуйста, рассмотрите возможность стать постоянным спонсором моей работы с открытым исходным кодом на уровне, соответствующем вашим или ресурсам и потребностям вашей организации, чтобы этот плагин получал заслуженное обслуживание и продолжал работать на вашем сайте в будущем.
Нравится этот плагин? Пожалуйста, поставьте ему на GitHub
Существует версия Locations с РАННИМ ДОСТУПОМ, доступная исключительно сторонникам определённого уровня.
Эта версия включает следующие функции, которых сейчас нет в публичной версии Locations:
Заголовок
Описание
Глобус карты пользователей
Добавляет интерактивный 3D-глобус для карты пользователей с аватарами, размещёнными по местоположению, возможностью вращения перетаскиванием/касанием, масштабированием, сбросом, фокусировкой поиска, кликами по карточкам пользователей и постоянным bump-маппингом.
Заставка экрана глобуса
Опциональная экспериментальная заставка в режиме ожидания, показывающая вращающийся 3D-глобус с аватарами пользователей под заголовком.
Расширенные фильтры карты пользователей
Добавляет элементы управления для ограничения количества результатов, типа поиска, поискового запроса и фильтрации по группам на карте пользователей.
Фильтр тем рядом
Добавляет фильтр списка тем рядом, основанный на расстоянии от текущего местоположения пользователя.
Поиск местоположения пользователя по IP
Автоматически оценивает и сохраняет местоположения пользователей на основе данных IP с настраиваемым режимом триггера, точностью, временем охлаждения, разрешением GeoNames, поведением при пропуске уже существующих записей и отладочным логированием.
Если вы хотите получить эти дополнительные функции, рассмотрите возможность спонсирования меня и выберите ежемесячный уровень, включающий ранний доступ. Спонсирование меня на правильном уровне даст вам доступ к версии с ранним доступом в течение 24 часов.
Я очень новичок в этой технологии. Я установил плагин (я вижу команду Map в меню-гамбургере и у меня есть поле местоположения на странице профиля пользователя (с работающей геокодировкой через Nominatim), НО…
Я не вижу кнопку «Добавить местоположение» в редакторе.
@david@Richie Спасибо, этот плагин был обновлён для поддержки изменений.
Обращаем ваше внимание, что скоро этот плагин перейдёт на тот же график обновлений, что и основные плагины Pavilion. Это означает, что он будет синхронизирован с последней версией ядра Discourse в первую неделю каждого месяца. Более подробная информация, специфичная для этого плагина, будет опубликована позже, но ознакомьтесь с деталями по ссылкам ниже:
Привет, @angus. Подтверждено, что теперь локация отображается на карточке пользователя, но мы всё ещё видим проблему, при которой у некоторых пользователей отображаются значок карты и булавка, даже если локация не указана:
Я не могу запустить приложение Discourse из-за плагина locations. Ниже прилагаю лог. Если закомментировать locations в app.yml, всё работает. Кто-нибудь может расставить приоритеты и исправить это?
Кроме того, есть ли способ обновляться только до версии плагина, прошедшей тесты (если такая вообще существует), как это делается для основного приложения Discourse? Чтобы в будущем не сталкиваться с подобными проблемами.
Лог
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)
** НЕСОВМЕСТИМЫЙ ПЛАГИН **
Сборка Discourse не удалась из-за ошибок в плагине по адресу
/var/www/discourse/plugins/discourse-locations
Попробуйте удалить этот плагин и собрать заново!
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
ВНИМАНИЕ! iCalendar 2.0 не обратно совместим с 1.x. Пожалуйста, ознакомьтесь с README для получения информации о новом синтаксисе
ВНИМАНИЕ! icalendar 2.2.0 по умолчанию переключается на нестрогой парсинг. Пожалуйста, ознакомьтесь с README, если вы полагаетесь на строгий парсинг, чтобы узнать, как его включить.
Для поддержки TimeWithZone требуется ActiveSupport, но для общего использования он не обязателен.
Успешно установлен icalendar-2.4.1
Установлено 1 gem
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
Установлено 1 gem
I, [2020-04-25T20:32:06.400580 #1] INFO -- : Завершение асинхронных процессов
I, [2020-04-25T20:32:06.400773 #1] INFO -- : Отправка 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 -- : Отправка TERM для exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 167
167:signal-handler (1587846726) Получен SIGTERM, планирование завершения...
2020-04-25 20:32:06.401 UTC [50] LOG: получен запрос быстрого завершения
2020-04-25 20:32:06.403 UTC [50] LOG: прерывание любых активных транзакций
2020-04-25 20:32:06.406 UTC [50] LOG: рабочий процесс: запуск логической репликации (PID 59) завершился с кодом выхода 1
167:M 25 Apr 2020 20:32:06.406 # Пользователь запросил завершение...
167:M 25 Apr 2020 20:32:06.406 * Сохранение финального снапшота RDB перед выходом.
2020-04-25 20:32:06.409 UTC [54] LOG: завершение работы
2020-04-25 20:32:06.439 UTC [50] LOG: система баз данных завершена
167:M 25 Apr 2020 20:32:06.502 * База данных сохранена на диск
167:M 25 Apr 2020 20:32:06.502 # Redis готов к выходу, пока...
ОШИБКА
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' завершился с ошибкой #<Process::Status: pid 13098 exit 1>
Место возникновения ошибки: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec завершился с ошибкой с параметрами {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
b5a02d7f9df6b6a9dc160e269de30eef49bb0aeaf5dcb1b712bab5e6edad4030
** НЕ УДАЛОСЬ ЗАПУСТИТЬСЯ ** пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках, их может быть несколько.
./discourse-doctor может помочь диагностировать проблему.
root@discuss:/var/discourse#
Наличие ветки tests-passed в плагине, к сожалению, не помогло бы в данной конкретной ситуации, а также в значительной части других случаев несовместимости плагинов. Люди обновляют системы с разной периодичностью и используют множество различных комбинаций кастомизаций.
Тем не менее, мы начинаем предпринимать шаги для решения этой проблемы. Мы переходим к графику, согласно которому основные открытые плагины Pavilion (этот плагин, Events, Topic List Previews и т. д.) будут обновляться в соответствии с версиями Discourse каждые 24 часа в первые 5 дней каждого месяца, начиная с 1 по 5 мая.
Это дает вам безопасное окно для обновления всех плагинов на try.thepavilion.io вместе с самим Discourse с большей уверенностью в том, что:
У вас не возникнет конфликтов между плагином и Discourse, а если они всё же появятся, они будут устранены в течение менее чем 24 часов.
У вас не возникнет проблем из-за изменений в самом плагине. Любые потенциально ломающие изменения в самом плагине будут происходить вне этого окна.
Спасибо, да, я пытался понять, почему мой пользовательский макет не отображается и после последнего обновления. Он всё ещё не появляется, но я вижу на форуме Pavilion, что вы готовите обновлённую документацию по изменениям в плагине, поэтому я подожду немного.
Плагин был перенесён с моего личного аккаунта GitHub на аккаунт Pavilion некоторое время назад. При переносе репозитория GitHub автоматически перенаправляет все ссылки со старого адреса на новый.
В ближайшие недели первое сообщение будет немного изменено. Я напишу документацию по этому вопросу на сайте thepavilion.io, а также добавлю более краткое описание здесь, на meta.