michzimny / aktywator

Sterowanie pierniczkami Bridgemate II
GNU General Public License v2.0
1 stars 1 forks source link

Nazwiska z RRB #10

Closed emkael closed 6 years ago

emkael commented 7 years ago

Przymierzam się do dopisania wczytywania nazwisk z RRB.

Pytania:

  1. Integrować w jakikolwiek sposób z istniejącym interfejsem nazwisk z Par/Teamów?
    Mówię tu o zachowaniu opcji "Synchronizuj teraz", "Wymuś przesłanie wszystkich" i "Synchronizuj cyklicznie". To by wymagało pewnie wprowadzenia jakiejś warstwy abstrakcji dla listy spisu nazwisk, żeby logika prawej części panelu pozostała bez zmian, a jedynie w lewej części panelu wczytywać informacje z .rrt zamiast MySQLa.

  2. RRB oczywiście nie trzyma osobno imienia i nazwiska zawodnika. To sprawia, że trzeba zgadywać przy skracaniu imienia do inicjału.
    W CEZaRze są trzy pozycje zawierające spację w nazwisku (tj. więcej niż jedno słowo w nazwisku) oraz nikogo, kto by miał spację w imieniu - strzelam, że dlatego, że drugie imiona są trzymane osobno i nie wystawiane w CSVce. Narzuca się więc traktowanie ciągu do pierwszej spacji jako imienia, a całej reszty jako nazwiska.
    Spotkaliście się kiedyś z jakimś przypadkiem upartego uczestnika, który upierałby się przy wyświetlaniu go w wynikach jako "Anna Maria", "Jan Maria", "Jan Paweł", czy cokolwiek?
    Przy okazji patrzenia w nietypowe nazwiska, okazało się, że przydałoby się również podmienić poczciwą metodę bezOgonkow na coś, co nie będzie sprawiać problemów przy okazji różnych Jørgensenów.

emkael commented 7 years ago

Wydłubałem tyle: https://github.com/emkael/aktywator/tree/rrb-names

Gałąź jest mocno eksperymentalna, podbiłem numer wersji do 1.1.0-beta i chcę się na razie wstrzymać ze scaleniem do głównej gałęzi, przynajmniej do czasu zmobilizowania jakichś jeleni testerów.

Skrót tego, co się dzieje w gałęzi:

Pytania, które fajnie byłoby wyjaśnić lub przedyskutować:

  1. Czemu przycisk do wymazywania nazwisk z BWSa jest ukryty? To jest po prostu jakaś niedokończona funkcjonalność? Czy nie wystarczy po prostu ustawić wszystkich nazwisk na pusty łańcuch i oznaczyć ich jako zaktualizowane?
  2. Umożliwiłem wczytywanie nazwisk do BWS zanim wpisane zostały numery zawodników - czyli np. gdy przed turniejem mamy gotową listę startową. Zastosowałem metodę nr 3 z dev-guide, czyli operowanie na tabeli PlayerNumbers zamiast wypełnianie tabeli PlayerNames. To oznacza, że ustawienie BM2NameSource musi mieć wartość 2 - ale nie spotkałem w czasie testów BWSa, który miałby ustawioną inną wartość (bo taka wartość jest ustawiana przy zapisywaniu opcji i konwersji BWSa w samym Aktywatorze). Nie jestem pewien, czy nie należałoby ustawiać jej na właściwą wartość zawsze przy wgrywaniu nazwisk, niezależnie od ufania, że ta wartość już się znajduje w BWSie.
  3. Muszę dowiedzieć się, w jaki sposób RRB ustawia pauzę - czy tylko "pauza" w polu nazwiska, czy może dodatkowo puste ID. Na razie rozpoznaję pauzę (i ustawiam w jej miejsce puste nazwisko) po zawartości nazwiska ("pauza").
emkael commented 7 years ago

Paczka z testową wersją, z mojego repo: https://github.com/emkael/aktywator/releases/tag/v1.1.0-beta

emkael commented 7 years ago

W ramach tego, co wynika z dyskusji z #9, koniecznie trzeba sprawdzić, czy pkt. 2. z pytań powyżej nie psuje czegoś w teamach.

michzimny commented 7 years ago

Nie przeglądałem kodu, ale z opisu (o tej dodatkowej warstwie abstrakcji) założenia wyglądają ładnie.

Nie potrafię odpowiedzieć na zadane pytania :)

Myślę, że heurystyka, że łańcuch znaków do spacji jest imieniem, jest bardzo dobra.

emkael commented 7 years ago

Zrobione w: https://github.com/emkael/aktywator/releases/tag/v1.1.1-beta