Migrating
Migration instructions for making the transition from the version 3.4 appliance to the new version 4.2 appliance
SNSMR has renewed its license for the Google Search Appliance, this time opting for a machine operating with Google's version 4.x search software. This new appliance allows for multiple collections, continuous crawling and an increase in the document limit for indexing (500,000 URLs). The migration to this appliance requires changes in search form HTML source code for any websites using the Google search appliance, thus requiring some coordination to make the shift from the old to the new appliance.
Note: The v3.4 search appliance will be taken offline April 30, 2006. All websites using the version 3.4 appliance must switch to the new v4.2 appliance by April 30, 2006.
Overview
Google has changed several aspects in v4.2.2 which will significantly impact how sites reference the appliance. The use of external XSLT style sheets has been eliminated (due to security concerns) as have subcollections; both of these are currently referenced on all sites using the "Ask Joe" search box.
SNSMR has attempted to ease the process of changing from one search appliance version to another. Every subcollection that existed in the old appliance was migrated over to the new appliance as a "collection" and all custom XSLT stylesheets associated with a department, agency or municipality were also imported into the new appliance as "frontends". However, there are a few changes that must be made by government and municipal website coordinators and webmasters in order to use the new appliance interface properly.
Changes in the search form code
The first step in migrating to the new appliance is to point your search form's action parameter to the new appliance.
Old appliance:
<form action="http://www.gov.ns.ca/snsmr/gsa.asp" method="get" name="question" id="question">
New appliance:
<form action="http://www.gov.ns.ca/snsmr/gsa2.asp" method="get" name="question" id="question">
Custom XSLT Stylesheets to Frontends
If your website uses an external XSLT stylesheet to present search results in a customized display, that stylesheet must now be stored on the Google appliance rather than served on a URL-accessible file system. (This change is due to security considerations about cross-site scripting attacks using external URL sources.) SNSMR has tried to save all of the URL-accessible stylesheets associated with subcollections and import them into the new appliance, creating a frontend for each custom XSLT being used on the old appliance. Each department's frontend on the new appliance already has the appropriate stylesheet code associated with it.
The value for the "proxystylesheet" parameter must be changed from a fully-qualified URL to the name of your site's frontend.
Eg: <input type="hidden" name="proxystylesheet" value="your_frontend"/>
Replace "your_frontend" with a frontend that corresponds to the XSLT stylesheet used with the version 3.4 appliance.
Subcollections to Collections
If your website uses a subcollection in its search form (your search form has a "restrict" parameter in it with a value that roughly corresponds to your site name or department), then you will need to change the form slightly:
- Change the "name" of the parameter from "restrict" to "site". The "site" parameter is the name of your collection.
- Change the value of the "client" parameter to your frontend name. This informs the Google appliance which frontend URL filter you want to use.
- If your search form has a "site" parameter with a value of "master_collection", delete that parameter. If you leave this parameter in place along with the newly-created "site" parameter, the appliance may return an error or fail to provide filtered search results based on your frontend.
- Change the value of the "proxystylesheet" parameter to the name of your frontend (the same value as used for the "client" parameter). It is likely that your form's "proxystylesheet" parameter is set to a fully-qualified URL (e.g. " http://www.gov.ns.ca/snsmr/xslt/askjoehowe.xslt"). If you do not use the frontend value for this parameter, the appliance will not return search results in the expected format.
NOTE: If you do not change or remove the "restrict" parameter in your site's search form, the form may not work as expected. The "restrict" parameter is no longer a valid parameter to pass to the new Google search appliances.
Example:
Old appliance:
<input name="site" value="master_collection" type="hidden">
<input name="client" value="master_collection" type="hidden">
<input name="proxystylesheet" value="http://www.gov.ns.ca/snsmr/xslt/askjoehowe.xslt" type="hidden">
<input name="output" value="xml_no_dtd" type="hidden">
<input name="restrict" value="GOVNS_MUSEUMS" type="hidden">
New appliance:
<input name="site" value="GOVNS_MUSEUMS" type="hidden">
<input name="client" value="GOVNS" type="hidden">
<input name="proxystylesheet" value="GOVNS" type="hidden">
<input name="output" value="xml_no_dtd" type="hidden">
For complete search code samples, please refer to these sections:
