61

(0 odpowiedzi, napisanych Ogłoszenia)

Oddaję Wam na Święta ostatnią aktualizację w gałęzi testowej, z której być może zostanie w najbliższym czasie wydzielona gałąź stabilna (najprawdopodobniej oznaczona numerem 4.9.50), w zależności od postępów w  pracach nad kolejnym dużym wydaniem (seria 5.), ze względu na liczne usprawnienia w niej dostępne i niemalże zerową sensowność przenoszenia poprawek do serii 4.9.2x i utrzymywania już trzech gałęzi kodu.

Przy okazji, życzę wszystkim obecnym użytkownikom skryptu (i nie tylko ;-)) Wesołych Świąt i Szczęśliwego Nowego Roku. :-)

Więcej szczegółów na temat wydania eksperymentalnego (w tym instrukcja aktualizacji) tutaj.

Główne nowości:

- poprawione przywracanie ustawień domyślnych;
- instalator powinien ponownie dzialać z PHP 5.2;
- tabela stron ponownie jest aktualizowana dla każdej odsłony;
- dodane kilka nowych metod API dla pobierania danych;
- ulepszone API sterownika bazy danych.

Pełna lista zmian.

Pobieralnia:

ZIP: 1072.43 KB.
TAR.BZ2: 748.24 KB.

62

(0 odpowiedzi, napisanych Ogłoszenia)

Kolejna aktualizacja gałęzi testowej, najprawdopodobniej przedostatnia, a na pewno ostatnia przynosząca znaczące zmiany inne niż poprawki. Jednocześnie powinny wreszcie przyśpieszyć prace nad nową serią, wprowadzającą dużo bardziej niekompatybilne zmiany (oczywiście aktualizacja z poprzednich wersji będzie w dalszym ciągu możliwa).
Bardzo zalecana jest aktualizacja z wersji 4.9.92 i 4.9.93.

Więcej szczegółów na temat wydania eksperymentalnego (w tym instrukcja aktualizacji) tutaj.

Główne nowości:

- przemianowanie Szczegółowych na Wizyty oraz ściślejsza integracja z Szczegółami wizyty;
- dane wyświetlane w grupach (w Ogólnych, Technicznych oraz Geolokalizacji) mogą być wyświetlane z użyciem stron;
- dodana możliwość ustawienia cookie w celu ignorowania wizyt z używanej przeglądarki;
- zaktualizowane polskie tłumaczenie;
- odświeżone ikony systemów operacyjnych i robotów sieciowych;
- oczyszczona lista reguł detekcji robotów sieciowych, usunięte martwe reguły.

Pełna lista zmian.

Pobieralnia:

ZIP: 1072.31 KB.
TAR.BZ2: 748.07 KB.

63

(0 odpowiedzi, napisanych Ogłoszenia)

Aktualizacja dla ostatniej wersji testowej, zawiera kilka poprawek błędów oraz kilka nowości.
Bardzo zalecana jest aktualizacja z wersji 4.9.92.

Więcej szczegółów na temat wydania eksperymentalnego (w tym instrukcja aktualizacji) tutaj.

Główne nowości:

- ulepszenia w systemie cache;
- nie blokujące sprawdzanie dostępności nowej wersji w przypadku problemów z połączeniem;
- naprawione wykrywanie wtyczki flash;
- naprawione tworzenie kopii zapasowych.

Pełna lista zmian.

Pobieralnia:

ZIP: 1047.4 KB.
TAR.BZ2: 729.75 KB.

64

(0 odpowiedzi, napisanych Ogłoszenia)

Po wielu opóźnieniach (o wielu różnych przyczynach) udostępniam wreszcie "brakujące ogniwo", czyli wersję skryptu, która przynosi wiele nowości i ulepszeń przeznaczonych dla wersji 5.x eStats, ale zachowującą możliwie dużą kompatybilność z serią 4.9.x oraz działającą stabilnie. Proces aktualizacji wymaga pewnej wiedzy na temat działania skryptu itd., nie jest także zautomatyzowany (wymaga ręcznej modyfikacji pliku konfiguracyjnego oraz resetu ustawień skryptu), dlatego zaleca się wykonanie kopii zapasowej oraz ewentualnej aktualizacji testowej na serwerze testowym.
Zapraszam do testowania (zautomatyzowana "świeża" instalacja dostępna jest obecnie tylko dla baz MySQL), w oczekiwaniu na wersję 5.0, która być może zostanie wydana przed końcem roku.

Główne nowości:

- nowy motyw - Fresh;
- sterowniki baz danych oparte o PDO;
- wsparcie dla SQLite2 zastąpione wsparciem dla SQLite3 (wymaga ręcznej konwersji bazy danych);
- przyśpieszone pobieranie danych (szczególnie zauważalne przy dużej ilości rekordów w tabeli);
- dodane nowe mapy dla Geolokalizacji;
- nowy format pliku konfiguracyjnego (wymaga ręcznej modyfikacji).

