[ogpx] issue : naming of capabilities in OGP
Infinity Linden <infinity@lindenlab.com> Fri, 29 May 2009 20:57 UTC
Return-Path: <infinity@lindenlab.com>
X-Original-To: ogpx@core3.amsl.com
Delivered-To: ogpx@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix)
with ESMTP id 8F3533A6FDB for <ogpx@core3.amsl.com>;
Fri, 29 May 2009 13:57:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.544
X-Spam-Level:
X-Spam-Status: No, score=-1.544 tagged_above=-999 required=5 tests=[AWL=0.433,
BAYES_00=-2.599, FM_FORGED_GMAIL=0.622]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com
[127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XnhfMSg8uKoB for
<ogpx@core3.amsl.com>; Fri, 29 May 2009 13:57:38 -0700 (PDT)
Received: from yx-out-2324.google.com (yx-out-2324.google.com [74.125.44.28])
by core3.amsl.com (Postfix) with ESMTP id 856E53A6F46 for <ogpx@ietf.org>;
Fri, 29 May 2009 13:57:38 -0700 (PDT)
Received: by yx-out-2324.google.com with SMTP id 8so6148951yxb.49 for
<ogpx@ietf.org>; Fri, 29 May 2009 13:59:20 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.100.120.10 with SMTP id s10mr4368456anc.86.1243630760555;
Fri, 29 May 2009 13:59:20 -0700 (PDT)
In-Reply-To: <3a880e2c0905291356w64a89d1an640ed68196225911@mail.gmail.com>
References: <3a880e2c0905291356w64a89d1an640ed68196225911@mail.gmail.com>
Date: Fri, 29 May 2009 13:59:20 -0700
Message-ID: <3a880e2c0905291359r6383f485u12ba2235a963b46d@mail.gmail.com>
From: Infinity Linden <infinity@lindenlab.com>
To: ogpx@ietf.org
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Subject: [ogpx] issue : naming of capabilities in OGP
X-BeenThere: ogpx@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Virtual Worlds and the Open Grid Protocol <ogpx.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/ogpx>,
<mailto:ogpx-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ogpx>
List-Post: <mailto:ogpx@ietf.org>
List-Help: <mailto:ogpx-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ogpx>,
<mailto:ogpx-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 29 May 2009 20:57:39 -0000
hey peeps... just thought i would try to kick off a couple technical discussions... so... if you look at the auth spec ( http://tools.ietf.org/html/draft-hamrick-ogp-auth-00 ), you'll note that the client application is supposed to tell the agent domain what capabilities (caps) it wants. this assumes the client application knows the cap names and how to interact with the system hosting the cap. (we _could_ get into a discussion about service discovery here, but i'm hoping to limit the discussion on this thread to just the naming issue.) currently, capability names are descriptive strings (like "place/avatar" and so forth.) There is a recommendation that we use URIs of the following format as cap names: "standard" capabilities defined by OGP should be identified as a URN in the format: URN:OGP:<capability name> ("urn:ogp:/avatar/place" or "urn:ogp:/eventqueue/get") private extensions might be identified by URNs like: URN:OGP:<authority>/<capability name> ("urn:ogp:org.opensimulator/chatsession/create" or even "urn:ogp:org.example/avatar/place") so... to define it a little more formally with EBNF, you could say that the OGP URN looks like: ogpurn = 'URN:OGP:' , [ authority ] , capname ; capname = { fragment } ; fragment = '/' , { alphanumeric } ; alphanumeric = alpha | digit ; alphabetic character = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z" | "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z" ; digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ; (also... insert the appropriate EBNF description of a fqdn for authority (i'm too lazy to copy it.) and if you wanted to get wild and conflate the name of the cap with the location of a resource about the cap, you would use a traditonal RFC2616 / 2817 http / https url like ("http://example.org/capabilities/avatar/place") the development for this recommendation is... * i made the recommendation that since peeps might want to create extensions to OGP (in fact, OGP is expected to have extensions if for no other reason than we can test capabilities before they're codified in an rfc.) i was exposed to the java way of naming classes which is to start the name of your class as the reverse of each element in your organization's FQDN. So.. I recommended something like "com.lindenlab.extension.foo" for linden-specific extensions "com.ibm.extension.bar" for IBM specific extensions, etc. * this left open the question of how do we denote standard cap names that are defined in the spec. putting them under "com.lindenlab" is inappropriate because OGP is a community effort. and doing the java thing of putting standard caps under "ogp." is probably bad 'cause ICANN is going to start allowing peeps to register arbitrary TLDs any day now; creating a spec that requires SOMEONE to partner with a registry so we can control the ogp.* namespace to prevent name collisions is a plan fraught with peril. * plus... John has an interest in using URLs as opaque cap identifiers. and the solution that came out of it was using a URN. this would require us to approach IANA and get a URN NID for OGP which is a non-zero amount of work. also... the way i've defined it, we're limiting cap names to ASCII characters which may be inappropriate in an international world. -comments? -questions? -cheers! -meadhbh
- [ogpx] issue : naming of capabilities in OGP Infinity Linden
- Re: [ogpx] issue : naming of capabilities in OGP Larry Masinter
- Re: [ogpx] issue : naming of capabilities in OGP Infinity Linden