46

(14 odpowiedzi, napisanych Rozwiązywanie problemów)

Sprawdziłem to na serwerze lokalnym i działa poprawnie.
Pozostaje chyba już tylko obmyślić jakąś metodę testowania, bo skoro piszesz, że na liście wizyt te dane są uzupełniane, a brakuje ich tylko w tych tabelach, to znaczy, że są prawidłowo przekazywane przynajmniej do tej linii (1207. lub okolice) w lib/core.class.php:

			self::$Driver->updateData('visitors', array_merge(array('info' => TRUE), $Data), array(array(EstatsDriver::ELEMENT_OPERATION, array('id', EstatsDriver::OPERATOR_EQUAL, array(EstatsDriver::ELEMENT_VALUE, self::$VisitorID)))));

47

(14 odpowiedzi, napisanych Rozwiązywanie problemów)

No tak, czyli wygląda to na problem z naliczaniem tych danych.
Zlokalizowałem już obszar kodu, w którym może tkwić problem, ale nie wiem czy znajdę dziś czas na poprawkę, ale postaram się to rozwiązać przed piątkiem.

48

(14 odpowiedzi, napisanych Rozwiązywanie problemów)

Aha, to ciekawe, a co konkretnie nie działało (były jakieś komunikaty, czy pusta strona, czy jeszcze inaczej)?
Możesz też spróbować wrzucić pliki obecnej wersji do jakiegoś folderu i wstawić plik konfiguracyjny z tej wcześniej instalowanej, to powinno wystarczyć.
Później opisz co się dzieje lub po prostu podaj link do tej testowej instancji, jeśli pojawią się problemy.

Co do błędu przy sprawdzaniu dostępności nowej wersji, to wyjaśnia czemu nie chce to działać także z nową (mechanizm jest ten sam, tylko inne wywoływanie).

49

(14 odpowiedzi, napisanych Rozwiązywanie problemów)

Hmm, skoro tak, to być może jest błąd przy zbieraniu danych, dla pewności może jeszcze sprawdź czy np. tabela estats_cookies (przyjmując domyślny prefiks nazw tabel i użycie bazy MySQL) jest pusta lub po sortowaniu dat np. brakuje tych z ostatnich miesięcy.

Problem z ostrzeżeniami przy braku danych do wyświetlenia jest już poprawiony, niepotrzebnie próbował się wyświetlać wykres czasowy (nie ma sensu pokazywać go bez danych), poprawka wylądowała właśnie w SVN (rewizja 56) i znajdzie się w następnej wersji poprawkowej, która zostanie najpewniej wydana już w najbliższy piątek.

50

(14 odpowiedzi, napisanych Rozwiązywanie problemów)

No tak, zainicjuje aktualizację, ale po wrzuceniu plików nowej wersji. ;-)
Będzie trzeba to przeformułować później, szczególnie, że akurat 4.9.5x nie ma obecnie tej funkcji (zastanawiam się nad stworzeniem oddzielnego narzędzia, ale za to z możliwością aktualizowania z nawet dużo starszych wersji, najdalej jak się da)...

Link do ręcznego sprawdzania znajduje się w Narzędzia / Podsumowanie, zaraz pod akcjami, obok informacji o wersji skryptu.

Co do aktualizacji, to była z której wersji na którą (bo są trzy serie z taką wersją, 4.0.21, 4.5.21 i 4.9.21)?
Jeśli z serii 4.9.xx, to powinna wystarczyć podmiana plików, jeśli z 4.5.xx to mogę Ci udostępnić starą wersję żeby zrobić aktualizację i po niej podmienić pliki na te z obecnej wersji.
A jeśli to jeszcze starsza, to chyba najlepiej ją odłączyć i zarchiwizować (przynajmniej samą bazę danych), a podłączyć świeżą instalację aktualnej (można się bawić w aktualizowanie wersjami z kolejnych serii, ale to pracochłonne), docelowo to wcześniej wspomniane narzędzie do aktualizowania ma mieć także możliwość łączenia danych z kilku kopii zapasowych (można takie coś zrobić nawet ręcznie, znając w miarę budowę bazy danych skryptu).

51

(14 odpowiedzi, napisanych Rozwiązywanie problemów)

