AssetServer/ClientDocs

From OpenSimulator

(Difference between revisions)
Jump to: navigation, search
(New page: <pre>{ "id":"uuid::c228d1cf-4b5d-4ba8-84f4-899a0796aa97", "name":"Default Avatar", "description":"", "creation_date":"date::2008-11-26T00:49:48.83Z", "type":"image/jp2", ...)
 
Line 1: Line 1:
 +
=Client Documentation=
 +
 +
Through the variety of extensions that ship with the asset server, several wire protocol formats are supported. Connectors for existing OpenSim grid protocols have been added wherever possible, along with new frontends that support web browsers and extensible metadata through JSON.
 +
 +
==Reference Asset Protocol==
 +
 
<pre>{
 
<pre>{
 
   "id":"uuid::c228d1cf-4b5d-4ba8-84f4-899a0796aa97",
 
   "id":"uuid::c228d1cf-4b5d-4ba8-84f4-899a0796aa97",
Line 21: Line 27:
 
   }
 
   }
 
}</pre>
 
}</pre>
 +
 +
==Reference Inventory Protocol==
 +
 +
The inventory reference protocol is a work in progress. Leave notes on the discussion page for this document or start a thread on the [https://lists.berlios.de/mailman/listinfo/opensim-dev opensim-dev] mailing list if you'd like to be a part of the process.
 +
 +
==OpenSim Asset Protocol==
 +
 +
The OpenSim.Grid.AssetServer.exe protocol uses a REST interface for retrieving and storing assets. Assets are fetched with a GET to /assets/[assetid] or /assets/[assetid]?texture. The additional ?texture parameter is optional and does not change the response in any way. Asset data and metadata are returned in an XML format, with the asset data base64 encoded as an XML element. To upload, the same XML data structure that is received from a GET is POSTed to /assets/. The XML data is serialized from a class in OpenSim code, therefore the structure is subject to change. The current XML serialization is undocumented outside of source code.
 +
 +
==OpenSim Inventory Protocol==
 +
 +
OpenSim.Grid.InventoryServer.exe supports both a REST-like interface and an XML-RPC interface. Although the former interface shares some similar properties with a REST interface, it defines an additional messaging layer using HTTP POSTs of XML data for all requests. The REST-like interface is actually somewhere between SOAP and XML-RPC.
 +
 +
An example request, passing a single UUID argument in with session information:
 +
 +
<pre>&lt;?xml version=&quot;1.0&quot;?&gt;
 +
&lt;RestSessionObjectOfGuid xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
 +
  &lt;SessionID&gt;070b4811-0a57-4fcd-bb3a-a03fbe9106d2&lt;/SessionID&gt;
 +
  &lt;AvatarID&gt;634ada51-3151-4e6d-a989-309f89f740e0&lt;/AvatarID&gt;
 +
  &lt;Body&gt;3207551c-da01-49ec-bb6e-f24f9ab36dcb&lt;/Body&gt;
 +
&lt;/RestSessionObjectOfGuid&gt;</pre>
 +
 +
Another example, passing a single UUID argument with no session information:
 +
 +
<pre>&lt;?xml version=&quot;1.0&quot;?&gt;
 +
&lt;guid&gt;3207551c-da01-49ec-bb6e-f24f9ab36dcb&lt;/guid&gt;</pre>
 +
 +
==OpenID Authentication==

Revision as of 02:40, 2 December 2008

Contents

Client Documentation

Through the variety of extensions that ship with the asset server, several wire protocol formats are supported. Connectors for existing OpenSim grid protocols have been added wherever possible, along with new frontends that support web browsers and extensible metadata through JSON.

Reference Asset Protocol

{
   "id":"uuid::c228d1cf-4b5d-4ba8-84f4-899a0796aa97",
   "name":"Default Avatar",
   "description":"",
   "creation_date":"date::2008-11-26T00:49:48.83Z",
   "type":"image/jp2",
   "sha1":"b64::3ftHyRoIfVYSeumfxRcSk4LZVVU=",
   "temporary":false,
   "methods":{
      "data":"uri::http://localhost:9001/c228d1cf-4b5d-4ba8-84f4-899a0796aa97/data"
   },
   "extra_data":{
      "components":3,
      "layer_ends":[
         580,
         1987,
         7983,
         31969,
         36041
      ]
   }
}

Reference Inventory Protocol

The inventory reference protocol is a work in progress. Leave notes on the discussion page for this document or start a thread on the opensim-dev mailing list if you'd like to be a part of the process.

OpenSim Asset Protocol

The OpenSim.Grid.AssetServer.exe protocol uses a REST interface for retrieving and storing assets. Assets are fetched with a GET to /assets/[assetid] or /assets/[assetid]?texture. The additional ?texture parameter is optional and does not change the response in any way. Asset data and metadata are returned in an XML format, with the asset data base64 encoded as an XML element. To upload, the same XML data structure that is received from a GET is POSTed to /assets/. The XML data is serialized from a class in OpenSim code, therefore the structure is subject to change. The current XML serialization is undocumented outside of source code.

OpenSim Inventory Protocol

OpenSim.Grid.InventoryServer.exe supports both a REST-like interface and an XML-RPC interface. Although the former interface shares some similar properties with a REST interface, it defines an additional messaging layer using HTTP POSTs of XML data for all requests. The REST-like interface is actually somewhere between SOAP and XML-RPC.

An example request, passing a single UUID argument in with session information:

<?xml version="1.0"?>
<RestSessionObjectOfGuid xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <SessionID>070b4811-0a57-4fcd-bb3a-a03fbe9106d2</SessionID>
  <AvatarID>634ada51-3151-4e6d-a989-309f89f740e0</AvatarID>
  <Body>3207551c-da01-49ec-bb6e-f24f9ab36dcb</Body>
</RestSessionObjectOfGuid>

Another example, passing a single UUID argument with no session information:

<?xml version="1.0"?>
<guid>3207551c-da01-49ec-bb6e-f24f9ab36dcb</guid>

OpenID Authentication

Personal tools
General
About This Wiki