← Back to Roadmap

Dynamic Content Delivery

15 features

πŸ“‹ Description

Dynamic Content Delivery allows the platform to deliver up-to-date content to end users in real time, without requiring full package redeployment. This feature ensures that individual topics or assets can be updated and published instantly, providing flexibility and responsiveness to changing information needs.

πŸ’Ž Business Value

Reduces redeployment overhead and shortens time‑to‑publish, improving responsiveness to changing information needs and keeping end users reliably up‑to‑date.

πŸ—ΊοΈ Roadmap Features (3)

Enable quick content retrieval for consuming applications

A consuming application (web portal, mobile app, in product display) should have quick and easy way to be able to fetch the latest information available for the end user.

Provide product based content status

For a product (for example model, market, year, variant) be able to give the consuming application of the information a way to check what available content is added/deleted/updated in order to not need to fetch all information, only what is changed.

Resolve inclusions within certain objects

Content that is included in an object matched by a recipe needs to be resolved before exposure to consuming systems.

βœ“ Merged to main
πŸ• Development time: 1d-23h-42m⏱ Time to deployment: 0d-00h-10m

πŸ“‹ Development Summary

Summary: This work delivered the Dynamic Content Delivery capability from specification through implementation, adding core API support for discovery, publications, content packages, search, and synchronization. The team also refined the domain model and terminology, clarified functional requirements, and strengthened quality controls by enforcing external integration test practices and adding CdpAPI test coverage. Key Changes: - Implemented Content Delivery API endpoints and models for discovery, publications, content packages, search, and sync workflows. - Added and iteratively refined the Content Delivery API specification, including clarifications on hierarchy, language filtering, formats, workspace transparency, and deletion propagation. - Aligned authentication and delivery-consumer terminology by removing workspace references from relevant contexts. - Generated task breakdowns and updated API specifications to support structured delivery of the feature set. - Enforced external integration test discipline and added dedicated CdpAPI integration tests. Impact: These changes establish a more complete and production-ready content delivery platform, enabling external consumers to reliably discover, retrieve, and synchronize content. The improved specifications and stronger integration testing reduce implementation ambiguity, increase interoperability, and lower delivery risk for downstream integrations.

