aboutsummaryrefslogtreecommitdiff
path: root/doc/todo/OpenSearch.mdwn
blob: c35da54e10c5bc7c75592754910df842a7458023 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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
will automatically discover an OpenSearch search and offer it in the search
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]]