Jump to content

Really Simple Discovery

From Wikipedia, the free encyclopedia

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>

Usage of RSD

[edit]

See also

[edit]

References

[edit]
  1. ^ "RFC: Really Simple Discoverability 1.0". 2007-10-16.
  2. ^ API discovery - StatusNet
  3. ^ MediaWiki source code for ApiRsd.php
  4. ^ MediaWiki API's documentation about the API entry point
  5. ^ Wordpress source code for rsd_link
[edit]