← Back to Roadmap

Recipe Management

21 features

πŸ“‹ Description

Recipes provide a hierarchical, rule-driven way to assemble and manage publication structures from existing platform objects. They dynamically match content via metadata criteria, organize it into ordered navigation trees, and streamline authoring with guided creation and progress tracking.

πŸ’Ž Business Value

Faster publication assembly, less manual curation, consistent metadata application, and clearer visibility into coverage and readiness for multi‑variant deliverables. Easier integration with external source systems where external metadata can be mapped to recipe structures.

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

Access Control

Enforce granular permissions: only Administrators can create, edit, or delete Recipes and Nodes; Authors can view and use guided creation without structural edits.

Create & Manage Recipes

Define Recipe objects with titles, descriptions, and profile/classification metadata.

Custom Cross-Links

Add criteria-based links between Nodes to augment navigation beyond parent/child relationships, improving discoverability of related content.

Dynamic Criteria Matching

Specify Node criteria (object type, template, profiles, classification) to automatically resolve matching objects. Results update near real time as metadata changes, eliminating manual lists.

Guided Object Creation

Create new objects directly from a Node; the platform pre-fills metadata from Recipe and Node criteria, reducing misclassification and accelerating authoring.

Node-Based Hierarchies

Build ordered trees of Nodes under each Recipe. Nodes represent sections and sub-sections, enabling structured navigation that mirrors publication scaffolds.

Ordering & Navigation

Reorder sibling Nodes to control publication sequence. Authors see the curated order read-only, ensuring consistent navigation across teams.

Phase-1 - Nodes

The nodes in the recipe are each defined by a set of search criteria, for example object type, object template, profile and classification metadata. These search criteria can then be matched with one or more object or objects that fit those critera (including a match for the profiles on the recipe object). When a recipe and objects are distributed, the node structure and objects matched for the nodes create a basic navigation for consumers of the content. A node can have: * zero (if the node is on the top level) or one parent nodes * zero or more sibling nodes (sharing the parent node) * zero or more child nodes (which has the node as parent). These relations create the basic navigation for a distributed publication.

Profile Scoping & Inheritance

Apply Recipe-level profile filters (e.g., product, version, market) that cascade through all Nodes, ensuring only relevant variants appear without repeated configuration.

Progress Indicators

Track per-Node coverage (matched, created via Recipe, completion vs. required sets) with badges to quickly identify gaps and drive completion.

Validation & Consistency

Prevent cycles, invalid criteria, duplicate ordering, and overly deep hierarchies (soft warning after 8 levels). Ensure consistent, reliable structures.

βœ“ Merged to main

πŸ“‹ Development Summary

Summary: This work completed Spec 037 for recipe object alignment, standardizing recipe behavior across the full lifecycle including hierarchy, matching, validation, preview, and delivery. The branch also introduced performance optimizations, schema and criteria refinements, and hardening work to ensure the recipe object model is consistent with the broader platform specification. Supporting documentation and cleanup tasks were included to finalize the rollout and merge it cleanly into main. Key Changes: - Completed recipe object alignment across phases, covering schema alignment, criteria validation, link health, delivery snapshots, preview behavior, and final hardening. - Updated recipe matching and criteria handling to use semantic object type keys and aligned the matching schema with the broader object hierarchy. - Implemented preview filter variants and optimized preview and matching hot paths to improve resolution efficiency and runtime performance. - Added planning artifacts and expanded feature/specification documentation, including phase closure notes for Spec 037. - Removed hardcoded `@authToken` values from `.http` files and resolved merge conflicts as part of branch stabilization and integration. Impact: These changes deliver a more consistent and maintainable recipe object model, reducing ambiguity across matching, preview, and delivery workflows. The result is improved reliability and performance for recipe-related features, while better documentation and cleanup support smoother ongoing development and operational use.

πŸ”§ API Changes (12 files)

  • M src/Aleido.Platform.API/Endpoints/HierarchyEndpoints.cs
  • M src/Aleido.Platform.API/Endpoints/RecipeEndpoints.cs
  • M src/Aleido.Platform.API/HttpFiles/folders.http
  • M src/Aleido.Platform.API/HttpFiles/object-types.http
  • M src/Aleido.Platform.API/HttpFiles/recipes.http
  • M src/Aleido.Platform.API/Models/Preview/RecipePreviewResponse.cs
  • M src/Aleido.Platform.API/Services/Hierarchy/HierarchyService.Metadata.cs
  • M src/Aleido.Platform.API/Services/Hierarchy/IHierarchyService.cs
  • M src/Aleido.Platform.API/Services/Recipe/IRecipePreviewService.cs
  • M src/Aleido.Platform.API/Services/Recipe/IRecipeService.cs
  • M src/Aleido.Platform.API/Services/Recipe/RecipePreviewService.cs
  • M src/Aleido.Platform.API/Services/Recipe/RecipeService.cs

