Author Topic: Trying to set required MDG Techs completely screws up MDG management  (Read 1760 times)

Uffe

  • EA Practitioner
  • ***
  • Posts: 1778
  • Karma: +122/-14
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Hey all,


I'm trying to set a selection of required MDG Technologies in a SQL Server project.

Not only does it not work, but if I then deselect everything in that dialog, so that nothing is either required or disabled, and then go to my client options (under Specialize) and select my MDG Techs there, EA doesn't do anything. Doesn't scan the MDGs, doesn't give an error message, just... nothing.

Anyone else experience this?
I'm on 15.0.1512.


/Uffe
My theories are always correct, just apply them to the right reality.

Uffe

  • EA Practitioner
  • ***
  • Posts: 1778
  • Karma: +122/-14
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Re: Trying to set required MDG Techs completely screws up MDG management
« Reply #1 on: February 01, 2020, 01:35:52 am »
Oh, and:

If I give up on the whole thing and connect to a project which already has a set of required MDG Technologies (set by someone else, not me), the ones I tried to set in my own project are deselected in my client even though they are required in that project.

In my client config, these MDGs are now deselected, but the checkboxes are enabled. They should have been selected and disabled, since that is what is configured in the project I connected to.

So it looks like I can select the missing MDGs.

But I can't. When I try, EA does nothing, as described above.

What am I doing wrong?


/Uffe
My theories are always correct, just apply them to the right reality.

qwerty

  • EA Guru
  • *****
  • Posts: 11402
  • Karma: +295/-263
  • I'm no guru at all
    • View Profile
Re: Trying to set required MDG Techs completely screws up MDG management
« Reply #2 on: February 01, 2020, 02:59:29 am »
Can't help but add that having MDGs with different version numbers placed in the Advanced Settings location makes EA select always both (just had this with 2 versions, but pretty sure it won't be better with more of them). Now, you should check whether MDGs are imported into the DB (in that case you can use the Remove button) and check what's in the Advanced settings. V15 doesn't make it easier (not using it; so just judging from the average bugs reported here). To overcome that "EA requires this and that MDG" (which I again forgot where that comes from) I usually run an external SQL to clear t_genopt from MDG* entries.

q.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 10438
  • Karma: +343/-30
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Trying to set required MDG Techs completely screws up MDG management
« Reply #3 on: February 01, 2020, 03:36:07 am »
I've seen some weird behavior with those things as well.

I ended up giving up and just removing he MDG files from the program files folder.
We use a central RDP system for the EA clients, so that is actually feasible.

Geert

Uffe

  • EA Practitioner
  • ***
  • Posts: 1778
  • Karma: +122/-14
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Re: Trying to set required MDG Techs completely screws up MDG management
« Reply #4 on: February 03, 2020, 08:03:37 pm »
Well, I've managed to find where the required/prohibited MDG Technologies are stored. That's a start.

They're in t_genopt, one of those lasciate ogni speranza-style tables in the Sparx schema. There are only two columns, AppliesTo and Option. AppliesTo contains a text label, and Options a bunch of, well, options. Different formats for different rows, too. How quaint.

In a project where you've fiddled with the required/prohibited MDG Technologies you'll find two rows where t_genopt.AppliesTo is "MDGBlklist" and "MDGRequire". t_genopt.Option for each contains a comma-separated list of MDG Technologies, using the "ID" from the XML file.

So there's a way to clear the project-specific settings.

In the registry, the user's selections are stored in HKCU\Sparx Systems\EA400\EA\OPTIONS\MDG_TECHNOLOGY_STATUS, which has a semicolon-separated list of key=value pairs, where the key is the technology ID and the value 0 or 1. Except that Basic UML and Core Extensions aren't in this list, they've got their own UMLEnabled and ExtendedTechEnabled. Isn't design fun?

Of course, each registry key is a single resource so what happens when you run multiple EA sessions at once is unclear.

Also unclear is what happens when different clients have different sets of MDG Technologies visible due to having different technology paths set up.

What is clear that it doesn't work.


/Uffe
My theories are always correct, just apply them to the right reality.

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 7296
  • Karma: +84/-12
    • View Profile
Re: Trying to set required MDG Techs completely screws up MDG management
« Reply #5 on: February 04, 2020, 10:03:54 am »
I haven't seen any of the usage problems you're describing.

I do know that I've seen too many instances of users being locked out of their model because someone has set something as required without knowing what they were doing. So at least something appears to work.

Regardless of the UI state for the MDG Technologies in the user options, the model will take precedence.

If a technology has been disabled by the user and the model lists it as required it will be enabled while in that model. If they don't have the path configured to include that technology they will be prevented from using the model.

If a technology is enabled by the user and disabled in the model the user can't use that technology.
Eve

support@sparxsystems.com

qwerty

  • EA Guru
  • *****
  • Posts: 11402
  • Karma: +295/-263
  • I'm no guru at all
    • View Profile
Re: Trying to set required MDG Techs completely screws up MDG management
« Reply #6 on: February 04, 2020, 10:07:18 am »
Yeah, kinda answer I expect as a customer. It's just me using the tool wrongly. Thank you.

