[Chandler-dev] Moving sharing-specific attributes out of ContentItem

Morgen Sagen morgen at osafoundation.org
Fri Jan 26 14:09:38 PST 2007


On Jan 26, 2007, at 2:02 PM, Grant Baillie wrote:

> On 26 Jan, 2007, at 13:55, Morgen Sagen wrote:
>
>> To implement conflict resolution, I need to add a new sharing- 
>> specific attribute to ContentItem which will connect an item to  
>> its pending conflicts.  I am actually going to do this by defining  
>> a SharedItem stamp and put the new attribute in there, but I was  
>> hoping to be able to also move two long-time sharing-specific  
>> attributes of ContentItem, "shares" and "sharedIn", into this  
>> stamp as well.  This appears to be difficult because of  
>> ContentItem.isAttributeModifiable( ).  That method needs access to  
>> the "sharedIn" attribute, and if I move that attribute into the  
>> sharing layer, some core pim code is now going to have a  
>> dependency on the sharing package which I believe we want to avoid.
>>
>> Any ideas?
>
> You probably want just an Annotation, not a Stamp, I'm guessing.

Ah, I thought they were one and the same, since I remember hearing  
the phrase "Stamping as Annotation" a lot. :-)  What are the  
differences between a Stamp and an Annotation?

>
> One possibility is to move isAttributeModifiable(), shares, and  
> sharedIn into your class. You can also refer to the sharedIn  
> attribute by its full name (which would end up being something like  
> 'osaf.pim.MorgensClass.sharedIn'), though that seems crufty to me.

If I move isAttributeModifiable( ) into my Annotation, and the pim  
calendar code relies on that method, the calendar code would have to  
import osaf.sharing, if I'm not mistaken.

~morgen




More information about the chandler-dev mailing list