Publishing in the store
Keep your plugin on GitHub and Packagist as usual. The store fetches each release, a person reviews it, and every site gets it signed.
On this page
The store on lettern.org lists the project's own plugins and, by invitation, other people's. You keep your plugin where any Composer package lives; the store takes each release from there, reviews it and hosts it. Plugins in the store are free to install for now.
Apply to publish with a short form. Once you're invited, your plugin is added by its Packagist name.
#Before you apply
Your plugin is a Composer package like your first plugin, with:
"type": "cms-plugin"and arequireonletterncms/cmswith the versions it works with.- Its code in your own namespace. Only the project's plugins may use
Cms\. - A
CHANGELOG.mdwith a heading per version, such as## 1.2.0: what you write under it is what sites show as the release's notes. - A public repository on GitHub and the package on Packagist, so
composer require vendor/pluginworks.
#How a release reaches sites
- Tag it. Push a tag such as
v1.2.0and Packagist picks it up, as it does for any package. - The store fetches it. About once an hour the store asks Packagist for new stable tags and downloads each one's zip once. It keeps one folder named after the package, writes the version into
composer.json, and leaves out dotfiles such as.github. - A person reviews it. The version waits, unseen by any site, until it's approved. The review sees the code and what it may use: the network, the file system, other processes.
- It's signed and listed. Approved, the version is signed with the store's key and added to the catalog. Every site that has your plugin is offered the update in Plugins โ Updates, with your notes.
A rejected version stays out of the store, and its number stays used: fix it and tag the next one. A version number is never used twice, and never goes backwards within a major version.
Sites download your plugin from the store, not from GitHub: what they get is exactly what was reviewed, even if the tag moves later.
#Your listing
Your listing has a title, a one-sentence summary, an icon, up to three categories, at least two screenshots, a description, what it needs beyond the CMS (an account elsewhere, say), and links to your documentation and code. The CMS and PHP versions come from your composer.json. Once you're invited, you send them to us and we keep them up to date with you.
#Installing it
People install your plugin from Plugins โ Store in their admin, with one click. A site run with Composer adds the store as a repository and installs it like any package:
composer config repositories.store composer https://lettern.org/composer
composer require vendor/plugin