[Chandler-dev] is a unified displayName a good thing?

Brian Kirsch bkirsch at osafoundation.org
Mon Apr 3 11:59:21 PDT 2006


 > If you look at Bug 1745: <https://bugzilla.osafoundation.org/ 
show_bug.cgi?id=1745>, you'll see that there's another issue related  to
 > displayName /  title, which is localization.   I think that the  
localization stuff points to a separate Title attribute rather than
 > displayName.   I suppose that you could even argue that the two 
names  (title and displayName) are reversed in their meanings if you
 >have  both of them - title being the "system" name for the item and  
'displayName' being the text that is localized, indexed, and  >presented 
to the user.

+1

Brian Kirsch -  Cosmo Developer / Chandler Internationalization Engineer
Open Source Applications Foundation
543 Howard St. 5th Floor
San Francisco, CA 94105
http://www.osafoundation.org



Ted Leung wrote:

>
> On Mar 31, 2006, at 1:09 PM, Alec Flett wrote:
>
>>
>> Andi pointed out to me that we can actually have an overridden  
>> attribute at any level in the class hierarchy.. this means we can  
>> say, for instance
>>
>> class Note(...):
>>    displayName = ....
>>
>> and that displayName will override any underlying displayName,  
>> including any attribute aspects like 'indexed'
>>
>> This sounds like the optimal solution to the PyLucene problem I  
>> described below. Does anyone have any objections to this? Ted, this  
>> is domain model stuff.. how does this sound to you?
>
>
>
> If you look at Bug 1745: <https://bugzilla.osafoundation.org/ 
> show_bug.cgi?id=1745>, you'll see that there's another issue related  
> to displayName /  title, which is localization.   I think that the  
> localization stuff points to a separate Title attribute rather than  
> displayName.   I suppose that you could even argue that the two names  
> (title and displayName) are reversed in their meanings if you have  
> both of them - title being the "system" name for the item and  
> 'displayName' being the text that is localized, indexed, and   
> presented to the user.
>
> Ted
>
>>
>> Alec
>>
>> Alec Flett wrote:
>>
>>> So we have this great attribute, 'displayName' which is used all  
>>> over the place from Block to CalendarEvent and comes in quite  handy 
>>> most of the time.
>>>
>>> I've recently run into a snag with it however.
>>>
>>> In the repository, you can indicate that an attribute is indexed  by 
>>> PyLucene simply by adding a 'indexed=True' to the attribute  
>>> definition.
>>>
>>> The problem is that from a user's perspective we only want to be  
>>> searching 'Note'-based items... not all Items in the system.  
>>> Further complicating this is that things like attributes are also  
>>> Items.
>>>
>>> This means that if you do a PyLucene search for "a" you'll get  
>>> literally hundreds, if not thousands, of results, even if you only  
>>> have "Welcome to Chandler" in your All collection. Now of course  it 
>>> is easy to filter out the items that don't derive from Note and  
>>> only display them... but it seems like a lot of work to iterate  
>>> 1000 items that we know will never be displayed just to get 1  
>>> result back.
>>>
>>> There are a few options that I can think of, and I'll indicate my  
>>> preference below:
>>> 1) change the repository so PyLucene only indexes one particular  
>>> type of Item... maybe a specific subclass or something.
>>> 2) don't use displayName for user-visible Items, and don't put  
>>> 'indexed=True' on displayName. Instead, come up with a new  
>>> attribute, say 'title' that shows up only on Note-based items, and  
>>> put indexed=True on that attribute.
>>>
>>> Either way the end result is that when you search PyLucene, we  
>>> don't have to filter out 1000 non-Note items.
>>>
>>> I vastly prefer the 2nd option, and I think it makes a lot of  sense 
>>> from a domain model perspective anyway.
>>>
>>> I realize there is a lot of history here... (Andi says "Brian made  
>>> me do that" when we found some oddities in chandler.pack) but  
>>> honestly a Note-based item's "title" is a dynamic, changing part  of 
>>> a user's data, while a displayName tends to be a more static  
>>> description of a well known Item. I see a semantic difference and  
>>> we should probably reflect that in the schema.
>>>
>>> When you're searching PyLucene, we don't want to say "only find  
>>> these things" - instead we want the things to indicate if they  want 
>>> to be found. The title of an event wants to be found. The  
>>> displayName of a MenuItem block doesn't!
>>>
>>> Thoughts?
>>>
>>> Alec
>>> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>>>
>>> Open Source Applications Foundation "chandler-dev" mailing list
>>> http://lists.osafoundation.org/mailman/listinfo/chandler-dev
>>
>>
>>
>> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>>
>> Open Source Applications Foundation "chandler-dev" mailing list
>> http://lists.osafoundation.org/mailman/listinfo/chandler-dev
>
>
>
> ----
> Ted Leung                 Open Source Applications Foundation (OSAF)
>
>
>
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> Open Source Applications Foundation "chandler-dev" mailing list
> http://lists.osafoundation.org/mailman/listinfo/chandler-dev





More information about the chandler-dev mailing list