Locations Plugin 🌍

:+1:t2:

4 „GefĂ€llt mir“

Hast du das herausgefunden?

1 „GefĂ€llt mir“

Das Verzeichnis basierend auf der Benutzerkarte bricht den Ember-Plugin-Auslass auf der Benutzerkarte. Sie mĂŒssen dies beim Besitzer dieser Komponente melden.

1 „GefĂ€llt mir“

Ich versuche gerade, den Standort des Benutzers unter den BeitrÀgen des Benutzers anzuzeigen. Funktioniert das?

BenutzerbeitrÀge? Oder Benutzerkarten?

BeitrÀge, mir sind Karten egal, ist das möglich?

2 „GefĂ€llt mir“

Nein, derzeit unterstĂŒtzen wir nur Standorte auf Ebene der Themen und Benutzer.

Das ist schade! Meine Community interessiert sich sehr dafĂŒr, woher die Leute posten.

Ich bekomme es auch bei Benutzerkarten nicht hin, funktioniert das bei dir?

Danke

1 „GefĂ€llt mir“

Es ist nicht automatisiert (teilweise aus DatenschutzgrĂŒnden). Ein Nutzer muss seinen Standort explizit in seinem Profil festlegen. Er hat die Entscheidungsgewalt darĂŒber, welcher Standort gewĂ€hlt wird und wo er somit angezeigt wird.

Wenn du etwas Aufwendigeres möchtest, sprechen wir wahrscheinlich ĂŒber ein finanziertes Projekt zur Umsetzung dieses #Marktplatzes.

1 „GefĂ€llt mir“

Ok, danke. Ich werde mir das ĂŒberlegen und mich wieder bei dir melden. Könntest du bei einem finanzierten Projekt den Standort (des Benutzers) unter dem Benutzernamen bei BeitrĂ€gen anzeigen?

2 „GefĂ€llt mir“

Das heißt, wenn ich dieses Locations-Plugin verwende, fallen das Follow-Plugin und der User Card Directory TC fĂŒr mich weg, richtig? Das ist ziemlich schade, es wĂ€re toll, alle drei nutzen zu können. Was ist das Problem, warum kollidiert das Locations-Plugin mit ihnen?

2 „GefĂ€llt mir“

Das ist das einzige Verzeichnis fĂŒr Benutzerkarten, das mir bekannt ist, aber InkompatibilitĂ€ten können und treten auch auf.

Zum Beispiel: Jemand kann eine monolithische Vorlage ĂŒberschreiben und dabei vergessen, einen Plugin-Ausgang beizubehalten. Dagegen können wir uns nicht schĂŒtzen. Obwohl die großen Plugin-Hersteller (wir, Discourse) normalerweise sehr darauf achten, dies nicht zu tun.

3 „GefĂ€llt mir“

Gibt es BemĂŒhungen, dieses Plugin zu einem offiziellen Plugin zu machen?

1 „GefĂ€llt mir“

Hallo,

es gibt ein Problem mit dem neuesten Update. Comparing 83a6ad32...fc0da499 · discourse/discourse · GitHub

Vielen Dank! :slight_smile:

3 „GefĂ€llt mir“

Hey, danke fĂŒr den Bericht.

Ja, das ist ein seltsamer Fall, und eigentlich bin ich nicht ganz ĂŒberzeugt, dass Locations die Schuld trifft (obwohl wir vielleicht schlechte Praktiken befolgen?!).

Es scheint, dass wĂ€hrend der Plugin-Initialisierung eine Discourse-Migration dazu fĂŒhrte, dass das Modell (tatsĂ€chlich der Serializer) und die Datenbank in einem inkonsistenten Zustand waren.

Die Lösung ist wirklich einfach:

  1. Entferne Locations aus app.yml
  2. Rebuild (der entscheidende Schritt ist die Datenbank-Migration. Sobald das erledigt ist 
) < – ich vermute, du befindest dich hier?
  3. FĂŒge Locations wieder in app.yml ein
  4. Rebuild.

:tada:

3 „GefĂ€llt mir“

Hallo Robert,

Ausgezeichnet :heart_eyes: Danke! Ich habe das Locations-Plugin wieder aktiviert, und der Neuaufbau war erfolgreich. Es scheint, als ob alles hervorragend funktioniert. Nochmals vielen Dank fĂŒr die schnelle Hilfe :slight_smile:

2 „GefĂ€llt mir“

Hallo Robert,

leider scheint das neueste Update die Route der Locations-Seite /u/user-map?period=location zu blockieren. Vielleicht liegt es an diesem Commit? FIX: Always serialize the correct attributes for DirectoryItems (#13510) · discourse/discourse@60a7673 · GitHub

Es treten auch einige Fehler in der Browserkonsole und in den Logs auf.

Info

NoMethodError (undefined method `each' for 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'

Backtrace

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>'

Vielen Dank! :slight_smile:

3 „GefĂ€llt mir“

Vielen Dank fĂŒr den Bericht. Wenn Sie Pavilion-Plugins verwenden, vermeiden Sie bitte ein Upgrade außerhalb unseres Supportzeitraums, da wir nicht immer verfĂŒgbar sind, um Änderungen zu beheben, die zu BrĂŒchen fĂŒhren. Ich werde mir das ansehen, sobald ich dazu in der Lage bin.

3 „GefĂ€llt mir“

@Don OK, ich habe mir heute etwas Zeit genommen, um das zu beheben, da ich fĂŒr bezahlte Arbeit wirklich unter Zeitdruck stehe und dachte, ich sollte das lieber schnell hinter mich bringen :sweat_smile:

Es hat eine Weile gedauert, das gebe ich gerne zu – diese Änderungen waren ziemlich kryptisch! :sweat_smile:

Das Ergebnis ist hier: COMPATIBILITY: fix for recent major changes to user directory code · merefield/discourse-locations@8a16b16 · GitHub

Möglicherweise ist es als zusĂ€tzlichen Vorteil sogar etwas schneller als zuvor, da ich diese weitere Änderung vorgenommen habe, um das neue Design zu nutzen und die Menge der serialisierten Daten zu reduzieren: cut down unnecessary data · merefield/discourse-locations@66d0120 · GitHub

@markvanlan zur Info

5 „GefĂ€llt mir“

Hallo Robert,
ich weiß das sehr zu schĂ€tzen. Vielen Dank fĂŒr deine Arbeit und deine Zeit. :heart:
Gerade aktualisiert und getestet
 alles funktioniert super! :slight_smile:

5 „GefĂ€llt mir“