Plugin de ubicaciones 🌍

Así que una pequeña muestra de algunos trabajos prototipo que estoy realizando.

Voy a ofrecer acceso anticipado a esto para patrocinadores actuales y recientes durante un período (independientemente del nivel de patrocinio).

De ahora en adelante, ofreceré acceso anticipado a algunas nuevas funciones por 7 /mes para patrocinadores individuales o comunidades pequeñas, y por 40 /mes para empresas.

5 Me gusta

Las invitaciones iniciales al acceso anticipado acaban de enviarse a los patrocinadores actuales. Pronto ampliaré esto a los patrocinadores anteriores y este acceso se mantendrá por un tiempo, tras lo cual será necesario mantener un nivel mínimo de patrocinio.

La lista de patrocinadores se revisa diariamente, así que por favor considera patrocinarme si estás interesado en utilizar las últimas funciones en Locations y/o en apoyar mi trabajo en general.

Las funciones se migrarán al repositorio público de forma individual y tras un retraso…

3 Me gusta

Acabo de implementar la increíble Determinación Automática de la Ubicación del Usuario, lo cual implica configurar correctamente MaxMind. Esto fue en una nueva instancia.

El nuevo app.yml es encantador y ligero, pero ya no incluye las variables de entorno de MaxMind como comentario.

Si esto va a ser más accesible para administradores de sistemas autoalojados con menos experiencia, quizás necesitemos una explicación clara y dirigirlos a este tema:


Además, un pequeño detalle de UX

Aparece un enlace no deseado (al menos para mí) al mapa en la barra lateral, y esto no está controlado por ninguna configuración. Lo he ocultado así:

// ocultar el enlace al mapa de usuarios
.sidebar-sections li[data-list-item-name="users map"] {
    display: none;
}

Quizás sea el momento de deprecar tanto esto como el enlace al mapa de temas (controlado por una configuración). Ahora pueden agregarse fácilmente mediante la interfaz de usuario estándar si el administrador desea tenerlos.

1 me gusta

Los enlaces que el administrador agrega a la barra lateral actualmente no son traducibles. Por lo tanto, para una comunidad donde los usuarios podrían preferir diferentes idiomas de interfaz, el complemento que agrega el enlace a la barra lateral ofrece la opción de traducirlos y mostrarlos en varios idiomas.

2 Me gusta

He notado que no puedo habilitar la geolocalización de los temas en una categoría.

No me permite guardar los cambios :thinking: (estoy en la versión 2026.5.0-latest).

1 me gusta

Esto debería estar corregido ahora.

La corrección debería implementarse en las versiones de Acceso Anticipado y Públicas del repositorio, junto con una amplia gama de correcciones de compatibilidad.

Como parte de ese trabajo, he aumentado la diferencia entre las versiones.

La versión de Acceso Anticipado, accesible para Patrocinadores con privilegios suficientes, incluye las siguientes funciones que la versión pública de Locations actualmente no tiene:

Título Descripción
Globo del mapa de usuarios Añade una vista interactiva de globo 3D para el Mapa de Usuarios, con avatares ubicados según su posición, rotación mediante arrastre/toque, zoom, reinicio, enfoque de búsqueda, clics en tarjetas de usuario y mapeo de relieve siempre activo.
Protector de pantalla del globo Protector de pantalla experimental opcional que muestra un globo 3D giratorio con avatares de usuarios debajo del encabezado cuando el sistema está inactivo.
Filtros mejorados del mapa de usuarios Añade controles para el límite de resultados, tipo de búsqueda, término de búsqueda y filtrado por grupos en el Mapa de Usuarios.
Filtro de temas cercanos Añade un filtro experimental de lista de temas cercanos basado en la distancia desde la ubicación actual del usuario.
Búsqueda de ubicación de usuario basada en IP Estima y almacena automáticamente las ubicaciones de los usuarios a partir de datos de IP, con modo de activación configurable, granularidad, tiempo de espera, resolución en GeoNames, comportamiento de omisión si ya existe y registro de depuración.

Esto significa que la versión pública mantenida ha sido ligeramente rebajada. Lamento que sea necesario, pero es para garantizar que mis patrocinadores obtengan un beneficio suficiente.

Si deseas estas funciones adicionales, considera patrocinarme y asegúrate de elegir un nivel mensual que incluya Acceso Anticipado. Patrocinarme en el nivel adecuado te dará acceso a la versión de Acceso Anticipado en un plazo de 24 horas.

3 Me gusta