Spróbuję testowo odtworzyć warunki i usunąć ostrzeżenia, bo wygląda na to, że pojawiają się kiedy nie ma danych z określonej kategorii, przy próbie ich podglądu w widoku pojedynczej grupy (plus zależeć to może od ustawienia jednej, może dwóch opcji jeszcze).

lsz napisał/a:

Dane, które nie są wyświetlane w zakładce Techniczne, są podane przy indywidualnie w zakładce wizyty. Krótko mówiąc, tam nie ma, tu jest.

Upewnij się, że w Narzędzia / Konfiguracja / Zaawansowane wszystkie (lub przynajmniej te, dla których brakuje danych) opcje z gałęzi Core / CollectFrequency mają wartość różną od disable.

52

(14 odpowiedzi, napisanych Rozwiązywanie problemów)

Auto-aktualizacja ma prawo nie działać, bo skrypt sam z siebie nie ma takiej funkcji. ;-)
A tak na poważnie, to ze sprawdzaniem dostępności nowej wersji często były problemy (blokowanie ładowania strony), dlatego mechanizm został zmieniony (sprawdzanie w tle i na żądanie), ale sprawdziłem przed chwilą (z użyciem dema i instalacji na serwerze lokalnym) i "odczyt" był poprawny.
Komunikat pojawił się po użyciu linku sprawdzania dostępności nowej wersji, czy "sam z siebie" (jako efekt sprawdzania w tle)?
W drugim wypadku taka odpowiedź mogłaby wynikać z ograniczenia czasu wykonywania się skryptu (wykorzystanego na oczekiwanie na odpowiedź serwera).
A najpewniejsze źródło informacji o nowych wersjach itp. to oczywiście główny kanał Atom projektu. ;-)

53

(14 odpowiedzi, napisanych Rozwiązywanie problemów)

Teraz obejście trzeba zamontować w pliku lib/locale.class.php, zamień (okolice linii 81):

			self::$Gettext = extension_loaded('gettext');

Na:

			self::$Gettext = FALSE;

Tak czy owak problem jest dość ciekawy, bo demo jak i cała ta witryna też jest hostowana na tym samym serwerze i tutaj problem nie występuje.

To jest w sumie alternatywne rozwiązanie, a nie łatka. ;-)
Co do drugiego problemu, to chyba najlepszym wyjściem będzie ignorować dane bez tej kolumny, czyli zmodyfikować lib/geolocation.class.php, podmienić linię (okolice 70.):

		if (!$Data || $Data['continent_code'] == '--')

Na:

		if (!$Data || empty($Data['continent_code']) || $Data['continent_code'] == '--')

Można by też spróbować wyłapać wywołanie generujące ostrzeżenia i zajrzeć do uzyskanych danych, czyli np. dodać wcześniej taki warunek:

if (empty($Data['continent_code']))
{
    var_dump($Data);
}

Co do pierwszego problemu jeszcze, to czy na pewno jest włączone zbieranie danych o lokalizacji (Narzędzia -> Konfiguracja -> Zaawansowane, opcja: Core / CollectFrequency / geolocation)?

Znowu udało mi się przeoczyć post, z powodu problemów z kanałem informacyjnym (właśnie poprawiany)...
Co do problemów z geolokalizacją, na jakim serwerze (hosting) został zainstalowany skrypt?
Być może zainstalowana jest tam stara wersja rozszerzenia i brakuje niektórych informacji w zwracanej tablicy lub dla jakiegoś adresu IP są zwracane nietypowe (prawdopodobnie niepełne) dane.
Jeśli chodzi o ten drugi problem, to czy mógłbym rzucić okiem na tą łatkę? ;-)

Należy przestawić wartość opcji Core/CollectFrequency/time na hourly, w Narzędzia / Konfiguracja / Zaawansowane.

57

(0 odpowiedzi, napisanych Ogłoszenia)

Wydana została wersja zawierająca kilka poprawek, pierwsza stworzona z pomocą systemu kontroli wersji (rewizja 22).


Zmiany:

- dodane wykrywanie robota sieciowego Majestic-12;
- zaktualizowane polskie tłumaczenie;
- kilka innych poprawek;

Pobieralnia:

ZIP: 1064.25 KB.
TAR.BZ2: 750.84 KB.

58

(0 odpowiedzi, napisanych Ogłoszenia)

