pedigree Pedigree Website Package Instructions
   (updated to reflect version 4.7)
 
 


Package Contents

How will I get the package?
Send an e-mail to me requesting the pedigree website package. I will e-mail back to you a URL to a Zip file containing the software.
How do I un-Zip the package?
Use the DOS program PKUNZIP or the Windows program WinZip.
I don't have these programs, where do I get them?
Get PKUNZIP at www.pkware.com. Get WinZip at www.winzip.com.
What is in the package?
A collection of files.

Modifying the Package Files

Which files do I need to modify?
You must modify search.html and config.pl. You may (and should) modify background.jpg and dogprofile.gif to customize the appearance of your website.
What do I use to modify them?
You need to use a text editor, like Microsoft Notepad or Wordpad. Do not use a word processor, like Microsoft Word. I also strongly recommend that you do not use a Web Page Editor such as Microsoft FrontPage or Claris HomePage. If you want to use a fancy commercial editor, I recommend TextPad.
What do I have to change in "search.html"?
There are a number of items to change:
What do I have to change in "config.pl"?
There are a number of settings that you can modify:
What exactly is a URL?
A URL is a Uniform Resource Locator. It is the "address" which tells your web browser how to find documents or images on the Internet. A URL consists of a "protocol" used to fetch the document or image (this is almost always "http:"), the name of the computer where the document or image resides (e.g., "//www.alfirin.net"), followed by the directory on the computer where the document or image is stored (e.g., "/images/"), followed finally by the filename of the document or image (e.g., "dogprofile.gif"). All together this looks like "http://www.alfirin.net/images/dogprofile.gif".
What is my Document Root?
A Document Root is the "top" directory of your web site that can be viewed by people using a web browser. In many cases, when you FTP to your web server, the Document Root is the directory you "land in" first. But in other cases, your Document Root may actually be a subdirectory of your FTP root. This subdirectory may be named "htdocs", "docs", "web", "www", "public_files", "public_html", or something similar.
How do I know what is the full URL of my Document Root?
You must be informed by your ISP what is the full URL of your Document Root. Typically you get an email from your ISP explaining this. Sometimes your ISP's website will explain how the full URL is assigned to you. If you have registered your own domain name, typically your document root will be something like http://www.your-domain.com/. For example, my domain is alfirin.net and my document root is http://www.alfirin.net/. If you do not have your own domain name, but you have a user ID at some ISP, your document root will typically be something like http://www.some-isp.com/~user-id/. For example, before I got my domain name, my user ID at Earthlink was "alfirin" and my document root was http://www.earthlink.net/~alfirin/. In some cases, ISPs don't include the "tilde" character.
What is my "cgi-bin"?
A "cgi-bin" is the directory of your web site that CGI scripts are allowed to run in. Almost always this directory is named "cgi-bin" and is a subdirectory of your FTP root. Occasionally this subdirectory may be named "cgi" or "cgi-userid" where userid is your login ID. For example, if my login ID was "alfirin" my ISP might name my cgi-bin directory to be "cgi-alfirin".
How do I know what is the full URL of my "cgi-bin"?
You must be informed by your ISP what is the full URL of your cgi-bin. Typically you get an email from your ISP explaining this. Sometimes your ISP's website will explain how the full URL is assigned to you. Almost always the URL will simply be the URL of your Document Root with "/cgi-bin" appended. But in a few cases, ISP's run CGI scripts on a completely different web server, so the full URL might be something like "http://cgi.alfirin.net/" when your Document Root was "http://www.alfirin.net/". In my case, the URL of my cgi-bin at Earthlink is http://www.alfirin.net/cgi/.
How do I use a different background and dog profile image?
Either find images you like on the Internet, or take your own pictures.
How can I get my own pictures onto the computer?
You can take a photo with a conventional camera, and have the prints developed as normal. You can use a flat-bed scanner or a photo scanner to load the picture into your computer. If you don't own a scanner, some film developing companies will scan for you, and provide you the picture on a floppy disk or on CD-ROM. Examples of such companies are:

Another technique you can use is to take the pictures with a digital camera. Then your photos can be loaded into your computer either with an e-film reader, or by using the link cable that came with the camera.


Uploading the files to your website

