Danke @merefield, genau das haben wir versucht ![]()
Leider lÀdt es trotzdem zuerst die Benutzerliste-Seite, dann wird es zur Karte weitergeleitet.
Ich hatte gehofft, dass die Karte allein auf /map oder Ă€hnlich verfĂŒgbar sein könnte ![]()
Danke @merefield, genau das haben wir versucht ![]()
Leider lÀdt es trotzdem zuerst die Benutzerliste-Seite, dann wird es zur Karte weitergeleitet.
Ich hatte gehofft, dass die Karte allein auf /map oder Ă€hnlich verfĂŒgbar sein könnte ![]()
Verstanden.
Aber das ist ein Ablenkmanöver.
Die Standard-User-Liste wird zwischengespeichert, sodass sie in einem Bruchteil einer Sekunde geladen wird. Das Problem ist die Zeit, die das Laden des Modells fĂŒr die Karte dauert â in deinem Fall werden etwa 400 Benutzer auf einmal geladen. Die Darstellung der User-Liste verschwendet also zwar nur 0,1 % der Verarbeitungszeit, aber das eigentliche Problem liegt im zweiten Teil. Es gibt dafĂŒr möglicherweise keine schnelle Lösung.
Ich weià das teilweise, weil ich gerade auf einer Website deployed habe, die diese Funktion bisher nicht genutzt hat. Die Kartendaten werden so schnell geladen, dass die User-Liste nie sichtbar ist (obwohl sie zuerst lÀdt). Der Haken? Bisher haben nur 2 Benutzer ihren Standort markiert ⊠die User-Karte skaliert mit ihrer aktuellen Architektur nicht gut.
Interessante Einsicht, danke.
Momentan sind nur etwa 12 % unserer Community-Mitglieder auf der Karte verzeichnet, und wir haben kĂŒrzlich ĂŒber eine Initiative gesprochen, um mehr Mitglieder dort zu erfassen.
Liege ich richtig, wenn ich annehme, dass die Ladezeit der Karte mit weiterem Wachstum unserer Community immer lÀnger wird?
Ich vermute auch, dass zuerst die Benutzerliste geladen werden muss?
Da ich nichts ĂŒber den Code weiĂ, ist es möglich, die Karte irgendwo separat zu haben?
![]()
Wie gesagt, ist das irrelevant. Die Benutzerliste wird zwischengespeichert und ist sehr kurz.
Verwendet das Locations-Plugin dafĂŒr ein eigenes Modell oder ein bestehendes Kernmodell? Ich frage mich, wo der Flaschenhals liegt, wenn nur 400 Zeilen mit Benutzerinformationen aus der Datenbank ausgewĂ€hlt werden?
Entschuldige die vielen Fragen, @merefield â ich versuche nur, besser zu verstehen, wie das Ganze im Inneren funktioniert. ![]()
Kein Problem, Richie. Wir ĂŒberschreiben den DirectoryItemsController, um auf einmal mehr Personen abzurufen, als es normalerweise bei der Paginierung der Daten fĂŒr die normale Tabelle der Fall wĂ€re. Das Modell ist davon unberĂŒhrt.
Das mĂŒsste wirklich grundlegend durch ein deutlich komplexeres Daten-Streaming-System ersetzt werden, das die GröĂe und Position des Viewports berĂŒcksichtigt. Das ist, wie ich vermute, ziemlich viel Arbeit. Nicht zuletzt, weil dann nicht mehr so viel Code aus Discourse wiederverwendet werden kann â es ist ein völlig anderer Anwendungsfall. Allerdings eine sehr interessante Aufgabe!
Dass diese Verzögerung jedes einzelne Mal auftritt, deutet darauf hin, dass es sich nicht um ein Caching-Problem handelt. Das könnten wir eventuell beheben, ohne massive Ănderungen vornehmen zu mĂŒssen.
Ich habe doch bestimmt keine einfache Discourse-Einstellung ĂŒbersehen oder geĂ€ndert, oder? ![]()
Nein, es liegt nicht an dir, auĂer dass du möglicherweise die aktuellen Möglichkeiten des Plugins bereits ĂŒberschritten hast ![]()
Wenn ich Zeit habe, werde ich prĂŒfen, was nötig wĂ€re, um die Ergebnisse zu cachen, sodass du dieses Problem nur noch einmal pro Sitzung erlebst. Das ist der leichteste Schritt.
Die gröĂere Baumarbeit jedoch âŠ
![]()
Danke @merefield, aber lass uns das noch einmal zurĂŒckstellen. Ich habe zwar keine Beweise in die eine oder andere Richtung, aber ich vermute stark, dass die Leute die Karte ohnehin nur einmal pro Sitzung ansehen ![]()
Ein Fehlerbericht.
Dieser Fehler besteht schon eine Weile, aber ich habe schlieĂlich herausgefunden, dass das Locations-Plugin dafĂŒr verantwortlich ist. Wenn das Plugin deaktiviert ist, wird meine Website korrekt auf der Benutzerkarte angezeigt. Sobald ich es jedoch aktiviere, erscheint sie doppelt! Hier ist ein Screenshot der Benutzerkarte, die beim Hover erscheint:
und ein weiterer von der vollstÀndig erweiterten Profilseite:

