Plugin de Ubicaciones 🌍

||||\n-|-|-|\n:information_source: | Resumen | Permite asociar ubicaciones geocodificadas con Temas y mostrarlas en un mapa hermoso. También permite a sus usuarios registrar su ubicación y mostrarlas colectivamente en un mapa central de usuarios en su sitio.\n:hammer_and_wrench: | Enlace al Repositorio | https://github.com/merefield/discourse-locations\n:open_book: | Guía de Instalación | Cómo instalar plugins en Discourse\n:heart: | Patrocinio | Por favor, considere convertirse en un patrocinador continuo de mi trabajo de código abierto en un nivel que se adapte a sus recursos y necesidades o a los de su organización para asegurar que este plugin reciba el mantenimiento que merece y continúe funcionando para su sitio en el futuro.\n\n¿Disfruta de este plugin? Por favor, póngale una :star: en GitHub \n\n

\n\n## Documentación\n\nVea el README en el repositorio\n\n## Soporte\n\nNo proporciono ningún soporte garantizado de forma gratuita. Puedo proporcionar soporte a empresas o instituciones que se suscriban a uno de mis niveles de patrocinio mensuales GOLD o PLATINUM.\n\nHay una opción de búsqueda de errores única.\n\nY una oportunidad de patrocinio actual vinculada a mejoras del mapa de usuarios:\n\nLocations Plugin 🌍 - #1227 by merefield

