On 26 March 2014 09:18, Dileepa Jayakody <[email protected]> wrote:

>
>
>> My question was, for ay given Email instance, is the Reputation that it
>> is associated with the same as the Reputation associated with the
>> EmailContact that sent it?
>>
>
> No, it's 2 different instances. Email has a email reputation instance. It
> will be generated as a result of the email reputation analysis process.
>
>  The contact's reputation instance is generated as a result of running a
> reputation score normalizing process over the reputation score's of all
> emails exchanged with him.
>

OK, that's clear enough.  In which case your UML diag looks ok.


>
> From another point of view, reputation can even be just an attribute of
> Email and EmailContact objects without being a separate object.
> In that case, the domain model will be more simple with only 3 domain
> objects. UserInbox, Email and EmailContact.
> reputation will be an attribute of both Email and EmailContact objects.
>
>
Yes; that's what I implied when saying that reputation might be a value
type.  We need to improve Isis' support for value types, but it's something
on the cards to tackle soon-ish (ie could be done to support this project).



>  But with the plan of extending Reputation analysis functions, I
> initially thought it would be better to abstract out the Reputation concept
> as a separate domain entity.
>
> WDYT?
>

As I say, it could be separated out as a value type instead, cf Isis'
o.a.i.applib.values.Clob and o.a.i.applib.values.Blob types.  That means
its persistence would be inline with the entity, but it's still is a
separate domain concept.





On 26 March 2014 09:18, Dileepa Jayakody <[email protected]> wrote:

>
> Hi Dan and all,
>
> On Wed, Mar 26, 2014 at 1:38 PM, Dan Haywood <[email protected]
> > wrote:
>
>>
>> On 26 March 2014 07:48, Dileepa Jayakody <[email protected]>wrote:
>>
>>>
>>> @Dan,
>>> EmailContact's reputation is an aggregated and normalized reputation
>>> score calculated based on the overall reputation scores of the emails
>>> exchanged with that person.
>>>
>>
>> Yes, understood.
>>
>> My question was, for ay given Email instance, is the Reputation that it
>> is associated with the same as the Reputation associated with the
>> EmailContact that sent it?
>>
>
> No, it's 2 different instances. Email has a email reputation instance. It
> will be generated as a result of the email reputation analysis process.
>
>  The contact's reputation instance is generated as a result of running a
> reputation score normalizing process over the reputation score's of all
> emails exchanged with him.
>
> From another point of view, reputation can even be just an attribute of
> Email and EmailContact objects without being a separate object.
> In that case, the domain model will be more simple with only 3 domain
> objects. UserInbox, Email and EmailContact.
> reputation will be an attribute of both Email and EmailContact objects.
>
> But with the plan of extending Reputation analysis functions, I initially
> thought it would be better to abstract out the Reputation concept as a
> separate domain entity.
>
> WDYT?
>
>>
>> ie email.reputation == email.contact.reputation for all instances.
>>
>> If so, then it's a derived relationship.  But is it?
>>
>>
>>
>>> Initially the Reputation will only contain a single score value to
>>> indicate the goodness of the email & email-contact. I intend to extend the
>>> attributes of the Reputation object to provide more reputation details in
>>> future. (eg: reputation scores in different contexts: business, friendship,
>>> entertainment etc).
>>> WDYT?
>>>
>>>
>> ok.  Still not sure if that's a value type or an entity type.
>>
>> The "different contexts" also sounds like either an entity or an enum
>> type (Category?)  But suggest leave that out for now, can refine later once
>> get into the ins-and-outs of Mahout.
>>
>>
>
>>
>>
>>> FYI I have setup a github project with the
>>> simple_wicket_restful_jdo-archetype at [2]. I will use this to develop my
>>> prototype.
>>>
>>
>> thx; have forked it.
>>
>> Dan
>>
>>
>

Reply via email to