Author Topic: MDG: Quick Linker Menu - Elements Order  (Read 9197 times)

L.Krobot

  • EA Novice
  • *
  • Posts: 15
  • Karma: +0/-0
    • View Profile
MDG: Quick Linker Menu - Elements Order
« on: August 08, 2015, 04:08:21 am »
I'm extending Archimate with my own MDG technology, and I'm adding my new elements into Quick Linker menu,

but, when I test it, on the Quick Linker menu, I'm geting on the top all elements from original Archimate stereotype, and then on the bottom I get elements from my MDG stereotype.

Really, I’d like to have this completely opposite:
I need the elements from my MDG on the top of the menu, and then, the original elements from Archimate on the bottom of the menu.

Do anyone know how to do this ?

thx,
ljk


qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +396/-301
  • I'm no guru at all
    • View Profile
Re: MDG: Quick Linker Menu - Elements Order
« Reply #1 on: August 08, 2015, 08:14:12 am »
I doubt there is a solution for that. Getting the QL to work is a PITA, honestly.

q.

KP

  • EA Administrator
  • EA Expert
  • *****
  • Posts: 2919
  • Karma: +54/-3
    • View Profile
Re: MDG: Quick Linker Menu - Elements Order
« Reply #2 on: August 10, 2015, 09:13:58 am »
I believe it's all about the order that the technologies are loaded. If you put your technology file in the same directory as the Archimate technology and rename it so it's first alphabetically, it might get loaded first. However, I've never tried it, so can't promise it'll work.
The Sparx Team
[email protected]

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8605
  • Karma: +256/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: MDG: Quick Linker Menu - Elements Order
« Reply #3 on: August 10, 2015, 09:49:56 am »
Hi Ljk,

If you try KP's suggestion, can you let us known the results?  As I indicated elsewhere, I have a similar environment - extending ArchiMate.

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8605
  • Karma: +256/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: MDG: Quick Linker Menu - Elements Order
« Reply #4 on: August 10, 2015, 09:55:11 am »
Quote
I believe it's all about the order that the technologies are loaded. If you put your technology file in the same directory as the Archimate technology and rename it so it's first alphabetically, it might get loaded first. However, I've never tried it, so can't promise it'll work.

Hi Neil,

Long time no contact!  Since you guys wrote it, can you provide some definitive descriptions of the QL process?  Over the years, I haven't REALLY been able to come to a good understanding of how the QL "does its thing".  It still seems somewhat arbitrary from our "outsider's"   view.  Getting it to do what you want can be (as qwerty said) a PITA and can consume a lot of time - better spent of more substantive work.

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

KP

  • EA Administrator
  • EA Expert
  • *****
  • Posts: 2919
  • Karma: +54/-3
    • View Profile
Re: MDG: Quick Linker Menu - Elements Order
« Reply #5 on: August 10, 2015, 12:04:51 pm »
Well, I can't take credit for it, but... Each quicklinker definition row has a number of "filter" fields that determine whether the row should be ignored and a number of "command" fields that determine what menu commands to create. EA loops through each definition row (built in definitions plus every enabled technology) in turn, either ignoring it or adding its command to a popup menu. Then if it hasn't found an "exclusive to stereotype" flag on the first pass, it performs a second pass, this time matching blank source stereotype. Finally it displays the menu. And that's pretty much all there is to it.
The Sparx Team
[email protected]

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8605
  • Karma: +256/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: MDG: Quick Linker Menu - Elements Order
« Reply #6 on: August 10, 2015, 12:28:48 pm »
Quote
Well, I can't take credit for it, but... Each quicklinker definition row has a number of "filter" fields that determine whether the row should be ignored and a number of "command" fields that determine what menu commands to create. EA loops through each definition row (built in definitions plus every enabled technology) in turn, either ignoring it or adding its command to a popup menu. Then if it hasn't found an "exclusive to stereotype" flag on the first pass, it performs a second pass, this time matching blank source stereotype. Finally it displays the menu. And that's pretty much all there is to it.
Thanks, KP.  That's good enough. for now.  ;)

However, in determining alphabetical order of the MDGs, are all the (available - that is the files are where they are supposed to be - and selected) MDGs loaded and then sorted?  And which field in the MDG is used to sort?  Id=, Name= or Alias=?

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

KP

  • EA Administrator
  • EA Expert
  • *****
  • Posts: 2919
  • Karma: +54/-3
    • View Profile
Re: MDG: Quick Linker Menu - Elements Order
« Reply #7 on: August 10, 2015, 03:14:22 pm »
There is no sorting. Technologies are loaded from the file system in some order. Alphabetical order of filename within each directory would be my guess, but it's a guess.
The Sparx Team
[email protected]

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8605
  • Karma: +256/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: MDG: Quick Linker Menu - Elements Order
« Reply #8 on: August 10, 2015, 05:48:29 pm »
Quote
There is no sorting. Technologies are loaded from the file system in some order. Alphabetical order of filename within each directory would be my guess, but it's a guess.
It's OK for US (USers) to guess - sometimes we have no choice!

