HTML design problems and considerations ======================================= This document is assuming that you are using the CGI front end. How the results page is created ------------------------------- The file etc/search.htm consists of a number of blocks delimited by HTML comments that start with and end with . The block is only used by search.cgi. The other blocks form part of the results output depending on the situation. The blocks <--top--> and are always returned to the user as the top and bottom part of the output respectively. There are three series of , and blocks. The first series is returned to users that have requested long results (default), the second one to those that have requested short results and the third one to those that have requested results as URL only. All three blocks must be present in search.htm. Furthermore there is a series of navigation blocks and the blocks , and . The latter are returned occasionally instead of results. Any HTML that is outside the pre-defined blocks in search.htm is completely ignored. Thus, the output of search.cgi will always be something like this: top restop top top top res or notfound or error or noquery resbot bottom bottom bottom (navigation) bottom The navigation part is built in the same way, with the elements that pertain to each results page. For example, and are used to link to the previous and next results pages, while is used when there are no more pages in one or either direction. Your HTML --------- The simplest HTML is provided ready for use in search.htm-dist. It is advisable that you use this until your back-end works fine. Once you decide to add bells and whistles to your search, you have two options. One is to keep the simple design of search.htm, but make it part of a frame set. This way you can add elements such as menus etc in a frame and keep the output of search.htm in another. The other option is to incorporate your entire design in search.htm. If you fully understand the "blocks" system described above, this should not be too difficult. The one most important factor is to keep track of elements that need to be opened in one block and closed in another. For example, you might want a page in tables that looks like this: ------------------------------ | top table | |..............................| | . | |left . | | . | | . main table | |table. | | . | | . | ------------------------------ If you are planning to put your results in the main table, you can put all the HTML code in the block of search.htm, up to and including the opening of the main table (
). If you then put the closing of the main table and the closing tags of the page in the block ( |