UWAGA: Od kwietnia 2018 roku Forgen.pl zawiesił swoją działalność. Na poniższej stronie znajduje się archiwum serwisu. Możliwość logowania i rejestracji nowych kont została zablokowana. W celu uzyskania porad genealogicznych zapraszamy na inne fora o tej tematyce: genealodzy.pl, Wielkopolskie Towarzystwo Genealogiczne Gniazdo

Webtrees

Problemy i zapytania związane z działaniem programów genealogicznych

Moderator: Moderatorzy


Awatar użytkownika

wuja
Posty: 258
Rejestracja: pt kwie 18, 2008 3:30 pm
Lokalizacja: Szczecin
Podziękował/a: 13 razy
Podziękowano: 15 razy
Kontakt:

Re: Webtrees

Post autor: wuja » pn gru 14, 2015 8:49 pm

Z tym skryptem działającym od dawna to tak w uproszczeniu ;) . Zresztą przecież ostatnia wersja 1.7.2. działała prawidłowo jakiś czas, do zmiany oprogramowania baz. Oczywiście, pisałem, że skrypt działa na dziesiątkach serwerów w Polsce i setkach na świecie. Dałem zresztą przykładowe adresy.
Coś z tego zamieszania jest też i dobrego - zobaczyliśmy, że sposób kodowania do porównywania napisów nie był tu decydujący :)
Jeszcze raz dziękuję za pomoc w próbach rozwiązania problemu.
Pozdrawiam, Wojtek
-------------------------
https://wojciechgracz.pl
Taki już los poszukiwaczy, zanim się znajdzie grudkę złota, trzeba przesiać tony piasku.

Awatar użytkownika

wuja
Posty: 258
Rejestracja: pt kwie 18, 2008 3:30 pm
Lokalizacja: Szczecin
Podziękował/a: 13 razy
Podziękowano: 15 razy
Kontakt:

Re: Webtrees

Post autor: wuja » wt gru 15, 2015 11:53 am

Niestety, ale problem nie będzie rozwiązany po mojej myśli. Przeniesienie bazy na MySQL w wersji 5.1 było tylko tymczasowe do prób. Generalnie przechodzą na MySQL 5.6 bo wersja 5.1 już nie jest wspierana.
Cały czas mi chcą udowodnić, że wina jest w skrypcie webtrees bo nie ma polecenia ORDER.
Mogę się przenieść gdzie indziej, ale boje się, że i "tam indziej" też po czasie zmienią wersję bazy.
Żeby tu nie upubliczniać korespondencji pozwolę sobie może Witkowi i Łukaszowi na PW przesłać to co oni piszą, bo nie bardzo mnie przekonuje ich argumentacja, że listy wyświetlają się losowo. No ale może coś w tym jest i faktycznie niedługo programiści Webtrees wypuszczą nowa wersję uwzględniającą zmiany w bibliotekach MySQL
Pozdrawiam, Wojtek
-------------------------
https://wojciechgracz.pl
Taki już los poszukiwaczy, zanim się znajdzie grudkę złota, trzeba przesiać tony piasku.

Awatar użytkownika

wicy
Posty: 1348
Rejestracja: czw kwie 10, 2008 8:56 pm
Lokalizacja: Łódź
Podziękował/a: 145 razy
Podziękowano: 322 razy
Kontakt:

Re: Webtrees

Post autor: wicy » wt gru 15, 2015 8:15 pm

