HTML-Webcluster-Interface for DXSpider

Hans-J.Barthen, DL5DI
feb 25th 2008
 

1. History:

I used the webcluster of N5IN during last years on my different webpages but it is just crazy to have DX-spider running locally and get the webcluster from a server in the US :)

I did not find any webcluster software on the internet to run locally with dx-spider (other than the Java-client of course).
So I spent a weekend creating this simple script.
It is just a quick hack and for sure there may be a lot of ideas for possible improvements.

The webpage is created by a perl-script, very easy, I am surely not an expert in perl like Dirk Koopman.
 

2. Requirements and limitations:

The script has only been tested on my LinuX-server yet.
I am running

Spider is running in standard paths and configuration and the final result looks like this: http://dx.prgm.org

I do not expect any big issues on other distributions and versions but in case of different paths for cgi-bin and local binaries or the spider database files the script needs to be adjusted to your needs.
 

The webpage is not user-configurable like the N5IN webcluster, the user can not set any filters or whatever.
This would make php or java necessary, so the user can better use the existing java-applet for dxspider.
I found in my logfiles that nearly nobody was using the filters of the N5IN webcluster here.

The script accepts only 1 parameter with the number of spots that should be shown in the first table.
With this the size of the output can be adjusted to fit best to your webpage, frame, window or wherever you want to place it.

The script is written to run on the same PC like dx-spider.
It needs direct access to dxspider's filesystem.
 

3. How it works:

The script reads the actual logfiles for DX-Spots, WWV-, WCY-datas and ANNouncements of dxspider.


DXSpider changes the logfiles regular.
Depending on the actual traffic you may see that tables are quiet small in the first view minutes after such a change of the logfiles.

This happens daily at 0:00 UTC with the dx-spots and at the start of a new month with the WCY/WWV/ANN datas.
In Europe this is no big problem, 0:00 UTC is always in the night between 0:00 and 2:00 localtime, when only a few people are using the cluster.
At other places on the world this might be during main traffic.

I thought about reading the old logfiles if the new have not enough content to fill the tables, but this is some bigger effort.
Just a few ideas what it could mean:


4. Installation

The tgz contains the following files:

COPYING
    a copy of the GNU General Public Licence

webcluster
    this is a simple cgi-script, located in the cgi-bin-path of the webserver.
    In my case it is located at /var/local/httpd/cgi-bin/

webcluster.cnt
    this file will be created automatically in the cgi-bin directory.
    It saves the value of the hit counter of the script.
    The value is shown in the right down corner of the webpage.

webcluster.pl
    this is the perl-script doing the job.
    In my case it is located in /usr/local/bin
    It is called from the cgi-script.
    Please adjust the path in the cgi-script if you locate it at a different place.

webcluster10
webcluster35
    Just 2 samples to adjust the number of spots to a fix value of 10 or 35.
    Another possible way is to call the cgi-script with a parameter  like this:
    http://dx.prgm.org/cgi-bin/webcluster?15
    depending on the server installation even this works:
    http://dx.prgm.org/?15
 

germany.gif
eu.jpg
    The 2 flags of my header at http://dx.prgm.org
    Take what you like to see in your header.
    This grafics are located in the main document root of the webserver.

dxcc.list
convert-dxcc
    dxcc.list is a simple textfile with the DXCC-prefixes.
    It is needed to get the prefix of a country from the dxcc number in the database.
    dxcc.list is generated from the content of prefix_data.pl by the tool "convert-dxcc".
    prefix_data.pl is part of dxspider and located in the data directory.
    Place convert-dxcc whereever you like, I keep it in /usr/local/sbin.
    Start it whenever prefix_data.pl has been updated with dx-spider cvs-update.
    dxcc.list is created in the data directory of dxspider.
    It may somehow be possible to use prefix_data.pl direct but I must admit I don't know how??
 
 

5. Configuration and changes:

Changes need to be done direct in the code of the perl script.
You will find some helpfull comments in the script.

Things that possibly need to be changed:

You may change this parameter in the HTML-code of the header which is generated by the perlscript.
Just search for "refresh" and change the "CONTENT" parameter from 150 to your preferred value.
This is done in the top of each table by HTML-code.


Just be carefull not to change the code which creates the tables with the variable datas.
 

6. Possible issues:

I tried to filter all special characters that might come in with  the text of a spot and destroy the format of the tables.
If you see any formatting issues please let me know!
Send me the sample of the spot and the exact time in UTC.

The script automatically creates an URL for the spotted callsigns to look it up at qrz.com just by a mouse-klick.
I think this is very helpfull for users.
Off course the script does not know or check if an entry at qrz.com really exists, but most interesting dx-stations have it.
Sometimes it is not easy to find the basic callsign for this lookup with all additional prefixes, suffixes, extra short and extra long special event callsigns etc.

The script expects that the basic callsign in general is the longest part of the string.
Based on this it checks if it contains at least 1 number and 2 chars.
Please give me a sample if you see a case where this does not work!

I did not limit the lengh of announcements. Big story-tellers may create more lines at this place than expected and the table will grow bigger than planned.
If you want to prevent this please just cut announcements to the size that you like.
 

Any idea for improvement is welcome.
Please either do it yourself if you can or tell me your idea and I will try to implement it.
I would like to keep the most interesting versions on my server for download, so if you do a nice improvement please send me a copy!

The URL is http://download.prgm.org/dl5di-soft/dxspider-webcluster

The package is distributed under GNU/General Public Licence conditions.

If you find something better or more powerfull let me know, I am interested!
 

Thanks !

Have fun and gd dx !
 

73 de Hans, DL5DI

Email: 
 
 
<Directory old> Directory with some older versions
DXSpider-Webcluster.pdf The text that you currently read in a PDF-File for download
update-info.txt Update-Information for those who have existing installations and want to use the patches.
Please remember, a new file will overwrite your individual changes.
Make a BackUp !
counter.txt Some information on an issue with the hit-counter
webcluster.tgz this is always the link to the latest version in tar.hz format for LinuX users
webcluster.zip this is always the link to the latest version in zip format for Windows users
webcluster.20080309.tgz This is currently the latest version in tar.hz format for LinuX users
webcluster.20080309.zip This is currently the latest version in zip format for Windows users
webcluster.patch20080309.zip This a pack of all patches to update from older versions
<Directory> All files complete