Issues with dropings/viewpoints after adding Python4Capella-

Thanks for the suggestion,
I tried:

I tried your first suggestion, this time the error message is different:
java.net.UnknownHostException: .
(with a point at the end).
I tried to change the “name” of the file with one that does not exist (ended the command with 35 instead of 31), same error, it means the error comes priori.
I added “.jar” at end end, same error.
I removed the version from the name “1.0.4” (eventhough this version is not part of the name of the folder as read by windows) → I used the exact name of the extension as it appers for windows and added .jar. Same error.
We don’t see it in the screenshot but I also tried without .jar and without the 1.0.4 version → same error message.

Above the red rectangle, i tried to put the full path (your second suggestion) i run into the problem of “spaces”, any idea how write “Capella Back At it” in the console ? I tried use “” around the name, but those were prohibited characters

I tried (/Capella\Description\Back\at\it/capella) … did not work.

you can try without the file:// but with the .jar:

install org....jar

You can also try to encode your URI space become %20 and colon %3A.

Hey
I think It worked, (almost) it was successfully installed, but starting it did nothing, see the text below, but before that:

They are all folders containing another folder called “Eclipse” and this one contains 2 folders named : “features” and “plugins” and another “.eclipseeextension” file. Example:


Solution I found:

  • not use file:…
  • No need to precise the version (1.0.4 etc)
  • If it’s not a jar simply use the name of the folder (without all the “org. …” stuff)

→ Like this:


(I obtained the bundle Id just like you predicted)

Now We have one problem:
I still don’t see it in the KITLAPHA MANAGER:

I went back to the OSGi console and taped ss and this is what I see:

If you compare it with the previous screenshot I made for the ss command, you can see that starting from bundle 1104 there should be at least (9 or 10 bundles for the missing extension)

Older Screenshot, click to open

What do you think of all of this? Quite interesting problem, It would be really great if we can solve it. it would help so much.

I though it would not start and maybe explain why… but it starts. I have no idea why since all bundles of the feature seem to start as well. Maybe you can create an update site for your ad-on and install it using p2. Maybe it will work or at least give more details if it doesn’t. You can have a look at an update site project M2Doc, Python4Capella.You can build it from Eclipse or use maven.tycho see pom files in the previous examples.

What do you mean? I have 2 screenshots, one with bundles from 1135 to 1144 (this one is the version of extenstion that works okay (made in a capella studio from disk2)).
When I “remove” this extension and install(drag and drop) the new extension made in a capella studio from a different disk (disk1) (I just take the workspace from disk2 and paste it into a capella studio of the new disk1)… well that is translated in Capella by the screen shot with only the 1145 bundle (which is classified unknown).
I wanted to make it clear in case that could help in any way. Please tell me if it’s not clear, I know it seems complicated with all my different disks/ different Capella studios, and thus different screenshots/different bundles.

To summerize, when it does not work, forcing installing and starting the extension only gives one single “unknown” bundle (the 1145)
→ So I don’t know why said: ( all bundles of the feature seem to start as well)

__
By the way, I don’t have access to disk2 right now (the one who does not produce problems), that’s why this problem is even more important to me. It means I have the workspace from disk2, I can modify my odesign by copy pasting the workspace of disk2 into my actual available disk…1, but I cant use the results of my work because packaging the extension produce a package that is not reconized by kitalpha manager (inside a capella with Python4Capella) I can only start a new Capella installation, install all my addons (eef, sirius, capella req…) AND install Python4capella, THEN bring the new addon. That’s lot of time as you can expect.

(My work (addons made by Capella Studio) relies on Python4Capella a lot, the problem is I have to choose: either I work with P4C => I have to deal with the problem of non reconizable addons in dropins, OR I don’t work with P4C (fresh new capella installation) → My dropings are always reconizable by kitalpha manager.)


Ok now back to your suggestion:
I need to make a text file in xml format, where i will start with <?xml…> < site>…and end with < /site>

inside this i shall create xml lines such as:
< feature> XX < /feature>
XX would be the names of the folders seen in the Poject Explorer of Capella Studio?Like this:


Just making sure to use the right version (available in the vpdsl config file)
and then < category-def…> I can use any word/description.

