Difference between revisions of "Capabilities"

From Second Life Wiki
Jump to navigation Jump to search
m
(Linden Lab moved from BitBucket to GitHub; this is the updated link.)
 
(7 intermediate revisions by 3 users not shown)
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 21: Line 23:


Notes:
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.
* 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:
* 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>:
<pre>wget -q -O - http://svn.secondlife.com/svn/linden/trunk/indra/newview/llviewerregion.cpp | grep 'capabilityNames.append' | sed 's/^[ \t]*//;s/capabilityNames.append("//;s/");//'</pre>
<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]
''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 03: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.