Change #239

Umkreissuchen zusammenlegen

Added by following about 6 years ago. Updated almost 3 years ago.

Status:erledigt% Done:

100%

Priority name:1 niedrig
Assignee:Slini11
Target version:Version 19
Ticket Referenz: Kategorien:suche

Description

Die "Suche nach Entfernung" und "Suche nach Ortschaft" sind beides Umkreissuchen. Bei der ersten ist die Entfernung wählbar, bei der zweiten fix 75 km.

Das kann man zu einer Funktion "Umkreissuche" mit wählbarer Entfernung zusammenlegen.

Associated revisions

Revision 2dcb09a9
Added by Slini11 about 3 years ago

some bugfixes, added searchopt for gcwp, updates #239

Revision 4e566c95
Added by Slini11 about 3 years ago

some small bugfixes updates #239

Revision 7d4350d5
Added by teiling88 about 3 years ago

Merge pull request #286 from Slini11/fixed-search-bugs

some small bugfixes updates #239

Revision 02073d36
Added by following about 3 years ago

search by distance fixes and refactoring; updates #239

- set from-coords as default distance search option
- changed tab order for 'byortplz' and 'bywaypoint' radio/input
- re-enabled url parameters 'byort' and 'byplz' for backward compatibility
- applied change from by-distance to by-coord also to the search name
- allowed search for any Opencaching waypoints, not just "OC...."
- improved usage of search distance default constants
- changed some texts and translations
- changes in the corresponding JS code

Revision e1506430
Added by Slini11 about 3 years ago

fixed on focus in coordinateinput updates #239

Revision 7f9a959c
Added by teiling88 about 3 years ago

Merge pull request #360 from Slini11/0239-fix-onfocus

fixed on focus in coordinateinput updates #239

Revision 9cf84526
Added by teiling88 almost 3 years ago

Merge pull request #360 from Slini11/0239-fix-onfocus

fixed on focus in coordinateinput updates #239

History

#1 Updated by following about 6 years ago

  • Status changed from in Arbeit 20% to verworfen
  • Target version deleted (Version 9)

War keine so gute Idee:

- Ohne JavaScript nicht sauber für alle Browser realisierbar, und die Suche ist sinnvollerweise so ausgelegt dass sie auch ohne JS nutzbar ist (einzige Möglichkeit, OC-Caches ohne JS zu finden).

- Die getrennten Suchen sind übersichtlicher.

#2 Updated by following almost 6 years ago

  • Status changed from verworfen to offen
  • Priority name changed from 1 niedrig to 2 mittel

Vielleicht ist es doch realisierbar, indem man alle drei Suchen in einem Formular zusammenlegt und dann zwischen verschiedenen Such-Buttons unterscheidet.

#3 Updated by following almost 6 years ago

  • Assignee deleted (following)

#4 Updated by Siggiiiiii about 4 years ago

Die Umkreissuche um Koordinate ist inzwischen nicht mehr fix mit 75 km belegt sondern flexibel. Besteht hier noch Handlungsbedarf?

#5 Updated by following about 4 years ago

  • Priority name changed from 2 mittel to 1 niedrig

Die Koordinaten-Umkreissuche war noch nie fix; der Vorschlag ist ein anderer. Ist aber nicht so wichtig; außer mir hat noch niemand danach gefragt.

#6 Updated by Slini11 almost 4 years ago

Neben Koordinaten und Adressen sollte zusätzlich auch ein OC-Code als Zentrum gesetzt/festgelegt werden können.

#7 Updated by Slini11 over 3 years ago

  • Status changed from offen to in Arbeit 50%
  • % Done changed from 0 to 50

Das stört mich schon seit Ewigkeiten.
Ich schau mal, ob ich das hinbekomme die Suchen zusammen zu legen.

#8 Updated by following over 3 years ago

Slini11 schrieb:

Neben Koordinaten und Adressen sollte zusätzlich auch ein OC-Code als Zentrum gesetzt/festgelegt werden können.

Das wäre dann das gleiche wie die Umkreissuche im Cachelisting unter "Hilfreiches", nur umständlicher weil man den OC-Code copy&pasten muss.

#9 Updated by Slini11 over 3 years ago

Ok, ist aber jetzt schon nahzu fertig :D. Ich schau mal, ob ich das auch noch "zusammenlege".

#10 Updated by following over 3 years ago

Hm, das Suchformular wird von vielen Benutzern als überfrachtet wahrgenommen - denke da sollten wirklich nur noch wichtige Dinge hinzukommen.

#11 Updated by Slini11 over 3 years ago

