TMT Collaborator Migration

 

Make a branch of MMS version

Disable MBEE in Project Options

delete URLS in MBEE Project Options

Clone document View Hierarchies to make there the changes for collaborator and preserve the MBEE ones.

Change Type of MDK View Diagram to Collaborator View Diagram (it will load Cameo collaborator profile)

 

Find all documents of MDK <<Document>> type in the cloned package

 

Note there are two "Document". Pick the "MDK" one.

 

Refactor it to View and then to Cameo Collaborator Document

 

When trying too publish Collaborator documents, you should see the ones you refactored:

 

Choose a name of the document based on this template - typically the same name:

 

 

One the collaborator webapp you'll see nw the document:

 

Change the specification of the document to have a VE like layout and re-publish:

 

 

Add Collaborator libraries and templates in project usages:

 

For views with exposed diagrams, make them conform to a new ViewPoint "Dump Diagram"

 

 

Switch to "Document View" (not Model View) in Collaborator Web top right menu.

 

Export document as PDF

 

Whole document PDF generation fails

 

Procedure:

  1. add paragraphs on web, commit on web

  1. delete view documentation in CSM

  1. refactor old <<Expose>> with more general SysML native <<expose>>

  1. conform to "Dump Diagram" viewpoint for any view using <<expose>>

delete any old TMT conform relationship to dump images

  1. commit model in CSM

  1. publish document

 

ViewPoint methods have to be migrated manually as the docgen stereotypes are similar in Cameo Collaborator but IDs and properties deviate.

So for every action you need to:

  1. apply the corresponding Cameo stereotype and unapply the OpenMBEE docgen stereotype

  1. Update the tag value accordingly. There is not a straightforward 1:1 mapping

 

DDD throws some OCL errors when publishing the document:

[2023.10.27::16:09:02]

ERR: Unrecognized variable: (appliedStereotypeInstance) for OCL query "end.appliedStereotypeInstance.slot->select(x|x.definingFeature.name = 'propertyPath' and x.value.oclAsType(ElementValue).element->exists(y|y.oclAsType(Property).type.name = 'Optical Bench')).value.oclAsType(ElementValue).element->select(z|z.oclAsType(Property).type.oclAsType(NamedElement).name
'Optical Bench').oclAsType(NamedElement).name" on [33569562-569f-42bc-b485-e4e3c268f966]

[2023.10.27::16:09:03]

ERR: Unrecognized variable: (appliedStereotypeInstance) for OCL query "end.appliedStereotypeInstance.slot->select(x|x.definingFeature.name = 'propertyPath' and x.value.oclAsType(ElementValue).element->exists(y|y.oclAsType(Property).type.name = 'Controller Rack')).value.oclAsType(ElementValue).element->select(z|z.oclAsType(Property).type.oclAsType(NamedElement).name
'Controller Rack').oclAsType(NamedElement).name" on [33569562-569f-42bc-b485-e4e3c268f966]

[2023.10.27::16:09:03]

ERR: Unrecognized variable: (appliedStereotypeInstance) for OCL query "end.role.type.oclAsType(Class).member->select(y|y.appliedStereotypeInstance.classifier->any(x|x.name = 'FlowProperty')->size()
0).appliedStereotypeInstance.slot->select(x|x.oclAsType(Slot).definingFeature.name = 'direction').oclAsType(Slot).value.oclAsType(InstanceValue).instance.name->asSet()" on [33569562-569f-42bc-b485-e4e3c268f966]

[2023.10.27::16:09:03]

ERR: Unrecognized variable: (appliedStereotypeInstance) for OCL query "end.appliedStereotypeInstance.slot->select(x|x.definingFeature.name = 'propertyPath' and x.value.oclAsType(ElementValue).element->exists(y|y.oclAsType(Property).type.name = 'Optical Bench')).value.oclAsType(ElementValue).element->select(z|z.oclAsType(Property).type.oclAsType(NamedElement).name
'Optical Bench').oclAsType(NamedElement).name" on [9340b9f3-7c15-4874-9e21-3cb3761c9276]

[2023.10.27::16:09:03]

ERR: Unrecognized variable: (appliedStereotypeInstance) for OCL query "end.appliedStereotypeInstance.slot->select(x|x.definingFeature.name = 'propertyPath' and x.value.oclAsType(ElementValue).element->exists(y|y.oclAsType(Property).type.name = 'Controller Rack')).value.oclAsType(ElementValue).element->select(z|z.oclAsType(Property).type.oclAsType(NamedElement).name
'Controller Rack').oclAsType(NamedElement).name" on [9340b9f3-7c15-4874-9e21-3cb3761c9276]

[2023.10.27::16:09:03]