πŸ”§ API Changes (107 files)

  • M src/Aleido.Platform.API/Aleido.Platform.API.csproj
  • M src/Aleido.Platform.API/Authorization/CapabilityAuthorizationHandler.cs
  • M src/Aleido.Platform.API/Bootstrap/StartupGuard.cs
  • M src/Aleido.Platform.API/Endpoints/ASTSearchEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/AccessControlEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/AuditEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/ComparisonEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/FolderEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/HierarchyEndpoints.cs
  • A src/Aleido.Platform.API/Endpoints/InternalLifecycleApprovalEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/InternalNotificationEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/InternalObjectTypeProvisioningEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/KnowledgeLayerEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/LifecycleEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/NodeSimilarityEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/ObjectEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/ObjectReferenceEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/PdfPublishingEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/RecipeEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/ReleaseEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/SimilarityEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/StagingEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/TranslationEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/WorkPackageEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/WorkflowExecutionEndpoints.cs
  • M src/Aleido.Platform.API/Extensions/AuthenticationConfigurationExtensions.cs
  • M src/Aleido.Platform.API/Extensions/CapabilityServiceCollectionExtensions.cs
  • M src/Aleido.Platform.API/Extensions/EndpointCapabilityExtensions.cs
  • M src/Aleido.Platform.API/Extensions/ObservabilityExtensions.cs
  • D src/Aleido.Platform.API/Extensions/OpenApiExtensions.cs
  • M src/Aleido.Platform.API/Extensions/RateLimitingExtensions.cs
  • M src/Aleido.Platform.API/Extensions/ServiceRegistrationExtensions.cs
  • M src/Aleido.Platform.API/Extensions/WebApplicationExtensions.cs
  • M src/Aleido.Platform.API/Helpers/ProblemDetailsFactory.cs
  • M src/Aleido.Platform.API/HttpFiles/recipes.http
  • M src/Aleido.Platform.API/Middleware/InternalAccessGuardMiddleware.cs
  • A src/Aleido.Platform.API/Models/Errors/RecipeValidationException.cs
  • M src/Aleido.Platform.API/Models/Hierarchy/Requests/UpdateVersionRequest.cs
  • M src/Aleido.Platform.API/Models/Hierarchy/Responses/HierarchyVersionResponse.cs
  • M src/Aleido.Platform.API/Models/Preview/RecipePreviewResponse.cs
  • M src/Aleido.Platform.API/Models/Requests/CreateObjectRequest.cs
  • M src/Aleido.Platform.API/Models/Requests/LifecycleRequests.cs
  • M src/Aleido.Platform.API/Models/Requests/ListStagedFilesQuery.cs
  • M src/Aleido.Platform.API/Models/Requests/MetadataRequests.cs
  • M src/Aleido.Platform.API/Models/Requests/ReleaseRequests.cs
  • A src/Aleido.Platform.API/Models/Requests/RelinkStagedFilesRequest.cs
  • M src/Aleido.Platform.API/Models/Requests/SimilarityQueryRequest.cs
  • M src/Aleido.Platform.API/Models/Requests/WorkPackageRequests.cs
  • M src/Aleido.Platform.API/Models/Responses/AuditResponses.cs
  • M src/Aleido.Platform.API/Models/Responses/LifecycleResponses.cs
  • M src/Aleido.Platform.API/Models/Responses/ObjectResponse.cs
  • M src/Aleido.Platform.API/Models/Responses/ReleaseResponses.cs
  • M src/Aleido.Platform.API/Models/Responses/StagedFileResponses.cs
  • M src/Aleido.Platform.API/Models/Responses/WorkPackageResponses.cs
  • M src/Aleido.Platform.API/Models/Responses/WorkflowResponses.cs
  • M src/Aleido.Platform.API/Observability/HealthResponseBuilder.cs
  • M src/Aleido.Platform.API/OpenApi/JwtBearerSecurityDocumentTransformer.cs
  • A src/Aleido.Platform.API/OpenApi/JwtBearerSecurityOperationTransformer.cs
  • A src/Aleido.Platform.API/OpenApi/OpenApiDocsMetadataOperationTransformer.cs
  • D src/Aleido.Platform.API/OpenApi/RecordsAlchemistOpenApiConventions.cs
  • M src/Aleido.Platform.API/Program.cs
  • M src/Aleido.Platform.API/Services/ASTSearchService.cs
  • M src/Aleido.Platform.API/Services/AuditChangeLogService.cs
  • M src/Aleido.Platform.API/Services/BinaryObjectService.cs
  • M src/Aleido.Platform.API/Services/CollaborationService.cs
  • M src/Aleido.Platform.API/Services/Comparison/ComparisonService.cs
  • M src/Aleido.Platform.API/Services/ComponentService.cs
  • M src/Aleido.Platform.API/Services/ExternalMetricsIngestionService.cs
  • M src/Aleido.Platform.API/Services/ExternalToolCallbackService.cs
  • M src/Aleido.Platform.API/Services/Hierarchy/HierarchyService.Checkout.cs
  • M src/Aleido.Platform.API/Services/Hierarchy/HierarchyService.Content.cs
  • M src/Aleido.Platform.API/Services/Hierarchy/HierarchyService.Metadata.cs
  • M src/Aleido.Platform.API/Services/Hierarchy/HierarchyService.Subversion.cs
  • M src/Aleido.Platform.API/Services/Hierarchy/HierarchyService.VariantFormat.cs
  • M src/Aleido.Platform.API/Services/Hierarchy/HierarchyService.Version.cs
  • M src/Aleido.Platform.API/Services/Hierarchy/HierarchyService.cs
  • M src/Aleido.Platform.API/Services/HttpWorkflowExecutionClient.cs
  • M src/Aleido.Platform.API/Services/IExternalToolCallbackService.cs
  • M src/Aleido.Platform.API/Services/IStagingFileService.cs
  • M src/Aleido.Platform.API/Services/IWorkPackageService.cs
  • M src/Aleido.Platform.API/Services/InternalNotificationService.cs
  • M src/Aleido.Platform.API/Services/KnowledgeLayerService.cs
  • M src/Aleido.Platform.API/Services/Lifecycle/ILifecycleService.cs
  • M src/Aleido.Platform.API/Services/Lifecycle/LifecycleService.cs
  • M src/Aleido.Platform.API/Services/LocalizationService.cs
  • M src/Aleido.Platform.API/Services/Metadata/ProfileDefinitionService.cs
  • M src/Aleido.Platform.API/Services/ObjectGenerationService.cs
  • M src/Aleido.Platform.API/Services/ObjectService.Operations.cs
  • M src/Aleido.Platform.API/Services/ObjectTranslationService.cs
  • M src/Aleido.Platform.API/Services/Preferences/UserPreferenceService.cs
  • M src/Aleido.Platform.API/Services/Preview/HierarchyPreviewService.cs
  • A src/Aleido.Platform.API/Services/Recipe/IRecipeContentValidator.cs
  • M src/Aleido.Platform.API/Services/Recipe/IRecipePreviewService.cs
  • M src/Aleido.Platform.API/Services/Recipe/IRecipeService.cs
  • A src/Aleido.Platform.API/Services/Recipe/RecipeNodeOrdering.cs
  • M src/Aleido.Platform.API/Services/Recipe/RecipePreviewService.cs
  • M src/Aleido.Platform.API/Services/Recipe/RecipeService.cs
  • M src/Aleido.Platform.API/Services/StagingFileService.cs
  • M src/Aleido.Platform.API/Services/TransformQueueService.cs
  • M src/Aleido.Platform.API/Services/Translation/TranslationService.cs
  • M src/Aleido.Platform.API/Services/WorkPackageService.cs
  • M src/Aleido.Platform.API/Services/WorkflowManagementService.cs
  • M src/Aleido.Platform.API/Services/WorkflowTriggerService.cs
  • M src/Aleido.Platform.API/appsettings.Development.json
  • M src/Aleido.Platform.API/appsettings.json
  • D src/Aleido.Platform.API/docs/api-summary.md
  • D src/Aleido.Platform.API/docs/openapi.json

