Skip to content

[details] Open the external documents referenced by an element from the Details view #2436

Description

@kkkk1258999

Context
When a model is used to trace requirements back to the documents they come from, laws and regulations, internal rules, contracts, design documents, test reports, being able to reach those documents from the model matters as much as the requirements themselves: a requirement without its source cannot be reviewed.

Today a URL can be stored in a model, in the Documentation of an element for instance, but the Details view renders it as plain text in a text area, so it can only be copied and pasted into a browser by hand. There is no widget in SysON rendering a link: LinkDescription does not appear anywhere in SysMLv2PropertiesConfigurer, and searching the repository for a link widget returns nothing.

Expected
From the Details view of an element, being able to open the documents it references, in a new browser tab.

Notes
Sirius Web already provides the widget: FormFactory#createLinkDescription exists in sirius-components-view-form, so this looks like using a widget that is already there rather than building one.

What I am unsure about is where the URL should come from, since SysML v2 has no standard notion of an external link. A few options I can see:

the Documentation of the element, detecting the URLs it contains;
a dedicated attribute, by convention on its name or its type;
a metadata, the way a requirement derivation is identified by the #derivation metadata of the RequirementDerivation library.
I would rather follow whatever you consider right here, or whatever is already planned. If there is a direction you would like to take, I am willing to work on it.

For reference, this comes from using SysON to trace which internal rules and processes satisfy the requirements derived from a law: the requirements and their relations are now fully usable in the diagrams, but the documents they are derived from are still out of reach from the model.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions