We're using the Google Search Appliance.
The problem for my site is the code that goes in the head of my design. This is the code for our header.php file:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><?php echo settings('site_title'); echo $title ? ' | ' . $title : ''; ?></title>
<!-- Meta -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="<?php echo settings('description'); ?>" />
<?php echo auto_discovery_link_tag(); ?>
<!-- Stylesheets -->
<link rel="stylesheet" media="screen" href="<?php echo html_escape(css('screen')); ?>" />
<link rel="stylesheet" media="print" href="<?php echo html_escape(css('print')); ?>" />
<!-- JavaScripts -->
<?php echo js('default'); ?>
<script type="text/javascript" src="http://africanamericanart.si.edu/themes/fromscratch/js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" charset="utf-8">
jQuery.noConflict();
</script>
<script type="text/javascript" src="http://africanamericanart.si.edu/themes/fromscratch/js/slicker.js"></script>
<!--JS for limiting num of char in textfield -->
<script language="javascript" type="text/javascript">
function limitText(limitField, limitCount, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);
} else {
limitCount.value = limitNum - limitField.value.length;
}
}
</script>
<!-- link to the JavaScript files -->
<script language="javascript" type="text/javascript" src="http://africanamericanart.si.edu/themes/fromscratch/js/hoverIntent.js"></script>
<script language="javascript" type="text/javascript" src="http://africanamericanart.si.edu/themes/fromscratch/js/superfish.js"></script>
<!-- initialize Superfish -->
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$("ul.sf-menu").superfish();
});
</script>
<!-- Plugin Stuff -->
<?php echo plugin_header(); ?>
</head>
<body<?php echo $bodyid ? ' id="'.$bodyid.'"' : ''; ?><?php echo $bodyclass ? ' class="'.$bodyclass.'"' : ''; ?>>
<div id="wrap">
<div id="header">
<div id="site-title"><a href="http://africanamericanart.si.edu/index.php"><img src="http://africanamericanart.si.edu/themes/fromscratch/images/logo.jpg" alt="Oh Freedom!" width="460" height="85" border="0" /></a>
<div class="section_color"></div>
<div id="search-wrap">
<p><a href="/myomeka">Login</a> | <a href="/myomeka/register">Register</a></p>
<!-- Search My Google Search Appliance -->
<form method="get" action="http://si-pwebsrch02.si.edu/search">
<table>
<tr>
<td>
<input type="text" name="q" size="25" maxlength="255" value=""/>
<input type="submit" name="btnG" value="Search"/>
<input type="hidden" name="site" value="africanamericanart"/>
<input type="hidden" name="client" value="africanamericanart"/>
<input type="hidden" name="proxystylesheet" value="africanamericanart"/>
<input type="hidden" name="output" value="xml_no_dtd"/>
</td>
</tr>
</table>
</form>
<!-- End Search My Google Search Appliance-->
<!--myOmeka Search code -->
<!--
<?php echo my_omeka_user_status(); ?>
<?php echo simple_search(); ?>
<?php echo link_to_advanced_search(); ?>
-->
</div><!-- close search-wrap -->
</div><!-- close site-title -->
<div id="primary-nav">
<div class="tab_navigation">
<ul class="sf-menu">
<li class="nav-introduction"><a href="#">Introduction</a>
<ul style="width: 108px;">
<li class="nav-about-oh-freedom"><a href="/intro">About Oh Freedom!</a></li>
<li class="nav-faq"><a href="/faq">FAQ</a></li>
<li class="nav-site-guide"><a href="/site_map">Site Map</a></li>
<li><a href="mailto:africanamericanart@si.edu">Contact Us</a></li>
</ul>
</li>
<li class="nav-explore-history-in-art"><a href="#">Explore History in Art</a>
<ul style="width: 183px;">
<li class="nav-timeline"><a href="/timeline">Timeline</a></li>
<li class="nav-art"><a href="/art">Art</a></li>
<li class="nav-artists"><a href="/artists">Artists</a></li>
<li class="nav-collect"><a href="/myomeka/help">Collect</a></li>
</ul>
</li>
<li class="nav-lesson-plans"><a href="#">Lesson Plans</a>
<ul style="width: 110px;">
<li class="nav-overview"><a href="/overview">Overview</a></li>
<li class="nav-create-a-lesson-plan"><a href="/share">Create a Lesson Plan</a></li>
<li class="nav-view-lesson-plans"><a href="/items?type=10">View Lesson Plans</a></li>
<li class="nav-start-a-conversation"><a href="/discuss">Start a Conversation</a></li>
</ul>
</li>
<li class="nav-more-resources"><a href="#">More Resources</a>
<ul style="width: 138px;">
<li class="nav-curriculum-standards"><a href="/teaching">Teaching with Oh Freedom!</a></li>
<li class="nav-teacher-bibliography"><a href="/teacher_bibliography">Teacher Bibliography</a></li>
<li class="nav-student-bibliography"><a href="/student_bibliography">Student Bibliography</a></li>
<li class="nav-general-bibliography"><a href="/general_bibliography">General Bibliography</a></li>
<li class="nav-glossary"><a href="/glossary">Glossary</a></li>
</ul>
</li>
</ul>
</div><!-- close tab-navigation -->
</div><!-- close primary-nav -->
</div><!-- close header-->
<div id="content">
When I enter that into the Header textbox in the wizard a lot of the <head> code is put within Google's body tag. Here's what the results page code looks like:
<html><head>
<meta name="robots" content="NOINDEX,NOFOLLOW">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Search Results:
Malcolm X
</title><style>
<!--
body,td,div,.p,a,.d,.s{font-family:palatino, "times new roman", serif}
body,td,div,.p,a,.d{font-size: }
body,div,td,.p,.s{color:#000000}
body,.d,.p,.s{background-color:#ffffff}
.s{font-size: 80%}
.g{margin-top: 1em; margin-bottom: 1em}
.s td{width:34em}
.l{font-size: }
.l{color: #0000cc}
a:link,.w,.w a:link{color:#0000cc}
.f,.f:link,.f a:link{color:#7777cc}
a:visited,.f a:visited{color:#551a8b}
a:active,.f a:active{color:#ff0000}
.t{color:#000000}
.t{background-color:#ffffff}
.z{display:none}
.i,.i:link{color:#a90a08}
.a,.a:link{color:#008000}
div.n {margin-top: 1ex}
.n a{font-size: 10pt; color:#000000}
.n .i{font-size: 10pt; font-weight:bold}
.q a:visited,.q a:link,.q a:active,.q {color:#0000cc;}
.b,.b a{font-size: 12pt; color:#0000cc; font-weight:bold}
.d{margin-right:1em; margin-left:1em;}
div.oneboxResults {
height: expression( this.scrollHeight > 499 ? "500px" : "auto" ); /* sets
max-height for IE 499, 500 mismatch is to avoid IE6 freeze bug*/
max-height:500px;
overflow:visible;}
--></style><script type="text/javascript">
<!--
function resetForms() {
for (var i = 0; i < document.forms.length; i++ ) {
document.forms[i].reset();
}
}
// Search query
var page_query = "Malcolm+X"
// Starting page offset, usually 0 for 1st page, 10 for 2nd, 20 for 3rd.
var page_start = ""
// Front end that served the page.
var page_site = "africanamericanart"
//--></script></head>
<body onLoad="resetForms()" dir="ltr"> <!-- Please enter html code below. -->
<!-- Please enter html code below. -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Oh Freedom! | Search Results</title>
<!-- Meta -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="" />
<?php echo auto_discovery_link_tag(); ?>
<!-- Stylesheets -->
<link rel="stylesheet" media="screen" href="http://africanamericanart.si.edu/themes/fromscratch/css/google_search.css" />
<link rel="stylesheet" media="print" href="http://africanamericanart.si.edu/themes/fromscratch/css/print.css" />
<link rel="stylesheet" media="screen" href="http://africanamericanart.si.edu/themes/fromscratch/css/about.css" />
<style>
p {text-indent:0;}
</style>
<!-- JavaScripts -->
<script type="text/javascript" src="http://africanamericanart.si.edu/application/views/scripts/javascripts/prototype.js" charset="utf-8"></script>
<script type="text/javascript" src="http://africanamericanart.si.edu/application/views/scripts/javascripts/prototype-extensions.js"
charset="utf-8"></script>
<script type="text/javascript" src="http://africanamericanart.si.edu/application/views/scripts/javascripts/scriptaculous.js?load=effects,dragdrop"
charset="utf-8"></script>
<script type="text/javascript" src="http://africanamericanart.si.edu/application/views/scripts/javascripts/search.js" charset="utf-8"></script>
<script type="text/javascript" src="http://africanamericanart.si.edu/themes/fromscratch/js/jquery-1.4.4.min.js"></script>
<script type="text/javascript" charset="utf-8">
jQuery.noConflict();
</script>
<script type="text/javascript" src="http://africanamericanart.si.edu/themes/fromscratch/js/slicker.js"></script>
<!--JS for limiting num of char in textfield -->
<script language="javascript" type="text/javascript">
function limitText(limitField, limitCount, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);
} else {
limitCount.value = limitNum - limitField.value.length;
}
}
</script>
<!-- link to the JavaScript files -->
<script language="javascript" type="text/javascript" src="http://africanamericanart.si.edu/themes/fromscratch/js/hoverIntent.js"></script>
<script language="javascript" type="text/javascript" src="http://africanamericanart.si.edu/themes/fromscratch/js/superfish.js"></script>
<!-- initialize Superfish -->
<script language="javascript" type="text/javascript">
$(document).ready(function(){
$("ul.sf-menu").superfish();
});
</script>
<!-- Plugin Stuff -->
<link rel="stylesheet" media="screen" href="http://africanamericanart.si.edu/plugins/MyOmeka/views/shared/css/myomeka.css"
/>
</head>
<body id="search">
<div id="wrap">
<div id="header" style="width=920px;">
<div id="site-title"><a href="http://africanamericanart.si.edu/index.php"><img src="http://africanamericanart.si.edu/themes/fromscratch/images/logo.jpg"
alt="Oh Freedom!" width="460" height="85" border="0" /></a>
<div class="section_color"></div>
<div id="search-wrap">
<p><a href="http://africanamericanart.si.edu/myomeka">Login</a> | <a href="http://africanamericanart.si.edu/myomeka/register">Register</a></p>
<!-- Search My Google Search Appliance -->
<form method="get" action="http://si-pwebsrch02.si.edu/search">
<table>
<tr>
<td>
<input type="text" name="q" size="25" maxlength="255" value=""/>
<input type="submit" name="btnG" value="Search"/>
<input type="hidden" name="site" value="africanamericanart"/>
<input type="hidden" name="client" value="africanamericanart"/>
<input type="hidden" name="proxystylesheet" value="africanamericanart"/>
<input type="hidden" name="output" value="xml_no_dtd"/>
</td>
</tr>
</table>
</form>
<!-- End Search My Google Search Appliance-->
<!--myOmeka Search code -->
<!--
<?php echo my_omeka_user_status(); ?>
<?php echo simple_search(); ?>
<?php echo link_to_advanced_search(); ?>
-->
</div><!-- close search-wrap -->
</div><!-- close site-title -->
<div id="primary-nav">
<div class="tab_navigation">
<ul class="sf-menu">
<li class="nav-introduction"><a href="#">Introduction</a>
<ul style="width: 108px;">
<li class="nav-about-oh-freedom"><a href="http://africanamericanart.si.edu/intro">About Oh Freedom!</a></li>
<li class="nav-faq"><a href="http://africanamericanart.si.edu/faq">FAQ</a></li>
<li class="nav-site-guide"><a href="http://africanamericanart.si.edu/site_map">Site Map</a></li>
<li><a href="mailto:africanamericanart@si.edu">Contact Us</a></li>
</ul>
</li>
<li class="nav-explore-history-in-art"><a href="#">Explore History in Art</a>
<ul style="width: 183px;">
<li class="nav-timeline"><a href="http://africanamericanart.si.edu/timeline">Timeline</a></li>
<li class="nav-art"><a href="http://africanamericanart.si.edu/art">Art</a></li>
<li class="nav-artists"><a href="http://africanamericanart.si.edu/artists">Artists</a></li>
<li class="nav-collect"><a href="http://africanamericanart.si.edu/myomeka/help">Collect</a></li>
</ul>
</li>
<li class="nav-lesson-plans"><a href="#">Lesson Plans</a>
<ul style="width: 110px;">
<li class="nav-overview"><a href="http://africanamericanart.si.edu/overview">Overview</a></li>
<li class="nav-create-a-lesson-plan"><a href="http://africanamericanart.si.edu/share">Create a Lesson Plan</a></li>
<li class="nav-view-lesson-plans"><a href="http://africanamericanart.si.edu/items?type=10">View Lesson Plans</a></li>
<li class="nav-start-a-conversation"><a href="http://africanamericanart.si.edu/discuss">Start a Conversation</a></li>
</ul>
</li>
<li class="nav-more-resources"><a href="#">More Resources</a>
<ul style="width: 138px;">
<li class="nav-curriculum-standards"><a href="http://africanamericanart.si.edu/teaching">Teaching with Oh Freedom!</a></li>
<li class="nav-teacher-bibliography"><a href="http://africanamericanart.si.edu/teacher_bibliography">Teacher Bibliography</a></li>
<li class="nav-student-bibliography"><a href="http://africanamericanart.si.edu/student_bibliography">Student Bibliography</a></li>
<li class="nav-general-bibliography"><a href="http://africanamericanart.si.edu/general_bibliography">General Bibliography</a></li>
<li class="nav-glossary"><a href="http://africanamericanart.si.edu/glossary">Glossary</a></li>
</ul>
</li>
</ul>
</div><!-- close tab-navigation -->
</div><!-- close primary-nav -->
</div><!-- close header-->
You can see that my head code appears within their body code. Even with this non-validating code, it looks good in Firefox, Chrome, and Safari but not in IE. Take a look at this page in IE and compare it by looking at the same page in Firefox: http://si-pwebsrch02.si.edu/search?q=Malcolm+X&btnG=Search&site=africanamericanart&client=africanamericanart&proxystylesheet=africanamericanart&output=xml_no_dtd
So, Google says I need to parse the xml from the GSA and then create my results page.
Since Omeka's built-in search is not very robust, it would be helpful for Omeka users who want to use Google's Search Appliance to have a template to work with. There are many here at the Smithsonian who have done this with ColdFusion but not with PHP.
`