Sparx Systems Forum

Enterprise Architect => General Board => Topic started by: matthew.james on June 25, 2018, 10:38:00 am

Title: Search for *connections* ... ?
Post by: matthew.james on June 25, 2018, 10:38:00 am
I feel like I'm missing something, but is there any way in Sparx to search for Connections ? (*without* resorting to scripting or SQL queries)
The search options seem to cover a wide variety of Element attributes and a wide combination of strange element types, but nothing for connections (as far as I can see)

Specific use case - find all connections in project / package with stereotype of <whatever I choose>

I'm worried that this feature might be missing due to the quasi nature of connections (ie that they are part of the model but not actuallly in the model)

Thanks
Title: Re: Search for *connections* ... ?
Post by: Nizam on June 25, 2018, 11:01:24 am
Not sure what you refer to by 'SQL Queries' but you can define your own search  to find the connectors. you might have to use the sql query to find the right connections.
(AFAIK there isn't one out of the box)

One of the recent query i shared.. (replace Name with Stereotype for your need)
Code: [Select]
select c.Name as Name, ce.Name as ClientName,  ce.Object_Type as ClientType, se.Name as SupplierName, se.Object_Type as SupplierType   
from (( t_connector c
left join t_object ce on ce.Object_ID = c.End_Object_ID )
left join t_object se on se.Object_ID = c.Start_Object_ID )
where c.Name ='<Search Term>'
Title: Re: Search for *connections* ... ?
Post by: matthew.james on June 25, 2018, 11:28:27 am
Not sure what you refer to by 'SQL Queries'

LOL - I meant exactly what I said.  I wanted to search for connections without having to use SQL Queries like the one you sent me.

Seems to be a deficiency if the product doesn't allow people to search for something as core as a relationship in a model. SQL is fine but the result is just a list of text, it's not 'connected' to the tool, and many people using Sparx won't necessarily have SQL skills (plus the additional overhead of managing / sharing scripts around).

If there is nothing in the product to do this I will raise a feature request and see what Sparx have to say (just wanted to check first to make sure I hadn't missed anything obvious).

In the meantime, I do have SQL skills so I have used your script to get me past my current problem (thank you :-)
Title: Re: Search for *connections* ... ?
Post by: Nizam on June 25, 2018, 11:44:52 am
Just to clarify, i intended to mean, which way of using SQL queries ('cos there are zillion ways of using SQL queries in EA) as you were comparing this with Scripting (which is a tad more complex)

EA's Search functionality has been working with SQL queries for most use cases, however you can try requesting a predefined filter option for 'Connector' like we have for elements, attributes, etc.
Title: Re: Search for *connections* ... ?
Post by: Glassboy on June 25, 2018, 01:14:59 pm
Just to clarify, i intended to mean, which way of using SQL queries ('cos there are zillion ways of using SQL queries in EA) as you were comparing this with Scripting (which is a tad more complex)

EA's Search functionality has been working with SQL queries for most use cases, however you can try requesting a predefined filter option for 'Connector' like we have for elements, attributes, etc.

May be something like this (https://en.wikipedia.org/wiki/Office_Assistant#/media/File:Clippy-letter.PNG).
Title: Re: Search for *connections* ... ?
Post by: Nizam on June 25, 2018, 01:30:31 pm
 :)
Title: Re: Search for *connections* ... ?
Post by: matthew.james on June 25, 2018, 01:35:37 pm
May be something like this (https://en.wikipedia.org/wiki/Office_Assistant#/media/File:Clippy-letter.PNG).

We're both showing our age by recognising Clippy ... but then there is this (https://mashable.com/2017/03/01/clippy-chrome-extension-microsoft/#KwXSFea2mmqr)

No - I'd settle for some pre-defined reports that support connections ...
Title: Re: Search for *connections* ... ?
Post by: Glassboy on June 25, 2018, 01:40:01 pm
No - I'd settle for some pre-defined reports that support connections ...

Well you don't have to insert related elements but it's a quick way of seeing what connections exist.  Plus each element has a Related Links tab.
Title: Re: Search for *connections* ... ?
Post by: matthew.james on June 25, 2018, 02:07:30 pm
Well you don't have to insert related elements but it's a quick way of seeing what connections exist.  Plus each element has a Related Links tab.

Not sure what you're saying in that first sentence
I do know that you can see connections through the elements property tabs, but that presumes that you know where the connector might be and can find the relevant element(s)
Title: Re: Search for *connections* ... ?
Post by: qwerty on June 25, 2018, 03:27:42 pm
Probably Paolo knows, but I don't. Relations usually ARE 2nd class citizens and the exist more or less anonymously between elements (and recently connectors). So what are your criteria to actually search for an connector?

q.
Title: Re: Search for *connections* ... ?
Post by: Geert Bellekens on June 25, 2018, 04:16:54 pm
Seems to be a deficiency if the product doesn't allow people to search for something as core as a relationship in a model. SQL is fine but the result is just a list of text, it's not 'connected' to the tool, and many people using Sparx won't necessarily have SQL skills (plus the additional overhead of managing / sharing scripts around).

If you want your SQL search to be "connected" then you have to add the two (or three) magic fields to your resultset:

CLASSGUID, CLASSTYPE (and optionally CLASSTABLE)

In case of connectors, the annoying thing is that you can't select a connector in the project browser, nor can you do a "find in all diagrams" or something like that, so I usually add the guid of the source object in the search, making it at least possible to find the connector and do something with it.

Geert
Title: Re: Search for *connections* ... ?
Post by: matthew.james on June 25, 2018, 04:18:59 pm
So what are your criteria to actually search for an connector?

As per original post:
Specific use case - find all connections in project / package with stereotype of <whatever I choose>

Perhaps this is an edge case that not many people have a need for (although it is interestng that Nizam had a query already built to search for connectors, and I suspect many others will as well)
Perhaps it is just another scenario where I'm using Sparx as an Archimate modelling tool, when it doesn't really speak Archimate
Title: Re: Search for *connections* ... ?
Post by: matthew.james on June 25, 2018, 04:21:14 pm
If you want your SQL search to be "connected" then you have to add the two (or three) magic fields to your resultset:

Interesting - thanks Geert.

(clearly someone else who has found the need to search for connectors ...  :) )
Title: Re: Search for *connections* ... ?
Post by: KP on June 25, 2018, 04:34:02 pm
Well you don't have to insert related elements but it's a quick way of seeing what connections exist.  Plus each element has a Related Links tab.

Not sure what you're saying in that first sentence
I do know that you can see connections through the elements property tabs, but that presumes that you know where the connector might be and can find the relevant element(s)

I think GB is saying that you can open the Insert Related Elements dialog to see that information; you don't have to actually insert anything.
Title: Re: Search for *connections* ... ?
Post by: Glassboy on June 26, 2018, 08:39:38 am
Perhaps it is just another scenario where I'm using Sparx as an Archimate modelling tool, when it doesn't really speak Archimate

Archi doesn't allow you to search for elements or connectors.  Nor does it have the ability to use a query language to supplement the canned searches.
Title: Re: Search for *connections* ... ?
Post by: matthew.james on June 26, 2018, 02:10:28 pm
I think GB is saying that you can open the Insert Related Elements dialog to see that information; you don't have to actually insert anything.

Ah - of course, just didn't register the meaning without context.  Yes both of these options are available and are great if you are working from an element.

Archi doesn't allow you to search for elements or connectors.  Nor does it have the ability to use a query language to supplement the canned searches.


Yes there are lots of things that Sparx does more and better than Archi, and there are things that Archi does better than Sparx.  For that matter there are things that Visio and OminGraffle do better than both of them. And there are tools like Troux, Mega and Abacus which can all do things that none of the above can do, but suck in their own special ways.

So, if your point is that a tool which speaks Archimate isn't necessarily going to be better than Sparx - sure.
If your point is that I should stop trying to make Sparx work the way I want it to and just accept that it works the way it does - sure.
However I would ask - how many positive changes have been made to the product because users have said "wouldn't it be good if ..." ?
Title: Re: Search for *connections* ... ?
Post by: skiwi on January 17, 2024, 08:23:18 am
I'm just jumping in here belatedly to support Matthew's request.

I too would like to see in "Find in Project" (ctrl-F) a 'Search Category' such as "Connector Searches" where attributes found in a Connector's Properties (such as Name, Alisa, Note) could be searched.

It doesn't seem like rocket science, and it seems strange that in an information management tool such as Enterprise Architect this information is not simply available at a user's fingertips.
Title: Re: Search for *connections* ... ?
Post by: skiwi on January 17, 2024, 08:31:36 am

One of the recent query i shared.. (replace Name with Stereotype for your need)
Code: [Select]
select c.Name as Name, ce.Name as ClientName,  ce.Object_Type as ClientType, se.Name as SupplierName, se.Object_Type as SupplierType   
from (( t_connector c
left join t_object ce on ce.Object_ID = c.End_Object_ID )
left join t_object se on se.Object_ID = c.Start_Object_ID )
where c.Name ='<Search Term>'

This is useful thanks, but how to I add CLASSGUID, CLASSTYPE (and optionally CLASSTABLE) as suggested by Geert so I can (say) open the properties of the connector (or even find it in a diagram)?
thanks
Title: Re: Search for *connections* ... ?
Post by: qwerty on January 18, 2024, 08:37:38 pm
have you been assasined during typing?

q.
Title: Re: Search for *connections* ... ?
Post by: Geert Bellekens on January 18, 2024, 09:14:04 pm
have you been assasined during typing?

q.
Shrunk more likely

Geert
Title: Re: Search for *connections* ... ?
Post by: qwerty on January 19, 2024, 01:52:46 am
oh, those are chars! My eyes only recognized underscores.....

q.
Title: Re: Search for *connections* ... ?
Post by: skiwi on January 19, 2024, 08:49:28 am
yeah sorry, fixed now, the forum editor every now and then decides its going to add some formatting (and I didn't notice)
Title: Re: Search for *connections* ... ?
Post by: Paolo F Cantoni on January 19, 2024, 09:22:23 am
yeah sorry, fixed now; the forum editor every now and then decides it's going to add some formatting (and I didn't notice)
I ALWAYS use the modify command to re-check the post as the editor ALWAYS makes changes...


In my case, it adds an additional blank line above (and below) - this one I left unedited.  In the original, there was only one blank line above this one.


Paolo