How do I get these files up to my website?
You can use FTP, WS_FTP, CuteFTP, or Microsoft Front Page.
How do I know if I have any of those programs?
Most operating systems come with an FTP program (Windows does). You have to buy WS_FTP, CuteFTP, or Microsoft Front Page separately. WS_FTP and CuteFTP have free trial periods, so you can try them out before you decide which one to buy.
My ISP's web site has a "file manager" web page for transferring files. Why can't I use that?
Such pages usually transfer all files in "Binary" mode. This damages the files that must be transferred in "Ascii" mode, and will make the pedigree scripts operate incorrectly.
How do I get WS_FTP?
Visit Ipswitch, Inc. on the Internet at www.ipswitch.com. You can buy WS_FTP online using your credit card.
How do I get CuteFTP?
Visit GlobalSCAPE on the Internet at www.cuteftp.com. You can buy CuteFTP online using your credit card.
How do I get Microsoft Front Page?
It is sold in stores carrying computer software, such as Office Depot, Office Max, and Fry's Electronics.
OK, I've got one of those programs, now how do I do the uploads?
You should upload the files as follows: The steps you use to upload these files using the different programs is:
What should I use as my Images directory?
The easiest thing to do is just put your images in your Document Root. Then your Images directory is the same as your Documnet Root. If you don't like clutter in your Document Root directory, then you can create a subdirectory (using the mkdir command) in your Document Root, call it something like images and put all your image files in there.
Is there anything special I have to do if I want logging to work?
Yes. You need to do two things.
What if I am the website administrator or I need more detailed instructions for the website administrator?
OK, much more detailed installation instructions, for various web servers and server operating systems, can be found here.

Preparing your breeding records database

What are these web database files?
There are two database files, and an index file for each, plus an index file for fast search capability, making a total of five files.
What is the proper format for the .dbw pedigree database file?
The format of the database is one record per line, separated by end-of-lines, i.e., carriage-return and line-feed (CR/LF) on Windows NT, and simply line-feed (LF) on Linux/UNIX. Each line contains from 13 to 17 fields separated by the vertical-bar character in the following order:
  1. record number
  2. animal's name
  3. whelp date
  4. record number of sire
  5. record number of dam
  6. URL or filename of photo
  7. conformance titles (e.g., "Am./Can. Ch.")
  8. registration number (AKC, etc.)
  9. description, e.g., coat color or breed/variety
  10. sex, may be M, F, N, or S (male, female, neutered, or spayed)
  11. awards (e.g., "C.D.X", "U.D.", etc.)
  12. owner's email address
  13. owner's website full URL
  14. OFA Hips (optional)
  15. OFA Heart (optional)
  16. Thyroid (optional)
  17. CERF (optional)
This is what an example line might look like: This format is optimized for speed of processing by the ".pl" CGI scripts.
What is the proper format for the .brw breeding records database file?
The format of the database is one record per line, separated by end-of-lines, i.e., carriage-return and line-feed (CR/LF) on Windows NT, and simply line-feed (LF) on Linux/UNIX. This database is divided into two sections, the "animal records" and the "breedings records" section.
The "animal records" section lists all of the times an animal has been bred. Each line in this section contains 2 fields separated by the vertical-bar character in the following order:
  1. record number of the animal
  2. comma-separated list of the record numbers of each breeding
This is what an example line might look like: The "breeding records" section lists all of the offspring from each breeding. Each line in this section contains 4 fields separated by the vertical-bar character in the following order:
  1. record number of the breeding
  2. record number of sire
  3. record number of dam
  4. comma-separated list of the record numbers of each offspring
This is what an example line might look like: It is important that the record numbers you use for the breeding records are separate from the animal records, i.e., they are disjoint and don't overlap. One way to do this is to ensure that all your animal record numbers are less than some number, say 20000, and all your breeding record numbers are greater than that number. Some people choose to make the breeding record numbers a combination of the sire's and dam's record numbers. For example, a breeding record for a sire number 1029 and a dam number 3233 could be 1029x3233 (it is OK to have alphabetic characters in the index numbers).
What do I do with the two sections of the .brw file?
Just put the animal records section first, and then follow it with the breeding records section. You don't have to "mark" the sections in any way, or separate them.
I am unable to produce a .brw file ... does that mean I can't use the software?
The .brw file is optional. The web site software will work without it. But, you will only be able to display pedigrees, you will not be able to use the "breeding info" function.

