]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/todo/OpenSearch.mdwn
response
[ikiwiki.git] / doc / todo / OpenSearch.mdwn
index bc4da0b8061577a84ced47e69a946eebc46e5d56..c35da54e10c5bc7c75592754910df842a7458023 100644 (file)
@@ -1,5 +1,38 @@
 [[plugins/search]] could provide [OpenSearch](http://www.opensearch.org/)
 metadata.  Various software supports OpenSearch (see the Wikipedia article on
-[[wikipedia OpenSearch]]); in particular, browsers like Firefox and Iceweasel
+[[!wikipedia OpenSearch]]); in particular, browsers like Firefox and Iceweasel
 will automatically discover an OpenSearch search and offer it in the search
-box. --[[JoshTriplett]]
+box.
+
+More specifically, we want to follow the [OpenSearch Description Document
+standard](http://www.opensearch.org/Specifications/OpenSearch/1.1#OpenSearch_description_document),
+by having a `link` with `rel="search"` and
+`type="application/opensearchdescription+xml"` in the headers of HTML, RSS,
+and Atom pages.  The `href` of that `link` should point to an
+OpenSearchDescription XML file with contents generated based on the
+information in `ikiwiki.setup`, and the `title` attribute of the `link` should
+contain the wiki title from `ikiwiki.setup`.
+
+--[[JoshTriplett]]
+
+> I support adding this. I think all that is needed, beyond the simple task
+> of adding the link header, is to make the search plugin write out
+> the xml file, probably based on a template.
+> 
+> One problem is that the 
+> [specification](http://www.opensearch.org/Specifications/OpenSearch/1.1#OpenSearch_description_document)
+> for the XML file contains a number of silly limits to field lenghs. 
+> For example, it wants a "ShortName" that identifies the search engine,
+> to be 16 characters or less. The Description is limited to 1024,
+> the LongName to 48. This limits what existing config settings can be
+> reused for those. 
+> 
+> Another semi-problem is that the specification saz: 
+> 
+>> OpenSearch description documents should include at least one Query element of role="example" that is expected to return search results. Search clients may use this example query to validate that the search engine is working properly.
+> 
+> How should ikiwiki know what example query will return actual results?
+> (How would a client know if a HTML page contains results or not, anyway?)
+> Sillyness. Ignore this? --[[Joey]]
+
+[[wishlist]]