[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