πŸ“ Commit Log

787968c25 CDP: Immutable governed metadata & publish-complete gating 47bb345fa Merge branch 'main' into 059-cdp-governed-profile-metadata 12baae7eb Strengthen release visibility and failure-state business contract in spec cec1bc788 Refine spec with hybrid snapshot consistency and historical lookup scope b51ef72ac Clarify CDP governed metadata and 150% publication immutability spec

πŸ’» Development Features (12)

Clean MetadataDomain delivery contract and projection cutover

This feature delivers the new CDP metadata contract based solely on MetadataDomain assignments and removes legacy response semantics. It solves the cutover problem by aligning endpoint payloads, projection logic, and contract validation with the clarified requirement that CDP returns values only, with no backward compatibility for legacy metadata fields or governance sources. The technical approach updates delivery response DTOs, endpoint behavior, projection models, and service helpers so existing CDP endpoints emit the new assignment-only shape directly. It adds and serializes the clean metadata response fields, removes old dictionary or value-view fields, strips legacy governance mapping paths from both release capture and delivery projection, and ensures publication, direct object, content package, catalog, media, search, and sync flows all resolve against publish-complete releases through shared delivery logic. Contract examples, OpenAPI validation, endpoint integration coverage, and explicit tests proving legacy governance sources are ignored provide confidence that the new interface is consistently enforced across the platform. Implementers must treat this as an intentional breaking change and avoid preserving old fields, old mapping behavior, or dev-era compatibility shims. Acceptance is signaled by regenerated OpenAPI output, passing contract tests against the new payload shape, integration proof that endpoints serialize only the new assignment-based metadata, and delivery flows consistently filtering to publish-complete releases before projection.

Documentation and validation rollout

This feature packages the developer-facing guidance and final validation steps needed to roll out the metadata contract and release snapshot behavior safely. It solves the adoption problem by documenting the new released metadata semantics and by making sure the final implementation is exercised through focused and full-solution validation. The work updates API guidance, documentation indexes, and quickstart notes so consumers and maintainers can understand the new assignment-only contract, release immutability behavior, and expected validation pathways. It also runs documentation validation, targeted service and integration test suites, and full build and test validation across the solution so the release snapshot foundation, CDP delivery cutover, and breaking contract changes are verified together rather than in isolation. Acceptance is straightforward: the docs must describe the final field names and behavior actually implemented, documentation checks must pass, and the targeted plus solution-wide validation commands must complete successfully. These tasks should happen after the contract, projection, and lifecycle changes stabilize so the published guidance and verification results reflect the real final state.

Release snapshot and publication state foundation

This feature establishes the release-time snapshot model and publication lifecycle needed to make released metadata durable and trustworthy. It solves the core consistency problem by ensuring release artifacts carry their own governed metadata snapshot and by introducing explicit publication state so incomplete or failed publications are not treated as consumable releases. The implementation spans shared models, repository persistence, release orchestration, test data builders, and service-level verification. It adds publication-state fields to release records, extends manifest and released item snapshot models with metadata snapshot timestamps and canonical hash fields, introduces repository operations for state persistence with optimistic concurrency, and implements release service behavior for initialization, publish-complete, failure, retry, and reconciliation paths. Canonical content/metadata/binding hash helpers and audit helpers in the release service provide the verification backbone, while API, Azure repository, integration seed helpers, and unit/integration tests validate state transitions, mismatch handling, persistence behavior, and hidden visibility of non-complete releases across downstream consumption paths. Implementers must preserve the post-feature cutover rule: only post-feature releases participate in the new publication-state semantics, and only publish-complete releases are eligible for downstream delivery. Acceptance signals include deterministic transition coverage for in-progress, failed, retried, reconciled, and publish-complete states, durable recording of failure details and snapshot evidence, and proof through integration tests that failed or in-progress coordinates remain hidden from publication, object, and content package delivery flows.