Gracias @merefield por tu rapidez :+1:.

1 me gusta

Acabo de toparme con un aviso de obsolescencia en la última versión de Discourse:

[PLUGIN discourse-locations] AVISO DE OBSOLESCENCIA: El uso de api.modifyClass en model:composer está en desuso. Utiliza en su lugar las API addModelField, addModelAccessor/addModelGetter/addModelSetter, addModelMethod, addModelSaveProperty y addModelCallback. [en desuso desde Discourse 2026.8] [id de obsolescencia: discourse.modify-class-model]

Lo intenté con mi amigo imaginario, pero parece estar por encima de mis rudimentarias habilidades de programación… :see_no_evil_monkey:

1 me gusta

Para tu información:

[Aviso de administrador] El plugin 'discourse-locations' contiene código que necesita actualizarse. (id:discourse.modify-class-model)

También tengo el problema:

Este problema ha sido resuelto gracias a una contribución de @cvx :folded_hands: (¡de hecho, hace 5 días! :sweat_smile: )

PR recientes

PR Propósito principal Autor
#168 Actualizar las dependencias de Ruby y JavaScript para resolver alertas de seguridad. angusmcleod
#169 Reemplazar el uso obsoleto de modifyClass de Composer con las API modernas de extensión de modelos. cvx
#171 Ampliar las pruebas de ubicación predeterminada de Composer y corregir la sincronización de ubicaciones al cambiar de categoría. merefield
#172 Sincronizar las herramientas de linting y desarrollo del plugin con la estructura actual del plugin de Discourse. merefield
#173 Actualizar la gema Ruby json de la versión 2.21.1 a la 2.21.2 para corregir una vulnerabilidad de uso después de la liberación. dependabot
#174 Restaurar el manejo de errores de búsqueda de ubicación, prevenir solicitudes de geocodificación vacías y mejorar las salvaguardas del mapa y la cobertura de regresión. merefield

Gracias a @angus y @cvx por sus contribuciones.

Esto se ha aplicado tanto al plugin gratuito como al plugin de acceso anticipado exclusivo para patrocinadores.

Además, el código responsable de permitirte discutir las Ubicaciones de Usuario con Chatbot se ha movido a Acceso Anticipado de Ubicaciones para mejorar aún más la capacidad funcional adicional del repositorio exclusivo para patrocinadores.

5 Me gusta

Hoy he retroportado varias mejoras no funcionales del acceso anticipado al plugin principal:

2 Me gusta

Al igual que con el Bookmark Notes Plugin, he reestructurado Locations de modo que, para utilizarlo, se necesite el plugin base en cualquier caso, independientemente de si eres un patrocinador pro o no.

Esto fue necesario para agilizar las tareas de mantenimiento. Esto ayudará a garantizar que la funcionalidad básica reciba soporte de manera más oportuna. También establece la versión anteriormente llamada «early access» como una extensión premium definitiva con funciones exclusivas para patrocinadores.

Por favor, reemplaza el antiguo comando de clon de acceso anticipado en tu app.yml por estos, manteniendo el plugin base primero:

  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

Luego, reconstruye Discourse de la forma habitual. Tus datos de ubicación existentes se conservarán; no se requiere ninguna migración manual.

Tu acceso al repositorio debería continuar tras el cambio de nombre. Si te encuentras con algún problema de acceso o instalación, envíame un mensaje y estaré encantado de ayudarte.

¡Gracias por tu continuo apoyo!

Hazte patrocinador en GitHub para obtener Locations Pro

1 me gusta

Esto se añadió como solución temporal hace un tiempo, pero desde entonces el CSS de los mensajes privados se parece más a un tema normal, así que se elimina y recuperas la alineación adecuada de la etiqueta de ubicación del usuario en los mensajes privados, ¡genial!:

1 me gusta

¿Hay alguna forma de guardar ubicaciones personalizadas? Por ejemplo, una cabaña remota en la montaña que utilizan varias personas; no hay una forma fácil de buscarla, ya que la ubicación se encuentra mediante coordenadas y no por nombre. Si hubiera una manera de guardar un conjunto de coordenadas de latitud y longitud con un nombre personalizado, sería muy útil.

1 me gusta

Sí. Puedes guardar solo las Coords en un Tema.

Asegúrate de hacer lo siguiente:

Si desactivas los campos de entrada, puedes usar la búsqueda genérica siempre que la ubicación tenga una entrada en tu proveedor de geolocalización:

1 me gusta