- Home
- Inquire
- Enhance
- Understand
- Download
- Discover
To publish your own extension in the Extension Repository, you need a contributor's account. Once you are logged in, you can access the developer interface of the Extension Repository through the Manage extensions and Manage translations links.
To add a new extension, follow the Manage extensions link and click the Add extension button. You will be redirected to a form where you can enter the extension details. The yellow box above contains important information about naming conventions, which you should read carefully.

The following categories are currently available:
| Category | Description |
|---|---|
| Application | The extension is an autonomous application. |
| Utility | The extension is a utility program for the back end. |
| Template | The extension is a template. |
| Widget | The extension is a form widget. |
| Plugin | The extension is a PHP or JavaScript library. |
| Other | The extension does not fit in any of the above categories. |
After you have created the extension, you can add a first release. Every new version of the extension will be stored as separate release. Open the release manager with the respective navigation icon and click the Add release button.

Version numbers in the Extension Repository consist of three numeric blocks that indicate the major, minor and maintenance version (e.g. 1.0.0) as well as a textual development status (e.g. beta1).
| Status | Description |
|---|---|
| alpha1 - alpha3 | Indicates that the release is an alpha version. |
| beta1 - beta3 | Indicates that the release is a beta version. |
| rc1 - rc3 | Indicates that the release is a release candidate. |
| stable | Indicates that it is a stable release for productional systems. |
Next you have to add files to the new release. Open the file manager and click the Add/update files button. You can upload single files or complete .zip archives. Make sure to choose the correct target directory so the file paths are correct after the upload.


Before you can publish an extension, you have to create at least one translation. Open the translation manager and click the Add language button. It is recommended to always create an English translation, because back end users generally only see extensions in the extension manager which are available in their language or in English (fallback language).


Completed translations can be published by clicking the respective navigation icon.
Maybe one of your extensions uses the functionality of another one like e.g. cron jobs. To run your extension, it is therefore required to install the cron extension, which is usually referred to as dependency. Those dependencies can be stored in the Extension Repository, so all required modules are installed automatically when you install a particular extension.

First choose the extension that you want to add as dependency and confirm your choice by clicking the Continue button. Then select the minimum and maximum version that is known to work with your extension.
After you have created at least one release, uploaded at least one file, published at least one translation and added the necessary dependencies, you can publish the extension with the respective navigation icon. Note that you cannot remove the extension anymore once it has been published. To check if everything works as expected, log into the back end and make a test installation with the extension manager.
Add a comment
Comment by Peter Koch | 05/02/2010
Since it seems not to be obvious how to handle commercial extensions, I have created a tiny documentation.
http://contifex.com/wiki/repository:commercial