Home > Technology used for this website



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)








Home New Search Fish Search messages Maps Taxonomy Links
Betta identification Betta genetics Books Articles Conversion Discussion list Webrings