q.

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 7296
  • Karma: +84/-12
    • View Profile
Re: Trying to set required MDG Techs completely screws up MDG management
« Reply #7 on: February 04, 2020, 10:13:06 am »
Yeah, kinda answer I expect as a customer. It's just me using the tool wrongly. Thank you.
That's not what I said.

I don't know what the original "Not only does it not work" means. The best I can do is describe what the feature is meant to do, if it functions differently in some way there is a basis for discussion and something that people here may be able to reproduce.

In my client config, these MDGs are now deselected, but the checkboxes are enabled. They should have been selected and disabled, since that is what is configured in the project I connected to.

So it looks like I can select the missing MDGs.
Is what you are seeing that EA allows you to change your personal settings even if they won't have any impact on the current model?
Eve

support@sparxsystems.com

Uffe

  • EA Practitioner
  • ***
  • Posts: 1778
  • Karma: +122/-14
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Re: Trying to set required MDG Techs completely screws up MDG management
« Reply #8 on: February 04, 2020, 06:54:29 pm »
Regardless of the UI state for the MDG Technologies in the user options, the model will take precedence.
Nope.

As I described, after trying (and failing) to set it up in one project, I went into another where three technologies which had been specified as required in that project were unselected in my client (and I verified that it wasn't just a dialog issue: scripts from those technologies were not available to me). The checkboxes were enabled which they shouldn't have been, but selecting them had no effect.

I've seen two different versions of this behavior. In one, hitting OK in the MDG Technologies dialog simply closes it and does nothing. In the other there is a busy cursor for a couple of seconds, which usually indicates that the client is loading the technology files, but in fact the technology files are not loaded and opening the dialog again indicates that they are indeed not loaded.

The behavior persists, btw: it is still the same after reboot, following which I've not tried to set up required technologies in any project. But technologies which I have at one point switched off in one project, and which are required in another, exhibit this behavior.

I don't know what the original "Not only does it not work" means.
That the required/disabled technology configuration I tried to set up in a project wasn't honoured by the client next time I connected to that project.

Quote
In my client config, these MDGs are now deselected, but the checkboxes are enabled. They should have been selected and disabled, since that is what is configured in the project I connected to.

So it looks like I can select the missing MDGs.
Is what you are seeing that EA allows you to change your personal settings even if they won't have any impact on the current model?
Not quite. What I'm seeing is that EA purports to allow me to select the missing technologies, which would have an impact on the current project (would mean that my client was in sync with the configuration in that project), but in fact it doesn't allow me to do that at all.

So the situation is that EA does not automatically load all the technologies that are configured as required in the project, and while it gives the appearance of allowing the user to select the missing ones after the fact, that doesn't work.

The workaround is to not open the project directly (ie by opening a shortcut file), but by first starting the client on its own, then selecting and deselecting the technologies in accordance with the policy of the target project, and then opening the project.

This has the advantage of working, although it does of course completely negate the whole point of having this functionality in the first place.


/Uffe
My theories are always correct, just apply them to the right reality.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 10438
  • Karma: +343/-30
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Trying to set required MDG Techs completely screws up MDG management
« Reply #9 on: February 04, 2020, 08:20:27 pm »
Thanks for getting to the bottom of this Uffe.

I had noticed this problem before but I didn't have the time back then to get all the details and report it.

Geert

Uffe

  • EA Practitioner
  • ***
  • Posts: 1778
  • Karma: +122/-14
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Re: Trying to set required MDG Techs completely screws up MDG management
« Reply #10 on: February 04, 2020, 09:06:54 pm »
Oh, ooh, here's a new one.

Forgetting the open-client-set-technologies-open-project routine I outlined above I jumped straight into a project, then realized I couldn't set the technologies, so I closed the project and opened the Manage-Tech dialog, selected the three I want (all checkboxes were enabled at this point, some ticked and some not, as expected), clicked OK --

    Enterprise Architect - UML Development Tool has stopped working

Yes! Crash!

And it's repeatable.


/U
My theories are always correct, just apply them to the right reality.

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 7296
  • Karma: +84/-12
    • View Profile
Re: Trying to set required MDG Techs completely screws up MDG management
« Reply #11 on: February 05, 2020, 05:54:03 pm »
I'm still trying to work out the exact errors you're seeing. Sounds like you're only having problems with the behavior of required technologies. Is that correct?

If I disable any technologies for the model: In the personal settings while I have that model open they are greyed out and unchecked regardless of my personal settings. I don't see a problem with that.

If I mark any as required:
- My personal settings dialog doesn't show this.
- I can disable a technology.
- I can't enable a technology.
- Disabled technologies are treated like they aren't included in the current perspective. (Which makes a bit of sense to me. I've said that I don't want to use it, but if I navigate to something using it the behavior is still the same.)
- If I actually remove a technology file I can't get into the model.

I haven't managed to reproduce the crash, so it sounds like there's some other factor at play. (I did crash an old version of EA with a similar process)

I agree the current behavior is inconsistent.
Eve

support@sparxsystems.com