Man könnte im Gegenzug Plz und Ort zu einem Feld zusammenlegen.
Bei der Verarbeitung schaut man dann, ob Zahlen oder Buchstaben vorliegen.
Ich schau mal, ob ich das hinbekommme.

#12 Updated by following over 3 years ago

Ich werde da ne Protokollierung einbauen, und wenn niemand außer dir das nutzt baue ich es wieder aus. :-P

#13 Updated by Slini11 over 3 years ago

  • Status changed from in Arbeit 50% to in Arbeit 80%
  • Assignee set to Slini11
  • Target version set to Version 18
  • % Done changed from 50 to 80

#14 Updated by following over 3 years ago

Coole Sache! Funktioniert alles prima. (doch nich nicht ganz ;)

Bei den Wegpunkten könnte man auch GC-Wegpunkte zulassen, so wie in dem Wegpunkt-Eingabefeld oben rechts und auf der Karte - also einfach "von Wegpunkt". Die GC-Wegpunkte sind in caches.wp_gc_maintained.

Beim Layout hab ich noch Verbesserungswünsche, aber da werde ich erst mal rumprobieren was geht.

#15 Updated by following over 3 years ago

Wenn ich nach einem nicht existierenden OC-Wegpunkt suche, steht ganz am Ende der Seite: "Warning: Unknown: 1 result set(s) not freed. Use mysql_free_result to free result sets which were requested using mysql_query() in Unknown on line 0"

D.h. es fehlt ein sql_free_result beim Prüfen des Wegpunkts. Eigentlich müsste das mit einem einfachen sql_value() statt sql() gehen, dann braucht man nichts mehr freizugeben.

#16 Updated by following over 3 years ago

Wenn ich nach einem Ortsname suche, den es mehrfach gibt (z.B. "Kreuzberg"), und dann in der Liste einen Ort anklicke, kommt: "Fehlermeldung: unknown search option".

Wenn ich das Suchformular abschicke und dann mit dem zurück-Knopf des Browsers zurückgehe, werden sämtliche Eingabefelder (nicht nur bei der Umkreissuche) auf irgendeinen Default zurückgsetzt. Früher blieben sie erhalten.

#17 Updated by Slini11 over 3 years ago

following schrieb:

Wenn ich nach einem Ortsname suche, den es mehrfach gibt (z.B. "Kreuzberg"), und dann in der Liste einen Ort anklicke, kommt: "Fehlermeldung: unknown search option".

Oh, wusste gar nicht, dass das überhaupt möglich ist :D. Werde ich, genauso wie das andere, korrigieren.
Zum Layout: Die "..." habe ich herausgenommen, weil es die Tabellenspalten mit "..." zu weit rechts wären und bei den unteren Suchen dann sehr viel Freiraum entsteht.
Sonst würde mir gar nichts mehr einfallen, was man da noch anders machen könnte ^^?

#18 Updated by following over 3 years ago

Slini11 schrieb:

Sonst würde mir gar nichts mehr einfallen, was man da noch anders machen könnte ^^?

Ich stolpere über die Radiobuttons in der ersten Spalte - das ist zwar genial platzsparend, bricht aber das Formularlayout und ist sehr unüblich. Den "Suchen"-Knopf würde ich unten im Bereich "Umkreissuche" erwarten, nciht oben - man gibt erst die Optionen ein und als Letztes kommt der Button. Und man könnte den Bereich "Umkreissuche" von den weitern Optionen etwas absetzen. Vielleicht zwei blaue Rahmen machen, einen für die Umkreissuche und einen für den Rest? Hm.

#19 Updated by following over 3 years ago

following schrieb:

Ich stolpere über die Radiobuttons in der ersten Spalte - das ist zwar genial platzsparend, bricht aber das Formularlayout und ist sehr unüblich.

Aber ob es besser geht weiß ich auch noch nicht.

#20 Updated by Slini11 over 3 years ago

following schrieb:

Wenn ich das Suchformular abschicke und dann mit dem zurück-Knopf des Browsers zurückgehe, werden sämtliche Eingabefelder (nicht nur bei der Umkreissuche) auf irgendeinen Default zurückgsetzt. Früher blieben sie erhalten.

Wie meinst du das? Kann ich nicht nachvollziehen. Kannst du ein Beispiel nennen?

#21 Updated by following over 3 years ago

Slini11 schrieb:

Wie meinst du das? Kann ich nicht nachvollziehen. Kannst du ein Beispiel nennen?

Seltsam, im Moment kann ich es auch nicht mehr nachvollziehen. Das ist natürlich doof, denn irgendwo ist da ein Bug, er versteckt sich nur.

