I think I see what you mean: we would automatically pull the record out of the collection and display it separately. It could end up being part of more than one collection. That would give a much more sophisticated view of the data. Good idea. I was stuck in "one record visible per collection" mode.

Andrus Adamchik wrote:
I am going offline for tonight. I'll read the rest of your comment tomorrow. Let me answer this one though.

On Jul 12, 2006, at 11:30 PM, Marcel wrote:

I'm not sure what you mean by uniquing in this context. Checking to see if an object (say, a given Artist) is anywhere in the diagram isn't suitable.

I think it is.

Consider Dept and Employee tables, where Dept has n employees and 1 boss, all drawn from the Employee table. When I expand the employees relationship, I get a collection of Employee objects including the boss. When I expand the boss relationship, I don't want to point to the same visual part (the collection of Employees) even though the boss is in it.

I don't see a problem with this scenario. Collection and its elements can be made separate things visually (and this is what I was trying to say in the previous message). I guess I may need to draw a picture in Photoshop or something to better illustrate what I'm saying. When you expand the boss relationship you point to another employee (who is the boss). Employee, not the collection of employees.

The only alternative I can see to the present setup (which just expands any relationship the user asks to see expanded, but won't expand the same relationship twice) is to refuse to expand relationships which have already been expanded from the other end (ie if the Dept -> Employee relationship has already been expanded, clicking on the Dept relationship in the employee table does nothing).

It can do something visual, such as change the color of the relationship arrow and the outline of the target object selected.

But there is no reason to refuse this: if that's what the user wants to see, why not let them?

Because it would incorrectly represent the graph. It will show multiple nodes where there is one. Besides we are not preventing the user from seeing the node he wants to see. We are just pointing him to the right place, saying "see, it is already opened".

Andrus

Reply via email to