Governed metadata snapshot capture and immutable delivery

This feature delivers metadata parity between the authoring platform and CDP for governed profile assignments while restoring immutability for released 150% publications. It solves the problem where CDP responses could drift from approved release-time values by ensuring governed profile and classification metadata are captured into release snapshots and projected only from those snapshots. The implementation adds MetadataDomain-based snapshot fields to released item models, captures object-level, version-level, and classification assignments during release creation, excludes keys without effective released values, and incorporates those assignments into metadata hash calculations so release verification reflects governed metadata changes. On the delivery side, snapshot-backed fields are added to projections and mapped through shared Azure helper logic so direct object lookups and content package objects use the same projection path, removing reliance on live object metadata for post-feature released responses. Unit, service, and seeded integration tests prove parity across direct and packaged delivery, verify snapshot capture, show that post-release edits do not mutate old publications, and confirm that republish is required before new values appear in CDP. A key constraint is scope: only object-level and version-level governed metadata are included, while subversion-level metadata remains out of scope. Acceptance depends on demonstrating that historical live metadata sources no longer influence post-feature released responses, that classification and governed profile assignments remain frozen in old release artifacts after authoring changes, and that only a new approved release plus recipe republish exposes updated metadata values.

Publication profile filtering

No description available

Released profile visibility and discovery hierarchy

No description available

Release-scoped profile snapshot foundation

No description available

Object-level content package filtering and delivery contract updates

No description available

Incremental sync, validation, and release readiness

No description available

Formats, media, search, and AI object access

No description available

Foundation and API scaffolding

No description available

Released publications, discovery, and authorization

No description available

πŸ“– Backend User Stories (5)

User stories linked from other projects

πŸ“– Digital-First Information Model (Recipe mgmt.)

Done

## Story Statement As a digital delivery lead, I want a topic-based information model so that content can be delivered dynamically instead of being constrained by publication-only workflows. ## Business Value - Enables digital-first delivery beyond publication-centric workflows. - Improves content discoverability and targeted delivery. - Supports scalable reuse through topic-based architecture.

View in Azure DevOps β†’

πŸ“– Metadata-Preserved Publishing (Release manager)

Committed

## Story Statement As an integration consumer, I want published content to include associated metadata so that downstream systems can identify, filter, and process content correctly. ## Business Value - Improves content filtering and precision in delivery channels. - Supports scalable taxonomy management across products. - Increases downstream automation through richer metadata context.

View in Azure DevOps β†’

πŸ“– Downstream Propagation of Topic Links

Approved

Title: Propagate topic relationship changes to downstream systems Story Statement:As a Publishing/Integration Manager, I want topic-link relationship changes from the CCMS to propagate reliably to downstream systems, so that end users receive consistent, up-to-date cross-topic navigation. Business Value: Keeps downstream outputs aligned with CCMS relationships. Ensures downstream outputs navigate correctly. Reduces manual rework and integration drift. Improves trust in published relationship data.

View in Azure DevOps β†’

πŸ“– HTML Output Generation

Committed

## Story Statement As a digital content owner, I want HTML outputs from the platform so that information can be delivered in web-ready formats. ## Business Value - Improves publishing throughput and release predictability. - Reduces output defects across variants and formats. - Strengthens downstream readiness with consistent publish artifacts.

View in Azure DevOps β†’

πŸ“– External Target On-Demand Output and Metadata Deployment (Release manager)

Committed

## Story Statement As a publishing operator, I want to deploy outputs and metadata to predefined external targets on demand so that downstream business systems can consume updates reliably without manual transfer steps. ## Business Value * Improves interoperability with AGCO enterprise systems. * Reduces manual transfer steps in downstream delivery. * Increases reliability of automated data exchange.

View in Azure DevOps β†’

πŸ“‹ Backend Requirements (1)

Related requirement tasks from other projects

βœ“ 1.24 - System supports topic to topic linking and propogates the links to downstream systems to utilize

To Do

Description Platform Status: PPT Status: MVP: Yes Must Have: Priority 1 (A) Use Case Many topics link to each other or relate. Is this capability possible (link from topic A to B and E and then back to A) Current Challenges Loss of relationship table functionality with PTC WC.

View in Azure DevOps β†’