# Update existent extension on ExtensionManager - Nightly - Linux

**URL:** <https://discourse.slicer.org/t/update-existent-extension-on-extensionmanager-nightly-linux/1220>\
**Category:** Development\
**Created:** [October 13, 2017, 6:20pm UTC](https://discourse.slicer.org/t/update-existent-extension-on-extensionmanager-nightly-linux/1220 "2017-10-13T18:20:58Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![acsenrafilho](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/acsenrafilho/32/6217_2.png) [@acsenrafilho](https://discourse.slicer.org/u/acsenrafilho)\
**Post date:** [October 13, 2017, 6:20pm UTC](https://discourse.slicer.org/t/update-existent-extension-on-extensionmanager-nightly-linux/1220/1 "2017-10-13T18:20:58Z")

</div>

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](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](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](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

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [October 13, 2017, 7:17pm UTC](https://discourse.slicer.org/t/update-existent-extension-on-extensionmanager-nightly-linux/1220/2 "2017-10-13T19:17:28Z")

</div>

Hi,

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

As illustrated [here](http://slicer.cdash.org/index.php?project=Slicer4&date=2017-10-13&filtercount=1&showfilters=1&field1=buildname&compare1=63&value1=Anom), it should be `r26450`.

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [October 13, 2017, 7:40pm UTC](https://discourse.slicer.org/t/update-existent-extension-on-extensionmanager-nightly-linux/1220/3 "2017-10-13T19:40:13Z")

</div>

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

```auto
"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

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [October 13, 2017, 7:41pm UTC](https://discourse.slicer.org/t/update-existent-extension-on-extensionmanager-nightly-linux/1220/4 "2017-10-13T19:41:29Z")

</div>

> [@acsenrafilho](#):
>
> What am I doing wrong here?

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

---

<div class="post-metadata">

**Author:** ![acsenrafilho](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/acsenrafilho/32/6217_2.png) [@acsenrafilho](https://discourse.slicer.org/u/acsenrafilho)\
**Post date:** [October 13, 2017, 8:08pm UTC](https://discourse.slicer.org/t/update-existent-extension-on-extensionmanager-nightly-linux/1220/5 "2017-10-13T20:08:46Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![acsenrafilho](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/acsenrafilho/32/6217_2.png) [@acsenrafilho](https://discourse.slicer.org/u/acsenrafilho)\
**Post date:** [October 13, 2017, 8:12pm UTC](https://discourse.slicer.org/t/update-existent-extension-on-extensionmanager-nightly-linux/1220/6 "2017-10-13T20:12:48Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![jcfr](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jcfr/32/17825_2.png) [@jcfr](https://discourse.slicer.org/u/jcfr)\
**Post date:** [October 13, 2017, 8:47pm UTC](https://discourse.slicer.org/t/update-existent-extension-on-extensionmanager-nightly-linux/1220/7 "2017-10-13T20:47:03Z")

</div>

> [@acsenrafilho](#):
>
> But I still do not understand why this happened. Do I need to keep always the nightly version at the most recent revision?

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](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](https://www.slicer.org/wiki/Documentation/Nightly/Developers/FAQ#How_often_extensions_are_uploaded_on_the_extensions_server_.3F)

> [@acsenrafilho](#):
>
> 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?

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](https://www.slicer.org/wiki/Documentation/Nightly/SlicerApplication/ApplicationSettings#Information_for_Advanced_Users)
