# Plugins deployment

Deploying a plugin means making it accessible to end-users after the development phase. While the deployment process can differ across the different plugin types, there's a consistent step: uploading the plugin's source files to the Ubidots *Developer console*.\
\
Broadly, the process can be visualized as:<br>

<div data-full-width="true"><figure><img src="https://884329393-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhzNRg0B4ECiNXc093G%2Fuploads%2FjxlU7Kf2GKSuyXwQgjmW%2Fimage.png?alt=media&#x26;token=867a1494-2c94-49d3-9dfc-3ad177c9456d" alt=""><figcaption></figcaption></figure></div>

## Developer console

In order to access the developer console, go to the Ubidots account in which the plugin will be used, then go to Devices -> Plugins. There, you'll be able to see the following icon:

<figure><img src="https://884329393-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhzNRg0B4ECiNXc093G%2Fuploads%2Fk19vEQrSUFyrs0MfFHae%2Fimage.png?alt=media&#x26;token=6b066942-c88e-485e-95e6-ebcd331c2720" alt=""><figcaption></figcaption></figure>

The following screenshot shows how the developer console looks like.

<figure><img src="https://884329393-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhzNRg0B4ECiNXc093G%2Fuploads%2F3So2qMNJvwVWoP6sddsV%2Fimage.png?alt=media&#x26;token=f12719a5-9e77-4229-a87f-083e36cfc367" alt=""><figcaption></figcaption></figure>

From here, you can:

* Create new plugins
* Visualize and edit all previously created plugins &#x20;

{% hint style="info" %}
In this context, creating a plugin refers to the fact of setting up a "place" or repository where the plugins source code can be uploaded and hosted.
{% endhint %}

## Create a new plugin

Click on the *add new plugin* button, upon doing so, a modal will slide from the right side of the screen asking for the plugin's name and its description, fill those field accordingly and then click the check-mark icon to proceed further to upload the plugin.

<figure><img src="https://884329393-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhzNRg0B4ECiNXc093G%2Fuploads%2F3CyyVmVwRFtO4rw60xPL%2Fimage.png?alt=media&#x26;token=1c0d0972-bf12-48be-b7e7-06960a91a808" alt=""><figcaption></figcaption></figure>

When the modal collapses, you'll be able to see the plugin that you just created:

<figure><img src="https://884329393-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhzNRg0B4ECiNXc093G%2Fuploads%2FuPL2aeAxlna0lv31bBTU%2Fimage.png?alt=media&#x26;token=10d29056-8a5c-4bbd-988b-1e412a45f02e" alt=""><figcaption></figcaption></figure>

Click on in  to display its options.

## Plugin's general information tab

<figure><img src="https://884329393-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhzNRg0B4ECiNXc093G%2Fuploads%2F9A862xVgYfCB91aIbCQK%2FGroup%2049.png?alt=media&#x26;token=b177bfa7-8d08-4c7f-9731-a14a642085bd" alt=""><figcaption></figcaption></figure>

From here you can:

* Set an icon for your plugin
* Edit both, the plugin's name and description
* Set the readme for the plugin

### Guideliness for setting a proper plugin icon

#### Image requirements

* The icon must be in *png* format.
* The icon must be a 512x512 pixels square image.

{% hint style="info" %}
Using other format than *png* will cause an error when trying to upload the image
{% endhint %}

{% hint style="info" %}
Using other image size or images that do not have a square aspect ratio might result in them being resized, which can alter their appearance compared to the original image
{% endhint %}

#### Using Ubidots style in the plugins icons

If you'd like to keep Ubidots native plugin's icons style, follow the settings below

* **Border radius:**  86 px

## Version tab

<figure><img src="https://884329393-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhzNRg0B4ECiNXc093G%2Fuploads%2FYUsoTHn7OZev2Ayos8TB%2Fimage.png?alt=media&#x26;token=5b7ed899-c58c-4bdf-8aa9-c7cbe88892ad" alt=""><figcaption></figcaption></figure>

Click the *Add new plugin version* icon as shown above. The following visualization screen will pop-up for you to upload the zip file containing the plugin's files mentioned in the *Plugins development* section:

<figure><img src="https://884329393-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhzNRg0B4ECiNXc093G%2Fuploads%2FsTZIpkUjdFAIfvrlfz3V%2Fimage.png?alt=media&#x26;token=d6e1387b-4114-44fa-9594-4f4584899d9e" alt=""><figcaption></figcaption></figure>

After uploading the zip file, the plugin's version page will look like:

<figure><img src="https://884329393-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhzNRg0B4ECiNXc093G%2Fuploads%2F1ncmI7knYpjh60yaxBU6%2Fimage.png?alt=media&#x26;token=11ff1310-f96c-4cdd-a161-fe5a5e28b43f" alt=""><figcaption></figcaption></figure>

From here you can:

* Visualize the plugin's version
* Visualize the plugin's price
* Visualize the plugin's status (Draft, Released, Published)
* Visualize the number of users to the plugin.
* Release the plugin (paper airplane icon)

Click the *release* button and accept the pop-up:

<figure><img src="https://884329393-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MhzNRg0B4ECiNXc093G%2Fuploads%2FM4Um8WV0FgAnvJl5eqLS%2Fimage.png?alt=media&#x26;token=a8463816-94c3-4f9c-b4ae-e743719e194a" alt=""><figcaption></figcaption></figure>

Upon doing so, the plugin's status will go from *Draft* to *Released.*

For Cron and Webhook plugins, the deploying process finishes here, however, for widget plugin, there are a few steps remaining.&#x20;

In order to learn how to use your recently created Cron or Webhook plugin, go to:

{% content-ref url="using-the-plugins/cron-and-webhook" %}
[cron-and-webhook](https://dev.ubidots.com/plugins/using-the-plugins/cron-and-webhook)
{% endcontent-ref %}

In order to keep going with the process of deploying a Widget plugin, refer to:

{% content-ref url="plugins-deployment/widget" %}
[widget](https://dev.ubidots.com/plugins/plugins-deployment/widget)
{% endcontent-ref %}
