A New Way to Manage Your Public Extensions in the TYPO3 Extension Repository

Categories: Community Created by Oliver Bartsch
The TYPO3 Extension Repository (TER) contains a list of all publicly available TYPO3 extensions, registered or uploaded by TYPO3 users. TYPO3 Extensions have been around since TYPO3 v3.5 and are the backbone of TYPO3 flexibility.

It’s been a long time in the making, but today, we’re excited to share the next steps for the TER.

Thomas Löffler has been happily maintaining the project, adding new functionality like the solr-based search and the “donate and give kudos” features. Extension management is based on a SOAP API built in 2005 by Robert Lemke, which continues to work today. Registering a new extension or uploading a new version of an extension can be done via the Web UI or a SOAP endpoint with a custom-built SOAP client.

The main issue with the SOAP implementation is that it requires users to authenticate with their existing t3o (LDAP) username and password. If you’re working in a continuous integration environment and need to upload a new version of an extension to the TER, you have to use and share your main credentials with a separate tool.

We’ve fixed this issue by providing a new token-based authentication system, coupled with a brand new REST API (don’t worry, the SOAP API will continue to work for a while). 

If you’re an extension owner, you can head over to extensions.typo3.org, log in, and create your own API tokens. This token can be used to query the TER API or upload a new extension. It’s even possible to limit a token to specific scopes and a limited set of extensions, providing additional security. More information about the REST API, especially all available endpoints. We also provided some frequently asked questions.

But How Should You Use This New REST API?

Our main goal is to get more extensions published to the TER with minimal effort. To help extension developers out, we’ve built a new CLI tool called ‘tailor.’  You can include tailor in your extension via composer as a dev-dependency, and in addition to querying all endpoints with a token (or username+password, which is still possible), you can upload a zip file, or your source code from a Git Repository directly using the API token.

Detailed documentation and source code for the Tailor CLI tool is available on GitHub.
 

What’s Next?

In the future, we want to bring extensions on packagist.org and the TER closer together, finding better ways to showcase all available TYPO3 extensions. We’ll continue to make extension publishing even easier.

We’re super curious about how you will be using the REST API and the CLI tool, too. If you’re interested in improving the TER, the APIs, or the client, get in touch with Thomas Löffler as Team Lead for typo3.org, or myself, Oliver Bartsch.

Cheers to a bright future for TYPO3 Extensions and the broader ecosystem.

Additional contributors for this article
  • Proofreader : lizrobau