Closed kojoty closed 5 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.
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ł :)
@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ę
@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)
@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ć:
OKAPI - niemal na pewno trzeba by zrobić zmianę w okapi, która by jakos to obsługiwała - zwłaszcza, że aplikacje zewn. nie znają takiego typu - więc trzeba by to mocno przemyśleć, jak to wprowadzić - to jest szerszy temat, bo z tematem dodawania: typów logów, skrzynek, atrybutów borykamy się "od zawsze"
w kodzie mamy podejrzewam wiele miejsc, gdzie coś tam bazuje na logach / typach logów - trzeba by zapewnić, że taki "nowy typ logu" nie spowoduje jakichś problemów w innym miejscu - to oznacza, że trzeba znaleźć wszystkie miejsca, gdzie kod odwołuje się do logu-typu logu i zerknąć czy nowy typ nie wywali tego kawałka kodu - takie cos moze byc w jakiś dziwnym miejscu typu statystyki czy coś... w kodzie OC jest jeszcze masa "starego-spagetti-kodu", a tam naprawdę nie do końca wiadomo co się dzieje...
myślę, że konkretną ideę warto by tez skonsultować dość szeroko - to by była większa zmiana, więc myślę, że co najmniej konsultacja z COG by się tu przydała - bo to może wzbudzić kontrowersje - a szkoda, żeby robiła się "gupia-burza" o nic
trzeba by pomyśleć, jak to się ma do innych nodów - nie wiem w tym momencie czy nasze pozostałe nody wspierają typ "mobilna" - trzeba by uwzględnić fakt, że być może takie logi trzeba by chować na innych nodach
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ć
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.
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...
filtr po rozmiarze kesza jest już zintegrowany...
I close this issue #2110 can be continuation discussion around mobile caches.
[x] cache size filter - filtrowanie po wielkości skrzynki - np. tak jak filtrowanie po typie, ale jak dla mnie wystarczające byłoby też tak jak po ocenach (np. co najmniej mała, co najmniej normalna, co najmniej duża)
[ ] hiding of taken up mobile caches - filtrowanie skrzynek mobilnych zabranych z terenu - (jak to zrobić?!)