Noch ein anderes Problem: Wenn man die Cachetypenauswahl oben ändert, kommt kein optisches Feedback mehr, also die Typensymbole werden nicht mehr grau bzw. bunt (obwohl die Auswahl funktioniert). Auf der Javascript-Konsole kommt eine Fehlermeldung wenn man da irgendwo draufklickt.

Es wird dauern bis das online gehen kann, weil durch die Umstrukturierungen in search.php in den Git-Diffs schwer erkennbar ist, was genau geändert wurde. Und search.php ist eines der zwei komplexesten OC-Module, daher brauchen die Änderungen auf jeden Fall ein Review (Korrekturlesen).

#22 Updated by Slini11 over 3 years ago

following schrieb:

  • Wenn ich nach einem nicht existierenden OC-Wegpunkt suche, steht ganz am Ende der Seite: "Warning: Unknown: 1 result set(s) not freed. Use mysql_free_result to free result sets which were requested using mysql_query() in Unknown on line 0"
  • Wenn ich nach einem Ortsname suche, den es mehrfach gibt (z.B. "Kreuzberg"), und dann in der Liste einen Ort anklicke, kommt: "Fehlermeldung: unknown search option".
  • Noch ein anderes Problem: Wenn man die Cachetypenauswahl oben ändert, kommt kein optisches Feedback mehr, also die Typensymbole werden nicht mehr grau bzw. bunt (obwohl die Auswahl funktioniert). Auf der Javascript-Konsole kommt eine Fehlermeldung wenn man da irgendwo draufklickt.

Ok, alles behoben.

following schrieb:

Ich stolpere über die Radiobuttons in der ersten Spalte - das ist zwar genial platzsparend, bricht aber das Formularlayout und ist sehr unüblich.

Ich habe die Radiobuttons gewählt, weil ich diese vielen Suchbuttons sehr unübersichtlich finde und die das Formular überladen.
Über die Lage des Suchbuttons für die Umkreissuche habe ich mir auch den Kopf zerbrochen, aber den hinter Koordinaten zu platzieren fande ich da irgendwie unpassend und würde den Nutzer sicherlich irritieren (auch wenn es bei "Logeinträger ... nach Benutzer" so umgesetzt ist; da ist es aber auch nur eine Feld). Ich bin auch nicht ganz glücklich damit.
Ich habe die "..." wieder mit reingenommen, weil die, wie ich finde, doch sehr zur Übersichtlichkeit beitragen.
Durch einen blauen Rahmen würde ich die Suche nicht von den anderen Suchen abgrenzen. Man muss sich schließlich für einer dieser Suchen entscheiden.

Sonst könnte ich nen Forumstread aufmachen und mal in die Runde fragen, wie die das so sehen (auch wenn man bei vielen Fragen viele Antworten bekommt ;) )

following schrieb:

Bei den Wegpunkten könnte man auch GC-Wegpunkte zulassen, so wie in dem Wegpunkt-Eingabefeld oben rechts und auf der Karte - also einfach "von Wegpunkt". Die GC-Wegpunkte sind in caches.wp_gc_maintained.

An sich finde ich die Idee gut, sehe sie aber auch kritisch: Denn unsere GC-Codedatenbank ist ja nicht vollständig (oder etwas doch?). Dann geben die Leute einen GC-Code ein und unsere Datenbank gibt einen Error aus. Es gibt den Cache zwar bei GC aber ebend kein entsprechendes OC-Listing. Wäre natürlich auch informativ, da man so u.a. herausfinden könnte, ob es zum GC-Listing auch ein OC-Listing gibt. Aber: Es kann ja sein, dass es sogar ein entsprechendes OC-Listing gibt, aber der GC-Code noch nicht in der Datenbank vorhanden ist. Das fände ich sehr irriteirend. Auf der anderen Seite: Wenn dieses Feature schon an zwei Stellen auf der Website funktioniert, warum dann gerade hier nicht? (Bin da ein wenig unsicher, tendiere aber gerade im Laufe des Schreibens eher zu einbauen :D. Ich schau mal, was sich machen lässt.)

following schrieb:

Seltsam, im Moment kann ich es auch nicht mehr nachvollziehen. Das ist natürlich doof, denn irgendwo ist da ein Bug, er versteckt sich nur.

Wenn man die Suchoptionen einstellt und danach sucht, werden sie gespeichert und man sieht diese Sucheinstellungen, wenn man im Browser "zurück" geht oder auf "optionen bearbeiten" klickt. Wenn man die Suche aber nicht ausführt und die Seite z.B. neu läd, werden die letzten Sucheinstellungen verworfen und die Sucheinstellung der letzten ausgeführten Suche angezeigt. Aber das meinst du nicht, oder?