πŸ“ Commit Log

3be4561f Merge origin/main into 037-recipe-object-alignment 44e8ea22 Remove hardcoded @authToken values from .http files 6a572a93 Fix merge conflict 3f1f0d98 Use semantic object type keys in recipe criteria 224c9ade Document recipe spec alignment and phase 9 closure 56f481e0 Complete recipe object alignment phase 9 hardening aeaad1a5 Implement recipe preview filter variants afda17ff Complete recipe phase 7 resolution and preview optimization 782b31a6 Optimize phase 6 recipe preview paths 1a25c0bd Complete phase 6 recipe delivery snapshots 8fcaf2a6 Complete phase 5 recipe link health d194e2a1 Complete phase 4 recipe criteria validation 9812ce8f Complete phase 3 recipe object alignment 1f1e42c3 Align recipe matching schema and optimize hot paths 0d825153 Add recipe object alignment planning artifacts bc2fcd7b Merge branch 'main' into 037-recipe-object-alignment 803e9140 feat: Add more detailed feature specification for recipe object, aligning it with other specs and input, plus a conceptual example

πŸ’» Development Features (10)

Recipe object model and hierarchy-aligned lifecycle

No description available

Resolved preview, delivery snapshot, and work-tool flows

No description available

Temporary variant comparison and release-ready contract verification

No description available

Node criteria authoring and custom-link integrity

No description available

Documentation, Validation, and Delivery

No description available

Filter Variants for Match Comparison

No description available

Recipe Node Structure and Criteria Management

No description available

Match Resolution and Object Creation

No description available

Recipe Match Health Analysis

No description available

Custom Link Management

No description available

πŸ“‹ Backend Requirements (5)

Related requirement tasks from other projects

βœ“ 0.13 - System compliant with DITA 1.3 or later Is your DITA-OT out of the box or configured or customized?

To Do

Description Supports DITA authoring formats; DITA-OT implementation pending. Platform Status: partially implemented PPT Status: Partly MVP: Yes Must Have: Priority 1 (A) Notes DITA OT Not implemented yet Format implemented Is your DITA-OT out of the box or configure and customised. Currently authoring in DITA, don't want a different format. Product Owner Notes Not implemented DITA-OT Notes: DITA OT not implemented yet; implemented format; clarify OT configuration; maintain DITA authoring.

View in Azure DevOps β†’

βœ“ 6.10 - System supports a configurable or customizable metadata category list (unlimited #)

To Do

Description Platform Status: supported PPT Status: Yes MVP: Yes Must Have: Priority 1 (A) Use Case Brands, models, audience, VIN or salescodes, ID, any future needs. Current Challenges Metadata setup in current tool is managed by multiple teams and (depending on the data) can be tied to a deployment. Notes by classification metadata and profiles Profiling, classification, domains, metadata Hierarchical structures: Apply content based on taxonomical structure Produt family->Product->Version. Mapping VIN numbers to metadata filters handled externally Given a list of feature codes (w. description) and they map VIN to feature codes.

View in Azure DevOps β†’

βœ“ 3.40 - System supports application of conditions/applicability/Global Product Hierarchy and variables to produce different outputs based on selections.

To Do

Description Platform Status: partially supported PPT Status: Partly MVP: Yes Must Have: Priority 1 (A) Use Case For example selection of conditions to produce manuals with different engine or transmission types, brands, models, etc. Notes this is profiling, we have not discussed variables - Tobias variables are used for marketing terms, differs between brans. How would one variable look like in a title? - Matthew How variables look in a title of an object. Complex conditions, "profile" conditions. NOT: Apply to Sweden & Norway, you are only ever interested in one facet at a time. Faceting: Profile and inline profiling Product Owner Notes Inline profiling and recipes need to be implemented to fully validate functionality

View in Azure DevOps β†’

βœ“ 6.20 - Ability to add metadata at publication/map/topic/element level

To Do

Description Platform Status: supported PPT Status: Partly MVP: Yes Must Have: Priority 1 (A) Notes Challenge here would be migration Have to use the engineering handling, clunky. Product Owner Notes Recipes need to be implemented.

View in Azure DevOps β†’

βœ“ 3.32 - System generated content is published with associated metadata

To Do

Description Platform Status: partially implemented PPT Status: Roadmap MVP: Yes Must Have: Priority 1 (A) Notes What do they want in detail. If we have an object, that has classification metadata, where we publish it needs to receives an id denoting the origin of the topic. In the future potentially include related metadata. For fully dynamic delivery metadata is needed. Possible, applying invisible character to published PDF for metadata tagging Figures get hidden GUIDs on publication

View in Azure DevOps β†’