Information on you in the database.
|
The technology behind the Labyrinth Fish site.
OK, I admit it. The main reason I've build this site is NOT to provide
visitors information on freshwater fishes. There is already a lot of information on
this site and I continue to add more information every day. But only 1/3 of my
time goes into adding content.
I use this site mainly to acquire more experience in building websites
and to try out different concepts
such tracking of user behavoir, user personalisation, database design and
programming (javascript,
cold fusion,
Delphi,
and perl).
The database
All fish information is stored in an Oracle database.
A program (written in Delphi) allows me to update the database on-line. When a user
clicks on a link to a particular fish, the data is retrieved from the database and
merged with a cold fusion template to produce a HTML page.
Beside fish related tables, there are several tables to store information on
the pages requested by all the visitors. One table stores the user identification number,
the date and time and the page requested.
Privacy: Don't panic. I don't know your name and don't have your e-mail address.
Cold fusion templates
With an application server it is easy to combine plain HTML with database information.
Several parts of this site use cold fusion: the fish database, the newsgroup messages,
the left frame for taxonomic browsing and the search page
Collecting Usenet messages
I collect all aquaria newsgroup messages that contain keywords related to labyrinth fishes
such as betta, gourami, Mastacembelus, Colisa, ....
All messages containing a keyword are stored in a separate directory and are categorized, e.g. all
messages containing siamese fighting fish or Betta splendens are grouped together.
A perl script scans a list of aquaria newsgroups each day for new messages containing the
string that occurs in the keyword list. Each message is placed in a category depending
on the keywords they contain.
These messages are accessible when requesting information on a particular fish, or by
selecting a fish from the news group messages list or by performing a search.
User tracking
Beside the tables for fish information there are several tables to keep visitor
information. Each visitor gets a cookie.
This cookie is used to check if a particular user visits the site several time and
is used for personalization.
Collaborative filtering
One type of personalization is called
"collaborative filtering".
Recommendations are given based on what it has learned from other users with preferences like yours. On this site
a list of fishes are shown that you did not see yet, but where visited by other users.
Example: Many users request the information on Betta splendens and on B. smaragdina. If
you did visit the B. splendens page, the system will propose that you visit also
the B. smaragdina page. Other visitors are interested in both species. Why not you?
Perl scripts
Other functionalities found on this site are:
- Betta identification
- A discussion group
- Making a personal list of fishes
- Temperature conversion
Philippe Kerremans
Webmaster Labyrinth fish (and many other sites).
For more information send me an e-mail (philippe@adera.be)
|
|