And that’s how my update site is “done”?
Then I have to add it inside the “eclipse” folder? (Next to “features” and “plugins” folders"), something like that?

I thought your add-on was the set of masked bundles above the unknown one. Can you try exporting your add-on as a p2 repository and install it to see if it can give us more information ?

Also for testing purpose you should be able to start a runtime by creating a new launch configuration “Eclipse Application”. This will load all bundles in your workspace so you can debug and test your changes.

1 Like

I don’t know if you are still here or went for the week end, I will answer you quickly here anyway:
So I went out trying to make an update p2 stuff, the link you shared showed 2 things “Create a category” and " Create an update"

  1. Create a category:

I see no further action to do (no building button). What I did: added features & plugins by using their respective buttons and filtering with the name of my extension. I don’t understand this part.

Ok next method:

  1. Create an update
    The method says you have to select “DEPLOYABLE FEATURES” under the plug-in development.
    But That option does not seem to exist in Capella Studio:

I went out with the “Update Site Project” option.
image
Went out and built all 5 features.
Question: is that all supposed to be? I have way more “items” in my capella studio project (maybe it has to do with plugins vs features difference?)

Anyway went ahead and obtained this:

I checked the content of the 2 folders, it seems i got everything there (the design, the vpdsl etc…)
Ok now time to test it:
I copy pasted that package into dropins of my capella installation.
→ Not directly reconizable by kitalpha manager.
→ I went to the capella installation window:
2 of the 4 features? were not installed. I went ahead and installed it anyway and… IT WORKS. Finally:

You are a live saver man!

So to summerize:
Whenever Python4Capella is installed and your other extensions cannot be read by Kitalpha manager (for some obscure reasons related to different Capella Studio’s compiling the package), you have to make sure to make an update “folder” by going to the menu new ->other → plugin dev → update site → add all features by using the button and filter with the name of your extension. → Build all. The resulting folder is your new package. Now go to capella installation window and install the extension using that folder → continue and accept accept…until installation is done and capella is restarted. Now it works fine.

Question: did the “add a new category” had to do anything with the process i just described, did I miss anything or was my description complete.

Thanks again Yvan!

2 Likes

Nice. Yes the export deployable feature is the way to go I guess. I only use maven/tycho in order to produce my update sites from various continuous integration servers.

You have more items because features reference plug-ins so only referencing features in your update site is enough to get all plug-ins transitively.
I guess the two features that were not installed might be the cause of the problem with droppings. You can check the message to see what is wrong (missing dependencies because of version range probably).

The category is used by tycho to build the update site, it might not be used when building from Eclipse…

Oh I see, I never used Tycho before (not even sure what it is at all), should check it somehow probably.

Here is a screenshot during the installation and the features left out (I guess there were 3):

Now, I can’t see any relevant message to be honest. Not in this screen shot at least. The OSGi console will not inform anything about the missing wrong features i suppose aswell.
Where would you find other messages?

Anyway, that’s a relief:)! Thanks again!
Hope this always works

To see the error message, you can select “Show original error and build my own solution:” at the top of the dialog.

And for maven/tycho build, you can check pom.xml files of the M2Doc add-on for Capella. You can also have a look at the tycho documentaiton.

1 Like

I guess the error had to do with “Contextual Explorer”?

Anyway, when it comes to installing new versions of the same extension over old ones, how do you proceed with the “update site” method? When using the drag and drop method it is simple, you remove the old extension folder and put the new one in dropins, but here with “update site” I am not quite sure.

Note observation:
I went to “preferences” → install → Available Software Sites and Noticed the following:

I noticed an old version of my extension (in the top), from july, to be still active. As for the newer version in the bottom it is active aswell.

Something else I noticed is when I made an update site for my extension through Capella Studio, I made sure to upgrade the version by “+0.0.1”:

HOWEVER, when I install the update site on my Capella, the new version is not reported, it says 1.0.5:

EVENTHOUGH, the changes I make in the extension are properly installed (New fileds, new widgets etc), it’s just the “version” of the extension that is not reported… And I find that strange?

Thanks if you have any input.

Did you regenerate the code ? This version number should appear as 1.0.6… You can also try the “generate vpspec file” menu before generating the code in case it was not automatically updated already.

Yes, I hadn’t generated it! Now it works fine.
Something odd happened, I installed (with update site) an extension I made (only one), and I found out that BOTH extensions were installed (even the one that was not installed). (Both extension were made with same capella studios in 2 different workspaces at the same time).
One of them already existed but has been deleted (without being desactivated). Anyway not a big deal.

Hello,
Noticed something.
Intalling new versions of the same extension (compiled with Update site method), will generally work fine and REPLACE the older version of the extension.

Every new version of the extension worked liked that, just fine. Until now where I got this:

Mind you, the previous version was 1.0.9. But when I installed the 1.1.1 he did not like it and asked for … 1.0.1 (which is a very old version that should not be existing anymore since 1.0.9 was installed prior?)

What do you recommand?

  • Unreferencing the extension + unintalling it before any intallation of newer version. (I don’t even know how to do that since the extension does not appear in Preferences > Install/update > Available Software Site menu)

Or:

  • Continue installing newer extention on top of older ones (which should replace the old one), hoping the project does not get an error like I just got?

I was able to reverse the installation through the menu Help → About → … and reinstall 1.0.9.

Now I tried to change the version of my extention to 1.0.10 instead of 1.1.1 and… complited it again and → IT WORKED.
Very strange bug, changing the “0” in the middle of the version seems to cause an error.

Edit: my new versions (1.0.10) and greater seems all to have one new common problem → Even if generated, and new version digits showing up, the installed extension does not take in account any new changes made in Capella Studio, everything is as if I am still in 1.0.9. I wonder if the rollback that I made (the one that deleted 1.0.10 and brung me back to 1.0.9 had anything to do with it)
Now I am back to square zero, unless I make a new capella installation, I am not sure I can solve this problem (no changes on my extention are accounted for, version changes but all the details are like 1.0.9), and the miracle “Update method” is no perfect anymore, I wonder if there is anything else I can do to solve this issue?
Edit2: I tried the new extension (> 1.0.9) in a fresh capella installation, and this time it works (all changes were accounted for). → It seems the rollback I made (Installation history > revert), messed Capella and now even the Update site method cannot fix it)

I think you should use the migration menu. If you have breaking changes in your metamodel, you will need to write specific code for the migration. For this you will need to implement an AbstractMigrationContribution and the corresponding extension point.

Hum, I don’t know if adding widgets (all sirius stuff) is considered “breaking changes in the metamodel”, no new variable or class is added through the extension, it’s only “getters” and “setters” of new values all though, thanks for the input though.

Renaming an EClass or an EStructuralFeature is a breaking change as well as changing the cardinality or the type of an EStructuralFeature.

I’m having exactly the same problem, so it was great to see your post. I’ll try the update site method and keep fingers crossed, as I’d like to deploy our developed viewpoint across many users and it seems that anyone with python4capella won’t be able to see the viewpoint as a drop in.

1 Like