eclipse-esmf / esmf-aspect-model-editor

Manage Aspect Models visually — create, validate, create artefacts, persist file based
https://eclipse-esmf.github.io/ame-guide/introduction.html
Mozilla Public License 2.0
21 stars 7 forks source link

[Task] Load model with references from github #106

Open chris-volk opened 1 year ago

chris-volk commented 1 year ago

See https://github.com/eclipse-esmf/esmf-sdk/issues/474 for the original ESMF SDK / SAMM CLI issue.

As an editor user I want to load an Aspect Model from a github url that may include references to other models which are also in github and either read it (step 1) or make changes to it (step 2) so that I can work with it quickly without having to worry about manually downloading all references / cloning an entire github repository.

(Additionally, as an ideation, As a modeler I want to add multiple sources to my modeling environment config so that I can reuse these sources for loading/resolution automatically/more conveniently.)

Example: I want to load https://github.com/eclipse-tractusx/sldt-semantic-models/blob/main/io.catenax.battery.battery_pass/3.0.1/BatteryPass.ttl into the editor. The validation should be together with the references https://github.com/eclipse-tractusx/sldt-semantic-models/blob/0ce954e3d3b88446dafc04579b3af49bbd010a5c/io.catenax.battery.battery_pass/3.0.1/BatteryPass.ttl#L32 and https://github.com/eclipse-tractusx/sldt-semantic-models/blob/0ce954e3d3b88446dafc04579b3af49bbd010a5c/io.catenax.battery.battery_pass/3.0.1/BatteryPass.ttl#L33 :

<urn:bamm:io.catenax.shared.address_characteristic:1.0.1#> <urn:bamm:io.catenax.shared.contact_information:1.0.0#> These references are available within the same github repository in the expected structure.

chris-volk commented 1 year ago

See also https://github.com/eclipse-esmf/esmf-sdk/issues/474

BirgitBoss commented 1 year ago

I would not rely on any folder structure.

In a first step just promt for the url for the shared models/included namespaces In a second step you may look for them yourself (assuming a github structure), if not found then again like in first step

chris-volk commented 1 year ago

Also to be considered: Users who want to only read the model, but not edit it. For such a user it may be sufficient to have unresolved references in the model, but not a good thing that after loading a model without references to have a "Christmas tree of validation problems". We'll consider this in the design of the improvement(s)

chris-volk commented 1 year ago

As a user using this feature I want (similar to package import) the knowledge which referred models will be imported to workspace if I continue. There should preferably also be the option to import the entire namespaces from the github repository (with a proper root location that includes all namespaces on that level.)