#23 Updated by following over 3 years ago

Slini11 schrieb:

Denn unsere GC-Codedatenbank ist ja nicht vollständig (oder etwas doch?).

Sie ist fast vollständig (ca. 98%).

Wenn man die Suchoptionen einstellt und danach sucht, werden sie gespeichert und man sieht diese Sucheinstellungen, wenn man im Browser "zurück" geht oder auf "optionen bearbeiten" klickt. Wenn man die Suche aber nicht ausführt und die Seite z.B. neu läd, werden die letzten Sucheinstellungen verworfen und die Sucheinstellung der letzten ausgeführten Suche angezeigt. Aber das meinst du nicht, oder?

Nee, ich hab eine Suche ausgeführt und bin dann im Browser zurück. Kann sein dass ich zwischendurch mal auf "Opionen bearbeiten" war.

#24 Updated by following over 3 years ago

  • Target version changed from Version 18 to Version 19

#25 Updated by following about 3 years ago

Hab den Bug mit dem Browser-Zurückblättern nun für einen bestimmten Fall reproduzieren können, allerdings ist das ein altes Problem. => #966

#26 Updated by following about 3 years ago

Noch eine Kleinigkeit ist mir aufgefallen:

Wenn man das Suchformular öffnet und gleich auf Umkreis "Suchen" klickt, bleibt der Button nach dem Schließen des alert-Fensters hervorgehoben. Um das zu beheben, muss nach

alert("{t}Select a search button, please!{/t}");

noch das hier eingefügt werden:

resetbutton('submit_dist');

Außerdem fände ich es immer noch schick, wenn der Button "Suchen" neben den Koordinaten stünde statt neben der Entfernung: Button immer am Ende eines Formulars.

#27 Updated by following about 3 years ago

Das Eingabefeld für den Wegpunkt ist auch sehr knapp bemessen - bei etwas vergrößerter Schrift passt ein OC12345 nicht mehr rein. Nächstgrößere Breite nach class="input50" wäre "input70".

#28 Updated by following about 3 years ago

Noch ein Problemchen:

Wenn man zuert nach Umkreis sucht, und dann nach etwas anderem, geht die Radiobutton-Vorauswahl bei der Umkreissuche verloren. Also z.B.

1. Suche im Umreis von Koordinaten
2. neue Suche nach Cachename
3. Suchformular wieder neu aufrufen -> keine Umkreissuchoption ist gewählt

Ich fänds wesentlich praktischer, wenn die Auswahl erhalten bliebe, weil ich fast nur die Koordinaten-Umkreissuche verwende. Die muss dann jedes mal neu gewählt werden.

#29 Updated by following about 3 years ago

Noch ein Problemchen:

1. Man beginnt, einen Ortsname, eine PLZ oder einen OC-Code einzutippen.
2. Der Browser macht einen Drop-Down-Liste mit bereits eingegebenen Suchbegriffen auf.
3. Man wählt mit Cursor-unten + Tab einen Eintrag aus der Liste.

... und die Suchoption wird verstellt.

Alle beide Problemchen könnte man dadurch in den Griff bekommen, dass man wieder drei getrennte Suchbuttons einbaut, statt der Radiobuttons. Den Umkreiswert würde man global eingeben, und er würde dann halt per JavaScript in drei versteckte Felder der drei forms kopiert. Das würde zusätzlich den Punkt beheben, dass Kontrollelemente in der ersten Spalte unüblich sind.

#30 Updated by following about 3 years ago

Die REQUEST-Parameter 'searchbyort' und 'searchbyplz' sollten weiterhin ausgewertet werden, damit alte Links auf Ort- und PLZ-Suchen weiterhin funktionieren.

Ich überarbeite das ganze mal testweise, um diese Dinge zu beheben.

#31 Updated by Slini11 about 3 years ago

following schrieb:

Alle beide Problemchen könnte man dadurch in den Griff bekommen, dass man wieder drei getrennte Suchbuttons einbaut, statt der Radiobuttons.

Hm, ist die Frage was unser Ziel ist. Endgültig wäre es natürlich schick, wenn man irgendwann auch nach allen Caches im Umkreis von 80 km um Punkt X mit dem Cachenamen XYZ suchen könnte. Da da wären wohl so viele verschiedene Suchbuttons hinderlich...

#32 Updated by following about 3 years ago

Hab ne bessere Lösung gefunden: Einfach die Radiobuttons rauswerfen und per JavaScript dafür sorgen, dass immer nur in einem der drei Eingabefelder was drinsteht.

#33 Updated by Slini11 about 3 years ago

