ROADMAP — Multi-repo licensing system implementation plan #616

Open
opened 2026-06-12 07:56:49 +00:00 by jmiller · 0 comments
Owner

Multi-Repo Licensing System — Master Implementation Plan

Parent feature request: #615

Phase 1: Database Schema + Core Models (Go)

  • #617 Database migration — license, entitlement, activation, product_tier tables
  • #618 License model — CRUD, DLID generation, validation logic
  • #619 Entitlement model — product code mapping, tier expansion
  • #620 Activation model — domain registration, limit enforcement

Phase 2: API Endpoints

  • #621 Update XML endpoint — Joomla-compatible update server with DLID validation
  • #622 Signed download endpoint — ed25519 time-limited download URLs
  • #623 License validation API — validate DLID + product + domain
  • #624 License management API — CRUD for admin/user dashboard

Phase 3: Gitea UI

  • #625 License management dashboard — user-facing license list, domains, entitlements
  • #626 Admin license management — create/revoke/modify licenses, tier assignment
  • #627 Product tier admin — define tiers and repo-to-tier mappings

Phase 4: Joomla Client Integration

  • #628 Shared MokoSuite system plugin — single DLID entry, auto-configure all update sites
  • #629 License status widget — admin module showing license tier, expiry, domains

Phase 5: E-Commerce Integration

  • #630 Shop integration — auto-generate DLID on license product purchase
  • #631 Upgrade/downgrade flow — tier changes without new DLID

Dependency Graph

#617 (schema)
 ├── #618 (license model)
 ├── #619 (entitlement model)
 └── #620 (activation model)
      ├── #621 (update XML) ──> #628 (Joomla plugin)
      │    └── #622 (signed downloads)
      ├── #623 (validation API)
      └── #624 (management API)
           ├── #625 (user dashboard)
           ├── #626 (admin dashboard)
           ├── #627 (tier admin)
           └── #630 (shop integration)
                └── #631 (upgrade/downgrade)

Estimated effort

  • Phase 1: 2-3 days (Go models + migration)
  • Phase 2: 3-4 days (API endpoints + ed25519 signing)
  • Phase 3: 2-3 days (Gitea templates)
  • Phase 4: 1-2 days (Joomla plugin + module)
  • Phase 5: 1-2 days (Shop integration)
  • Total: 9-14 days
## Multi-Repo Licensing System — Master Implementation Plan Parent feature request: #615 ### Phase 1: Database Schema + Core Models (Go) - [x] #617 Database migration — license, entitlement, activation, product_tier tables - [x] #618 License model — CRUD, DLID generation, validation logic - [x] #619 Entitlement model — product code mapping, tier expansion - [x] #620 Activation model — domain registration, limit enforcement ### Phase 2: API Endpoints - [x] #621 Update XML endpoint — Joomla-compatible update server with DLID validation - [x] #622 Signed download endpoint — ed25519 time-limited download URLs - [x] #623 License validation API — validate DLID + product + domain - [x] #624 License management API — CRUD for admin/user dashboard ### Phase 3: Gitea UI - [x] #625 License management dashboard — user-facing license list, domains, entitlements - [x] #626 Admin license management — create/revoke/modify licenses, tier assignment - [x] #627 Product tier admin — define tiers and repo-to-tier mappings ### Phase 4: Joomla Client Integration - [x] #628 Shared MokoSuite system plugin — single DLID entry, auto-configure all update sites - [x] #629 License status widget — admin module showing license tier, expiry, domains ### Phase 5: E-Commerce Integration - [x] #630 Shop integration — auto-generate DLID on license product purchase - [x] #631 Upgrade/downgrade flow — tier changes without new DLID ### Dependency Graph ``` #617 (schema) ├── #618 (license model) ├── #619 (entitlement model) └── #620 (activation model) ├── #621 (update XML) ──> #628 (Joomla plugin) │ └── #622 (signed downloads) ├── #623 (validation API) └── #624 (management API) ├── #625 (user dashboard) ├── #626 (admin dashboard) ├── #627 (tier admin) └── #630 (shop integration) └── #631 (upgrade/downgrade) ``` ### Estimated effort - Phase 1: 2-3 days (Go models + migration) - Phase 2: 3-4 days (API endpoints + ed25519 signing) - Phase 3: 2-3 days (Gitea templates) - Phase 4: 1-2 days (Joomla plugin + module) - Phase 5: 1-2 days (Shop integration) - **Total: 9-14 days**
Sign in to join this conversation.