Nie wiem jak to jest, ale im bardziej Ci się naprawia, tym bardziej mi się psuje :(
Sortowanie tylko z grubsza wydaje się działać. Wstępnie, tuż po wejściu w listę nazwisk na literę, sortowanie wygląda poprawnie:

Kod: Zaznacz cały

Biegacki
Bieńkowska
Bieńkowski
Biernacki
Ale po kliknięciu strzałek porządku sortowania wygląda już tak:

Kod: Zaznacz cały

Biegacki
Biernacki
Bieńkowska
Bieńkowski
Sprawdź to u siebie na nowej wersji.
Porobiłem kilka zmian w skrypcie i teraz głupieję bo sam nie wiem, czy to kwestia pozostałości w cache (czyściłem niby), czy wina skryptu.
---------------------------------------
Pozdrawiam, Witek Mazuchowski


dpawlak

Re: Webtrees

Post autor: dpawlak » wt gru 15, 2015 8:26 pm

Wygląda na problem z polskimi literami, są sortowane na końcu.
Nie znam się na tym, może trzeba ten porządek sortowania jakoś ręcznie ustawić, zadeklarować?
Najlepiej sprawdzić nazwiska na Ł, czy są na końcu?

Awatar użytkownika

wicy
Posty: 1348
Rejestracja: czw kwie 10, 2008 8:56 pm
Lokalizacja: Łódź
Podziękował/a: 145 razy
Podziękowano: 322 razy
Kontakt:

Re: Webtrees

Post autor: wicy » wt gru 15, 2015 8:43 pm

A ja myślę, że to jest błąd skryptu WT.
Pierwsze otworzenie strony z listą nazwisk na konkretną literę to uruchomienie kodu php i zapytań do bazy. I tu działa to dobrze.
Natomiast wybranie sposobu sortowania na liście nazwisk to już uruchomienie skryptu java (\packages\datatables-1.10.7\js\jquery.dataTables.min.js). I tu tkwi błąd, przekłamanie sortowania.
Globalnie więc WT działa błędnie i trzeba by to zgłosić jako bug :(
---------------------------------------
Pozdrawiam, Witek Mazuchowski

Awatar użytkownika

wuja
Posty: 258
Rejestracja: pt kwie 18, 2008 3:30 pm
Lokalizacja: Szczecin
Podziękował/a: 13 razy
Podziękowano: 15 razy
Kontakt:

Re: Webtrees

Post autor: wuja » wt gru 15, 2015 10:22 pm

No masz ci babo placek. Teraz sprawdziłem, że na tym moim testowym, co to już niby miało być dobrze, faktycznie po kliknięciu pl_literki wędrują na koniec.

Dodano po 1 godzinie 20 minutach 36 sekundach:
Poszukałem po sieci i faktycznie u wszystkich jest źle. Są dwa "typy" list: pierwszy typ po wyświetleniu listę ma prawidłowo sortowaną a po kliknięciu pl_literki wędrują na koniec i drugi typ gdzie od razu po wyświetleniu kolejność jest dowolna a po kliknięciu też jest źle :?: :!: . Petycję do autorów trzeba by wystosować. Łukaszu ujawnij się :help:
Pozdrawiam, Wojtek
-------------------------
https://wojciechgracz.pl
Taki już los poszukiwaczy, zanim się znajdzie grudkę złota, trzeba przesiać tony piasku.

Awatar użytkownika

wicy
Posty: 1348
Rejestracja: czw kwie 10, 2008 8:56 pm
Lokalizacja: Łódź
Podziękował/a: 145 razy
Podziękowano: 322 razy
Kontakt:

Re: Webtrees

Post autor: wicy » śr gru 16, 2015 11:45 am

Analizuję skrypt już drugi dzień i coraz bardziej jestem przekonany, że problem tkwi w złej metodzie sortowania zastosowanej w jQuery, a dokładniej dodatku do jQuery - jquery.Datatables.
Sam skrypt php Webtrees jest w porządku - prawidłowo formatuje pierwszą stronę listy nazwisk. Prawidłowo też pewnie są tworzone i przetwarzane zapytania do bazy SQL.
Dopiero użycie Datatables - po kliku na element javascriptu jakim jest guzik sotrowania - generuje błędne listy.
Cóż, twórcom WT nie chciało się pisać własnych bibliotek i procedur obsługi sortowania (i nie tylko tego) i skorzystali z gotowców. Pretensje można mieć do nich, ale głównie do pisarzy jQuery, chociaż zgłoszenie buga na stronach WT chyba nie zawadzi. Ja nie jestem tam zalogowany.
Za cienki jestem jeszcze w modyfikowaniu jQuery i dodatków. Może pogrzebię w tym (choć na razie to dla mnie czarna magia) i moze coś mi się uda zadziałać, ale to rozwiązanie doraźne i mocno "niesystemowe" :(
---------------------------------------
Pozdrawiam, Witek Mazuchowski

Awatar użytkownika

wuja
Posty: 258
Rejestracja: pt kwie 18, 2008 3:30 pm
Lokalizacja: Szczecin
Podziękował/a: 13 razy
Podziękowano: 15 razy
Kontakt:

Re: Webtrees

Post autor: wuja » śr gru 16, 2015 12:50 pm

Nie jestem jednak pewien czy skrypt prawidłowo formatuje pierwszą stronę, czyli przed kliknięciem. Rzuciłem okiem na nie polskie strony, żeby już nie "winić" pl-literek. Większość, faktycznie wyświetla prawidłowo, ale są też i takie gdzie sortowania nie ma żadnego. Przykład: http://www.ourkin.org/indilist.php?alph ... chard2.ged
Pozdrawiam, Wojtek
-------------------------
https://wojciechgracz.pl
Taki już los poszukiwaczy, zanim się znajdzie grudkę złota, trzeba przesiać tony piasku.

Awatar użytkownika

wicy
Posty: 1348
Rejestracja: czw kwie 10, 2008 8:56 pm
Lokalizacja: Łódź
Podziękował/a: 145 razy
Podziękowano: 322 razy
Kontakt:

Re: Webtrees

Post autor: wicy » śr gru 16, 2015 1:06 pm

Faktycznie, podstawowe sortowanie nie działa, ale nie ustali się dlaczego - to stara wersja 1.6.2. Być może nakładają się na siebie dwa błędy: czystego php i javascriptów. Być może w wesjach 1.7 błedy php zostały usunięte a błedy java zostały (bo to nie produkcja ekipy WT).
---------------------------------------
Pozdrawiam, Witek Mazuchowski

Awatar użytkownika

wooc
Posty: 299
Rejestracja: śr cze 04, 2008 7:54 pm
Podziękował/a: 10 razy
Podziękowano: 35 razy

Re: Webtrees

Post autor: wooc » śr gru 16, 2015 9:31 pm

Witajcie,
wydaje mi się, ze znalazłem drobny błąd w kodzie. Czy możecie mi to przetestować?
W pliku FunctionsPrintLists.php jest funkcja surnameTable.
Proszę o zamianę tego:

Kod: Zaznacz cały

->addInlineJavascript('
				jQuery.fn.dataTableExt.oSort["num-asc" ]=function(a,b) {a=parseFloat(a); b=parseFloat(b); return (a<b) ? -1 : (a>b ? 1 : 0);};
				jQuery.fn.dataTableExt.oSort["num-desc"]=function(a,b) {a=parseFloat(a); b=parseFloat(b); return (a>b) ? -1 : (a<b ? 1 : 0);};
				jQuery(".surname-list").dataTable( {
					dom: \'t\',
					jQueryUI: true,
					autoWidth: false,
					paging: false,
					sorting: [],
					columns: [
						/*  0 name  */ { dataSort: 1 },
						/*  1 NAME  */ { visible: false },
						/*  2 count */ { dataSort: 3, class: "center" },
						/*  3 COUNT */ { visible: false }
					],
				});
			');
na

Kod: Zaznacz cały

->addInlineJavascript('
				jQuery.fn.dataTableExt.oSort["unicode-asc" ]=function(a,b) {return a.replace(/<[^<]*>/, "").localeCompare(b.replace(/<[^<]*>/, ""))};
				jQuery.fn.dataTableExt.oSort["unicode-desc"]=function(a,b) {return b.replace(/<[^<]*>/, "").localeCompare(a.replace(/<[^<]*>/, ""))};
				jQuery.fn.dataTableExt.oSort["num-asc" ]=function(a,b) {a=parseFloat(a); b=parseFloat(b); return (a<b) ? -1 : (a>b ? 1 : 0);};
				jQuery.fn.dataTableExt.oSort["num-desc"]=function(a,b) {a=parseFloat(a); b=parseFloat(b); return (a>b) ? -1 : (a<b ? 1 : 0);};
				jQuery(".surname-list").dataTable( {
					dom: \'t\',
					jQueryUI: true,
					autoWidth: false,
					paging: false,
					sorting: [[1, "asc"]],
					columns: [
						/*  0 name  */ { dataSort: 1 },
						/*  1 NAME  */ { type: "unicode", visible: false },
						/*  2 count */ { dataSort: 3, class: "center" },
						/*  3 COUNT */ { visible: false }
					],
				});
			');
Czy pomogło?
Pozdrawiam
Łukasz Wileński
-----------------------------
http://rodzina.sunschool.edu.pl/

Awatar użytkownika

wuja
Posty: 258
Rejestracja: pt kwie 18, 2008 3:30 pm
Lokalizacja: Szczecin
Podziękował/a: 13 razy
Podziękowano: 15 razy
Kontakt:

Re: Webtrees

Post autor: wuja » śr gru 16, 2015 11:00 pm

:jupi: :stuk: :sun:
Pierwszy test pozytywnie. Lista wyświetla się prawidłowo i po kliknięciach też jest dobrze.
Na wszelki wypadek jeszcze potestuję.
No proszę, tyle krwi i potu wylane a przyszedł Łukasz i posprzątał.
Wielkie dzięki
Pozdrawiam, Wojtek
-------------------------
https://wojciechgracz.pl
Taki już los poszukiwaczy, zanim się znajdzie grudkę złota, trzeba przesiać tony piasku.

Awatar użytkownika

wicy
Posty: 1348
Rejestracja: czw kwie 10, 2008 8:56 pm
Lokalizacja: Łódź
Podziękował/a: 145 razy
Podziękowano: 322 razy
Kontakt:

Re: Webtrees

Post autor: wicy » czw gru 17, 2015 9:28 am

Wiedziałem, że dzwonią, ale nie wiedziałem gdzie :F
Szacun dla Łukasza! :stuk:
Poprawka działa i u mnie.
Warto poinformować o tym błędzie ekipę WT, niech zrobią poprawki w następnej wersji.
---------------------------------------
Pozdrawiam, Witek Mazuchowski

Awatar użytkownika

wuja
Posty: 258
Rejestracja: pt kwie 18, 2008 3:30 pm
Lokalizacja: Szczecin
Podziękował/a: 13 razy
Podziękowano: 15 razy
Kontakt:

Re: Webtrees

Post autor: wuja » czw gru 17, 2015 10:33 am

Sprawdziłem na wszelki wypadek na kilku serwerach i na różnych przeglądarkach. Zauważyłem teraz, że przez ułamek sekundy lista wyświetla się w przypadkowej kolejności, zresztą dokładnie takiej jak było przed wprowadzeniem poprawki. To w zasadzie potwierdza uwagi mojego helpdesku, że lista idzie z bazy wg jakiejś tam, bliżej niesprecyzowanej kolejności, a potem jest sortowana w przeglądarce przez Javascript.
Pozdrawiam, Wojtek
-------------------------
https://wojciechgracz.pl
Taki już los poszukiwaczy, zanim się znajdzie grudkę złota, trzeba przesiać tony piasku.

Awatar użytkownika

wooc
Posty: 299
Rejestracja: śr cze 04, 2008 7:54 pm
Podziękował/a: 10 razy
Podziękowano: 35 razy

Re: Webtrees

Post autor: wooc » pt gru 18, 2015 7:45 pm

Poprawka jest już dodana do najnowszej wersji, która jest przygotowywana na okres świąteczno-noworoczny.
Pozdrawiam
Łukasz Wileński
-----------------------------
http://rodzina.sunschool.edu.pl/

Awatar użytkownika

wuja
Posty: 258
Rejestracja: pt kwie 18, 2008 3:30 pm
Lokalizacja: Szczecin
Podziękował/a: 13 razy
Podziękowano: 15 razy
Kontakt:

Re: Webtrees

Post autor: wuja » śr sty 06, 2016 11:05 am

Ukazało się nowe wydanie PHP w wersji 7. Przestrzegam przed używaniem Webtrees na tej wersji PHP - działa, ale tylko w jednej sesji. Powstaje blokada i trzeba ręcznie czyścic cache i usuwać sesję z bazy MySQL. Opis błędu przesłałem Łukaszowi na PW.
Pozdrawiam, Wojtek
-------------------------
https://wojciechgracz.pl
Taki już los poszukiwaczy, zanim się znajdzie grudkę złota, trzeba przesiać tony piasku.

ODPOWIEDZ

Wróć do „Programy genealogiczne”