If you use the "Make Index Files Utility" (described in the Uploading the Database section below), it will detect if you do not have a .brw file, and it will automatically create one for you.
I already have an existing database, how do I get my database in the right format?
This is a complicated subject....
I have Breed Mate. What is the export string I should use to export to .dbw/web format?
The default export string should be %2|[Name]|[DOB]|%3|%4|[Photo]|[Titles]|[Register] [Reg No.]|[Coat Colour] [Breed]|[Sex]|[User Field1]|[Owner Email]|[Owner URL] and it works great.
This Universal Converter sounds promising, where do I get it?
You can visit "our mates down under" at Wild Systems at www.breedmate.com. Their Universal Pedigree Converter supports 14 different pedigree database formats!
Breed Mate didn't work for me, but I can get my database into a Comma Separated Values (CSV) format. How do I use the Online Converter?
Convert your database from CSV format to the Database Web (DBW) format using the Online Converter Utility (click on the link to start the converter).
What do I do if I don't have the information for some fields, e.g., I don't know the whelp date?
Just leave that field empty. It may cause two of the vertical bars to be adjacent to each other. This is OK.
What do I do if I want to customize the scripts or the database; for example, add extra fields you don't already provide, e.g., inbreeding coefficient, etc.?
Either you can jam that information in one of the existing fields, or you can add more fields on the end, but this will require minor modifications to the script code.
View the slide show with a more detailed explanation of these options.
If after reading the slide show, you still don't know what to do, then contact me by email explaining exactly what type of customizations you want to try.
I will only be able to provide a limited amount of support. If you need extensive help, you should consult a web design professional.

Uploading the database

What do I have to do to the database(s) to get it/(them) ready for upload?
The very first time you create your database(s), it must be in the proper format.  See the Preparing your breeding records database section, above.  Once you have created your .dbw database file (and optionally, your .brw database file), and every time thereafter that you modify the database(s), you need to generate new index files.
How do I generate the index files?
Where do I get this "Make Index Files Utility"?
How do I determine whether my web server is Windows-based?
You should get this information from your ISP. Most web servers will not be Windows-based, they will be UNIX-based. Hint: if you are told that your web server is Internet Information Server (IIS), that's Windows NT; if you are told that your web server is Apache, that's UNIX.
OK, I have my index files generated. How do I upload the database and index files?
You can use FTP, WS_FTP, or Microsoft Front Page. See general instructions for obtaining and using these programs back in the Uploading the files to your website section. You should upload the files as follows:
You said "usually"... when would I not put those files in my cgi-bin directory?
The scripts expect to find the database files in their "current directory" when they run. On almost all web servers, the "current directory" of running scripts is the cgi-bin directory. In rare circumstances, the "current directory" may be your Document Root directory, or some other directory. You will discover this is the case if the scripts produce a Cannot open database error message when you run them from a web browser. The only way to find out the exact correct directory to put the database files in is through some experimentation. If you have this problem, contact me by email for assistance.

Troubleshooting