But it's not acceptable that Sparxians "guess".  :-?  Do I need to place a formal support request to get this answered - definitively?

Some MDGs are in the default installation folder structure, others are located elsewhere (such as shared network drives etc).  We need to understand how Sparx behaves to make (some) sense of its EAUI behaviour.

It's hard enough getting non-modellers (including IT Architects) to use Sparx EA to model their Universe of Discourse without weird behaviour that puts them off or, worse, gets them to complain...  (It's no coincidence that the/a collective noun for a group of architects is "an argument of architects"  ;))

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Uffe

  • EA Practitioner
  • ***
  • Posts: 1859
  • Karma: +133/-14
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Re: MDG: Quick Linker Menu - Elements Order
« Reply #9 on: August 10, 2015, 06:36:15 pm »
As you may or may not be aware, the QuickLink definitions are stored as plain text in the MDG Technology XML file -- so you could place your definitions in Archimate or Archimate2 manually.

I haven't tested this but it should work, provided that the QuickLink definitions aren't scanned once and for all when the technology is loaded because then you run into the load-order problem again. So that's a question for KP.

Also of course it's a violent hack, and a bugger to maintain. And may well be a violation of EA's license terms.

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

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8078
  • Karma: +118/-20
    • View Profile
Re: MDG: Quick Linker Menu - Elements Order
« Reply #10 on: August 11, 2015, 08:44:33 am »
Quote
But it's not acceptable that Sparxians "guess".
Would you rather a guess or no answer at all? KP's time is valuable, and it's not primarily for user support. He said that it's loaded in the order the file system provides the information for each directory. From my memory that tends to be alphabetical for windows, although when running on WINE it tends to be unpredictable.

If you must have a technology to appear before archimate. Name the file aaamyarchimate.xml and put it in the same directory. Any other solution would be considered as a new feature request.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8605
  • Karma: +256/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: MDG: Quick Linker Menu - Elements Order
« Reply #11 on: August 11, 2015, 10:58:25 am »
Quote
As you may or may not be aware, the QuickLink definitions are stored as plain text in the MDG Technology XML file -- so you could place your definitions in Archimate or Archimate2 manually.

I haven't tested this but it should work, provided that the QuickLink definitions aren't scanned once and for all when the technology is loaded because then you run into the load-order problem again. So that's a question for KP.

Also of course it's a violent hack, and a bugger to maintain. And may well be a violation of EA's license terms.

/Uffe
Unfortunately, Uffe, it's not just one MDG in use...  That's why I asked the question.  Also, if one MDG has a named grouping, and another has the same named grouping does the QL place them together?

When you set up MDGs these questions come into play - especially when you are setting up an enterprise repository holding the (possible) output of many MDGs.

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8605
  • Karma: +256/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: MDG: Quick Linker Menu - Elements Order
« Reply #12 on: August 11, 2015, 11:11:29 am »
Quote
Quote
But it's not acceptable that Sparxians "guess".
Would you rather a guess or no answer at all? KP's time is valuable, and it's not primarily for user support. He said that it's loaded in the order the file system provides the information for each directory. From my memory that tends to be alphabetical for windows, although when running on WINE it tends to be unpredictable.

If you must have a technology to appear before archimate. Name the file aaamyarchimate.xml and put it in the same directory. Any other solution would be considered as a new feature request.
There are guesses and guesses.  I appreciate KP's time is valuable.  But from an overall support point of view, perhaps he could have "handed it off" to customer support with his guess.

I would have been happy enough with a "Please put in a formal support request".

Unfortunately a guess is as good as the documentation its based on.  (Not slanging off RoyC - either) It's just a play on the phrase - "a verbal contract is as good as the paper it's written on".

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Eve

  • EA Administrator
  • EA Guru
  • *****
  • Posts: 8078
  • Karma: +118/-20
    • View Profile
Re: MDG: Quick Linker Menu - Elements Order
« Reply #13 on: August 11, 2015, 12:02:30 pm »
Well, my answer is that there is no guarantee on technology load order, and therefore on the quicklink order from technologies.

As it currently stands, the best way to ensure your technology is loaded early is to put it in an add-in. They appear to loaded immediately after the core.

L.Krobot

  • EA Novice
  • *
  • Posts: 15
  • Karma: +0/-0
    • View Profile
Re: MDG: Quick Linker Menu - Elements Order
« Reply #14 on: August 12, 2015, 08:11:35 pm »
unfortunately no success till now ...

only way to achieve this was:
- instead of extending Archimate (or other) MDG, original UML element (i.e. Class) was extended first with own MDG stereotype (i.e. Service Consumer), and then added ALL the rest from the Archimate element (i.e. Business Actor)
- and then created QuickLink artifact, listing first own elements, and then, in sequence, adding the elements from the original Archimate ...

It works, but it is not easy maintainable, you have to reverse engineer everything from Archimate, and on the end you do not have Archimate any more, but only your MDG that is not Archimate extension, but only your own Archimate-like MDG ...

maybe in the future somebody finds the way how to do it in the simple way ...

rgrds,
ljk