x-samp extensions

SAMP uses the idea of extensible vocabularies, in which items are labelled with a key string. Keys in the namespace samp (i.e. ones which start samp.) are reserved as well-known and defined in standard itself. Developers are free to define keys in other namespaces as they wish. Keys in the special x-samp namespace are used for those keys that are proposed for possible introduction into the standard in the future. Developers are encouraged to list such keys here, with an explanation of their purpose.

MTypes

See SampMTypes for descriptions

  • x-samp.query.by-meta

Metadata items

  • x-samp.affiliation.name : the name of the organization delivering the software.
  • x-samp.affiliation.url : the web homepage of the organization delivering the software.
  • x-samp.affiliation.contact : the contact web page of the organization delivering the software.
  • x-samp.jnlp.url : in the same way as samp.icon.url, for Java-based application startup.
  • x-samp.jnlp.beta.url : in the same way as x-samp.jnlp.url, for beta release application startup.
  • x-samp.webapp.url : in the same way as x-samp.jnlp.url, for web-based application startup.
  • x-samp.homepage.url : application homepage URL.
  • x-samp.releasenotes.url : application release notes URL.
  • x-samp.rss.url : application RSS feed URL.
  • x-samp.faq.url : application FAQ URL.
  • x-samp.authors : application authors.
  • x-samp.release.version : application version identifier.
  • x-samp.release.date : application release date.

Subscription Annotations

The hub declareSubscriptions() method takes a subscriptions map; the keys are the MType patterns and the values are maps which can potentially annotate the subscription to the MType(s) matching the pattern in question. This form, rather than the perhaps more obvious list of MType patterns, was introduced in case it became useful at some point in the future. Up till now, it hasn't been used much (at all?).

Add below suggestions for well-known keys for use in this context.

  • x-samp.mostly-harmless : A subscribing client can use this to note that an MType it subscribes to is known to be (in)capable of causing security breaches if invoked by a potentially untrusted client. A value of "1" means that it is safe for untrusted invocation, and "0" means it is unsafe. Any other value (or absence of the key) makes no comment. Hub implementations may use this information to modify their policies about whether untrusted or marginally trusted clients are blocked from sending the MType(s) so annotated to that client, but they should not rely on its presence (should fall back to some default policy if it is not supplied). Example:
declareSubscriptions({"test.echo", {"x-samp.mostly-harmless": "1"},
                      "system.delete-all-files", {"x-samp.mostly-harmless": "0"},
                      "table.load.votable", {}})

-- MarkTaylor - 23 Nov 2011

Topic revision: r8 - 2012-09-24 - SylvainLAFRASSE
 
This site is powered by the TWiki collaboration platformCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback