In the following you will find a
- description for the process for external plugin development;
- quality gates that help you to write plugins of high quality;
- useful links for plugin development
You will benefit from your plugin being included in the plugin center and from the code review of our team.
If you decide to write a plugin that is going to be published in our plugin center, please feel free to send an email to the SCM-Manager Team.
In the next step our team will create a fork of the plugin repository. Please note that you will not have writing permissions on the forked repository.
The SCM-Manager Team will conduct a code review of the forked repository to make sure the code meets the needed requirements. Once the code review is approved, we will reach out to you again.
After the Code Review is completed, we enable automatic build pipelines for your plugin.
If you would like to adapt or update the plugin, feel free to send a pull request to the SCM-Manager team. We will review the pull request and merge it into the plugin.
We are continuously trying to improve the SCM-Manager and offering all users a tool that is easy and comfortable to use. For a better development experience, we have a few recommendations for you:
The plugin requires a minimal documentation which consists of the plugin name and a short description. The plugin must support automatic build processes. That means the plugin must be automatically compilable. Please avoid using makefiles or manual compiling processes.
Please also make sure your plugin is published under the open source MIT license. Please note: “Closed source” plugins are also possible but no “binary-only”. We need the source code of the plugin.
We recommend you
- to internationalize and translate your own plugin with i18n
- to make outgoing network requests via the AdvancedHttpClient
- and to use the internal store API for persistence. Saving data directly on the filesystem is considered to be bad practice.
We would really appreciate it if you use SCM-Manager-UI-Components to make the design and appearance consistent. If you write tests of the plugin it will help us to ensure high quality standards. It would be great if the plugin meets requirements for digital accessibility. A documentation on SCM-Manager.org would help to let other users know what the plugin is about and how to use it.
Please avoid writing plugins that download files or enable access to the user’s disk. It is not possible to implement such plugins into the SCM-Manager due to data privacy restrictions.
The SCM-Manager documentation supports you with administration and usage of the SCM-Manager.