[Registry-dev] Typed properties [was: Suggested
Registry changes/improvements]
Glen Daniels
glen at wso2.com
Thu Nov 8 15:58:16 PST 2007
+1, Jonathan, totally agree with your reasoning here. A property is a
(small-r) resource in the REST sense of being able to PUT and DELETE it
via the HTTP interface, but it's not a (big-R) Resource in our registry
"community-enabled" sense.
--Glen
Jonathan Marsh wrote:
> +1 to the first approach. See below:
>
> Jonathan Marsh - http://www.wso2.com - http://auburnmarshes.spaces.live.com
>
>
>> -----Original Message-----
>> From: registry-dev-bounces at wso2.org [mailto:registry-dev-
>> bounces at wso2.org] On Behalf Of Chathura C. Ekanayake
>> Sent: Thursday, November 08, 2007 9:53 AM
>> To: registry-dev at wso2.org
>> Subject: [Registry-dev] Suggested Registry changes/improvements
>>
>>
>> Below are the changes and improvements suggested in the discussion with
>> Glen and Jonathan.
>>
> ...
>
>> 3) Properties with arbitrary content
>>
>> Currently properties of resources can only store strings as their
>> values. Glen suggests that we should be able to associate any arbitrary
>> content with resources as properties. There are two possible ways to do
>> that. One method is to change the data model of the registry, so that
>> we
>> can store blobs as resource properties. Then we can associate a media
>> type with properties to specify whether it is a string or binary
>> content.
>
> I like the approach of having a properties with names, values, and media
> types. Simple, clean, very powerful, and allows us to do some nice things
> to display the property in the UI: e.g. a JPEG can show a preview and an
> upload button to change it, a simple string can be displayed directly with
> an inline edit field for quick entry, and XML document might link to an XML
> editing view, an HTML document might link to a rich text editor, etc.
>
> I also think we might want to define a couple of our own special "media
> types" for this, such as a simple length-limited string from a text/plain
> resource, a url, or an epr. The UI could adapt intelligently to the user's
> intention if we had these types along with the traditional media types.
>
>> Second method is to store the content of the property as a normal
>> resource in the registry and store the URL of that resource as the
>> property value. Then, when ever we look up a property we should
>> determine whether it is a string or a URL. If it is URL, we should get
>> the content of the corresponding resource and return it as the property
>> value. This look up functionality can either be implemented in the
>> registry or in the product that uses arbitrary property contents. This
>> method does not require changes in the registry data model.
>
> I don't like this. If it's a normal resource, we should allow comments,
> tags, ratings, children, etc. What's then the point then of distinguishing
> the "property" children of a resource from the "resource" children of the
> resource? And you'd still need a type mechanism to differentiate from
> simple string properties and paths, which is equal in complexity to the
> first option.
>
>> Comments...
>>
>> Thanks,
>> Chathura
>>
>>
>>
>> _______________________________________________
>> Registry-dev mailing list
>> Registry-dev at wso2.org
>> http://wso2.org/cgi-bin/mailman/listinfo/registry-dev
>
>
> _______________________________________________
> Registry-dev mailing list
> Registry-dev at wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/registry-dev
>
More information about the Registry-dev
mailing list