Difference between revisions of "Capabilities"

From Second Life Wiki
Jump to navigation Jump to search
 
(Linden Lab moved from BitBucket to GitHub; this is the updated link.)
 
(13 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{ProtocolNav}}
{{ProtocolNav}}[[Category:Capabilities| ]]


The viewer (and other client applications) can request '''capabilities''' from the simulators to gain access to certain features.
The viewer (and other client applications) can request '''capabilities''' from the simulators to gain access to certain features.
Line 5: Line 5:
*  Map from public URL to private URL
*  Map from public URL to private URL
**  e.g. https://sim1001:12041/cap/uuid1
**  e.g. https://sim1001:12041/cap/uuid1
*  Cap set <map><key>Asset upload</key>
*  Cap set  
*:                <uri>URI1</uri>
:<syntaxhighlight lang="XML"><map>
*:                <key>Seed capability</key>
  <key>Asset upload</key>
*:                <uri>URI2</uri>
  <uri>URI1</uri>
*:                </map>            
  <key>Seed capability</key>
  <uri>URI2</uri>
</map></syntaxhighlight>     
*  Viewer knows public URL
*  Viewer knows public URL
*  Internally, backbone stores both public and private URL
*  Internally, backbone stores both public and private URL
Line 19: Line 21:
*  Sim contacts backbone, sending a private uri corresponding to an action or service
*  Sim contacts backbone, sending a private uri corresponding to an action or service
*  Backbone generates and returns a public uri corresponding to the private uri
*  Backbone generates and returns a public uri corresponding to the private uri
Notes:
* Do not rely on the form of a capability, other than it must be {{mono|http:}} or {{mono|https:}}.  Capabilities from the same source needn't point to the same host or port, and the path needn't start {{mono|/cap}}.
* To get a list of the capabilities that the latest Second Life client is requesting, use this command<ref>Linden Lab moved from BitBucket to GitHub; this is the updated link.</ref>:
<syntaxhighlight lang="bash">curl https://raw.githubusercontent.com/secondlife/viewer/contribute/indra/newview/llviewerregion.cpp | grep 'capabilityNames.append' | sed -E 's/(.*)"([[:alnum:]]+)"(.*)/\2/g'</syntaxhighlight>
''See also'': [http://mrtopf.de/blog/secondlife/slga-capabilities-explained-technical Tao Takaishi's blog discussion of capabilities]
: Some of the capabilities are listed on [[Current Sim Capabilities]].

Latest revision as of 02:52, 9 March 2023

The viewer (and other client applications) can request capabilities from the simulators to gain access to certain features.

<map>
  <key>Asset upload</key>
  <uri>URI1</uri>
  <key>Seed capability</key>
  <uri>URI2</uri>
</map>
  • Viewer knows public URL
  • Internally, backbone stores both public and private URL


Flow for getting capabilities

  • Viewer contacts login server requesting a particular capability
  • Login server contacts sim
  • Sim contacts backbone, sending a private uri corresponding to an action or service
  • Backbone generates and returns a public uri corresponding to the private uri

Notes:

  • Do not rely on the form of a capability, other than it must be http: or https:. Capabilities from the same source needn't point to the same host or port, and the path needn't start /cap.
  • To get a list of the capabilities that the latest Second Life client is requesting, use this command[1]:
curl https://raw.githubusercontent.com/secondlife/viewer/contribute/indra/newview/llviewerregion.cpp | grep 'capabilityNames.append' | sed -E 's/(.*)"([[:alnum:]]+)"(.*)/\2/g'


See also: Tao Takaishi's blog discussion of capabilities

Some of the capabilities are listed on Current Sim Capabilities.
  1. Linden Lab moved from BitBucket to GitHub; this is the updated link.