Update existent extension on ExtensionManager - Nightly - Linux

Hello, slicers!

I am sorry if this a naive question, but I’ve got stuck with my own
extension updates inside ExtensionManager.

I have been developing new functionalities to my extension (AnomalousFilters
https://github.com/Slicer/ExtensionsIndex/blob/master/AnomalousFiltersExtension.s4ext)
and already pushed it to GitHub, in the extension repository (which has the
newest git hag 7e30105
https://github.com/CSIM-Toolkits/AnomalousFiltersExtension). As noticed,
I have added the master branch as the target to the ExtensionIndex list, so
I think that the new git hash will be used in the CDash building system.

In fact, the CDash informs the correct extension git hash (link
http://slicer.cdash.org/index.php?project=Slicer4&filtercount=1&showfilters=1&field1=buildname&compare1=63&value1=Anom)
and I’ve already tested the package generated there on Slicer (loading this
compressed file in the Extension Manager “install from file” option). In
this way, the extension works fine. However, when I look at the Extension
Manager list, it continues showing a previous version of my extension (git
hash b13577f).

What am I doing wrong here? How can I update my extension correctly to the
Extension Index?

Best wishes
Antonio

Hi,

If you go to Help -> About, which Slicer revision is shown ?

As illustrated here, it should be r26450.

After downloading the latest nightly build and installing the extension, it reports the expected information in the log:

"Retrieving extension metadata [ extensionId: 187822]" 
"Downloading extension [ itemId: 315191]" 
"Installed extension AnomalousFiltersExtension (187822) revision 7e30105" 

Git hash 7e30105 corresponds to the latest version of the extension packaged

May be you have additional path manually entered that are conflicting with the new extension ?

Hi jc,

Actually, my Slicer revision was r26398.
Now, I have download the recent Slicer version that you commented and everything works fine.

But I still do not understand why this happened. Do I need to keep always the nightly version at the most recent revision?

In my machine, I have two version of Slicer. One to developing and another as a user (in order to have access to the extension manager).
I only added a manual path to my extension to the developer version. I use the user-like Slicer just to check if the extension is normally available in the server.
Do you think that it may cause a conflict?

Since the API and ABI of the nightly version of Slicer can change from one day to an other, we rebuild all extensions everyday. This effectively means that user using nightly build will have to download a recent nightly to get the latest version of the extension.

On the other hand, if the extension description file associated with release 4.6.2 is updated, user already having installed the stable version of slicer will be able to simply update the extension. This will work if the extension maintainer update the description file associated with that version.

For any given extension, being able to use the same code in both the last release and the nightly means that you consider API changes in the code … or maintain two version of the code.

Consider reading:

https://www.slicer.org/wiki/Documentation/Nightly/Developers/FAQ#What_is_the_Extensions_Index_.3F

and

https://www.slicer.org/wiki/Documentation/Nightly/Developers/FAQ#How_often_extensions_are_uploaded_on_the_extensions_server_.3F

No. Updating the module paths will only affect the revision and user specific settings.

I just updated the wiki to clarify: Documentation/Nightly/SlicerApplication/ApplicationSettings - Slicer Wiki

1 Like