Really Simple Discovery

Last updated

Really Simple Discovery (RSD) is an XML format and a publishing convention for making services exposed by a blog or other software discoverable by client software.

Contents

It is a way to reduce the information required to set up editing/blogging software to three well known elements: username, password, and homepage URL. Any other critical settings should either be defined in the RSD file related to the website, or discoverable using the information provided.

History

RSD was authored by Daniel Berlinger in the Really Simple Discoverability 1.0 specification.[ citation needed ]

Format

To make use of RSD, the owner of a site places a link tag in the head section of the homepage which indicates the location of the RSD file. An example of what MediaWiki uses is:

<linkrel="EditURI"type="application/rsd+xml"href="https://en.wikipedia.org/w/api.php?action=rsd"/>

If this tag is missing or the file is not found, clients should look in the default location, which is a file named rsd.xml in the webroot. [1] For example, at https://example.net/rsd.xml.

Contents

Here is a sample RSD file, from "Really Simple Discoverability 1.0":

<?xml version="1.0" ?><rsdversion="1.0"xmlns="http://archipelago.phrasewise.com/rsd"><service><engineName>BlogMungingCMS</engineName><engineLink>http://www.blogmunging.com/</engineLink><homePageLink>http://www.userdomain.com/</homePageLink><apis><apiname="MetaWeblog"preferred="true"apiLink="http://example.com/xml/rpc/url"blogID="123abc"/><apiname="Blogger"preferred="false"apiLink="http://example.com/xml/rpc/url"blogID="123abc"/><apiname="MetaWiki"preferred="false"apiLink="http://example.com/some/other/url"blogID="123abc"/><apiname="Antville"preferred="false"apiLink="http://example.com/yet/another/url"blogID="123abc"/><apiname="Conversant"preferred="false"apiLink="http://example.com/xml/rpc/url"blogID=""><settings><docs>http://www.conversant.com/docs/api/</docs><notes>Additionalexplanationhere.</notes><settingname="service-specific-setting">avalue</setting><settingname="another-setting">anothervalue</setting>...</settings></api></apis></service></rsd>

MediaWiki example:

<?xml version="1.0"?><rsdversion="1.0"xmlns="http://archipelago.phrasewise.com/rsd"><service><apis><apiname="MediaWiki"preferred="true"apiLink="http://en.wikipedia.org/w/api.php"blogID=""><settings><docsxml:space="preserve">http://mediawiki.org/wiki/API</docs><settingname="OAuth"xml:space="preserve">false</setting></settings></api></apis><engineNamexml:space="preserve">MediaWiki</engineName><engineLinkxml:space="preserve">http://www.mediawiki.org/</engineLink></service></rsd>

Usage of RSD

See also

References

  1. "RFC: Really Simple Discoverability 1.0". 2007-10-16.
  2. "API discovery - StatusNet". Archived from the original on 2011-06-09. Retrieved 2011-05-02.
  3. MediaWiki source code for ApiRsd.php
  4. MediaWiki API's documentation about the API entry point
  5. Wordpress source code for rsd_link