W3Perl developement 

Next release Previous release
3.04 3.02
Summer 2008 - Release 3.03
24.06.2008 | 3.03 | Auteur : Domisse

User stats are now available from www logfiles (was previously only available from ftp/mail log). As I use the %login fields in the logfile format, you should be very careful when displaying the stats. Sometimes, user gives their password instead of their login, so it will appears in the output !

Fix a problem with cities accents (in sweden).

Hosts with no city location are now added in a 'unknown' area.

08.06.2008 | 3.026 | Auteur : Domisse

Should be the last developement package before the 3.03 release. You can now make a search on cities to find them more easily. GeoIP plugins installation is now decribed in the documentation.

I've added world map but GeoLiteCity doens't always report right coordonates, so some cities can be found in the wrong place.

I had request to support PureFTP logfile format. But I won't be able to do the job for 3.03 release.

03.06.2008 | GeoIPCity | Auteur : Domisse

I'm adding support for cities location thanks to the Maxmind GeoIPCity database. The free database is not so accurate as the commercial one but it's enough to plot cities location on a map.
If your logfile log IP numbers, you can use :

  • reverse dns to translate IP to hostname ($reverse_dns = 1 in the configuration file)
  • country mapping with GeoIP : get country code for an IP ($reverse_geo = 1 and $netgeo = 1)
  • city mapping with GeoLiteCity ($geoipcity_file)

The last can be used to make country mapping if reverse dns is off or GeoIP can find the country code.


Take care as country stats and hosts stats can show differences, the first one being based on domain, the second on cities location. GeoLiteCity/GeoIP is not able to map all entries, so if you have IP from a specific country and GeoLiteCity is not able to map them, it won't be available in the country stats (but will appears in the hosts stats).

Local hostname/users mapping
01.06.2008 | Local hostname/users mapping | Auteur : Domisse

- You can now map local IP to users with a CSV file. Format being "name";"firstname","IP","Hostname"
This can be useful to view user's actvities rather than hostname. CSV format is used because you can easily extract the data if they are stored in a database.

31.03.2008 | Clickmap | Auteur : Domisse

- I've added lots of javascript stuff in heatmap page to display more data like the number of clicks and a color map. It works fine with fixed layout page but still some works to do with floating page.

26.03.2008 | 3.023 | Auteur : Domisse

- First Heatmap release available. I've found many people are double-clicking on webpages ! The goal was more difficult than expected. Recording the click is easy but displaying them is another job !

Road to heatmap
10.03.2008 | Road to heatmap | Auteur : Domisse

- New icons are available thanks to Anthony Baillard.

- A bug about filename length have been fixed. If URL is longer than 255 characters, the path is directory splited.

- I'm adding support for Heat map thanks to this tutorial I'm using the slow method (Ajax) instead of the server mod_imap because many people are not able to change server configuration. Also, I'm using Fly instead of imagemagick as I'm already using this package to build graphs.
To be able to get heatmap stats, you will need to insert a piece of javascript in your pages. The code will extract mouse coordinates and send them to a php script which write a logfile. Then cron-heatmap.pl will read this logfile and build png files.

- Top 10 list of the most visited domain for proxy stats have been added (doncicuto's suggestion).

04.03.2008 | 3.022 | Auteur : Domisse

You can now use Squid Common logfile format. Only native format was available. Admin interface have been updated in order to split between the two different format.
A big thanks to Herbert Jung which help me to add this new feature.

Here are the two Squid format supported by W3Perl :

Squid native %date %elapsed %host %codestatus %requetesize %method %page %null %peerstatus %mimetype
1042153466.411 120 TCP_REFRESH_HIT/304 258 GET http://www.voyages-sncf.com/img/seldate.gif - DEFAULT_PARENT/ - ALLOW
Squid common %host %null %login %date %hourshift %method %page %protocol %status %requetesize %codestatus
www.lyot.obspm.fr - - [01/Jan/97:23:12:24 +0000] "GET http:www.yahoo.com/index.html HTTP/1.1" 200 1220 TCP_MISS:DIRECT

Online tool
27.02.2008 | Online tool | Auteur : Domisse

You can now build your configuration file online. Using an editor to manually fill all configuration entries was really painful and subject to errors. Now, you can do the job on the w3perl website, it will allow people without a web server running to use the administration interface and will provide a user's configuration template database.

Configuration files are available to anyone with no restriction, it means if you don't want your paths to be public, use fake values.
As everything is public, you can change other user's configuration files ... or delete them. So be nice, I don't want to act as a policeman.
I hope to improve the forms thanks to your feedback, contact me if you are puzzled.

22.02.2008 | 3.021 | Auteur : Domisse

First bug report from users using 3.02....

Fix done :

- If you install w3perl on a virtual secure server and want the stats to be output on another virtual server, there is a path problem to extract the URI as document root are different for the two virtual servers.
=> I have no choice than adding a new parameter in the configuration file.
- Weekly stats are not well updated, as only the last week is shown on the web page.
=>Adding a -b flag to reset weekly stats and fixing the problem
- Missing country codes (serbia,somalia and montenegro)
=> Adding new flags
- Login field with space is not well understood (IIS logfile)
=> if login field with space is not quoted, will bypass the line

Fix in progress :

- W3Perl is not able to use logfiles from load-balancing server.
=> AWStats have a nice answer to this problem and I will implement this also as Awstat's author gave me his agreement.
- Mail stats show an empty day when switching to incremental mode.
- Hourly stats about days only read one logfile even if daily stats are spread over several logfiles.
- Real time stats on Windows doesn't load images
- Ajax search too slow with big website
=>split datafile
- if server installation and document server are different, pages links to server installation rather than document server.

Requests :

- Support for SiteMinder logfiles
- Support for more than one referer page with cron-refer.pl -p <page>
- Building configuration file on w3perl website
- Windows installer : choosing the web server root path
- Support for load-balancing websites