Deploy your plugin in Plugins Store
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"
- The version of your package must match with the version of your plugin assembly. If not, your plugin will always be displayed as if there was an update available
- Please use your own Icon url. Do not reuse XrmToolBox one. Your plugin will be refused if there is no icon defined.
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.
- the presence of a subfolder "Plugins" where the plugin assembly will be located
- Only your assemblies (if you are using third party assemblies, please read this documentation)
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