opencaching / opencaching-pl

The source code of Opencaching.PL (and some other domains)
https://opencaching.pl/
GNU General Public License v3.0
22 stars 33 forks source link

Additional filters for the map #1549

Closed kojoty closed 5 years ago

kojoty commented 6 years ago
kojoty commented 6 years ago

brasia idea:

hiding of taken up mobile caches - filtrowanie skrzynek mobilnych zabranych z terenu - (jak to zrobić?!)

Powinien być log "zabrana" a skrzynka w tym momencie na mapie otrzymuje status jak "tymczasowo niedostępna". O ile pamiętam była już o tym mowa i pewnie leży gdzieś na githubie.

Moris299 commented 6 years ago

Powinien być log "zabrana"

Wydaje mi się, że stworzenie osobnej tabeli dla mobilnych było by dobrym rozwiązaniem. Dla skrzynek mobilnych bała by dodatkowa kolumna mówiąca czy kesz jest na miejscu czy nie (dostępna w terenie lub nie, available = TRUE lub FALSE).

Trzeba by też było zaimplementować nowe typy logów: dla mobilnych: Zabrana odłożona

i jeśli chodzi o nowe typy logów to przy okazji można by pomyśleć nad "ogłoszenie" dla wydarzeń

Chętnie bym się tym zajął, jeśli uważacie, że to dobry pomysł :)

kojoty commented 6 years ago

@Moris299, hmm, ja bym to raczej powiązał z kordami - i zerował kordy dla "zabranych" mobili, albo faktycznie przestawianie ich w "czasowo niedostępna" jak pisze brasia

do tego, problem lezy chyba też w samym kodzie logow - to jest jeszcze kod nie porządkowany - więc nie wiem czy da się wprowadzić zmiany w tym kawałku kodu bez zepsucia czegoś.

jesli ktoś chciałby brać się za ten temat niech da znać - bo może są jeszcze jakieś inne kwestie, które warto wziąć pod uwagę

Moris299 commented 6 years ago

@kojoty to chyba najlepiej będzie ustawiać status tymczasowo niedostępna, zerowanie współrzędnych (rozumiem, że miało by to być ustawienie współrzędnych na 0° 00,00'N 0° 00,000'E) sprawi problemy w zewnętrznych aplikacjach.

do tego, problem lezy chyba też w samym kodzie logow - to jest jeszcze kod nie porządkowany - więc nie wiem czy da się wprowadzić zmiany w tym kawałku kodu bez zepsucia czegoś.

Chyba, że zamiast logów dać osobny przycisk "zarejestruj przeniesienie" a w logach zostawić same znalezienia, nieznalezienia, komentarze itp. Ale potestuję jeszcze u siebie i spróbuję dodać nowy typ logu (przeniesienie i odłożenie)

kojoty commented 6 years ago

@Moris299,

to jak "zerować" kordy jest do przemyślenia - może by można wymyślić jakiś sposób inny niż 0:0 na to - np. ustawiać kesze w jakimś spec. miejscu na oceanie - nie wiem.

natomiast:

Ale potestuję jeszcze u siebie i spróbuję dodać nowy typ logu

to jest jeden z tematów trudnych - taka zmiana musiała by uwzględniać:

ogólnie, to wydaje mi się to dość skomplikowane i (szczerze) bym cię do tego na razie zniechęcał - myślę, ze jest wiele ważniejszych tematów, za które - jeśli byś miał chęć - można by się złapać

deg-pl commented 6 years ago

Ja tam jestem za NIE przestawianiem kordów. Idea dodatkowego logu "Zabrana" jest bardzo fajna, niestety - mocno pracochłonna i wymagająca wielu ustaleń. W tym również z autorami popularnych aplikacji do keszowania. Można byłoby przy okazji omówić z OC DE, czy nie chcieliby też wprowadzić zmiany u siebie.

deg-pl commented 6 years ago

Sorry za post pod postem. @Moris299 jeśli chciałbyś iść w tym kierunku - jak możesz się domyślać, to złożony temat i nie da się zrobić od razu. Ale można trochę się do tego przygotować i korzyścią dla całego kodu. Wiele lat temu do bazy danych wrzucano różne dziwne rzeczy - np. słownik rozmiarów keszy, statusów, typów itp. Spowodowało to spore problemy głównie z tłumaczeniami. Bo główna część tłumaczeń leży w /lib/languages, ale... czasami leży w STRUKTURZE bazy danych. Od dłuższego czasu konsekwentnie staramy się wyprowadzać tego typu dane z bazy danych i wrzucać je do kodu. Zerknij do bazy - tabele np. cache_size, cache_status, cache_type. Wyłapanie wszystkich miejsc w systemie, które odwołują się do tych tabel i konsekwentne przepisywanie tego kodu, by odwoływał się do obiektu GeoCache (gdzie te wszystkie rzeczy są już zdefiniowane) - byłoby OGROMNYM krokiem naprzód.

Czekają w systemie tłumaczenia na rumuński i francuski (gotowe praktycznie w 100%) oraz na niemiecki (nie całkiem gotowy), ale nie możemy ich włączyć, bo nie mamy tego w strukturze bazy danych. Gdyby kod nie odwoływał się do struktury, tylko do obiektów - wszystko pięknie by się tłumaczyło.

Jest jeszcze jedna, bardzo nieszczęsna tabela - countries - tam jest identyczna sytuacja. ... i wiele innych miejsc w systemie...

kojoty commented 6 years ago

filtr po rozmiarze kesza jest już zintegrowany...

kojoty commented 5 years ago

I close this issue #2110 can be continuation discussion around mobile caches.