aboutsummaryrefslogtreecommitdiff
path: root/doc/todo/OpenSearch.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'doc/todo/OpenSearch.mdwn')
-rw-r--r--doc/todo/OpenSearch.mdwn38
1 files changed, 38 insertions, 0 deletions
diff --git a/doc/todo/OpenSearch.mdwn b/doc/todo/OpenSearch.mdwn
new file mode 100644
index 000000000..c35da54e1
--- /dev/null
+++ b/doc/todo/OpenSearch.mdwn
@@ -0,0 +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
+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]]