Ich habe dies mehrfach getestet, indem ich verschiedene Kombinationen von Ănderungen an den Werten im Profil vorgenommen habe. Die Website wird nur dann korrekt, also nur einmal angezeigt, wenn ich das Locations-Plugin deaktiviere.
Danke, Kartik, bist du auf einem aktuellen Update?
Ja, ich hÀtte das erwÀhnen sollen.
EDIT: Das fĂŒr das doppelte Element generierte HTML:
<span id="ember858" class="ember-view"> <div id="ember860" class="user-location-and-website-outlet replace-location ember-view"><!----><div class="user-profile-website">
<svg class="fa d-icon d-icon-globe svg-icon svg-string" xmlns="http://www.w3.org/2000/svg"><use xlink:href="#globe"></use></svg>
<span title="http://ks.cs.uchicago.edu">ks.cs.uchicago.edu</span>
</div>
</div>
</span>
Ich bin derzeit mit Kundenprojekten ausgelastet, werde das aber im Vorfeld des nĂ€chsten unterstĂŒtzten Upgrade-Zeitraums (1. bis 5. des nĂ€chsten Monats) im Hinterkopf behalten.
Interessant, dass einer als anklickbarer Link gestaltet ist und der andere nicht ![]()
Auch interessant, dass wir dieses Problem in unserem Forum nicht sehen.
Es scheint, als hÀtten wir ein weiteres Problem, @merefield.
Unsere Benutzerkarte zeigt derzeit 472 Benutzer an, aber einige Benutzer haben gemeldet, dass ihr Pin nicht auf der Karte erscheint. Wenn man jedoch ihre Benutzerkarte ansieht, sind sie auf ihrer eigenen kleinen Karte sichtbar.
Wenn wir eine Abfrage in der Datenbank fĂŒr Benutzer mit einem hinzugefĂŒgten Standort ausfĂŒhren, erhalten wir 492 Ergebnisse. Es sieht also so aus, als wĂ€ren etwa 20 auf der Karte nicht sichtbar.
Können wir etwas tun, um bei der Fehlersuche zu helfen?
Wenn man Chrisâ Benutzerkarte ansieht, wird er auf seinem eigenen Kartenprofil korrekt angezeigt:
Auf der vollstÀndigen/hauptkarte fehlt Chris ![]()
Was ist der Wert dieser Einstellung, Richie?

FĂŒr den fehlenden Beispielbenutzer könntest du mir bitte das Ergebnis davon aus der Rails-Konsole per PN senden:
myuser = User.find_by(username: "===USERNAME===")
myuser.custom_fields["geo_location"]
Die Geschichte wird immer spannender ![]()
Er war auf 500 gesetzt.
Ich habe ihn auf 1000 geÀndert, und unsere vermissten Personen tauchten sofort auf ![]()
Ich werde dir die Ergebnisse wie gewĂŒnscht per PN schicken ![]()
Ah, in diesem Fall mĂŒssen Sie diese Informationen nicht per PN senden. Ich vermute, dass die Liste der Personen mit geo_locations auch EintrĂ€ge mit leeren Werten enthielt (z.âŻB. ein benutzerdefiniertes Feld existiert, aber das Objekt ist leer), und dadurch haben Sie möglicherweise die maximale Anzahl ĂŒberschritten. Erhöhen Sie die maximale Anzahl, und selbst wenn es leere EintrĂ€ge gibt, werden die gĂŒltigen Benutzer nicht verdrĂ€ngt. Der Code könnte dort definitiv verbessert werden, ist aber nicht kritisch.
Danke @merefield. Wir haben bei einigen Benutzern Werte wie '{}' gesehen, daher vermute ich, dass sie vielleicht einmal einen Standort hatten, der inzwischen entfernt wurde.
Ich kann mich auch nicht mehr erinnern, ob diese Werte gelöscht werden, wenn ein Benutzer anonymisiert wird â das wĂŒrde uns erneut ĂŒber den magischen Schwellenwert von 500 hinausbringen, den wir festgelegt haben.
Viele GrĂŒĂe ![]()