# Extensions

Use the **Extensions** section to manage your custom extensions to Emporix system. For example, if you have your custom module for the Emporix Management Dashboard, you can manage the connection here.

<figure><img src="https://3057647601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbTY7EwZtYYQYC6GOcdTj%2Fuploads%2Fgit-blob-0fb143f3e9d3efc9caff3c1480c9161b29e84528%2Fextensions.png?alt=media" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
**Hosting**

Emporix provides you with the possibility to host the custom extensions within the Emporix infrastructure. Emporix hosting is a secure, and scalable way to store your custom components. To have the service enabled on your tenant, contact the [Sales Team](mailto:sales@emporix.com). Learn more in [Extension and Cloud Function Hosting](https://developer.emporix.io/ce/extensibility-and-integrations/extensibility-cases/extension-hosting).
{% endhint %}

## Adding an extension

You can add your extension in two ways:

* By providing the extension URL, the extension is displayed in an iFrame.
* By providing a URL to a remote JS file, the extension is built from the components.

{% embed url="<https://youtu.be/FnomFyz2gAg>" %}

### Adding an extension with a URL

{% hint style="warning" %}
As a prerequisite, you have to configure your extension to be able to display it in the Emporix Management Dashboard.\
To learn how to do it, see [Enabling Custom Extensions](https://developer.emporix.io/ce/extensibility-and-integrations/extensibility-cases/custom-extensions).

* Sample extensions are available in the [MD Extensions](https://github.com/emporix/md-extensions/tree/master) repository.
  {% endhint %}

1. Go to **Administration** -> **Extensions** and choose **Add extension**.
2. Provide your extension's name and URL
3. **Save** your extension.

   <figure><img src="https://3057647601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbTY7EwZtYYQYC6GOcdTj%2Fuploads%2Fgit-blob-73bdfbd28cd05852f418188bab0dec528bbf1ac1%2Fadd_synonyms.png?alt=media" alt="" width="375"><figcaption></figcaption></figure>

The added extension is connected and you can also see it embedded in the **Extensions** module.

<figure><img src="https://3057647601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbTY7EwZtYYQYC6GOcdTj%2Fuploads%2Fgit-blob-ecaca1d2fb2b4775539dbe954eee1aa2656fd173%2Fsynonyms_ext_add.png?alt=media" alt=""><figcaption></figcaption></figure>

### Adding an extension with the JS file

{% hint style="warning" %}
As a prerequisite, you have to configure your extension to be able to display it in the Emporix Management Dashboard.\
You can use the [MD Module Template](https://github.com/emporix/md-module-template/tree/master) repository to build the extension:

* Fork the repository and follow the installation steps in the [read.me](https://github.com/emporix/md-module-template/blob/master/README.md) file.
  {% endhint %}

When your extension is ready to use, add it to the\
Management Dashboard:

1. Go to **Administration** -> **Extensions** and choose **Add extension**.
2. Provide your extension's name.
3. Turn the **Module** toggle ON.
4. Add your `js` module file URL.\
   In the example below the file name is `remoteEntry.js`. Make sure the name of your file is always reflected in the [`vite.config.ts`](https://github.com/emporix/md-module-template/blob/master/vite.config.ts) file of the module template.
5. **Save** your extension.

   <figure><img src="https://3057647601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbTY7EwZtYYQYC6GOcdTj%2Fuploads%2Fgit-blob-dd79bfb9aaf5d566f821d87c4f14ac89c8f7e300%2Fext-remoteFile.png?alt=media" alt="" width="375"><figcaption></figcaption></figure>

The added extension is connected and you can also see it embedded in the **Extensions** module.

<figure><img src="https://3057647601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbTY7EwZtYYQYC6GOcdTj%2Fuploads%2Fgit-blob-e285fbdfcd712c05235240acfd0e1778e0af1862%2Fext_products.png?alt=media" alt=""><figcaption></figcaption></figure>

## Removing an extension

1. In **Administration** -> **Extensions**, find the extension to be deleted on the list.
2. Choose the **Delete** icon.

The connection gets removed and the extension is no longer available under the **Extensions** module.
