[mashup-dev] RE: [Registry-dev] svn commit r11161 - trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc

Sanjiva Weerawarana sanjiva at wso2.com
Mon Dec 17 10:29:41 PST 2007


+1 for yanking 'em for now. However, I fail to see what we'd gain by 
requiring uniqueness of formal names. For example, what do we want to tell 
all the John Smith's of the world?? Its bad enough they have to pick 
whacky user names such as "smith90210" - but to tell them they can't call 
themselves "John Smith" seems rather harsh.

I must be missing something.

Sanjiva.

Jonathan Marsh wrote:
> On formal names we certainly could require that they be unique.  Right
> now they are part of the user profile for a mashup, but if they were
> baked into the data model it would be easy to add and enforce a
> uniqueness constraint.
> 
> In the short run, perhaps we should simply yank formal names from the
> interface completely.
> 
> Jonathan Marsh - http://www.wso2.com -
> http://auburnmarshes.spaces.live.com
> 
> 
>> -----Original Message----- From: mashup-dev-bounces at wso2.org
>> [mailto:mashup-dev-bounces at wso2.org] On Behalf Of Sanjiva Weerawarana
>>  Sent: Monday, December 17, 2007 10:00 AM To: mashup-dev at wso2.org Cc:
>> registry-dev at wso2.org Subject: Re: [mashup-dev] RE: [Registry-dev]
>> svn commit r11161 - 
>> trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc
>> 
>> +1 to making this consistent. I kinda like having my tags be "normal"
>>  .. but happy to live with case normalization and whitespace
>> normalization (to one space). However, I can see the simplicity of
>> Jonathan's patterns too.
>> 
>> So, if this comes to a vote I vote +1 for the reg style instead of
>> the mashup style but can easily live (happily ever after) with the
>> mashup style too.
>> 
>> On names- Jonathan we cannot possible require unique formal names 
>> right?? As such I suggest in our advanced search form we allow people
>> to search in that field too. Not sure how our naming strategy could
>> allow naming conflicts or spoofing attacks (?).
>> 
>> Sanjiva.
>> 
>> Jonathan Marsh wrote:
>>> We should have a consistent interface to tagging between the
>>> registry and mashup server.  Basically we need to have a consistent
>>> strategy for: 1) what characters are allowed in a tag, 2) to what
>>> extent the
>> tag
>>> is normalized upon entry, and 3) how much freedom there is in
>> searching
>>> for a tag (e.g. whitespace differences, case differences).
>>> 
>>> It sounds like you've answered these points as: 1) any character is
>>>  allowed, including whitespace, but disallowing commas. 2) comma 
>>> separated lists are split into individual tags.  Whitespace is 
>>> normalized (in the xml sense) I hope? 3) Case insensitive matches?
>>> 
>>> That's slightly different than I had planned for the mashup server:
>>> 
>> 1)
>>> non-punctuation characters allowed only (no whitespace), plus maybe
>>> a few useful symbols like "_". 2) cases are folded (lowercase), 
>>> whitespace-separated lists are split into individual tags (unless 
>>> quoted e.g. 'wso2 "open source"' --> {"wso2", "opensource"},
>> whitespace
>>> and punctuation stripped ('"Chathura's party"' -->
>> {"chathurasparty"}).
>>> 3) searching is an exact match of the normalized search string with
>>>  the normalized tag value.
>>> 
>>> Both approaches are coherent, and appear successful on the web.
>>> The first approach maximally preserves the user's input at the
>>> expense of making matching tags harder to implement and possibly a
>>> bit more fragile.  The second approach makes searching more robust
>>> and predictable at the expense of preserving the user's input.
>>> 
>>> Maybe there's even a middle approach that we could bake further
>>> down into the registry - store the tag value in two fields in the
>>> table - one preserving the users input, and one containing a
>>> heavily
>> normalized
>>> version that we can easily search on.  Normalize the input to
>> getTags,
>>> but also expose the utility normalizing function so that
>>> executeQuery users can still do good tag matches.
>>> 
>>> P.S. we have similar issue with user names - right now one searches
>>> 
>> for
>>> mashups from a particular user by their username (e.g. admin)
>>> rather than their formal name (Jonathan Marsh) even though the
>>> username only appears in the UI in urls.  And we don't enforce
>>> unique formal names
>> at
>>> present which could result in name conflicts or even spoofing
>> attacks.
>>> 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 svn at wso2.org
>>>>  Sent: Saturday, December 15, 2007 6:04 AM To:
>>>> registry-dev at wso2.org Subject: [Registry-dev] svn commit r11161 -
>>>>  trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc
>>>> 
>>>> 
>>>> Author: chathura Date: Sat Dec 15 06:04:21 2007 New Revision:
>>>> 11161
>>>> 
>>>> Log:
>>>> 
>>>> 
>>>> Now multiple tags has to be separeted using commas. That means,
>>>> you can apply tags with spaces in them (e.g. Sri Lanka)
>>>> 
>>>> 
>>>> 
>>>> Modified:
>>>> 
>>>> 
>> trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/JDBCRe
>> 
>>>> gistry.java
>>>> 
>>>> Modified:
>>>> 
>> trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/JDBCRe
>> 
>>>> gistry.java
>>>> 
>> =======================================================================
>> 
>>>> ======= ---
>>>> 
>> trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/JDBCRe
>> 
>>>> gistry.java	(original) +++
>>>> 
>> trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/JDBCRe
>> 
>>>> gistry.java	Sat Dec 15 06:04:21 2007 @@ -444,8 +444,8 @@
>>>> 
>>>> String userID = User.getCurrentUser();
>>>> 
>>>> -        // break the space separated words into multiple tags - 
>>>> String[] tags = tag.split(" "); +        // break the comma
>> separated
>>>> words into multiple tags +        String[] tags = tag.split(",");
>>>> 
>>>> 
>>>> try { conn.setAutoCommit(false); @@ -458,6 +458,8 @@
>>>> 
>>>> for (int i = 0; i < tags.length; i++) {
>>>> 
>>>> +                tags[i] = tags[i].trim(); + if (tags[i].length()
>>>> == 0 || tags[i].equals(" ")) { continue; } @@ -504,7 +506,7 @@
>>>> public TaggedResourcePath[] getResourcePathsWithTag(String tag)
>>>> throws RegistryException {
>>>> 
>>>> // break the tags from spaces -        String[] tags = 
>>>> tag.trim().split(" "); +        String[] tags = 
>>>> tag.trim().split(",");
>>>> 
>>>> //List pathList = new ArrayList(); List taggedPaths = new 
>>>> ArrayList(); @@ -521,6 +523,7 @@ 
>>>> taggedResourcePath.setResourcePath(path);
>>>> 
>>>> for (int i = 0; i < tags.length; i++) { +
>>>> tags[i] = tags[i].trim(); long count = tagsDAO.getTagCount(path,
>>>> tags[i], conn); taggedResourcePath.addTagCount(tags[i], count); }
>>>> 
>>>> 
>>>> _______________________________________________ Registry-dev
>>>> mailing list Registry-dev at wso2.org 
>>>> http://wso2.org/cgi-bin/mailman/listinfo/registry-dev
>>> 
>>> _______________________________________________ Mashup-dev mailing
>> list
>>> Mashup-dev at wso2.org 
>>> http://www.wso2.org/cgi-bin/mailman/listinfo/mashup-dev
>>> 
>> -- Sanjiva Weerawarana, Ph.D. Founder, Chairman & CEO; WSO2, Inc.;
>> http://www.wso2.com/ email: sanjiva at wso2.com; cell: +1 650 265 8311 |
>> +94 77 787 6880
>> 
>> "Oxygenating the Web Service Platform."
>> 
>> _______________________________________________ Mashup-dev mailing
>> list Mashup-dev at wso2.org 
>> http://www.wso2.org/cgi-bin/mailman/listinfo/mashup-dev
> 
> 
> _______________________________________________ Mashup-dev mailing list
>  Mashup-dev at wso2.org 
> http://www.wso2.org/cgi-bin/mailman/listinfo/mashup-dev
> 

-- 
Sanjiva Weerawarana, Ph.D.
Founder, Chairman & CEO; WSO2, Inc.; http://www.wso2.com/
email: sanjiva at wso2.com; cell: +1 650 265 8311 | +94 77 787 6880

"Oxygenating the Web Service Platform."



More information about the Registry-dev mailing list