[Registry-dev] Suggested Registry changes/improvements

Chathura C. Ekanayake chathura at wso2.com
Thu Nov 8 09:52:58 PST 2007


Below are the changes and improvements suggested in the discussion with 
Glen and Jonathan.

1) Drop the Tags table

Currently Registry has two tables for handling tags. Tags tables stores 
the tag strings used in the system. Tagging tables contains the 
relationships between tag strings (from the Tags table), Resource IDs 
(from the Resources table), user name and the tagged time.

We can achieve the same functionality without having the Tags table. 
Tags table is needed only if Registry admins want to pre-populate the 
tags that can be used in the system and want to restrict users to only 
use those tags. Currently such feature is not used in the Registry code. 
So we can remove the Tags table and handle the tags only using the 
Taggings table.

2) Inherited permissions

Currently when a resource is created permissions for all actions on that 
resource is granted to the user who created the resource and to the 
admin user. Instead, we can make the child resources to inherit all 
permissions from their parent resources. So that managers can configure 
permissions for a subtree of the registry and let his team work on that 
subtree without worrying about the permissions. We can also make the 
inherited permissions configurable if some one doesn't need that.

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.

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.

Comments...

Thanks,
Chathura





More information about the Registry-dev mailing list