feat(manifest): consolidate update server settings into manifest #582

Closed
opened 2026-06-07 18:20:36 +00:00 by jmiller · 1 comment
Owner

Problem

Update server metadata is duplicated between UpdateStreamConfig and RepoManifest. Fields like extension name, display name, maintainer, target version, PHP minimum, and extension type exist in the update stream config but should live in the manifest as the single source of truth.

Current State

UpdateStreamConfig has these fields that overlap with or should come from manifest:

  • ExtensionName - already in manifest as Name + auto-constructed ElementName
  • DisplayName - should be a manifest field
  • Description - already in manifest
  • ExtensionType - already in manifest as PackageType
  • Maintainer - should be a manifest field
  • MaintainerURL - should be a manifest field
  • InfoURL - should be a manifest field
  • TargetVersion - should be a manifest field (platform-specific)
  • PHPMinimum - should be a manifest field (platform-specific)

UpdateStreamConfig should keep only:

  • LicensingEnabled (rename to update server enabled)
  • RequireKey
  • FeedVisibility
  • DownloadGating
  • SupportURL
  • KeyPrefix
  • StreamMode + CustomStreams

Plan

  1. Add missing fields to RepoManifest: DisplayName, Maintainer, MaintainerURL, InfoURL, TargetVersion, PHPMinimum
  2. Add these to manifest settings UI (platform-conditional - show TargetVersion and PHPMinimum only for joomla/wordpress)
  3. Add to manifest API and XML parser
  4. Update feed generator to read from manifest instead of UpdateStreamConfig
  5. Remove duplicate fields from UpdateStreamConfig model (keep backward compat by reading from manifest if config field is empty)
  6. Remove duplicate fields from update stream settings UI
  7. Rename "Enable Licensing" to "Enable Update Server" in UI
  8. Update detect_platform CLI to populate manifest from Joomla/Dolibarr manifest files

Migration Path

  • Phase 1: Add fields to manifest, read from manifest first with fallback to UpdateStreamConfig
  • Phase 2: Migrate existing UpdateStreamConfig values to manifest via migration
  • Phase 3: Remove deprecated fields from UpdateStreamConfig

Related

  • Platform dropdown already updated to joomla/dolibarr/go/mcp/platform/generic
  • Element name auto-construction already implemented
  • Update server disable bug already fixed (#577)
## Problem Update server metadata is duplicated between `UpdateStreamConfig` and `RepoManifest`. Fields like extension name, display name, maintainer, target version, PHP minimum, and extension type exist in the update stream config but should live in the manifest as the single source of truth. ## Current State **UpdateStreamConfig** has these fields that overlap with or should come from manifest: - `ExtensionName` - already in manifest as `Name` + auto-constructed `ElementName` - `DisplayName` - should be a manifest field - `Description` - already in manifest - `ExtensionType` - already in manifest as `PackageType` - `Maintainer` - should be a manifest field - `MaintainerURL` - should be a manifest field - `InfoURL` - should be a manifest field - `TargetVersion` - should be a manifest field (platform-specific) - `PHPMinimum` - should be a manifest field (platform-specific) **UpdateStreamConfig** should keep only: - `LicensingEnabled` (rename to update server enabled) - `RequireKey` - `FeedVisibility` - `DownloadGating` - `SupportURL` - `KeyPrefix` - `StreamMode` + `CustomStreams` ## Plan 1. Add missing fields to `RepoManifest`: `DisplayName`, `Maintainer`, `MaintainerURL`, `InfoURL`, `TargetVersion`, `PHPMinimum` 2. Add these to manifest settings UI (platform-conditional - show `TargetVersion` and `PHPMinimum` only for joomla/wordpress) 3. Add to manifest API and XML parser 4. Update feed generator to read from manifest instead of `UpdateStreamConfig` 5. Remove duplicate fields from `UpdateStreamConfig` model (keep backward compat by reading from manifest if config field is empty) 6. Remove duplicate fields from update stream settings UI 7. Rename "Enable Licensing" to "Enable Update Server" in UI 8. Update `detect_platform` CLI to populate manifest from Joomla/Dolibarr manifest files ## Migration Path - Phase 1: Add fields to manifest, read from manifest first with fallback to UpdateStreamConfig - Phase 2: Migrate existing UpdateStreamConfig values to manifest via migration - Phase 3: Remove deprecated fields from UpdateStreamConfig ## Related - Platform dropdown already updated to joomla/dolibarr/go/mcp/platform/generic - Element name auto-construction already implemented - Update server disable bug already fixed (#577)
Author
Owner

Branch created: feature/582-feat-manifest-consolidate-update-server-

git fetch origin
git checkout feature/582-feat-manifest-consolidate-update-server-
Branch created: [`feature/582-feat-manifest-consolidate-update-server-`](https://git.mokoconsulting.tech/MokoConsulting/MokoGitea/src/branch/feature/582-feat-manifest-consolidate-update-server-) ```bash git fetch origin git checkout feature/582-feat-manifest-consolidate-update-server- ```
Sign in to join this conversation.