Plugin de Ubicaciones 🌍

:+1:t2:

4 Me gusta

¿Lo lograste?

1 me gusta

El directorio basado en la tarjeta de usuario rompe la salida del complemento Ember en la tarjeta de usuario. Debes reportarlo al propietario de ese componente.

1 me gusta

Solo estoy intentando mostrar la ubicación del usuario debajo de las publicaciones de los usuarios, ¿funciona eso?

¿Publicaciones de usuario o tarjetas de usuario?

Publicaciones, no me importan las tarjetas, ¿es posible?

2 Me gusta

No, actualmente solo admitimos ubicaciones a nivel de tema y de usuario.

¡Qué lástima! A mi comunidad le interesa mucho saber desde dónde publica la gente.

No logro que funcione en las tarjetas de usuario tampoco; ¿esa parte está funcionando bien?

Gracias.

1 me gusta

No es automatizado (parcialmente por razones de privacidad). El usuario debe establecer explícitamente su ubicación en su perfil. Tiene discreción sobre qué ubicación se selecciona y, por lo tanto, dónde aparece.

Si buscas algo más elaborado, probablemente estemos hablando de un proyecto financiado para implementar eso Marketplace

1 me gusta

¡Ok, gracias! Lo pensaré y te responderé. ¿Podrías mostrar la ubicación (del usuario) debajo del nombre de usuario en las publicaciones de un proyecto financiado?

2 Me gusta

Así que si uso este plugin de Ubicaciones, no podré usar el plugin Follow ni el TC de User Card Directory, ¿verdad? Es una lástima, sería genial poder usar los tres. ¿Cuál es el problema? ¿Por qué el plugin de Ubicaciones entra en conflicto con ellos?

2 Me gusta

Este es el único directorio de tarjetas de usuario que conozco, pero la incompatibilidad puede ocurrir y de hecho ocurre.

Por ejemplo, alguien puede sobrescribir una plantilla monolítica y olvidar conservar una salida de plugin. No podemos protegernos contra que alguien haga eso. Aunque los grandes desarrolladores de plugins (nosotros, Discourse) suelen ser muy cuidadosos para no hacerlo.

3 Me gusta

¿Hay esfuerzos para convertir este complemento en uno oficial?

1 me gusta

Hola,
Hay un problema con la última actualización. Comparing 83a6ad32...fc0da499 · discourse/discourse · GitHub
¡Gracias! :slight_smile:

3 Me gusta

¡Hola, gracias por el informe!

Sí, este es un caso extraño y, de hecho, no estoy totalmente convencido de que sea culpa de Locations (¡aunque es posible que estemos siguiendo una mala práctica?!).

Parece que durante la inicialización del plugin, una migración de Discourse estaba causando que el modelo (en realidad el Serializer) y la base de datos estuvieran en un estado inconsistente.

La solución es muy sencilla:

  1. Eliminar Locations de app.yml
  2. Reconstruir (el paso crucial es la migración de la base de datos. Una vez que eso esté hecho…) < – sospecho que estás aquí.
  3. Volver a agregar Locations en app.yml
  4. Reconstruir.

:tada:

3 Me gusta

Hola Robert,

¡Excelente! :heart_eyes: Gracias. He descomentado el plugin de Ubicaciones y la reconstrucción se ejecutó correctamente. Parece que todo funciona genial. Gracias de nuevo por la ayuda rápida :slight_smile:

2 Me gusta

Hola Robert,

