This repository has been archived by the owner. It is now read-only.

Loosen Up Editing Rules #193

Closed
philip-alldredge opened this Issue Feb 24, 2017 · 3 comments

Comments

Projects
None yet
2 participants
@philip-alldredge
Contributor

philip-alldredge commented Feb 24, 2017

Support for editing classifiers in the context of diagram elements representing sub-components, component implementations, and feature groups.

Since the initial version of the graphical editor there have been restrictions regarding when the user can create, edit, and delete diagram elements. These were put in place so that the graphical editor remained a 1 to 1 mapping between diagrams and the declarative model. These restrictions result in a tedious user experience and are more so when coupled with diagrams which support multiple levels of subcomponents.

The plan is to allow the user to create, editing and delete in whatever context is desired. The exact design is TBD. However, overall goal is to allow the user flexibility, but to keep the user informed and in control of the model modifications being performed. For example, if the user adds a child to a subcomponent graphically, the user should be given the option to select the model element to be modified when multiple options exist. We will want to avoid prompts when possible but they should be considered if necessary. If the user is constantly bombarded with confirmation prompts, the user is more likely to feel that the tool is fighting with them.

  • Editing type when looking at a subcomponent #82
  • Editing refined elements when editing something other than the element which owns it.
  • Creating features from the classifier view.
  • This should include editing feature group types by editing feature groups.
  • Should be able to refine elements inside a subcomponent.

Ideas:

  • When creating elements which could have multiple potential owners, allow the user to select which one. In the case of subcomponents, the user will need the option to create a new classifier as well. This should include creation of flow implementations as well.
  • Option to create new implementation/feature group type menu option for subcomponents and feature group.

Other:

  • Don't allow changing contributed resources

@philip-alldredge philip-alldredge modified the milestone: Planning (Threshold) Feb 26, 2017

@philip-alldredge philip-alldredge modified the milestones: M3, Future Enhancements Aug 22, 2017

@smithdtyler

This comment has been minimized.

smithdtyler commented Oct 2, 2017

How do you plan to handle diagram comments/annotations?

@philip-alldredge

This comment has been minimized.

Contributor

philip-alldredge commented Oct 3, 2017

@smithdtyler this comment seems more appropriate for #187. The capability is near the end of the roadmap so we don't have a firm design at the moment. If you have particular requirements you'd like to see with that capability, please add comments to that issue.

@philip-alldredge

This comment has been minimized.

Contributor

philip-alldredge commented Jan 5, 2018

Capabilities

The planned capabilities are listed below.

  • Create a new implementation and type pair from the palette. Type would not be added to the diagram.
  • Add features to component implementations.
  • Add flow specs to component implementations.
  • Add features to feature groups. Notify user if classifier is not set.
  • Delete an unrefined element from any context.
  • Rename an unrefined element from any context.
  • Adjust Mode creation for component implementations.
  • Adjust Mode transition creation for component implementations.
  • Create children for subcomponents.
    • Features
    • Flow Specifications
    • Modes
    • Mode Transitions
    • Subcomponents
    • Connections
    • Flow Implementations

Misc

  • Test when types, implementations, etc are split between packages and files. Both open and closed.
  • The options which create a new classifier and update element(s) should be integrated with the properties work #212. Perhaps the set classifier button should be a submenu which contains options for "New..." and "Existing..."
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.