Pełna lista zmian (4.9.92, 4.9.91 i 4.9.90).

Pobieralnia:

ZIP: 976.85 KB.
TAR.BZ2: 683.21 KB.

Aktualizowanie z wersji 4.9.xx

Aby dokonać aktualizacji należy po wymianie plików zaktualizować plik konfiguracyjny do nowego formatu.
Można w tym celu użyć poniższego skryptu:

<?php
include ('conf/config.php');

echo '<?php
define(\'ESTATS_DATABASE_DRIVER\', \''.$DBType.'\');
define(\'ESTATS_DATABASE_CONNECTION\', \'';

switch ($DBType)
{
	case 'MySQL':
		echo 'mysql:'.$DBHost.';dbname='.$DBName;
	break;
	case 'PostgreSQL':
		echo 'pgsql:'.$DBHost.';dbname='.$DBName;;
	break;
	case 'SQLite':
		echo 'sqlite:'.realpath($DataDir.'estats_'.$DBID.'.sqlite');
	break;
}

echo '\');
define(\'ESTATS_DATABASE_USER\', \''.$DBUser.'\');
define(\'ESTATS_DATABASE_PASSWORD\', \''.$DBPass.'\');
define(\'ESTATS_DATABASE_PREFIX\', \''.$DBPrefix.'\');
define(\'ESTATS_DATABASE_PERSISTENT\', '.($PConnect?'TRUE':'FALSE').');
define(\'ESTATS_SECURITY\', \''.$DBID.'\');
define(\'ESTATS_DATA\', \''.$DataDir.'\');
define(\'ESTATS_GZIP\', '.($Gzip?'TRUE':'FALSE').');
define(\'eStats\', '.eStats.');
define(\'eStatsVersion\', \'4.9\');
?>';
?>

Należy go umieścić w katalogu głównym skryptu (starej wersji) i wywołać go za pomocą przeglądarki, a jego wynik (zajdzie potrzeba użycia opcji pokaż źródło strony) zapisać jako plik conf/config.php w folderze z nową wersją skryptu.
W przypadku bazy danych MySQL nowy plik konfiguracyjny powinien wyglądać mniej więcej tak:

<?php
define('ESTATS_DATABASE_DRIVER', 'MySQL');
define('ESTATS_DATABASE_CONNECTION', 'mysql:host=host bazy danych;dbname=nazwa bazy danych');
define('ESTATS_DATABASE_USER', 'nazwa użytkownika bazy danych');
define('ESTATS_DATABASE_PASSWORD', 'hasło użytkownika bazy danych');
define('ESTATS_DATABASE_PREFIX', 'prefiks tabel');
define('ESTATS_DATABASE_PERSISTENT', TRUE);
define('ESTATS_SECURITY', 'wartość zmiennej $DBID ze starego pliku konfiguracyjnego');
define('ESTATS_DATA', 'data/');
define('ESTATS_GZIP', FALSE);
define('eStats', wartość stałej eStats ze starego pliku konfiguracyjnego);
define('eStatsVersion', '4.9');
?>

Jeśli używaliśmy bazy danych SQLite to należy zacząć od konwersji pliku danych do formatu w wersji 3.
Plik konfiguracyjny powinien być podobny do tego dla bazy danych MySQL, z tą różnicą, że dwa pierwsze wiersze powinny przypominać:

define('ESTATS_DATABASE_DRIVER', 'SQLite');
define('ESTATS_DATABASE_CONNECTION', 'sqlite:pełna ścieżka do pliku bazy danych');

Ostatnim krokiem jest przejście do strony zaawansowanej konfiguracji oraz ustawienie pra

65

(6 odpowiedzi, napisanych Ogłoszenia)

Żyje, żyje. ;-)
Jakie linki nie działają?

Jeśli chodzi o możliwość zbierania danych na temat pobieranych plików, to myślałem już o tym dość dawno, ale nie miałem pomysłu jak to elegancko dodać.
Nowa wersja będzie modularna (także pod względem zbierania danych) więc być może przemyślę to ponownie i będzie to dostępne w postaci jakiejś wtyczki.
Co do usług typu GA, to ich najpoważniejszą wadą jest zależność od JavaScript, co może wpłynąć na dokładność zebranych danych, pomijając inne rzeczy... Mogę za to zapewnić, że atrakcyjność wizualna prezentacji danych znacząco się podniesie, co można zobaczyć na zrzutach z wewnętrznej wersji testowej sprzed roku (głównie odświeżony widok szczegółów wizyty oraz widoku pojedynczej tabeli danych z wykresami).

Tak, oczywiście, to jest główna nowość, ale nie jedyna, która będzie na 100% w nowym wydaniu. ;-)
Pytanie tylko kiedy będę miał czas na przygotowanie jakiejś wstępnej, ale używalnej alfy (projekty zarobkowe mają niestety trochę większy priorytet...). Koniec marca / początek kwietnia to pierwszy realny termin. Największym i jedynym problemem jest dobór odpowiedniego układu bazy danych, tak żeby zbierać i pobierać dane możliwie optymalnie.

Możliwe, że występuje jakiś konflikt nazw funkcji, chociaż to bardzo mało prawdopodobne (skrypt używa prefiksów w nazwach).
Mogę spróbować zrobić jakieś testy jutro (jeśli będę miał czas), tylko napisz mi jeszcze jakiej wersji PHP i jakiej bazy w jakiej wersji.
Co do działania pod Windows, skrypt powinien działać dobrze na każdym systemie o ile PHP działa na nim poprawnie.

69

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

Jestem na tropie problemu, wygląda to na jakiś problem z rozszerzeniem gettext.
Można wymusić użycie tłumaczeń zapisanych w starym formacie zmieniając nieco jedną linię w pliku lib/gui.php (okolice linii 284):

	if (!defined ('ESTATS_GETTEXT')) define ('ESTATS_GETTEXT', extension_loaded ('gettext'));

Na:

	if (!defined ('ESTATS_GETTEXT')) define ('ESTATS_GETTEXT', FALSE);

70

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

Postaram się tym zająć wkrótce, prawdopodobnie jest to jakiś problem z ustawianiem tłumaczenia lub samego tłumaczenia. Testy wykażą przyczynę.

Polecam ustawienie adresu strony w kodzie zbierającym dane (powinien pobrać adres automatycznie, ale z jakiegoś powodu ma z tym problem...), chodzi o ten fragment przy końcu kodu stron:

<script type="text/javascript">
var eCount = 0;
var ePath = 'estats/';
var eTitle = '';
var eAddress = '';
var eAntipixel = '';
</script>

Najlepiej uzupełnić przynajmniej zmienną eAddress, np:

var eAddress = '/rysunek';

(dla strony z rysunkami)

var eAddress = '/malarstwo';

(dla strony z

72

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

A czy obie bazy używają tego samego kodowania znaków dla tabel (informacja powinna być dostępna gdzieś w phpMyAdmin)?
Pomiędzy tymi wersjami nie było raczej żadnych zmian, które mogłyby powodować takie problemy, można spróbować zrobić jakiś test, instalując np. obie wersje na jednej testowej bazie (różne prefiksy tabel) i stworzyć jakąś testową stronę do zbierania danych, a następnie porównać wyniki.

73

(6 odpowiedzi, napisanych Inne skrypty mojego autorstwa)

Niestety nic się nie ruszyło...
Postaram się znaleźć w końcu trochę czasu na dopieszczenie tego co już czeka ponad rok na wydanie i w końcu to wypuścić, chociaż jako betę do testowania. ;-)

74

(0 odpowiedzi, napisanych Blog)

Zastanawiam się obecnie nad wymianą obecnego skryptu forum (punBB) na własne rozwiązanie napisane na potrzeby jednego z przedmiotów w styczniu. Brałem pod uwagę także aktualizację do nowszej wersji punBB lub wymianę na jego fork, czyli fluxBB. Jednak z powodu wewnętrznego podziału ich rozwój nie jest na tyle szybki jakbym chciał...

Tak więc posiadając własny produkt, który zawiera parę rzeczy, których inne nie mają, lub mają bardzo rzadko i to zwykle od niedawna (jak np. tagi) oraz ma  możliwość poszerzenia swoich własności o np. subskrypcje oparte o kanał Atom (według mnie poczta nadaje się tylko do przypominania hasła), to rozważam wprowadzenie właśnie jego. Wiadomo, że wygodniej się pracuje z własnym kodem, a jeśli miałoby to przynieść dodatkowe, przydatne możliwości dla użytkowników i administracji, to myślę, że można by spróbować (kiedy będę miał czas się tym zająć, nie wykluczam też etapu aktualizacji do nowego punBB). ;-)
Ponadto zajmuję się obecnie przygotowywaniem nowego wyglądu strony domowej, która ma teraz między innymi eksponować ten skromny "blog", więc podjęcie decyzji jest mi na rękę (ze względu na różnice w budowie bazy danych w różnych rozwiązaniach).

75

(6 odpowiedzi, napisanych Ogłoszenia)

Trochę to trwało, nie powiem, że nie, ale jednak się ruszyło. :-)
Jak skończy się remont u mnie w mieszkaniu, to powinno przyśpieszyć. ;-)