nasa / MCT-Plugins

35 stars 29 forks source link

[Scenario] Activity Type and Tag containment #135

Closed VWoeltjen closed 10 years ago

VWoeltjen commented 10 years ago

Activity Type and Tags should have special rules for how they can be contained. Specifically, they should always be contained by one (and exactly one) template repository (e.g. "My Activity Types", "Mission Tags", etc)

Dragging from one template repository to another should move the Tag or Activity Type. Dragging into an Activity or similar should be a link (as it is now)

Remove Manifestation should not be available when selecting an Activity Type or Tag from within a repository, in order to preserve the exactly-one relationship.

Tag or Activity Type should not be available from the Create menu, except in a Create menu operating on a repository of the appropriate type. (If this is hard to suppress, then allowing Create in the context of an Activity is probably okay if the object additionally gets placed in an appropriate repository.)

tdayton commented 10 years ago

If you make this change, it will be critical to change pointer shape to indicate whether the pending operation from dragging is Add Manifestation or Move Manifestation. It is unrealistic and unreasonable to expect users to know which operation will result, based on the type of object being dragged, its source containing object, and its destination containing object.

VWoeltjen commented 10 years ago

Agreed on the underlying concern. I would propose to use a more explicit notification (dialog box?) to clarify what has happened, at least until nasa/mct#179 has been implemented (rationale being that user won't understand what the change in pointer shape means if it only occurs in this one circumstance)

tdayton commented 10 years ago

Sorry, I should have been clearer that pointer shape must be global, not just in this particular case. I forgot that MCT#179 existed to cover this case. If mct#179 is not going to be done yet, then yes, an alert box should be displayed, though it will be really, really annoying.

VWoeltjen commented 10 years ago

Boils down to four or five specific subproblems:

("Repository" above is a shorthand for the object types for User Tags, Mission Tags, etc...)

VWoeltjen commented 10 years ago

One potential circumstance not clearly addressed in design:

(Note: The above uses object names from the current top-level structure for clarity/reproducibility; these will change with #134)

According to the description of this issue, "Driving (shadow)" should then appear in Mission Activity Types and should no longer appear in User Activity Types (for User A). However, this presents a contradiction: User B has violated the ownership rules (since User A owns User Activity Types).

Possible ways to reconcile this:

Pursuing the first option (simply allow it to happen) for the present, as it has the fewest ramifications on other work.

VWoeltjen commented 10 years ago

Regarding previous comment, "ignore it" is fine for now; in the future, should be given the chance to copy instead of move the object. (This depends on Mission Tags having exclusive permissions, which it does not right now.)

If this has not been addressed at time of issue closer, spawn a follow-up issue.

VWoeltjen commented 10 years ago

Self-verified on Windows 7 using hackathon db, March 6 2014

Activity Type does appear in Create menu for non-repositories, but created Activity Types show up in My Activity Types automatically.