Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Publishing an extension as a partner

Step by step from a working extension in a customer project to a published, maintained package - separating customer code, metadata, license, README, repository, Composer and Packagist, versioning and release rules…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/partners/publishing-an-extension.md

On this page

Publishing an extension as a partner

This page is for developers at partner companies who want to publish an extension. The technical basis is the developers' guide Extensions; this page adds the partner's checklist around it.

1. Separate it from the customer project

  • To do: Remove customer names, URLs, credentials, content and business rules.
  • To do: Make customer-specific behavior a setting with a neutral default.
  • To do: Get the customer's written agreement to publish the generic part (if it was paid work).

2. Give it its metadata

From Extensions, "Release it":

  • To do: ezinfo.php with 'Version' (no v prefix), name, copyright, license and info URL.
  • To do: extension.xml with the same <version>, <license> and <info_url>.
  • To do: composer.json if you publish on Packagist; keep its version in step if you keep one.
  • To do: php -l ezinfo.php and xmllint --noout extension.xml pass.

3. License and notices

  • To do: A LICENSE file; for code built on Exponential, a GPL-compatible license (the project uses GPL v2 or later).
  • To do: Copyright lines naming your company and any earlier authors.
  • To do: Third-party code listed with its license.

4. README

# <Extension name>
What it does in two sentences.
Requirements: Exponential <version range>, PHP <range>, other extensions.
Install: composer require <vendor>/<name>  (or git clone ...)
Activate: Setup > Extensions, or ActiveExtensions[] in settings
Configure: <settings>
Support: <issues URL>, paid support by <company> (optional)
License: GPL v2 or later.  Credits: <original authors, sponsors>

5. Repository and package

  • To do: A public Git repository with the full history you can publish.
  • To do: Issues enabled.
  • To do: Registered on Packagist, with the webhook so new tags appear.

6. Release

  • To do: Choose the version from the published tags, sorted by version (git tag -l 'v*' --sort=version:refname).
  • To do: Commit the version bump first, then tag that commit.
  • To do: Never move or delete a published tag; publish the next version instead.

7. Announce it

8. Maintain it

  • Test it against each new Exponential release (Testing releases).
  • Answer issues; merge useful pull requests.
  • When you stop maintaining it, say so in the README.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x