An sich finde ich die Idee eigentlich ganz gut - für dieses aktuelle Problem.
Nur möchte ich bei der Umsetzung auch in die Zukunft denken. Dazu stelle ich mal ein mögliches Konzept vor:

(M)Eine aktuelle Vision der Suche ist, dass man in Zukunft auch nach allen Caches von Owner XY im Umkreis von Z Kilometern suchen kann.
Dafür wäre es meiner Ansicht nach sinnvoll ein Formular für alles zu haben - mit einem Button.

Alle Suchoptionen sind dann räumlich bedingt:
Die möglichen räumliche Suchen soll es dann als Radio-Button-Auswahl(gerne auch ein anderes Auswahlverfahren, wenn es da was besseres gibt) geben: Ort/PLZ, GC/OC-Code, Koordinaten und Alle Caches.
Dieses "Alle Caches" hat eben kein Eingabefeld, weshalb sich dein Vorschlag nicht verwirklichen ließe.

Mir ist durchaus bewusst, dass das Formular damit im ersten Moment unübersichtlicher wirken KANN, glaube langfristig aber daran, dass dies die sinnvollere Variante ist. Außderm ist ja sowieso in Planung, dass die Suche in besonderen Fällen übersichtlicher gestaltet werden soll, richtig?

Hinweis: Das Ganze würde ich dann aber nicht aktuell umsetzen wollen sondern in der Zukunft. Einen Schritt nach dem anderen ;).

#34 Updated by following about 3 years ago

  • Assignee changed from Slini11 to following

Darüber mag ich mir im Moment nicht den Kopf zerbrechen, ist wohl auch eher ein neues Thema?

Ich übernehme das hier mal und versuche, die Radiobuttons loszuwerden.

#35 Updated by following about 3 years ago

(Ein Gesamtformular statt dieser Buttonwüste fände ich aber auch intuitiver. Man muss halt wieder schauen, welche Konsequenzen es für die Ergonomie oder auch für die Performance und Serverlast hat. Die Suche nach einem Kriterium kann die Datenbank oft per Index optimieren; wenn mehrere kombiniert werden wirds aufwändiger und langsamer. Ich vermute dass Letzteres der Grund ist, warum Oliver es aufgeteilt hat in Einzelsuchen.)

#36 Updated by Slini11 about 3 years ago

following schrieb:

wenn mehrere kombiniert werden wirds aufwändiger und langsamer

Das ist sicherlich so. Auf der anderen Seite werden ja bei der aktuellen Suche teilweise auch schon viele Kriterien kombiniert.
Und ich glaube, dass Suchanfragen mit super vielen Kombinationen nicht sehr oft auftreten. Die bleiben wohl die Ausnahme.
Man kann die Abfragen sicherlich so gestalten, dass diese nur in wenigen Fällen das volle Ausmaß haben.
Aber das wäre dann vielleicht was für ein neues Ticket ?

#37 Updated by following about 3 years ago

Ich übernehme das hier mal und versuche, die Radiobuttons loszuwerden.

Radiobuttons loswerden funktioniert nicht, weil im Koordinaten-Feld immer was drinsteht. Als Workarond für das Tab-Problem kann man aber die Tab-Reihenfolge von Radiobuttons und Eingabefeldern vertauschen.

#38 Updated by following about 3 years ago

1. Suche im Umreis von Koordinaten
2. neue Suche nach Cachename
3. Suchformular wieder neu aufrufen -> keine Umkreissuchoption ist gewählt

Hier wird sinnvollerweise die Koordinatensuche als Default gewählt, weil dort immer was drinsteht.

#39 Updated by following about 3 years ago

Was mir noch auffiel:

  • Bei der Wegpunkteingabe wurde nur auf "OC" und "GC" getestet, aber der OC-Wegpunktpräfix ist in der Software frei konfigurierbar. Es gibt sicher noch mehr Stellen wo das nicht beachtet wird, aber ich hab's hier nun so geändert dass alles was nicht mit "GC" beginnt als möglicher OC-Wegpunkt betrachtet wird.
  • Das frühere "bydistance" sucht jetzt nur noch nach Koordinaten, daher hab ich's in "bycoords" umbenannt (und das alte weiterhin zur Kompabilität ausgewertet).

#40 Updated by following about 3 years ago

  • Status changed from in Arbeit 80% to im Test
  • % Done changed from 80 to 90

#41 Updated by following about 3 years ago

  • Assignee changed from following to Slini11

#42 Updated by Slini11 almost 3 years ago

  • Status changed from im Test to erledigt
  • % Done changed from 90 to 100

Also available in: Atom PDF