Author Topic: Filter to Toolbox MIA  (Read 5709 times)

Uffe

  • EA Practitioner
  • ***
  • Posts: 1815
  • Karma: +122/-14
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Filter to Toolbox MIA
« on: April 03, 2020, 01:59:56 am »
According to the manual, metamodel constraints allow me to "specify constraints to restrict the connectors that can be drawn from a Stereotype, either using the Quick Linker or from the Toolbox."
Note: either.

The details for metarelationship and stereotyped relationship further explain that EA will show the specified connectors "when the Quick Linker is used to draw a relationship".

But it will actually only do so if the intended connector is also in the currently open toolbox.
If it isn't, you're sh*t out of luck because in that case EA won't show the ticked Filter to Toolbox menu item, which you'd need to untick to get the quick linker to work.

So even though I have specified metamodel constraints -- nothing to do with any diagram types or toolboxes (which is one of the things the obsoleted quick linker definitions allowed you to specify, but metamodel constraints do not) -- the realization of these constraints is still dependent on the diagram type.

What's the solution here?

Do I add all my stereotyped connectors, and all EA's built-in connectors, to all toolboxes?
Do I also override all built-in toolboxes with the same mega-toolbox?
What's the point of toolboxes in that case?

Filter to Toolbox is enabled by default, and re-enabled every session.1 I've looked through the preferences, but I can't find anything that allows me to disable it.

How are end users supposed to realize that when they try to use the quick linker and they get nothing, they're supposed to go into some other diagram, draw something with the quick linker, disable Filter to Toolbox, cancel out of the quick linker, go back to the first diagram and try again?



1 This isn't right. The option is remembered from last session, but only if you create at least one connector (presumably using the quick linker, but I haven't checked) after changing it. This is also something I don't want to have to explain to a bunch of business analysts.
« Last Edit: April 03, 2020, 02:09:58 am by Uffe »
My theories are always correct, just apply them to the right reality.

Mats Gejnevall

  • EA User
  • **
  • Posts: 78
  • Karma: +1/-0
    • View Profile
Re: Filter to Toolbox MIA
« Reply #1 on: April 21, 2020, 10:24:22 pm »
And where in the online manual can I read about how to use the Filter to Toolbox feature.

I cannot ask business analysts to read the MDG part of the manual.

Cheers
Mats

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 7301
  • Karma: +86/-12
    • View Profile
Re: Filter to Toolbox MIA
« Reply #2 on: April 22, 2020, 08:01:55 am »
So even though I have specified metamodel constraints -- nothing to do with any diagram types or toolboxes (which is one of the things the obsoleted quick linker definitions allowed you to specify, but metamodel constraints do not) -- the realization of these constraints is still dependent on the diagram type.
Toolboxes and diagram types aren't obsoleted. Even if you define diagram types and their toolboxes using metamodel views, it's still useful to specify a toolbox in your technology to define groups for the displayed toolboxes. If you don't apply either, it's like wanting to create BPMN relationships on a UML diagram. They won't be available until you select a toolbox that shows those relationships. In your case there should still be a default toolbox for your profile created.

The filter to toolbox serves a similar purpose to the old diagram filter. It only shows the options that are relevant to the diagram you are on. The difference is it can be customized by defining different views, isn't limited to diagram types known to you during authoring a technology and can be dynamically changed.

And where in the online manual can I read about how to use the Filter to Toolbox feature.
I'm not sure about where it's found in the help, but the usage is very simple.

By default the quicklinker only offers relationship and element types relevant to the current diagram. It does this by filtering the complete list by the types displayed in the toolbox. If you want to see the full list of relationships available from the source element you can disable Filter to Toolbox.

When dragging the quicklinker to empty space you will also see an item "Group by Element Type". In 15.1 this is enabled by default, as a result the element types will be the first level of menu items and connector types the second. If you disable this option the behavior will be swapped to show relationship types and then element types. (This only works for metamodel relationships since the table relationship explicitly codes the order)
Eve

support@sparxsystems.com

Uffe

  • EA Practitioner
  • ***
  • Posts: 1815
  • Karma: +122/-14
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Re: Filter to Toolbox MIA
« Reply #3 on: April 23, 2020, 11:57:11 pm »
So even though I have specified metamodel constraints -- nothing to do with any diagram types or toolboxes (which is one of the things the obsoleted quick linker definitions allowed you to specify, but metamodel constraints do not) -- the realization of these constraints is still dependent on the diagram type.
Toolboxes and diagram types aren't obsoleted.
I didn't say diagrams and toolboxes are obsoleted. I said quick linker definitions are. The (obsoleted) quick linker definitions allowed you to restrict a definition to a certain diagram type, the (not-quite-there-yet) metamodel constraints do not.

But even though metamodel constraints do not allow you to specify quick linker behaviour by diagram, the quick linker behaviour is diagram-dependent (or rather toolbox-dependent) because of "Filter to Toolbox".
Quote
Even if you define diagram types and their toolboxes using metamodel views, it's still useful to specify a toolbox in your technology to define groups for the displayed toolboxes. If you don't apply either, it's like wanting to create BPMN relationships on a UML diagram. They won't be available until you select a toolbox that shows those relationships. In your case there should still be a default toolbox for your profile created.
I'm not following you here. What is a "default toolbox for [my] profile"? I'm also unclear about a "toolbox ... to define groups for the displayed toolboxes." I can define a "common" toolbox (isCommon = True), which I haven't done in this case, but there is no hint in the documentation that this is a requirement for metaconstraint-based quick linker definitions to work. Is it?

