# Help to publish new extension

**URL:** <https://discourse.slicer.org/t/help-to-publish-new-extension/14560>\
**Category:** Development\
**Created:** [November 12, 2020, 12:20pm UTC](https://discourse.slicer.org/t/help-to-publish-new-extension/14560 "2020-11-12T12:20:22Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![rbumm](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/rbumm/32/9404_2.png) [@rbumm](https://discourse.slicer.org/u/rbumm)\
**Post date:** [November 12, 2020, 12:20pm UTC](https://discourse.slicer.org/t/help-to-publish-new-extension/14560/1 "2020-11-12T12:20:23Z")

</div>

Hi,

I have created a new extension, created a GIT node but am unable to proceed.

> **[rbumm/SlicerCTLungAnalyzer](https://github.com/rbumm/SlicerCTLungAnalyzer)**
>
> This is a 3D Slicer extension for segmentation and spatial reconstruction of infiltrated and collapsed areas in chest CT examinations. - rbumm/SlicerCTLungAnalyzer

Could you guys help me ?

What is the easiest way (Windows) to publish (and later update) this extension and to get it included in Slicers extension library ?

Thank you.  
Best regards  
rudolf

---

<div class="post-metadata">

**Author:** ![jamesobutler](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jamesobutler/32/7511_2.png) [@jamesobutler](https://discourse.slicer.org/u/jamesobutler)\
**Post date:** [November 12, 2020, 1:40pm UTC](https://discourse.slicer.org/t/help-to-publish-new-extension/14560/2 "2020-11-12T13:40:44Z")

</div>

There are some instructions about how to distribute an extension at [https://slicer.readthedocs.io/en/latest/developer\_guide/extensions.html#distributing-an-extension](https://slicer.readthedocs.io/en/latest/developer_guide/extensions.html#distributing-an-extension).

There is a main checklist to follow for contributing to the Slicer extensions index that is linked from those instructions.

As part of that process it will detail about creating a S4EXT file which has a line for specifying a git commit branch or hash which can be used for updating the version of your code that is distributed. If you set it to “main”, the name of your only branch, then any updates you push to that branch will be distributed when extensions are built during the next nightly build.

---

<div class="post-metadata">

**Author:** ![rbumm](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/rbumm/32/9404_2.png) [@rbumm](https://discourse.slicer.org/u/rbumm)\
**Post date:** [November 12, 2020, 2:44pm UTC](https://discourse.slicer.org/t/help-to-publish-new-extension/14560/3 "2020-11-12T14:44:11Z")

</div>

Thank you James, that is exactly why I asked - I also found the link that you describe, but do not know (because it is not in there) how to create the magical S4EXT file. I also followed the checklist but cannot find an entry for that file. The file is not in my extension directory. The extension wizard has not buttons to create that file 🙂

---

<div class="post-metadata">

**Author:** ![jamesobutler](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/jamesobutler/32/7511_2.png) [@jamesobutler](https://discourse.slicer.org/u/jamesobutler)\
**Post date:** [November 12, 2020, 9:25pm UTC](https://discourse.slicer.org/t/help-to-publish-new-extension/14560/4 "2020-11-12T21:25:43Z")

</div>

You can view example S4EXT files that are located in the [SlicerExtensionsIndex](https://github.com/Slicer/ExtensionsIndex) repo where you will be issuing the PR. You can use the SlicerOpenIGTLink extension’s S4EXT as an [example](https://github.com/Slicer/ExtensionsIndex/blob/master/SlicerOpenIGTLink.s4ext).

---

<div class="post-metadata">

**Author:** ![rbumm](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/rbumm/32/9404_2.png) [@rbumm](https://discourse.slicer.org/u/rbumm)\
**Post date:** [November 13, 2020, 10:07am UTC](https://discourse.slicer.org/t/help-to-publish-new-extension/14560/5 "2020-11-13T10:07:04Z")

</div>

Thank you, seems to work !

---

<div class="post-metadata">

**Author:** ![rbumm](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/rbumm/32/9404_2.png) [@rbumm](https://discourse.slicer.org/u/rbumm)\
**Post date:** [November 14, 2020, 1:39pm UTC](https://discourse.slicer.org/t/help-to-publish-new-extension/14560/6 "2020-11-14T13:39:48Z")

</div>

James, now I have published that extension yesterday and thought it would turn up today in the extension manager (another slicer installation, same version 2020930) on my home computer. But I can not find it there in the extension manager.

It is also not yet present in the slicer app store.

> **[Slicer Server by Kitware](https://slicer.kitware.com/midas3/slicerappstore)**

In the slicer appstore I see an upload button. Do I have to upload the extension there or does it get updated automatically ? What format should I use ?

Thank you

---

<div class="post-metadata">

**Author:** ![rbumm](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/rbumm/32/9404_2.png) [@rbumm](https://discourse.slicer.org/u/rbumm)\
**Post date:** [November 16, 2020, 5:02pm UTC](https://discourse.slicer.org/t/help-to-publish-new-extension/14560/7 "2020-11-16T17:02:46Z")

</div>

Could somebody help me with this and check the status of CTLungAnalyzer ?  
I probably do something wrong but I really would like to get this going.

The extension is here:

> **[rbumm/SlicerCTLungAnalyzer](https://github.com/rbumm/SlicerCTLungAnalyzer)**
>
> This is a 3D Slicer extension for segmentation and spatial reconstruction of infiltrated and collapsed areas in chest CT examinations. - rbumm/SlicerCTLungAnalyzer

… and the extension is included here:

> **[rbumm/ExtensionsIndex](https://github.com/rbumm/ExtensionsIndex)**
>
> Slicer extensions index. Contribute to rbumm/ExtensionsIndex development by creating an account on GitHub.

I think I have created a pull request.

Oh guys - why is this so difficult ?

Thanks for any help

---

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [November 16, 2020, 5:23pm UTC](https://discourse.slicer.org/t/help-to-publish-new-extension/14560/8 "2020-11-16T17:23:35Z")

</div>

As you can see, the pull request is open, has not been merged yet: [CTLungAnalyzer added by rbumm · Pull Request #1747 · Slicer/ExtensionsIndex · GitHub](https://github.com/Slicer/ExtensionsIndex/pull/1747)

> [@rbumm](#):
>
> Oh guys - why is this so difficult ?

We aim to have a quick and simple extension submission process but also ensure that the app store contents is useful and developers get constructive feedback. You created your pull request on Friday and it’s Monday noon now - we just need a bit more time to review your submission.

---

<div class="post-metadata">

**Author:** ![rbumm](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/rbumm/32/9404_2.png) [@rbumm](https://discourse.slicer.org/u/rbumm)\
**Post date:** [November 16, 2020, 7:57pm UTC](https://discourse.slicer.org/t/help-to-publish-new-extension/14560/9 "2020-11-16T19:57:04Z")

</div>

Very good, so I seem to have understood the system now …  
Thanks both of you for your answers.

---

<div class="post-metadata">

**Author:** ![rbumm](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/rbumm/32/9404_2.png) [@rbumm](https://discourse.slicer.org/u/rbumm)\
**Post date:** [November 17, 2020, 1:34pm UTC](https://discourse.slicer.org/t/help-to-publish-new-extension/14560/10 "2020-11-17T13:34:15Z")

</div>

Thank you and please excuse me. I was not aware of the fact that each extension undergoes such a detailed review process.

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [November 17, 2020, 1:41pm UTC](https://discourse.slicer.org/t/help-to-publish-new-extension/14560/11 "2020-11-17T13:41:03Z")

</div>

> [@rbumm](#):
>
> I was not aware of the fact that each extension undergoes such a detailed review process.

We are all lucky when community members have time to share their expertise 🙏

We do try to be more careful with extensions that will be one-click installable via Slicer’s official extension manager, partly because people will come back here with questions if they don’t understand how/why and extension does or doesn’t work. If we can’t understand it we can’t help them and it’s trouble for everyone.

On the other hand with some extra effort (and we understand that there is real effort involved) it can be great to see other people using your work and then building on it.

Thanks again for your contribution!

---

<div class="post-metadata">

**Author:** ![rbumm](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/rbumm/32/9404_2.png) [@rbumm](https://discourse.slicer.org/u/rbumm)\
**Post date:** [November 25, 2020, 8:49pm UTC](https://discourse.slicer.org/t/help-to-publish-new-extension/14560/12 "2020-11-25T20:49:11Z")

</div>

Hi Steve,

You seem to know the game and process in a great detail and I - as it is my first Slicer contribution - don’t.

Could you just check the status of the extension ? Is anything more needed from my side ?  
Would I get an E-Mail notification if so or if it is published ?  
I am starting a clinical trial right now and am already writing the next extension, a semiautomated lung masking script based on segment editor function. It cuts down the total time of manual work for one COVID-19 case to about 10 min. Which is great comapred to the 60 that had to be used so far.

Thanks and greetings

---

<div class="post-metadata">

**Author:** ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)\
**Post date:** [November 25, 2020, 9:02pm UTC](https://discourse.slicer.org/t/help-to-publish-new-extension/14560/13 "2020-11-25T21:02:22Z")

</div>

Hi Rudolf -

Thanks for the ping - I think it just fell off the radar so you’ll see I just commented.

And thanks again for the contribution and 'm glad to hear you are able to continue making progress. Obviously (alas) the world is in ever increasing need of tools to better understand COVID-19.

And yes, indeed I do know the ins and outs of the Slicer process well and I hope is welcoming and at least somewhat transparent to newcomers, but I understand it has unique quirks. Basically we used to have specific funding to support engineers working on Slicer, but those have ended and we haven’t found a general replacement yet. Several of us have grants and other projects that use Slicer, we try to keep the processes moving smoothly but it’s not always top on our minds.

Having COVID-19 related extensions will certainly help us make the case for the importance of making Slicer available, so keep them coming!

---

<div class="post-metadata">

**Author:** ![Saima](https://avatars.discourse-cdn.com/v4/letter/s/9d8465/32.png) [@Saima](https://discourse.slicer.org/u/Saima)\
**Post date:** [March 28, 2024, 9:39pm UTC](https://discourse.slicer.org/t/help-to-publish-new-extension/14560/14 "2024-03-28T21:39:02Z")

</div>

Hi Andras,  
I submitted extension on github on Feb 13. Its BatchBrainMRTumorSegmentation. I do not know the status of it. And if it is merged I do not see it in extension manager. The issue is closed thats why I am asking here.

regards,  
Saima
