Sharing and Publishing

The idea behind exporters is to allow everyone to export some amazing code. We want to make sure we can deliver on that promise by making them accessible to everyone - and that means to have easy ways how to share what you created as well.

There are 2 ways to share the exporter package:

  • Locally, by sending packed exporter to another person so they install it manually by double-clicking the exporter package

  • Remotely, by publishing the exporter package to GitHub and then sharing the GitHub repository with anyone who'd like to use it

Local sharing and backups

Any exporter that was created in Supernova can be exported by right-clicking the exporter in the exporter manager window, then selecting option to Export Shareable Package. This packages the exporter and saves it to your selected destination.

Sharing and managing exporters through context menu

Installing exporters is just as easy. Simply double-clicking any exporter package will open Supernova and install it. If an older version was installed, it will be replaced with the newer one you want to install.

Remote exporter definitions

Exporters, especially really complex ones, are meant to be built and maintained by teams, by communities and groups of developers. This is why exporter package is fully defined in readable configuration files.

Supernova supports automatic download and versioning of exporters published in public repositories on GitHub. After exporter is shared, you can just provide a link to the GitHub repo - and everything else is automatically taken care of for whoever installs it.

Publishing the exporter

There are few steps that need to happen before you publish a remote exporter. Fortunately, the process is rather easy and most of the steps only happen once. Updating is then as easy as pushing another commit to GitHub.

1. Creating GitHub repository

Navigate to GitHub.com and create a new public repository. Name it however you like. If you don't know how to publish a public repository, GitHub provides a good guide here.

Private repositories are not yet supported but are planned down the road

2. Setting the exporter connection to GitHub

Next, exporter package needs to know it will be published in specific repository. Open the exporter configuration and copy/paste the link to the GitHub repository you created. Note that it needs to link to the root of the repository.

GitHub repository configured

Close the configuration window to save it.

3. Exporting the local package

Next, export the package as described in Local sharing and backups above.

Exporter package ready to be used

Right-click the package and select "show contents", which will show you what the exporter is made of.

4. Upload the content of the bundle into GitHub

Finally, take the content of the bundle and upload/push it to the GitHub repository you've created in the step (1). Root repository needs to contain only one directory, Contents, exactly replicating the structure of the exporter package.

If you've done everything until this point, your result will look similar to this:

Public repository with exporter definition. Readme is optional but nice to have

5. Testing the exporter integration

The second you push the exporter, it is ready to be used by others. You can test the integration yourself by deleting the exporter you've created (be sure to export it locally to have the backup, just to be sure!), and then re-adding it by clicking add new exporter > download from GitHub.

Downloading exporter from GitHub can be done through manager context menu.

You'll see the exporter show up, this time, connected remotely. It works just as before, but with more options!

And that's it for this tutorial. You've learned basics about blueprints, exporters, about packages and how it all links together. You also published the exporter and you can now distribute it to everyone to showcase what you've created. And you are now ready to explore all the magic exporters and blueprints have to offer.

Have fun exploring!