Lamentablemente, la última actualización parece estar bloqueando la ruta de la página de ubicaciones /u/user-map?period=location. ¿Podría ser este commit? FIX: Always serialize the correct attributes for DirectoryItems (#13510) · discourse/discourse@60a7673 · GitHub

También hay algunos errores en la consola del navegador y en los registros.

información

NoMethodError (método `each` no definido para nil:NilClass)
app/serializers/directory_item_serializer.rb:41:in `attributes'
app/controllers/application_controller.rb:494:in `serialize_data'
app/controllers/application_controller.rb:397:in `block in with_resolved_locale'
app/controllers/application_controller.rb:397:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:355:in `call'
config/initializers/008-rack-cors.rb:25:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:177:in `call'

trazado de la pila

app/serializers/directory_item_serializer.rb:41:in `attributes'

active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'

active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'

active_model_serializers (0.8.4) lib/active_model/array_serializer.rb:89:in `block in _serializable_array'

active_model_serializers (0.8.4) lib/active_model/array_serializer.rb:79:in `map'

active_model_serializers (0.8.4) lib/active_model/array_serializer.rb:79:in `_serializable_array'

active_model_serializers (0.8.4) lib/active_model/array_serializer.rb:73:in `serializable_array'

active_model_serializers (0.8.4) lib/active_model/array_serializer.rb:53:in `as_json'

app/controllers/application_controller.rb:494:in `serialize_data'

plugins/discourse-locations/lib/users_map.rb:15:in `index'

actionpack (6.1.3.2) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'

actionpack (6.1.3.2) lib/abstract_controller/base.rb:228:in `process_action'

actionpack (6.1.3.2) lib/action_controller/metal/rendering.rb:30:in `process_action'

actionpack (6.1.3.2) lib/abstract_controller/callbacks.rb:42:in `block in process_action'

activesupport (6.1.3.2) lib/active_support/callbacks.rb:117:in `block in run_callbacks'

app/controllers/application_controller.rb:397:in `block in with_resolved_locale'

i18n (1.8.10) lib/i18n.rb:314:in `with_locale'

app/controllers/application_controller.rb:397:in `with_resolved_locale'

activesupport (6.1.3.2) lib/active_support/callbacks.rb:126:in `block in run_callbacks'

activesupport (6.1.3.2) lib/active_support/callbacks.rb:137:in `run_callbacks'

actionpack (6.1.3.2) lib/abstract_controller/callbacks.rb:41:in `process_action'

actionpack (6.1.3.2) lib/action_controller/metal/rescue.rb:22:in `process_action'

actionpack (6.1.3.2) lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'

activesupport (6.1.3.2) lib/active_support/notifications.rb:203:in `block in instrument'

activesupport (6.1.3.2) lib/active_support/notifications/instrumenter.rb:24:in `instrument'

activesupport (6.1.3.2) lib/active_support/notifications.rb:203:in `instrument'

actionpack (6.1.3.2) lib/action_controller/metal/instrumentation.rb:33:in `process_action'

actionpack (6.1.3.2) lib/action_controller/metal/params_wrapper.rb:249:in `process_action'

activerecord (6.1.3.2) lib/active_record/railties/controller_runtime.rb:27:in `process_action'

actionpack (6.1.3.2) lib/abstract_controller/base.rb:165:in `process'

actionview (6.1.3.2) lib/action_view/rendering.rb:39:in `process'

rack-mini-profiler (2.3.2) lib/mini_profiler/profiling_methods.rb:111:in `block in profile_method'

actionpack (6.1.3.2) lib/action_controller/metal.rb:190:in `dispatch'

actionpack (6.1.3.2) lib/action_controller/metal.rb:254:in `dispatch'

actionpack (6.1.3.2) lib/action_dispatch/routing/route_set.rb:50:in `dispatch'

actionpack (6.1.3.2) lib/action_dispatch/routing/route_set.rb:33:in `serve'

actionpack (6.1.3.2) lib/action_dispatch/journey/router.rb:50:in `block in serve'

actionpack (6.1.3.2) lib/action_dispatch/journey/router.rb:32:in `each'

actionpack (6.1.3.2) lib/action_dispatch/journey/router.rb:32:in `serve'

actionpack (6.1.3.2) lib/action_dispatch/routing/route_set.rb:842:in `call'

lib/middleware/omniauth_bypass_middleware.rb:71:in `call'

rack (2.2.3) lib/rack/tempfile_reaper.rb:15:in `call'

rack (2.2.3) lib/rack/conditional_get.rb:27:in `call'

rack (2.2.3) lib/rack/head.rb:12:in `call'

actionpack (6.1.3.2) lib/action_dispatch/http/permissions_policy.rb:22:in `call'

lib/content_security_policy/middleware.rb:12:in `call'

lib/middleware/anonymous_cache.rb:355:in `call'

config/initializers/008-rack-cors.rb:25:in `call'

rack (2.2.3) lib/rack/session/abstract/id.rb:266:in `context'

rack (2.2.3) lib/rack/session/abstract/id.rb:260:in `call'

actionpack (6.1.3.2) lib/action_dispatch/middleware/cookies.rb:689:in `call'

actionpack (6.1.3.2) lib/action_dispatch/middleware/callbacks.rb:27:in `block in call'

activesupport (6.1.3.2) lib/active_support/callbacks.rb:98:in `run_callbacks'

actionpack (6.1.3.2) lib/action_dispatch/middleware/callbacks.rb:26:in `call'

actionpack (6.1.3.2) lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call'

actionpack (6.1.3.2) lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call'

actionpack (6.1.3.2) lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'

logster (2.9.6) lib/logster/middleware/reporter.rb:43:in `call'

railties (6.1.3.2) lib/rails/rack/logger.rb:37:in `call_app'

railties (6.1.3.2) lib/rails/rack/logger.rb:28:in `call'

config/initializers/100-quiet_logger.rb:23:in `call'

config/initializers/100-silence_logger.rb:31:in `call'

actionpack (6.1.3.2) lib/action_dispatch/middleware/remote_ip.rb:81:in `call'

actionpack (6.1.3.2) lib/action_dispatch/middleware/request_id.rb:26:in `call'

lib/middleware/enforce_hostname.rb:23:in `call'

rack (2.2.3) lib/rack/method_override.rb:24:in `call'

actionpack (6.1.3.2) lib/action_dispatch/middleware/executor.rb:14:in `call'

rack (2.2.3) lib/rack/sendfile.rb:110:in `call'

actionpack (6.1.3.2) lib/action_dispatch/middleware/host_authorization.rb:92:in `call'

rack-mini-profiler (2.3.2) lib/mini_profiler/profiler.rb:384:in `call'

message_bus (3.3.6) lib/message_bus/rack/middleware.rb:61:in `call'

lib/middleware/request_tracker.rb:177:in `call'

railties (6.1.3.2) lib/rails/engine.rb:539:in `call'

railties (6.1.3.2) lib/rails/railtie.rb:207:in `public_send'

railties (6.1.3.2) lib/rails/railtie.rb:207:in `method_missing'

rack (2.2.3) lib/rack/urlmap.rb:74:in `block in call'

rack (2.2.3) lib/rack/urlmap.rb:58:in `each'

rack (2.2.3) lib/rack/urlmap.rb:58:in `call'

unicorn (6.0.0) lib/unicorn/http_server.rb:634:in `process_client'

unicorn (6.0.0) lib/unicorn/http_server.rb:732:in `worker_loop'

unicorn (6.0.0) lib/unicorn/http_server.rb:547:in `spawn_missing_workers'

unicorn (6.0.0) lib/unicorn/http_server.rb:143:in `start'

unicorn (6.0.0) bin/unicorn:128:in `<top (required)>'

vendor/bundle/ruby/2.7.0/bin/unicorn:23:in `load'

vendor/bundle/ruby/2.7.0/bin/unicorn:23:in `<main>'

¡Gracias! :slight_smile:

3 Me gusta

Gracias por el informe. Si utiliza los complementos de Pavilion, evite actualizar fuera de nuestro período de soporte, ya que no siempre podremos estar disponibles para resolver cambios incompatibles. Lo revisaré cuando pueda.

3 Me gusta

@Don OK, hoy me tomé un tiempo para arreglar esto, ya que tengo mucha presión con un trabajo remunerado y pensé que era mejor dejar esto resuelto :sweat_smile:

Me llevó un buen rato, no me avergüenzo de admitirlo, ¡esos cambios eran bastante crípticos! :sweat_smile:

El resultado es este: COMPATIBILITY: fix for recent major changes to user directory code · merefield/discourse-locations@8a16b16 · GitHub

Es posible que esto sea ligeramente más rápido que antes, como beneficio adicional, ya que añadí este cambio extra para aprovechar el nuevo diseño y reducir la cantidad de datos serializados: cut down unnecessary data · merefield/discourse-locations@66d0120 · GitHub

@markvanlan Para tu información.

5 Me gusta

Hola Robert,
¡Realmente lo aprecio! Muchas gracias por tu trabajo y tu tiempo. :heart:
Acabo de actualizar y probar… ¡todo funciona genial! :slight_smile:

5 Me gusta