I have defined a profile, and a toolbox, and a diagram. Bog standard.

But if none of my (metaconstraint-defined) permitted connectors are in the currently visible toolboxes, the "Filter to Toolbox" option is omitted from the quick linker menu. If I go to another diagram and disable "Filter to Toolbox" I can then go back to the first diagram and hey presto, the quick linker shows the permitted connectors. This makes the set of quick linker connectors actually dependent on the visible toolboxes, which seems to run counter to the intent of metamodel constraints since those do not allow the specification of toolboxes or diagrams where they should apply.

Put more simply, the problem I am describing is that when the quick linker finds no permitted connectors because "Filter to Toolbox" is selected, "Filter to Toolbox" cannot be deselected even though this would allow the quick linker to find permitted connectors.

Put even more simply, the quick linker menu should always include the "Filter to Toolbox" option, so you can toggle it. But it doesn't.
Quote
The filter to toolbox serves a similar purpose to the old diagram filter. It only shows the options that are relevant to the diagram you are on. The difference is it can be customized by defining different views, isn't limited to diagram types known to you during authoring a technology and can be dynamically changed.
But while it is disable-able by design, you can only actually disable it if there is at least one option relevant to the diagram you're on. This is bad GUI design.

Consider the case where "Filter to Toolbox" is initially disabled. If I invoke the quick linker, I can enable the filter. But in the circumstances I've described I can't then re-disable it. This isn't how a toggle should work.
If I can toggle something from state A to state B in one part of the GUI, I should also be able to toggle it back from B to A in that same part of the GUI.
My theories are always correct, just apply them to the right reality.

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 7301
  • Karma: +86/-12
    • View Profile
Re: Filter to Toolbox MIA
« Reply #4 on: April 24, 2020, 10:57:13 am »
The (obsoleted) quick linker definitions allowed you to restrict a definition to a certain diagram type, the (not-quite-there-yet) metamodel constraints do not.

But even though metamodel constraints do not allow you to specify quick linker behaviour by diagram, the quick linker behaviour is diagram-dependent (or rather toolbox-dependent) because of "Filter to Toolbox".
The terminology that multiple modeling languages would use is view dependent. The idea is that users of any technology can define their own views that allow them to express a focused aspect of what they are modeling. The idea a that the original technology author is the only one that can define views/diagram types based on that language holds modelers back.

An example would be that SysML defines some relationships that exist between some UML objects. You can create a custom diagram type (with a toolbox) that includes valid combinations of those elements, and the quicklinker will offer those relationships. You couldn't do that before because the SysML technology author would have needed to specify a diagram filter to prevent their relationship from cluttering UML diagrams. That same filter would then prevent the link being offered on your diagram.


I'm not following you here. What is a "default toolbox for [my] profile"?
If you just import a profile (and I think if your technology contains a profile but no toolboxes) you will still be able to create your stereotypes using the toolbox.

I'm also unclear about a "toolbox ... to define groups for the displayed toolboxes."
It's something that came up as a request for the view specifications. They specify a list of types that the user wants available. They are shown in the toolbox, quicklinker and optionally you can filter out elements/connectors that don't match your view. By itself, that doesn't give any structure. If you're extending a diagram that already shows your elements then you can naturally use the original toolbox. But if you're extending a diagram type that doesn't, the original won't have your elements. What you can do in that case is add a toolbox profile to your technology even if you don't define any diagrams. That provides the toolbox structure and order.

I can define a "common" toolbox (isCommon = True), which I haven't done in this case, but there is no hint in the documentation that this is a requirement for metaconstraint-based quick linker definitions to work. Is it?
No it's not a requirement. You may find it useful if you have some items that you want available for all diagrams in your technology.

If I can toggle something from state A to state B in one part of the GUI, I should also be able to toggle it back from B to A in that same part of the GUI.
I don't disagree. (But there are exceptions. A "don't show this again" obviously can't be toggled back in the same place)
Eve

support@sparxsystems.com

Uffe

  • EA Practitioner
  • ***
  • Posts: 1815
  • Karma: +122/-14
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Re: Filter to Toolbox MIA
« Reply #5 on: April 24, 2020, 07:55:55 pm »
Alright, so.

In an MDG Technology, there are several profiles, toolboxes and diagram types. The profiles define element stereotypes and, using metaconstraints, a set of permitted non-stereotyped connectors between them.

If two stereotyped elements make their way onto a non-customized diagram, and the permitted connectors aren't in that diagram's toolboxes, the quick linker will allow no connectors to be drawn between them, and will likewise not allow the user to switch off "Filter to Toolbox" (which would allow the connectors to be drawn). It's the latter that makes this a serious problem rather than an annoyance.

This is not the MDG Technology designer holding the modeller back, it's the tool designer. The technology designer has not specified a particular diagram type for connector creation, but the tool designer enforces just that: connectors can only be created in the diagrams which the technology designer has customized.

What is the correct behaviour EA expects from the modeller in this case?
My theories are always correct, just apply them to the right reality.

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 7301
  • Karma: +86/-12
    • View Profile
Re: Filter to Toolbox MIA
« Reply #6 on: May 21, 2020, 04:21:15 pm »
I believe 15.2 shows the filter option (and help) even if no items appear in the menu.

https://www.sparxsystems.com/products/ea/15.2/index.html
Eve

support@sparxsystems.com