ERR: Unrecognized variable: (appliedStereotypeInstance) for OCL query "end.role.type.oclAsType(Class).member->select(y|y.appliedStereotypeInstance.classifier->any(x|x.name = 'FlowProperty')->size()
0).appliedStereotypeInstance.slot->select(x|x.oclAsType(Slot).definingFeature.name = 'direction').oclAsType(Slot).value.oclAsType(InstanceValue).instance.name->asSet()" on [9340b9f3-7c15-4874-9e21-3cb3761c9276]

[2023.10.27::16:09:03]

ERR: Unrecognized variable: (appliedStereotypeInstance) for OCL query "end.appliedStereotypeInstance.slot->select(x|x.definingFeature.name = 'propertyPath' and x.value.oclAsType(ElementValue).element->exists(y|y.oclAsType(Property).type.name = 'Optical Bench')).value.oclAsType(ElementValue).element->select(z|z.oclAsType(Property).type.oclAsType(NamedElement).name
'Optical Bench').oclAsType(NamedElement).name" on connector[567e52bd-3385-48d2-b25d-0244d1c54368]

[2023.10.27::16:09:03]

ERR: Unrecognized variable: (appliedStereotypeInstance) for OCL query "end.appliedStereotypeInstance.slot->select(x|x.definingFeature.name = 'propertyPath' and x.value.oclAsType(ElementValue).element->exists(y|y.oclAsType(Property).type.name = 'Controller Rack')).value.oclAsType(ElementValue).element->select(z|z.oclAsType(Property).type.oclAsType(NamedElement).name
'Controller Rack').oclAsType(NamedElement).name" on connector[567e52bd-3385-48d2-b25d-0244d1c54368]

[2023.10.27::16:09:03]

ERR: Unrecognized variable: (appliedStereotypeInstance) for OCL query "end.role.type.oclAsType(Class).member->select(y|y.appliedStereotypeInstance.classifier->any(x|x.name = 'FlowProperty')->size()
0).appliedStereotypeInstance.slot->select(x|x.oclAsType(Slot).definingFeature.name = 'direction').oclAsType(Slot).value.oclAsType(InstanceValue).instance.name->asSet()" on connector[567e52bd-3385-48d2-b25d-0244d1c54368]

 

Notes

The findings below have been reported here to DS/NoMagic:

 SR01105212-01

 

  1. From Collaborator Resources WebApp I can't open a document in a new tab - I need to open and then copy/paste the link into a new tab

  1. No search available when selecting an element to transclude - need to navigate the whole tree

  1. After every switch to edit mode and saving, I have to go into edit mode again to add a new paragraph - the edit mode should be on until it's turned off and not depend on save

  1. expand/collapse all option for view hierarchy in document/model view

  1. no numbering for views - how can I get that?

  1. no numbering of exposed diagrams as figures - how can I get that?

  1. no last modified information about paragraphs

  1. no history of paragraph and section elements

  1. when clicking on a transclusion I get an error, instead I should get information about that element like in OpenMBEE VE with the transclusion spec pane.

 

 

 

10) when adding paragraphs to a sub document and then publishing the sub document, the paragraphs are not showing.

In this example I published TMT-SE and added paragraphs in the TMT Observation Workflow.

Then I published TMT Observation workflow but the paragraphs exist only in the TMT-SE context.

How can I make them available in the TMT Observation Workflow?

paragraphs/sections are stored in the published document and not in the template. How can I re-use them in other documents where I use the same views from another template?

11) Documentation of views is displayed on collaborator but cannot be edited

12) no error/warning/log when viewpoint method doesn't work

13) no obvious Math-Tex support for formulas in Editor

14) when cross-referencing to another view, it should be possible to show the number of that view as it will appear in the document.

15) <<expose>> works only of the native sysml one but not with any specialization of it

16) If you publish a new document (or make a mistake with a typo which is very easy), how do can you re-use the paragraphs you created for a previous publication?

17) How are documents handled that are published from branches? They seem to end up in the same resource page, indistinguishable from the trunk

18) When publishing, the document name field should allow to select already existing documents. Now you have to retype every time which is very very annoying when publishing many different documents.

 

19) There should be a mechanism just to re-publish a document, based on the previously selected template.

20) With hundreds of documents the resources page becomes quickly very crowded even with categories and difficult to navigate. There needs to be dashboard, that allows projects and different groups on a project organize the different documents and also have a cover page that provides some meta information about that document, such as authors, version, release date, status (draft, released), short description of purpose.

21) the drop down menu to select a template won't scale for 100s of documents.

22) There should be a context menu for documents to publish on right-click. The menu navigation is clumsy

23) diagram info shows up sometimes even when not displayed on the diagram in CSM

24) it's unclear how the versions for documents increase. Publishing doesn't seem to affect it. I also added a lot of paragraphs and the version doesn't change either.

25) references to  views do not resolve properly in the exported HTML version, they are just mdel:// links. So I cannot navigate within the document

{}