I have a Mac, and when I click on the Search Now button of "search.html", nothing happens.  What's wrong?
This is due to a bug in search.html introduced when the JavaScript form validation was added.  Download and install version 4.6.28 or later to fix this problem.
I have a PC with Internet Explorer version 5.5 or lower, and when I click on the Search Now button of "search.html", I get the message "'Undefined' is undefined".  What's wrong?
This is due to the same bug in search.html introduced when the JavaScript form validation was added.  Download and install version 4.6.28 or later to fix this problem.  You can also solve this problem by instructing everyone to upgrade to Internet Explorer version 6.0 or later.  This can be done by visiting http://windowsupdate.microsoft.com.
When I click on the "Search" button, it cannot find my ".dbw" file. Why?
It might be one of the following reasons:
When I click on the "Search" button, I get a "Permission denied" or "HTTP Error 403" message. What now?
It might be one of the following reasons:
When I click on the "Search" button, I get a "CGIwrap Error: Script is not executable" message. What now?
You forgot to make the "/cgi-bin/geneal.pl" CGI script executable. Go back and follow the instructions above in the Uploading the files to your website section to do that.
When I click on the "Search" button, I get an error message something like "CGI Error: The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are: Can't exec D:\some-directory-path-here\cgi-bin\geneal.pl line 1.". What now?
The fact that the error message indicates a path containing C:\, D:\, etc., is a hint that your web server is Windows-based (Windows NT, 2000, or XP). Windows web servers often have a problem where they don't provide the scripts with a proper "Current Working Directory" when they execute. The way to work-around this is to find and change every .pl script file that has a line in it that looks like require "some-script.pl"; and change it to require "D:\some-directory-path-here\cgi-bin\some-script.pl";. Obviously, you have to fill in the italicized bits with appropriate values for your web site. Also, IMPORTANT: due to the rules of the Perl language, any backslash characters you put inside quoted strings must be DOUBLED, like this: require "D:\\some-directory-path-here\\cgi-bin\\some-script.pl";
When I click on the "Search" button, I get a response that looks strangely like the Perl code for the "/cgi-bin/geneal.pl" CGI script.  What now?
Your website is probably not activated for CGI scripting. Contact your ISP and upgrade to CGI scripting service. If that's not the problem, perhaps you spelled /cgi-bin wrong, or your /cgi-bin directory does not have the correct permission settings. If the latter, you will need help from your ISP to fix it.
When I click on the "Search" button, I get a "Interpreter file not found" message. What now?
The path to your Perl interpreter on the web server is different than expected. Contact your ISP and find out the full pathname of your Perl interpreter, then insert it on the first line of "geneal.pl" where it currently says #!/usr/local/bin/perl. Be certain to leave the #! in front, with no spaces between the exclamation mark and the interpreter's pathname.
When I click on the "Search" button, I get a "500 Internal Server Error" message. What now?
This can be caused by a number of problems:
My ISP says they use Windows NT and only support Active Server Pages. What now?
I tried to make the pedigree program work in Active Server Pages, but it was way too slow. Tell your ISP to download Perl from www.activestate.com and install it on your web server. If they won't do it, find a different ISP who actually wants your business.
My ISP says they use Sun Web Server and only support Java. What now?
I tried to make the pedigree program work in Java, but it was way too slow. Tell your ISP to download Perl from www.sunfreeware.com and install it on your web server. If they won't do it, find a different ISP who actually wants your business.
My ISP's website administrator says he or she needs more detailed instructions.   Can you help?
Sure.  Much more detailed installation instructions, for various web servers and server operating systems, can be found here
The search page works, but the pedigrees come up funny and have -1's in them. What's wrong?
You must have uploaded the database and/or index files in Binary mode instead of ASCII mode. Upload the files again using the correct transfer mode.
I tried that and still no luck. Any other ideas?
If your web server is running Windows NT and Internet Information Server (IIS) or Windows 95/98 and Personal Web Server (PWS), then you need to make sure you answered "yes" to the "Is your web server Windows-based" question when you ran the "mk_ixw" program. Re-generate the index file(s) for your database(s) by running the "mk_ixw" program again, answering the question correctly, and upload it/(them) to the web server.
Slow search is working, but fast search doesn't return any results. What's wrong?
Slow search and fast search are working, but searching for a Sire or Dam in trial.pl ("[TRIAL PEDIGREE]") or entry.pl doesn't return any results. What's wrong?
Why doesn't the page hit counter at the bottom of "search.html" work?
You have to re-create the page hit counter. Either you must use Front Page to insert a "web-bot" Hit Counter, or you must obtain and insert a CGI script (you can find them on the Internet) to do page hit counting for you.
I have Front Page, but I can't find this "web-bot" Hit Counter you mentioned. Where is it?
You probably have Front Page 97. The web-bots are in Front Page 98 or Front Page 2000. Go buy an upgrade to Front Page 98 or 2000. If you have Front Page 98, look for the toolbar button that has an icon that looks like a robot. If you have Front Page 2000, look for the toolbar button that has an icon that looks like a machine gear.
I tried an #exec style server-side include to do page hit counting, but I get an error. What's wrong?
Your website may be configured with Microsoft Front Page Extensions, which disables server-side includes. You can test to see whether you have Front Page Extensions by entering the following URL in your browser: http://www.your-website.com/cgi-bin/geneal.pl?ident=Yes. This will usually show a message on the top of the page indicating the name and version of your web server software, and whether or not Front Page Extensions are active.
Why is this so complicated and why can so many things go wrong?
Developing web services is currently in it's "Wild West" phase. The software tools are not dominated by Microsoft, as desktop PC software development is, because they were a latecomer to the web server software scene. Not only do you have to deal with the vast differences between the way UNIX web servers act compared to Windows NT web servers, but web server software in general is highly configurable. Every ISP does things in a slightly different way, for their own reasons, and as a result, it is impossible to prepare "one size fits all" instructions. All is not lost; with patience, you should be able to get it to work the way you want. The amount of time it will take depends on how many of the "non-standard gotchas" you run into, and also upon your level of existing familiarity/expertise with web concepts. Experienced people have got it running as quickly as 15 minutes. Those less experienced have taken longer depending upon the number of concepts they had to learn. One week has been typical, on average.

Changes last made on: Wed 2 Apr 2008 8:43 PM PDT.