Really Simple Discovery
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.
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
[edit]RSD was authored by Daniel Berlinger in the Really Simple Discoverability 1.0 specification.[citation needed]
Format
[edit]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:
<link rel="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
[edit]Here is a sample RSD file, from "Really Simple Discoverability 1.0":
<?xml version="1.0" ?>
<rsd version="1.0" xmlns="http://archipelago.phrasewise.com/rsd" >
<service>
<engineName>Blog Munging CMS</engineName>
<engineLink>http://www.blogmunging.com/</engineLink>
<homePageLink>http://www.userdomain.com/</homePageLink>
<apis>
<api name="MetaWeblog" preferred="true" apiLink="http://example.com/xml/rpc/url" blogID="123abc" />
<api name="Blogger" preferred="false" apiLink="http://example.com/xml/rpc/url" blogID="123abc" />
<api name="MetaWiki" preferred="false" apiLink="http://example.com/some/other/url" blogID="123abc" />
<api name="Antville" preferred="false" apiLink="http://example.com/yet/another/url" blogID="123abc" />
<api name="Conversant" preferred="false" apiLink="http://example.com/xml/rpc/url" blogID="">
<settings>
<docs>http://www.conversant.com/docs/api/ </docs>
<notes>Additional explanation here.</notes>
<setting name="service-specific-setting">a value</setting>
<setting name="another-setting">another value</setting>
...
</settings>
</api>
</apis>
</service>
</rsd>
MediaWiki example:
<?xml version="1.0"?>
<rsd version="1.0" xmlns="http://archipelago.phrasewise.com/rsd">
<service>
<apis>
<api name="MediaWiki" preferred="true" apiLink="http://en.wikipedia.org/w/api.php" blogID="">
<settings>
<docs xml:space="preserve">http://mediawiki.org/wiki/API</docs>
<setting name="OAuth" xml:space="preserve">false</setting>
</settings>
</api>
</apis>
<engineName xml:space="preserve">MediaWiki</engineName>
<engineLink xml:space="preserve">http://www.mediawiki.org/</engineLink>
</service>
</rsd>