Sparx Systems Forum

Enterprise Architect => Suggestions and Requests => Topic started by: Sunshine on October 31, 2014, 01:34:01 pm

Title: Merge components
Post by: Sunshine on October 31, 2014, 01:34:01 pm
One of the common problem when modelling with a team of many people is that two people sometimes create the same object. It would be a really great feature to be able to merge objects. Something like dragging an object with the ctrl or shft key pressed in the project browser and dropping it onto the another of the same type. A dialog would pop up saying do you want to merge with options of overwrite target or source (for properties and tag values). Sparx EA would then merge the two objects into one, replacing the instances in diagrams and combining relationships with other objects.
This would facilitate rationalisation of objects when working large teams.
Title: Re: Merge components
Post by: skiwi on November 06, 2014, 12:37:37 pm
yus, gets my vote
Title: Re: Merge components
Post by: qwerty on November 06, 2014, 10:59:29 pm
Yes. Though I think it's quite tricky to make it user friendly. Especially replacing occurrences of the replaced element (be it in diagrams or as classifier) is challenging.

q.
Title: Re: Merge components
Post by: Sunshine on November 07, 2014, 07:34:25 am
Quote
Yes. Though I think it's quite tricky to make it user friendly. Especially replacing occurrences of the replaced element (be it in diagrams or as classifier) is challenging.

q.
Tricky maybe but not impossible. I've seen it implemented on another tool  ;)
Title: Re: Merge components
Post by: qwerty on November 07, 2014, 07:52:00 am
I just wanted to point Sparx' nose in the right direction. They should make a requirements analysis followed by an use case synthesis, shouldn't they? Looking at most of the recent "improvements" I get the feeling that these were done directly from the programmers :P

q.
Title: Re: Merge components
Post by: François C on December 12, 2019, 10:52:33 am
That would really solve a lot of my problems. Do you know if it's been implemented finally?
Title: Re: Merge components
Post by: skiwi on December 13, 2019, 12:12:26 pm

That would really solve a lot of my problems. Do you know if it's been implemented finally?
lol
While it may have some challenges some basic ideas might be for an entity, or for a relationship (but not a package):
* aggregate notes, files, and similar
* aggregate tags (if different)
* move relationships from the object selected be replaced to the master object
* merge any relationships that are the same (sameness to be defined)
* update diagrams
might be trickier for classifiers and lot of other things

Title: Re: Merge components
Post by: Paolo F Cantoni on December 13, 2019, 04:50:43 pm

That would really solve a lot of my problems. Do you know if it's been implemented finally?
lol
While it may have some challenges some basic ideas might be for an entity, or for a relationship (but not a package):
* aggregate notes, files, and similar
* aggregate tags (if different)
* move relationships from the object selected be replaced to the master object
* merge any relationships that are the same (sameness to be defined)
* update diagrams
might be trickier for classifiers and lots of other things
We've done some work on defining (and processing) Semantic Equivalence of Arcs

Paolo
Title: Re: Merge components
Post by: skiwi on December 16, 2019, 08:32:45 am

We've done some work on defining (and processing) Semantic Equivalence of Arcs


Please tell me more
Title: Re: Merge components
Post by: Paolo F Cantoni on December 16, 2019, 09:38:59 am

We've done some work on defining (and processing) Semantic Equivalence of Arcs


Please tell me more
It's not quite "rocket science", but as we discovered not trivial.  If you're really interested, we could start a new discussion specifically on this topic.  It may also help us to improve our mechanism.

Ours is written in VBA because it's handled by an EXCEL side-in, but the business rules would be generally applicable.

Paolo
Title: Re: Merge components
Post by: Glassboy on December 16, 2019, 10:47:34 am
I don't need a merge so much as a move relationships function.
Title: Re: Merge components
Post by: Paolo F Cantoni on December 16, 2019, 07:03:40 pm
I don't need a merge so much as a move relationships function.
Don't try and use the API.  It doesn't behave in any sane way.  Use SQL directly to remap the object_IDs.  However, once you've moved the relationships, you still have a potential consolidation problem (as we discovered).  So the question of Semantic Equivalence still applies.

Paolo
Title: Re: Merge components
Post by: Geert Bellekens on December 16, 2019, 09:38:59 pm
I don't need a merge so much as a move relationships function.
Don't try and use the API.  It doesn't behave in any sane way.  Use SQL directly to remap the object_IDs.  However, once you've moved the relationships, you still have a potential consolidation problem (as we discovered).  So the question of Semantic Equivalence still applies.

Paolo
I'm not sure why you say that Paolo.
I've written a bunch of scripts manipulating connectors, some even for the exact purpose of merging elements together.

In none of these I had any kind of trouble like you indicate.

Geert
Title: Re: Merge components
Post by: qwerty on December 16, 2019, 09:41:43 pm
You're all talking on a zombie thread. You won't see any of that coming from Sparx. Write your own merge (like Geert did).

q.
Title: Re: Merge components
Post by: Paolo F Cantoni on December 17, 2019, 09:21:55 am
I don't need a merge so much as a move relationships function.
Don't try and use the API.  It doesn't behave in any sane way.  Use SQL directly to remap the object_IDs.  However, once you've moved the relationships, you still have a potential consolidation problem (as we discovered).  So the question of Semantic Equivalence still applies.

Paolo
I'm not sure why you say that Paolo.
I've written a bunch of scripts manipulating connectors, some even for the exact purpose of merging elements together.

In none of these, I had any kind of trouble like you indicate.

Geert
The problem had to do with diagram links - not the connectors themselves.  Once you've got the connectors sorted, you need to sort out the diagrams they appear on - that's when you come across the problems.

Paolo