An extension record is the product shell around releases. It tells ExtensionFlow how to name the product publicly, which Joomla element it maps to, whether it is a module/plugin/package/language item, and which support links should be shown to visitors.
Core product fields
| Field | Purpose | Public effect |
|---|---|---|
| Name | Human-readable product name. | Shown in catalog cards, product pages, changelogs and documentation. |
| Alias | URL-safe stable identifier. | Forms public URLs and should not be changed casually after release. |
| Type | Joomla artifact type such as component, module, plugin, package or language pack. | Controls update feed path and form behavior. |
| Vendor | Publisher or product owner. | Shown in metadata and useful for filtering/admin ownership. |
| Element | Joomla extension element name. | Used in XML metadata and installer/update identity. |
| Plugin folder / client | Joomla plugin group or client context. | Needed for plugin/module/site/admin-specific artifacts. |
Description and support URLs
The description should explain what the extension does in one or two useful sentences. External documentation, support, changelog and repository URLs are optional, but they help when the public product page needs to point to external material.
Publication controls
- Draft keeps the record inside admin workflows.
- Published allows public pages when visibility permits it.
- Private blocks public access.
- Archived keeps history visible but disables active delivery behavior.
- Public visibility lists the item in the catalog; unlisted keeps it accessible only by direct URL.
Parent and child artifacts
Packages can own child plugins, libraries, modules and language packs. Child items can keep their own releases, changelog and documentation while staying below the parent product so the public catalog remains clean.