Przyszedł wreszcie czas na zaktualizowanie skryptu forum do nowej wersji. :-)
Docelowo powinno otrzymać nowy motyw graficzny, który będzie podobny do poprzedniego lub dopasowany do strony głównej (być może i ją czeka małe odświeżenie).
W przypadku wystąpienia jakichś problemów proszę o kontakt, ostatecznie z użyciem formularza kontaktowego. ;-)

59

(1 odpowiedzi, napisanych Rozwiązywanie problemów)

Dziwne i bardzo niepokojące. :-/
Dla pewności zalecam jeszcze zmodyfikować lib/driver.class.php i zamienić tą linię:

			$this->PDO = new PDO($Connection, $User, $Password, ($Persistent?array(PDO::ATTR_PERSISTENT => TRUE):array()));

Na:

			$this->PDO = new PDO($Connection, $User, $Password);

(żeby mieć pewność na 100%, że nie jest jakimś cudem przekazywane TRUE, np. przez błąd na liście parametrów, chociaż to mało prawdopodobne)

Potencjalną przyczyną może być użycie prepared statements, ale to byłoby już przegięcie jeśliby zalecana technologia sprawiała takiego typu problemy (chociaż po PHP i MySQL można się spodziewać wszystkiego ;-)).
Można by to w miarę łatwo sprawdzić, wystarczy zmodyfikować trzy metody w plugins/drivers/MySQL/plugin.php żeby nie korzystały z tego. Można przetestować jeśli poprzednie obejście nie pomoże.

60

(0 odpowiedzi, napisanych Ogłoszenia)

Duża aktualizacja (i ostatnia, o ile nie zostaną wykryte błędy) dla serii 4.9 właśnie przybyła. :-)
Bazuje na wydaniach testowych z serii 4.9.9x, ale zachowuje pełną kompatybilność z poprzednimi stabilnymi wydaniami (używa starego formatu pliku konfiguracyjnego).

Demo zostanie zaktualizowane w późniejszym terminie, natomiast dokumentacja (część artykułów jest teraz nieaktualna, ze względu na zmiany w budowie modułów i lokalizacji plików) może zostać zaktualizowana dopiero dla wersji 5.

Prace nad piątą odsłoną już trwają, gotowa jest już wstępna wersja nowego schematu bazy, który ułatwi jeszcze bardziej elastyczne generowanie raportów z danych i zapewnia mniejszą duplikację (dane, pomijając indeksy, zajmują znacznie mniejszą przestrzeń w bazie, nawet o 70% mniej). W procesie migracji do nowej wersji dane będą generowane głównie z tabel visitors oraz details, dlatego zaleca się wyłączenie mechanizmów kompresji / kasowania starszych danych w celu zachowania możliwie dużej dokładności (prawdopodobnie zostanie dodany mechanizm generujący brakujące dane na podstawie istniejących, do zapewni takie same wyniki w statystykach zbiorczych, ale nie będzie w stanie odtworzyć dokładnie szczegółów).
Pierwsza alfa, używająca nowego schematu bazy, ale z obecnym interfejsem, może zostać udostępniona jeszcze przed końcem stycznia.

Ważniejsze zmiany względem wersji 4.9.22:

- wymagana wersja PHP podniesiona do 5.2;
- wiele porządków w kodzie;
- dokumentacja klas, metod i funkcji;
- moduły baz danych oparte o PDO;
- nowy domyślny motyw, Fresh;
- odświeżone wszystkie ikony;
- zmiana układu Ogólnych, Technicznych i Geolokalizacji;
- nowe możliwości widoku Szczegółów wizyty i Szczegółowych;
- wykres liniowy ze zmiennością czasową dla widoku pojedynczej grupy;
- możliwość wyświetlania różnicy procentowej względem poprzedniego okresu dla grup i Czasowych;
- możliwość porównania wybranego okresu z poprzednim w Czasowych;
- oznaczanie ważniejszych miast na mapach;
- a także bardzo dużo innych, istotnych zmian;

Zmiany względem wersji 4.9.95:

- dodane wykrywanie mobilnych przeglądarek Bolt i Dolphin;
- przywrócenie starego formatu pliku konfiguracyjnego;
- kilka małych poprawek i innych zmian;

Pobieralnia:

ZIP: 1064.79  KB.
TAR.BZ2: 751.3 KB.