Plugins Store is the location where users can discover and manage the plugins they want in XrmToolBox.

Once you have developed your own plugin, you would like to distribute it to XrmToolBox users. To do so, you need to create a Nuget Package, then register this package in XrmToolBox portal.

Create a Nuget package

There is many way to create a Nuget package (manually, through a VS build, etc.). In this page, we will demonstrate the use of a Nuget application : Nuget Package Explorer

Run this application and switch to Edit mode

General information

All these information are required, so that it displays correctly in Plugins Store

Id : The id of the package. This is generally the name of your plugin assembly

Version : The version of the package. 

Title : The name of your plugin

Authors : Your name

Icon Url : The icon to display in the Plugins Store

Project Url : The url of the open source project. If your plugin is not open sourced, provide an url that points to a blog article or a dedicated page for this plugin.

Summary/Description : A description about your plugin

Release Notes : Description of the latest changes. Please fill correctly this part to inform your users about the changes

Tags : Some tags to retrieve your plugins. Please add the term "XrmToolBox" 

Dependencies

To detect compatibility with the current version of XrmToolBox, Plugins Store reads the dependencies defined in the Nuget package.

Even if you add the Nuget package XrmToolBoxPackage to develop your plugin, this is not the dependency that is expected in your Plugin Nuget package.

The dependency expected is "XrmToolBox" with the minimum version you are targeting.

Package content

On the right part of the tool, you can define the package content. This is where you will add your plugin assembly.

Package Sample

<package>
  <metadata>
    <id>Contoso.Xrm.SweetestPlugin</id>
    <version>1.2018.1.1</version>
    <title>The Sweetest Plugin for XrmToolBox</title>
    <authors>Jane and John Doe</authors>
    <owners>Contoso</owners>
    <projectUrl>https://github.com/Contoso/SweetestPlugin</projectUrl>
    <iconUrl>http://contoso.com/sweetest.png</iconUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Really sweet plugin that does awesome things</description>
    <summary>Really sweet plugin that does awesome things</summary>
    <releaseNotes>
       With this your life will be a whole lot sweeter.

       1.2016.4.123: New life-enhancer functionality.
       1.2016.3.112: New fantastic button.
    </releaseNotes>
    <copyright>Copyright 2016 Contoso Enterprises</copyright>
    <tags>XrmToolBox Plugins SweetestPlugin</tags>
    <dependencies>
      <dependency id="XrmToolBox" version="1.2018.1.20" />
    </dependencies>
  </metadata>
  <files>
    <file src="SweetestPlugin\bin\Release\Contoso.*.dll" target="lib\net452\Plugins" />
    <file src="SweetestPlugin\bin\Release\ExtraFiles\AnotherFile.dll" target="lib\net452\Plugins\Extra" />
    <file src="SweetestPlugin\bin\Release\ExtraFiles\VeryImportantFile.txt" target="lib\net452\Plugins\Extra" />
  </files>
</package>

Publish your Nuget package

Once your package is created, you need to publish it on Nuget website. You will need an account first, so create one if you don't have it already.

When using Nuget Package Explorer, the easiest way to publish your package is to... publish it. For this, use the menu File > Publish.

 

Register your plugin on XrmToolBox portal

Once your Nuget package is published and indexed (don't miss on this one, it may takes some times to perform indexation), you can register your plugin on this page

Just provide your Nuget package Id and the portal will parse package information to register the plugin.

Few minutes later, your plugins is available on Plugins Store