Contao Open Source CMS (fka TYPOlight) > Understand > Developer's guide > How to publish an extension in the Contao Extension Repository

How to publish an extension in the Contao Extension Repository

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.

Adding an extension

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.

Adding an extension

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.

Adding a release

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.

Adding a release

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.

Adding files

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.

Adding files

Editing files

Adding translations

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).

Add translations

Edit translations

Completed translations can be published by clicking the respective navigation icon.

Adding dependencies

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.

Adding dependencies

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.

Publishing an 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