Page 1 of 1

Changing schema map for a DHLink

PostPosted: Wed May 17, 2017 2:09 pm
by KristijanCaelinus
I'd like to change the schema map used by every DHLink for a single DOORS module. When I originally mapped created the links, I missed a bunch of attributes in DOORS that weren't available in the mapping type I chose, so I created a new type that contains the extra DOORS attributes I want to map and created the new mapping:


So now I want to refactor all of those entities in MagicDraw so that they're using the new mapping. It looks like it isn't as simple as deleting the old mapping, since the DHLinks themselves hang onto the schema mapping that they're using:


Manually refactoring the entities to be the right type and then Synchronizing doesn't cause it to pick up the new schema mapping either, nor can I find any explicit DHLink re-mapping option. I fear that the only way out of this problem is to delete all of the entities and just re-build all of the DHLinks, which would be a nightmare because I already have a ton of other relationships between those DHLinked MagicDraw entities and other entities in my model. How can I re-map DHLinks to use different schema mappings?

Re: Changing schema map for a DHLink

PostPosted: Wed May 24, 2017 2:31 pm
by ieva.n

The reply was provided in support ticket

No Magic, Inc. Customer Support

Re: Changing schema map for a DHLink

PostPosted: Thu Jun 20, 2019 9:24 am
by mark.relova

I have the same issue (Cameo EA 19.0, DOORS 9.6). Can you provide your response to the OP's issue here? We need to remap our existing elements and we don't want to unnecessarily have to delete and re-export/import. Thanks!

Re: Changing schema map for a DHLink

PostPosted: Tue Sep 17, 2019 3:11 pm
I'd also like to see this done

Re: Changing schema map for a DHLink

PostPosted: Fri Nov 01, 2019 10:19 am
Can you please post your response here in the forum for the rest of us?

Re: Changing schema map for a DHLink

PostPosted: Tue Nov 05, 2019 8:04 am
by rasat

please find the answer from the ticket:

DataHub does not provide a feature to refactor the mapped type to the new one yet. But there is a workaround to do so. You may create a sample project and follow our steps in order to review the result whether this is what you need. Then redo the steps to your production model.

Says that we already have a Module imported as a SysML Requirements. Then later we need to refactor them to a more specific Requirement.

1. First we have a new type with additional attributes that generalize from the Requirement. (after the new type is created, you will need to save and reopen the project.)

2. Refactor the current imported requirement to the new Requirement type.

3. Call the Schema Map Manager via menu Tools> DataHub> Schema Map Manager...
4. Select the Source DOORS node type and the original Requirement type in MagicDraw.
5. Click Edit button at the bottom and change one existing mapping to blank, maybe Name. (Basically, this will force the next synchronization to take affect on every requirements for this mapping. And the mapping should pick up the new type that we refactored.)

6. Click Save.
7. Right-click over the Module in the DataHub Explorer and choose the Synchronize Recursively.
8. After the synchronization, lets go back to the Schema Map Manager. Now you should see that the mapping is now applied to the new Requirement_DOORS. You can now edit the properties mapping with new attributes.

Best Regards,
Supat P.