[Fwd: [Moderator Action] FW: [widgets] Widgets URI scheme]

Forwarded since this did not reach the www-international list.

Felix

Forwarded message 1

  • From: Misha Wolf <Misha.Wolf@thomsonreuters.com>
  • Date: Fri, 23 May 2008 11:45:56 +0000
  • Subject: [Moderator Action] FW: [widgets] Widgets URI scheme
  • To: WWW International <www-international@w3.org>
  • Message-id: <A29ADE959C70A1449470AA9A212F5D8008C86CE0@LONSMSXM06.emea.ime.reuters.com>
fyi


-----Original Message-----
From: www-tag-request@w3.org [mailto:www-tag-request@w3.org] On Behalf
Of Marcos Caceres
Sent: 23 May 2008 06:57
To: www-tag@w3.org; WAF WG (public)
Cc: Jon Ferraiolo
Subject: [widgets] Widgets URI scheme


Dear TAG,
The WAF working group is seeking advice on the creation of a Widget
URI scheme. The proposal is to introduce a URI scheme that is used
internally by widgets at runtime. Amongst other things, the primary
purpose is to stop implementations from having to use file:// or some
arbitrary URI scheme for addressing resources inside a widget package.
For the benefit of those who have not read the widget spec [1], a
widget resource is essentially a Zip file. Authors, obviously, store
their resources (images, HTML files, etc) inside the Zip file and then
address those resources using either relative or absolute paths (eg
"/images/bg.gif", etc).

At runtime, a user agent resolves the paths to resources inside the
widget package using the widget URI scheme.

This is our strawman proposal:

widget-URI      = "widget:" "//" UUID "/" zip-rel-path
zip-rel-path     = [ *localized-folder ] [ *folder ] [ filename ] /
                   [localized-folder] [ *folder] / [ folder ]
localized-folder = language-tag delimiter
folder           = filename delimiter
delimiter        = U+002F
filename         = 1*254( *basename [file-extension] )
basename         = allowed-chars
file-extension   = "." 1*allowed-chars
allowed-chars    = cp437 / utf8-range
utf8-chars       = ascii-range / U+0080 and beyond
cp437-chars      = ascii-range / x80-FF;
ascii-chars      = ALPHA / DIGIT / SP / "$" / "%" / "'" / "-" / "_" /
"@"
                    / "~" / "`" / "!" / "(" / ")" / "^" / "#" / "&" /
"+"
                    / "," / "." / "=" / "[" / "]"

Language-tag is defined in RFC4646 (BCP47). UUID (Universally Unique
IDentifier) is defined in rfc4122. The intention of using UUIDs (or
some random number) is to identify the current running instance of a
widget when multiple instances are running simultaneously. Authors
would not be able to address other widgets via this scheme (in fact,
there should be no reason at all for authors to use this scheme).

Within WAF, concerns have been raised about using UUIDs as the
identifier and arguments have been made that UUID should be replaced
by some random number generated internally by a widget engine (ie.
leave the choice of random number sequence as an implementation
detail. Eg hashing the name of the widget and time of download).
However, not all members are comfortable with leaving the generation
of random number sequence to implementations as it could introduce
issues.

It has also been proposed that, instead of using "widget://", we use
"zip://" to create a more generic addressing mechanism for Zip files
[2].

Any thoughts, comments, or guidance would be appreciated.

Kind regards,
Marcos

[1] http://dev.w3.org/2006/waf/widgets/
[2]
-- 
Marcos Caceres
http://datadriven.com.au



This email was sent to you by Thomson Reuters, the global news and information company.
Any views expressed in this message are those of the individual sender, except where the sender specifically states them to be the views of Thomson Reuters.

Received on Friday, 23 May 2008 12:21:20 UTC