RE: [widgets] Widgets URI scheme

Marcos,

Is there an explanation somewhere of why existing mechanisms seem insufficient?


David Booth, Ph.D.
HP Software
+1 617 629 8881 office  |  dbooth@hp.com
http://www.hp.com/go/software

Opinions expressed herein are those of the author and do not represent the official views of HP unless explicitly stated otherwise.


> -----Original Message-----
> From: www-tag-request@w3.org [mailto:www-tag-request@w3.org]
> On Behalf Of Marcos Caceres
> Sent: Thursday, May 22, 2008 10:57 PM
> 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
>
>

Received on Friday, 23 May 2008 23:02:00 UTC