findinsite-ms Look and Feel
This page describes how to customise the look and feel of the findinsite-ms web pages:
- Template files customise all the basic HTML for returned pages,
with template variables updated depending on the results
- The language support can be changed or enhanced.
- The results can be reordered in various ways.
- If you want word counts on each hit page, you have to enable this.
- Alter the hits per results page from the default of 10.
These facilities are aimed at web site designers. For ultimate control, use the programmer interface
Search API XML Web Service to retrieve the results and process as you wish.
Character Sets:
It is very important that the page header (and other template files) use the
%META_CHARSET% variable to specify the page charset.
If this is not set then findinsite-ms may interpret typed characters incorrectly.
Currently findinsite-ms always uses "UTF-8" for %META_CHARSET%,
so your templates should be encoded using the UTF-8 charset.
|
Here is a full list of the available options:
|
Supplied file |
Description |
Initial search page |
search.aspx |
This is the findinsite-ms localised search page for you.
See below.
|
Page header |
findhead.htt |
See below for more details.
These template files can also include other pages, including ASPX pages that
are sent findinsite-ms variables as form parameters.
|
Results top |
findtop.htt |
Results line detail |
findline.htt |
Results bottom |
findbot.htt |
Page footer |
findfoot.htt |
Error display |
finderror.htt |
Languages |
|
Languages can be added or altered -
see the languages page.
|
Get word count |
|
If you want word counts on each hit page, you have to enable this -
see the look and feel page.
|
Results order |
|
The results can be reordered in various ways -
see the look and feel page.
|
Pages per results sheet |
|
Alter the ResultsPerSheet form runtime
parameter in a search page if you do not wish to use the default of
10 pages per results sheet.
|
Calling findinsite-ms
Template files
These configurable template files determine the appearance of the pages produced by findinsite-ms,
as follows:
Control Panel box |
Init parameter |
Description |
Heading file |
heading |
The heading at the top of every findinsite-ms page |
Top file |
top |
The extra heading at the top of search results |
Line file |
line |
Each findinsite-ms results line |
Bottom file |
bot |
The extra footer at the bottom of search results |
Footer file |
footer |
The footer at the bottom of every findinsite-ms page
The Free version always inserts an additional findinsite-ms footer.
|
Error display |
error |
The information that is displayed when no results are found or when an error situation occurs |
findinsite-ms gets the name of each file from the values set in the
Control Panel Look and Feel section.
However, if any file is not available then
findinsite-ms supplies a basic default value.
Each template file can contain any HTML. However, each file is a template,
so any instance of a findinsite-ms variable is replaced with a suitable
value at runtime. The heading and footer template files may contain
Heading and Footer Variables.
The top and bottom template files may contain
Top and Bottom Variables.
The results line
template file should contain
Result Line Variables.
The error display template file should contain
Error Display Variables.
Each template file may use %INCLUDE=...%
directives to include other pages in the output,
as described below. The included pages may be static files
or dynamically generated. An included dynamic page (eg ASPX) is sent various
findinsite-ms form variables.
CSS Styles
Although the findinsite-ms output is easily customised, various details are hard-coded.
To let you alter these, findinsite-ms uses various preset stylesheet styles.
The supplied default heading template includes inline definitions for these standard styles.
For example, if a template uses the %SEARCH_TEXT% variable then HTML like the following is generated:
<SPAN CLASS=fisSearchText>xxx</SPAN>
where xxx is the entered search text. The style fisSearchText is hard-wired into
findinsite-ms. The default header template defines
fisSearchText as follows:
<STYLE TYPE="text/css">
.fisSearchText { background: pink; font-family:monospace; }
</STYLE>
findinsite-ms uses several such styles, but the header template does not define
styles for all of them, so no styling is used.
The styles that are used are listed in each section below.
Heading and Footer Variables
Heading and Footer variables are replaced at runtime by findinsite-ms
in the heading and footer template files.
As well as ordinary HTML (of any sort), findinsite-ms replaces any instances of the following
variable names with the described text.
If the description says that the text is localised then the text is taken from the
language file for the user's preferred language.
See the findhead.htt and findfoot.htt files in the findinsite-ms
work directory for examples of these variables in use.
Parameter name |
Description |
Style |
Example |
%APPNAME% |
The findinsite-ms application name
|
|
findinsite-ms |
%CONTAINS% |
The total number of pages and words in all the search database subsets
Localised
|
|
7 pages and 1327 words |
%COPYRIGHT% |
The findinsite-ms copyright message
|
|
Copyright © 1998-2011 PHD Computer Consultants Ltd |
%DB_CREATION_DATE% |
The first subset search database creation date
|
|
14/12/2004 |
%DB_DESCRIPTION% |
The first subset search database description
|
|
findinsite-ms: Site Search engine |
%DB_FILENAME% |
The filenames of all the search database subsets
|
|
index1 |
%INCLUDE=..% |
Includes another page in the output -
see below
|
|
%INCLUDE=head.aspx% |
%INDEX_DESCRIPTION% |
The index description, set in the Searching section of the Control Panel
|
|
|
%INSTRUCTIONS% |
Localised basic instructions for using findinsite-ms
|
|
|
%L_APPNAME_SERVER% |
Localised description for findinsite-ms
|
|
findinsite-ms Site Search Tool |
%L_CONTAINS% |
Localised phrase for Contains
|
|
Contains |
%L_INDEX% |
Localised phrase for Index
|
|
Index |
%L_LANGUAGE% |
Localised phrase for Language
|
|
Language |
%L_SEARCH% |
Localised phrase for Search
|
|
Search |
%L_SEARCH_FOR% |
Localised phrase for Search for:
|
|
Search for: |
%L_SITE% |
Localised phrase for Site:
|
|
Site: |
%LANGUAGE_NAME% |
The localised name of the language file for the current user
|
|
Deutsch (German) |
%LANGUAGES% |
A list of links to set the user interface language used by findinsite-ms
|
|
|
%META_CHARSET% |
The charset used by findinsite-ms to encode its output characters
|
|
UTF-8 |
%PAGES% |
The total number of pages in all the search database subsets
|
|
7 |
%SEARCH_TEXT% |
The last search entered
|
fisSearchText |
CD and Search |
%FIELDS_TEXT% |
The last field search terms entered
|
fisFieldsText |
[keywords:search] [lang:en] |
%DYNAMIC_DB% |
A copy of the passed "db" parameter
|
|
http://www.phdcc.com/fiscd/fiscddb |
%SERVER% |
The server details
|
|
.NET v1.1.4322
|
%SITES% |
List of links to sites currently being searched
|
fisSite |
<A HREF=http://www.phdcc.com/ CLASS=fisSite>www.phdcc.com</A> |
%SUPPORTEMAIL% |
The PHDCC support email address
|
|
[email protected] |
%THIS_URL% |
The URL to get back to findinsite-ms
with no GET query appended
|
|
http://www.phdcc.com/findinsite/search.aspx |
%VERSION% |
The findinsite-ms version number
|
|
1.19.2351.12938 |
%VERSION_DATE% |
The findinsite-ms version date
|
|
8 Jun 2006 |
%WORDS% |
The total number of different words in all the search database subsets
|
|
1327 |
Top and Bottom Results Variables
Top and Bottom variables are replaced at runtime by findinsite-ms
in the top and bottom results template files.
As well as ordinary HTML (of any sort), findinsite-ms replaces any instances of the following
variable names with the described text.
If the description says that the text is localised then the text is taken from the
language file for the user's preferred language.
See the findtop.htt and findbot.htt files in the findinsite-ms
work directory for examples of these variables in use.
Parameter name |
Description |
Style |
Example |
%HITS% |
The number of hits
|
|
15 |
%INCLUDE=..% |
Includes another page in the output -
see below
|
|
%INCLUDE=top.aspx% |
%L_FIRST% |
Localised phrase for
First
as a link.
Empty if only one sheet
|
fisFirstLink |
First |
%L_HITS_TEXT% |
Localised phrase for
1 page found
|
|
15 pages found |
%L_LAST% |
Localised phrase for
Last
as a link.
Empty if only one sheet
|
fisLastLink |
Last |
%L_NEXT_SHEET% |
Localised phrase for
Next
as a link.
Empty if no next sheet
|
fisNextLink |
Próximo |
%L_PREV_SHEET% |
Localised phrase for
Previous
as a link.
Empty if no previous sheet
|
fisPrevLink |
Precendente |
%L_SEARCH_RESULTS_FOR% |
Localised phrase for
Search results for:
|
|
Résultats de la recherche pour: |
%L_SEARCH_SUMMARY% |
Localised results summary
|
|
Results 1 - 10 of 114 |
%L_STOP_WORDS% |
Localised list of ignored common words in the search text
|
|
Ignored common words: the a |
%SEARCH_TEXT% |
The search text
|
fisSearchText |
brown car |
%FIELDS_TEXT% |
The last field search terms entered
|
fisFieldsText |
[keywords:search] [lang:en] |
%SHEET_DECADE% |
A set of approx 12 sheet number links near the current sheet
|
fisDecadeNumberLink fisSheetNumber |
9 10 11 12 13 14 15 16 17 18 19 20 21 |
%SHEET_FIRST% |
First sheet number as a link.
|
|
1 |
%SHEET_FIRST_DOTS% |
First sheet number as a link followed by ..
Empty if first sheet in %SHEET_DECADE%
|
fisFirstNumber |
1 .. |
%SHEET_LAST% |
Last sheet number as a link.
|
|
1 |
%SHEET_LAST_DOTS% |
Last sheet number as a link preceded by ..
Empty if last sheet in %SHEET_DECADE%.
|
fisLastNumber |
.. 25 |
%SHEET_NO% |
The results sheet number
|
|
2 |
%TIME% |
The time taken for the request |
|
|
The default text for the top template is:
<TABLE WIDTH="100%" cellpadding=0 cellspacing='0'>
<tr><td bgcolor="#ffffcc"><img height=1></td></tr>
<tr><td bgcolor="#ffffcc">
%L_SEARCH_RESULTS_FOR% %SEARCH_TEXT%%FIELDS_TEXT% %L_STOP_WORDS%
%L_SEARCH_SUMMARY% %L_PREV_SHEET% %L_NEXT_SHEET% (%TIME%)
</td></tr></table>
The default text for the bottom template is:
<TABLE WIDTH="100%" cellpadding=0 cellspacing='0'>
<tr><td bgcolor="#ffffcc">
%L_SEARCH_RESULTS_FOR% <SPAN style='background: pink;'><CODE>%SEARCH_TEXT%%FIELDS_TEXT%</CODE></SPAN>
%L_STOP_WORDS%
%L_HITS_TEXT%
%L_PREV_SHEET% %SHEET_DECADE% %L_NEXT_SHEET% - %L_FIRST% %L_LAST%
</td></tr>
<tr><td bgcolor="#ffffcc"><img height=3></td></tr>
</table>
Result Line Variables
When findinsite-ms lists the hit pages that it has found,
it uses the contents of the line file as its display template.
See the file findline.htt in the findinsite-ms
work directory for examples of these variables in use.
The line file can contain any HTML.
However, it will mainly contain result variables, described in the list below.
The entire results line has the search words highlighted, using the style hilite.
Tag name |
Description |
Style |
%ABSTRACT% |
An abstract for the found file
|
fisAbstract |
%ALLTEXT% |
The entire plain text of the file
|
|
%DATE% |
The file date
|
|
%FILENAME% |
The filename of the found file
|
fisFilename |
%FILENAME_LINK% |
The filename of the found file,
as an HTML link
|
fisFilenameLink |
%INCLUDE=..% |
Includes another page in the output -
see below
|
|
%INDEXED% |
The date the file was indexed
|
|
%PAGE_WORDCOUNT% |
The count of words in the found file
|
|
%RESULTNO% |
The result number
|
fisResultNo |
%SHORTURL% |
The full URL of the found file, truncated to 80 characters if need be
|
fisURL |
%SHORTURL:n% |
The full URL of the found file, truncated to n characters if need be
|
fisURL |
%SHORTURL_LINK% |
The full URL of the found file, truncated to 80 characters if need be, as an HTML link
|
fisURLLink |
%SHORTURL_LINK:n% |
The full URL of the found file, truncated to n characters if need be, as an HTML link
|
fisURLLink |
%SIZE% |
The file size
|
|
%SNIPPET% |
An extract from the file containing the search words.
The default is to have 40 words total, with a maximum of 10 words before and after a search word,
stopping snippets at sentence ends.
|
|
%TITLE% |
The title of the found file
|
fisTitle |
%TITLE_LINK% |
The title of the found file,
as an HTML link
|
fisTitleLink |
%URL% |
The full URL of the found file
|
fisURL |
%URL_LINK% |
The full URL of the found file,
as an HTML link
|
fisURLLink |
%WORDCOUNT% |
The total count of all search words in the found file
|
fisWordcount |
Example line template
The default text for the line template is:
<DL><DT>%RESULTNO%. %TITLE_LINK%</DT><DD>
<table><tr><td><i>%ABSTRACT%</i></td></tr></table>
<table><tr><td>%SNIPPET%</td></tr></table>
%SHORTURL_LINK% - %DATE% - %SIZE% -
<span class=indexed>indexed:%INDEXED%</span></DD></DL>
Here is an example of what this result will look like, in the middle of a results list:
Error Display Variables
If findinsite-ms encounters a problem,
it reports this using the contents of the error display file as its template.
Possible problems include (a) the user entering no search text, (b) no hits being found, and
(c) unexpected program errors.
The error display file can contain any HTML, including the error display variables, described in the list below.
Tag name |
Description |
Style |
Example |
%ERROR_TITLE% |
A header for the report
|
|
findinsite-ms Results |
%ERROR_MSG% |
The report message
|
|
0 pages found These words were not found in any pages: sausage |
%FIELDS_TEXT% |
The last field search terms entered
|
fisFieldsText |
[keywords:search] [lang:en] |
%L_SEARCH_RESULTS_FOR% |
Localised phrase for
Search results for:
|
|
Résultats de la recherche pour: |
%SEARCH_TEXT% |
The last search entered
|
fisSearchText |
CD and Search |
Template Include Directives
Any of the template files may use a directive %INCLUDE=...%
to include another page in the findinsite-ms output.
The page name must not be in quotes.
The page name is appended to the findinsite-ms application URL,
and sent as a web request (not a file access). The page output must be in UTF-8.
Use the following in a findinsite-ms template file (eg findhead.htt ) to include
the contents of file header.htt in the findinsite-ms output.
%INCLUDE=header.htt%
A template file can refer to an ASPX file if you want, eg:
%INCLUDE=head.aspx%
Include file form variables
Included files are sent findinsite-ms parameters as FORM variables -
but only if the included file is an ASPX file.
Therefore included files can generate dynamic output based on the current search or search result.
(Note that the Session object is not used.)
The following excerpt from an ASP.NET file indicates how the form variables can be used - however
see below for details of charset considerations.
SearchText <%=Request.Params["SearchText"]%><br>
SheetNo <%=Request.Params["SheetNo"]%><br>
ResultsPerSheet <%=Request.Params["ResultsPerSheet"]%><br>
The following form variables are available as strings, and valid as indicated.
The "SearchText", "Title" and "Abstract" strings are made HTML-safe for printing out in a browser.
Header, Footer, Top, Bottom and Line
|
SearchText |
SheetNo |
ResultsPerSheet |
Top, Bottom and Line
|
hits |
SHEET_LAST |
Line
|
ResultNo |
Title |
Filename |
URL |
Abstract |
WordCount |
Include file parameter charset considerations
The form variables passed to the include file are encoded in the UTF-8 charset.
If the include file is in the findinsite-ms application directory
then the form variables are assumed to be in the "ISO-8859-1" charset. This is set in
the application Web.Config file - do not change this setting please.
Instead use the following C# code to get the form variables correctly.
This complete example lists all supplied form parameters. The
getFormParameter() method handles the charset conversion correctly.
<%@ Page Language="c#" AutoEventWireup="true" %>
<script Language="c#" runat=server>
private string getFormParameter( string name)
{
string rv = Request.Form[name];
if( rv==null || rv.Length==0) return null;
byte[] rvb = Request.ContentEncoding.GetBytes(rv);
char[] rvc = Encoding.UTF8.GetChars(rvb);
rv = new String(rvc);
return rv;
}
</script>
All parameters:<br>
<%
foreach( string param in Request.Form)
{
Response.Write(param+"="+getFormParameter(param)+"<br>");
}
%>
|
Note: in the above code, ASP.NET performs cross-site scripting validation on all form variables.
Some abstracts could cause such a failure.
|