110 Me gusta
OpenStreet maps embedding
Events Plugin :calendar:
Learn how to build Discourse plugins by helping me
Suitability of Discourse for Discussion on Page
Locations dropdown (Google maybe?)
Enable tagging only in some categories
My 2nd Discourse forum, 2 years after the first one
How to add custom fields to models
2020: The Year in Review
Events Plugin :calendar:
Listing users by group - ERROR: missing FROM-clause entry for table "groups"
2021: The Year in Review
A "Votes" option for the top menu in main page
Forum Completely Broken 2.8.5
It's Time We Talked About Tags
Who use event plugin in their discourse community?
Automated map
Configure plugin Custom Wizard for autoposting
2022: The Year in Review
Show a modal dialog after clicking toolbar button via a plugin
Must have plugins and components for Discourse?
Getting a 500 error on the mobile for bookmark and some category pages
Get aggregate user location data from IP addresses?
Could a List of Recommended Topics Be Added to the Top Menu?
2023: The Year in Review
¿Cómo encuentro a una persona en Discourse?
New Theme: Tag-Pages Navigation
Is it possible to add a location and display them on a map?
Generating an ical to use with a custom map
Remove overriding of cmd/ctrl-f
Locate a feature like the one shown in the photo
Usercard Redesign Experiment
2024: The Year in Review
Migrated my old custom-built trail-journal/blog to Discourse
Newly created topic shown location based on device
Alternative post templates
What happens next?
Discourse-events 'this.router' error
National Flags
How minimal is your forum?
Layouts Plugin
Suggestions on how I can have hundreds of small groups (e.g. streets in a town)?
Problème accès aux onglets des paramètres des catégories
Discourse.fontawesome-6-upgrade needs updating
Locations plugin modifications
Traditional multi level hierarchy vs flat discourse hierarchy
More options to filter users on users page
Project ideas for Google Summer of Code 2018
Traditional multi level hierarchy vs flat discourse hierarchy
Any way to display Location below the name in posts?
Topic List Previews (legacy)
Developing with Discourse
Calendar plugin features to make it really useful for us
Learn how to build Discourse plugins by helping me
Developing
Discourse-common asset availability: difference between development and production?
2018: The Year in Review
Object instead of users due to locations plugin
Inserting a date with Paris timezone gives me Berlin
Failed building stable due to 3rd party plugin
Events Plugin :calendar:
How to make a topic filter based on current user group and topic location
2019: The Year in Review
United states map
Fig - Native Discourse client for iOS
Loading slider issues
Job exception: undefined method `name' for
A plugin to "check" a portion of a post before it can be posted

Soy muy nuevo en esta tecnología. He instalado el complemento (veo el comando Mapa en el menú hamburguesa y tengo un campo de ubicación en mi página de perfil de usuario (con georreferenciación funcional mediante Nominatim), PERO…

No veo el botón “Agregar ubicación” en el editor.

Esta es mi configuración:

Y esta es la ventana del editor:

Finalmente, así es como he instalado el complemento:

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-math.git
          - git clone https://github.com/paviliondev/discourse-events.git
          - git clone https://github.com/paviliondev/discourse-locations.git
          - git clone https://github.com/davidtaylorhq/discourse-whos-online.git
          - git clone https://github.com/discourse/twitter-profile-link.git
          - git clone https://github.com/discourse/discourse-tooltips.git

He probado con locale= en con los mismos resultados.

2 Me gusta

Bueno, bueno, corrección: el plugin funciona como se esperaba en el Perfil de Usuario.

Según el mapa, soy una persona fallecida, ya que el mapa indica un punto en medio del cementerio más grande de Montreal:

13 Me gusta

También debe activarse para cada una de las categorías que desee utilizar.

6 Me gusta

¡Gracias! Ha funcionado.

Por cierto, la casilla de verificación venía “activada” de forma predeterminada, ¡pero!! tienes que mostrar el panel de configuración, desmarcarla y volver a marcarla para que la función funcione realmente.

4 Me gusta

Me alegra que haya funcionado. Hace tiempo que no usaba el plugin, así que fue más bien mi mejor suposición.

3 Me gusta

@angus He notado este problema recientemente cuando las personas no tienen una ubicación ingresada en su perfil:

Sin embargo, no ocurre en todos los usuarios; no logro identificar exactamente el patrón.

¿Quizás aquellos que han eliminado una ubicación en su perfil? ¿O tal vez se trata de una cadena vacía, por ejemplo “”, en lugar de NULL? :thinking:

3 Me gusta

Parece que la actualización reciente eliminó por completo la ubicación de la tarjeta de usuario.

Tarjeta de usuario:
user-card

Perfil de usuario:

3 Me gusta

Esto muy probablemente fue causado por este cambio en el núcleo:

5 Me gusta

@omarfilip @david Gracias por la información :+1:t2:

@angus ¿podrías modificar esto?

4 Me gusta

@david @Richie Gracias, este complemento se ha actualizado para admitir el cambio.

Solo para informarles que pronto este complemento pasará a seguir el mismo cronograma de actualizaciones que el resto de los complementos principales de Pavilion. Esto significa que se alineará con la última versión del núcleo de Discourse durante la primera semana de cada mes. Pronto habrá detalles específicos sobre este complemento, pero pueden consultar más información aquí:

5 Me gusta

Gracias por la solución rápida, Angus.

4 Me gusta

Hola @angus, se confirmó que las ubicaciones ahora se muestran en la tarjeta del usuario, pero seguimos observando el problema por el cual algunos usuarios tienen un marcador de mapa y un icono de mapa visibles incluso si no han ingresado una ubicación:

Y en su página de perfil completa:

4 Me gusta

No puedo iniciar la aplicación de Discourse debido al plugin de ubicaciones actualmente. Adjunto el registro a continuación; funciona si comento la sección de ubicaciones en app.yml. ¿Alguien puede priorizar esto y solucionarlo?

Además, ¿hay alguna forma de actualizar solo a la versión del plugin que ha pasado las pruebas (si existe tal cosa), como lo hace la aplicación principal de Discourse? Así evitaremos tener problemas similares en el futuro.

Registro
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)

** PLUGIN INCOMPATIBLE **

No se puede compilar Discourse debido a errores en el plugin en
/var/www/discourse/plugins/discourse-locations

¡Por favor, intenta eliminar este plugin y volver a compilar!
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
HEADS UP! iCalendar 2.0 no es compatible hacia atrás con la versión 1.x. Consulta el README para conocer la nueva sintaxis

HEADS UP! icalendar 2.2.0 cambia al análisis no estricto como predeterminado. Consulta el README si
dependes del análisis estricto para obtener información sobre cómo activarlo.

ActiveSupport es necesario para el soporte de TimeWithZone, pero no es obligatorio para un uso general.
icalendar-2.4.1 instalado correctamente
1 gem instalado
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 instalado correctamente
1 gem instalado

I, [2020-04-25T20:32:06.400580 #1]  INFO -- : Terminando procesos asíncronos
I, [2020-04-25T20:32:06.400773 #1]  INFO -- : Enviando INT a 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 -- : Enviando TERM a exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 167
167:signal-handler (1587846726) SIGTERM recibido, programando cierre...
2020-04-25 20:32:06.401 UTC [50] LOG:  solicitud de cierre rápido recibida
2020-04-25 20:32:06.403 UTC [50] LOG:  abortando cualquier transacción activa
2020-04-25 20:32:06.406 UTC [50] LOG:  proceso worker: lanzador de replicación lógica (PID 59) salió con código de salida 1
167:M 25 Apr 2020 20:32:06.406 # El usuario solicitó el cierre...
167:M 25 Apr 2020 20:32:06.406 * Guardando la instantánea RDB final antes de salir.
2020-04-25 20:32:06.409 UTC [54] LOG:  apagando
2020-04-25 20:32:06.439 UTC [50] LOG:  el sistema de base de datos se ha apagado
167:M 25 Apr 2020 20:32:06.502 * DB guardado en disco
167:M 25 Apr 2020 20:32:06.502 # Redis está listo para salir, adiós...


FALLÓ
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' falló con retorno #<Process::Status: pid 13098 exit 1>
Ubicación del fallo: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec falló con los parámetros {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
b5a02d7f9df6b6a9dc160e269de30eef49bb0aeaf5dcb1b712bab5e6edad4030
** FALLO EN EL INICIO ** por favor, desliza hacia arriba y busca mensajes de error anteriores; puede haber más de uno.
./discourse-doctor puede ayudar a diagnosticar el problema.
root@discuss:/var/discourse#
3 Me gusta

@k4rtik Gracias por tu informe y disculpa por los inconvenientes que has sufrido. Tu problema surgió porque:

  1. El plugin de diseños se actualizó hace 2 días.
  2. El plugin de ubicaciones era compatible con la versión existente del plugin de diseños.
  3. Usas ambos plugins.
  4. Actualizaste tu Discourse entre la actualización inicial del plugin de diseños y la incorporación de soporte en el plugin de ubicaciones.

He actualizado el plugin de ubicaciones para que sea compatible con la nueva versión del plugin de diseños: Update to support layouts v0.2 · merefield/discourse-locations@52aec30 · GitHub. Ahora, al actualizar con ambos plugins instalados, funcionará correctamente. @Richie Esto solucionará tu problema: Add include? to geo_json in user_card serializer · merefield/discourse-locations@5185063 · GitHub

Tener una rama con pruebas aprobadas en el plugin, lamentablemente, no ayudaría demasiado en esta situación particular, ni en una parte significativa de otros casos de incompatibilidad entre plugins. Las personas actualizan con diferentes frecuencias y tienen muchas combinaciones distintas de personalizaciones.

Dicho esto, estamos comenzando a dar algunos pasos para abordar este problema. Estamos adoptando un calendario que garantiza que los principales plugins de código abierto de Pavilion (este plugin, Eventos, Vistas previas de lista de temas, etc.) estén actualizados con Discourse cada 24 horas durante los primeros 5 días de cada mes, del 1 al 5 de mayo.

Esto te ofrece una ventana segura para actualizar todos los plugins en try.thepavilion.io junto con el propio Discourse, con mayor certeza de que:

  1. No experimentarás conflictos entre el plugin y Discourse, y si los hay, se resolverán en menos de 24 horas.

  2. No tendrás problemas debido a cambios en el propio plugin. Cualquier cambio potencialmente disruptivo en el plugin se realizará fuera de esta ventana.

Esto aplica a todos los plugins listados aquí:

Esta lista puede ampliarse con el tiempo. Consulta más en: https://try.thepavilion.io.

Si tienes alguna pregunta al respecto, no dudes en enviarme un mensaje privado o contactarnos en thepavilion.io.

8 Me gusta

Gracias, sí, estaba tratando de averiguar por qué mi diseño personalizado no aparecía tampoco con la última actualización. Todavía no parece aparecer, pero veo en Pavilion que están en proceso de publicar documentación actualizada sobre los cambios en el plugin, así que esperaré un tiempo.

2 Me gusta

@angus confirmado: problema resuelto :clap:t2:

Gracias nuevamente por tu continuo apoyo a este plugin :smiley:

4 Me gusta

Hola @angus, vi una notificación que indicaba que el primer mensaje de este hilo fue editado.

Parece que la ubicación del repositorio ha cambiado.

¿Deberíamos todos actualizar nuestra configuración de Discourse a la nueva ubicación, o la ubicación anterior seguirá recibiendo actualizaciones?

¿Necesitamos reconstruir algo después de cambiar la ubicación de origen del plugin?

3 Me gusta

¡Hola @Richie! Puedes seguir usando la URL antigua de GitHub - merefield/discourse-locations: Tools for handling locations in Discourse · GitHub. Puedes esperar a actualizarla cuando tengas la oportunidad, por ejemplo, cuando necesites reconstruir tu sitio por otra razón.

El plugin fue transferido de mi GitHub personal al de Pavilion hace algún tiempo. Cuando se transfiere un repositorio, GitHub redirige automáticamente todos los enlaces a la ubicación antigua hacia la nueva.

La primera publicación cambiará un poco más en las próximas semanas. Voy a escribir documentación sobre esto en thepavilion.io y una descripción más corta aquí en meta.

4 Me gusta

Excelente, no lo sabía :+1:t2:

¡Gracias de nuevo por el apoyo!

3 Me gusta