What is the RSSTransform for Google Search Appliance?

RssTransform is a Google Search Appliance Stylesheet to transform GSA results on standar RSS format

What is RSS?

RSS is a standar XML-formed file used to syndicate content through the web. More info: http://en.wikipedia.org/wiki/RSS_(file_format)

How to provide my GSA with RSS service

Just easy as creating a new interface for the GSA and upload the RSS transform to serve results on RSS format

RSSTransform stylesheet is a default stylesheet from GSA

No. RSSTransform dont provide user interface for normal query on GSA, it just provides RSS formatted GSA Results. Then it means that we can't use it as direct stylsheet but we can use it over default GSA stylesheet or XHTML stylesheet from OpenSource.

Ok I got RSSTransform on an GSA Interface... Now?

Right, we have the main part done :) You can be able of see the output by querying the GSA with URL's like http:://mycorp.com/GSASEARCH/search? q=mysearch&proxystylesheet=MYRSSINTERFACENAME&site=default_collection&output=xml_no_dtd As we said, this is not a user friendly format to present results. With the RSSTransform package comes 2 more XSLT files, XHTML Stylesheet and default HTML Google Stylesheet modified and predetermined to exploit the functionallity of RSSTransform interface. Create a new interface with one of 2 the two stylesheets and change the parameter seetings on the xsl:variables like:

	
  <!-- Added For Feed Generation-->
  
  <!-- show_rss = 0 for not generate Feed links, show_rss=! 0  otherwise --> 
  <xsl:variable name="show_rss">1</xsl:variable>
  
  <!-- Num_Rss_Docs determine the number of results on the feed: 10,20,30,50,100
  	20 or 30 Results are recommended  -->
  <xsl:variable name="Num_Rss_Docs">20</xsl:variable>
  
  <!-- show_rss_image = 0 for not add rss image, show_rss_image=! 0  otherwise --> 
  <xsl:variable name="show_rss_image">1</xsl:variable>
  
  <!-- Determines the path for the feed image-->
<xsl:variable name="RSS_image_path">./image/feed-icon-24x24.jpg</xsl:variable>
  
  <!-- RssStyleSheetName is the name for the GSA frontend with the RSS Transformation -->
  
   <xsl:variable name="RssStylesheetName">MyRssStylesheetName</xsl:variable>
   
   <!-- FeedSort determines the sort mode for date(0) or relevance(1)-->
   <xsl:variable name="FeedSort">0</xsl:variable>
     
     <xsl:variable name="StringSort">
      <xsl:choose>
		<xsl:when test="$FeedSort=0">date:D:S:d1</xsl:when>
		<xsl:otherwise></xsl:otherwise>
	</xsl:choose>
     </xsl:variable>
     
  <!-- *** Feed_url *** For generating the feed link -->
<xsl:variable name="feed_url">
  <xsl:text>search?</xsl:text><xsl:for-each select="/GSP/PARAM[((@name != 'start') and (@name != 'ip') and (@name!='proxystylesheet') and (@name!='sort') and(@name!='filter') )]">
    <xsl:value-of select="@name"/><xsl:text>=</xsl:text>
    <xsl:value-of select="@original_value"/>
    <xsl:if test="position() != last()">
      <xsl:text disable-output-escaping="yes">&</xsl:text>
    </xsl:if>
  </xsl:for-each>
  <xsl:text>&proxystylesheet=</xsl:text><xsl:value-of select="$RssStylesheetName"/>
  <xsl:text>&sort=</xsl:text><xsl:value-of select="$StringSort"/>
  <xsl:text>&filter=0</xsl:text>
  
</xsl:variable>

  <!-- End addition -->
	

Step-By-Step RSSTransform installation on your GSA

To add RSS feed functionality to your GSA:

  1. Create a new Front End that is to provide the actual RSS feed for your search results.
  2. Choose a second Front End where your user's will run searches to configure their RSS feeds. This can be your GSA's default Front End. Alternatively you can create a second new Front End. In these cases (where the Front End has not yet been customized at all), run through the following steps. (To use an existing custom Front End, you'll need to merge this functionality into your custom XSLT stylesheet. See below(*) for the code you'll need to merge in.)
  3. Point your users at the Front End from step (2) above. When they run a search, the feed icon should now show up in the upper right of the search results page. If they click on that icon, the URL from the resulting page will be a URL that they can subscribe to in their RSS reader. Thats it!

*To merge this functionality into an existing custom Front End, then you'll need to inject the following XSLT snippets into the appropriate places and customize them as stated in step (2) above.
As an alternative to using the xhtml-based stylesheet (gsa-xhtml.en.xslt) in step (2) you can use a version that corresponds to the default stylesheet given with the GSA. To do this substitute in the given Default-GSA-HTML.xslt in place of gsa-xhtml.en.xslt in step (2) above.

Which are the differences of these modified XSLT with the original ones

Both XSLT GSA stylesheets have been modified for adding all the feed control. Basically its a added a <ink rel="altertate" that notifies automatically to browser that exists a live bookmark on this site. And i've added a standard rss icon under Sort By options.That's all :)

RSSTransform Support support

I've you have any questions about RSSTransformation email me at valvarez AT sitesa DOT com

RSSTransform License

RSSTransform is distibuted free under Apache 2.0 License

Special Agreements

To Pedro, Borja, Julián, Pablo and Germán for their support on SITESA daily job
To Jeff Ragusa (Google) for his suggestions about RSSTansformation and help during this developement.
To all of you for use it !

----
----
Authoring credits to Victor Álvarez and the team from SITESA (Spain)

Please see the following for the current list of known issues or to submit an issue:
http://code.google.com/p/enterprise-code-samples/issues/list