Once you have implemented an add-in, it's time to publish it online to make it available to all MonoDevelop users. There are two ways of doing it: publishing it in the official MonoDevelop add-in repository or using a custom (maybe private) add-in repository.
There are some add-in properties which can be set to control how add-ins are presented to the user in MonoDevelop. Here is a simple example of properties specified in an add-in:
<Addin id="MonoDevelop.SomeAddin>
<Header>
<Name>Git support</Name>
<Name locale="ca-ES">Support per a Git</Name>
<Description>Provides support for the Git version control system</Description>
<Author>Lluis Sanchez</Author>
<Url>http://monodevelop.com/Git</Url>
<Icon32>git.png</Icon32>
</Header>
...
</Addin>
Here is a description of all properties that can be set:
Display name of the add-in. This property is localizable. For example:
<Addin id="MonoDevelop.SomeAddin>
<Header>
<Name>Git support</Name>
<Name locale="ca-ES">Support per a Git</Name>
...
</Header>
...
</Addin>
Long description of the add-in. It can have several lines. The description is localizable (see the example for the Name property).
Name of the author or authors of the add-in. Displayed in the add-in details in the add-in manager.
Copyright of the add-in.
Category of the add-in. It should be one of the following:
Url of a web page with more information about the add-in. When this property is present, a "More Information" button is shown in the add-in details, which opens the web page when clicked.
Icon of the add-in. The value of the property must be a file path relative to the location of the add-in file. The file must be an image with a size of 32x32 pixels.
This icon is shown in the add-in manager.
Preview images of the add-in. It is possible to specify several preview images using the properties PreviewImage, PreviewImage2, PreviewImage3, etc. Each property value must be a file path relative to the location of the add-in file. There are no limitations in the size of the image.
Preview images are shown in the in add-in details view of the add-in manager.
Determines how this add-in update is notified to the user. It can be one of the following:
The update rank can be conditioned to the presence of a specific update tag in MonoDevelop. For example:
<Addin id="MonoDevelop.GitAddin">
<Header>
<UpdateRank>MySpecialTag:Important Minor</UpdateRank>
...
</Header>
...
</Addin>
In this example, the update rank of the add-in will be Important if the tag 'MySpecialTag' is defined, and Minor otherwise.
There are two ways of difining update tags:
<Addin>
...
<Extension path="/MonoDevelop/Ide/UpdateTags">
<Tag id="MySpecialTag" />
</Extension>
...
</Addin>
This property should have the release notes for this release and for all the previous releases that it supersedes. The format is the following.
{{version2,date2}} release note text
{{version1,date1}} release note text ...
...
For example:
{{2.0, 2011-11-22}}
Release notes for 2.0
It can have multiple lines
{{1.2, 2011-09-02}}
Release notes for 1.2
{{1.1, 2011-01-10}}
Release notes for 1.1
Notices that newer releases must come first in the text.
When showing an add-in update, monoDevelop will only show the release notes for the versions higher than the one installed. So in the above example, if 1.1 is already installed, only release notes for 1.2 and 2.0 will be shown.
Currently, the release notes are only shown in the update notification dialog, for add-ins with UpdateRank=Important.
Same as the ReleaseNotes property, but the content is provided in a file instead of verbatim in the property. The value of the property must be path to a text file, relative to the location of the add-in file. The format of the content is the same as ReleaseNotes.
The official MonoDevelop add-in repository is available at addins.monodevelop.com. Add-ins published in this repository are available to all MonoDevelop users, since it is registered by default in MonoDevelop.
In order to publish your add-in in the official repository, you have to do the following:
The repository has several channels. You can select in which channel an add-in has to be published using the Dev Status option:
You can publish your add-in in your own on-line add-in repository. To do so, you have to package your add-in, create an add-in repository and publish it.
To package an add-in, run the following command:
mdtool setup pack someAddin.dll
If the add-in doesn't have an assembly, use the .addin file instead of the assembly file.
This command generates a file with the extension .mpack. This is the file that the users will download and install.
An add-in repository is a collection of .mpack files together with some index files, which can be generated using a command line tool. To create a repository:
mdtool setup rep-build /the/directory
| Images 0 | ||
|---|---|---|
| No images to display in the gallery. |