Skip to content

feat: add Sitecore showcase endpoint with CQRS pattern and enhance documentation#16

Merged
marioarce merged 17 commits into
developfrom
feature/axlis-showcase
Jul 8, 2026
Merged

feat: add Sitecore showcase endpoint with CQRS pattern and enhance documentation#16
marioarce merged 17 commits into
developfrom
feature/axlis-showcase

Conversation

@marioarce

Copy link
Copy Markdown
Owner

This PR introduces a new Sitecore showcase feature demonstrating the CQRS pattern within the Clean Architecture sample, along with comprehensive documentation improvements and dependency updates.

Key changes:

  • Add Sitecore showcase endpoint with CQRS implementation (Query/Handler/Response pattern)
  • Implement Sitecore template POCOs for System and Sample templates
  • Wire Axlis and Axlis.GraphQL services in Infrastructure layer
  • Add comprehensive Axlis-specific documentation (CHANGELOG, CONTRIBUTING, SECURITY)
  • Rewrite README with updated project information and usage guidance
  • Upgrade Microsoft.Extensions packages and MediatR to version 10.0.0
  • Replace local project references with NuGet package references
  • Make home path configurable for improved flexibility
  • Remove template packaging infrastructure (.template.config, template project, release workflow)
  • Clean up documentation and code comments throughout the codebase

marioarce added 16 commits July 1, 2026 19:26
- Add dev-only ProjectReferences to Axlis.Core, Axlis, Axlis.GraphQL (fixme)
- Add Axlis and AxlisGraphQL config sections to appsettings.json
- Register AddAxlis and AddAxlisGraphQL in Program.cs
- Wire UseAxlis after app.Build() for ambient lazy-loader
- Set user-secrets for Endpoint and ApiKey (fixme)
- Enable Samples feature flag for showcase endpoint access
- Add Disclaimer template with TextField Heading/Description
- Add HomePage template with ImageField MetaThumbnail + MultilistField HeadCssLinks
- Add PresentationAssetLink template with TextField Link
- Add DictionaryRoot template with ItemReferenceField FallbackDomain
- Add Style template for typed Axes traversal predicates
- All templates use placeholder GUIDs (fixme for real IDs)
- Add GetSitecoreShowcaseQuery with RootPath parameter
- Add GetSitecoreShowcaseResponse with six pivot DTOs
- Add GetSitecoreShowcaseQueryHandler exercising Axlis facade
- Pivot 1: TextField (Disclaimer Heading/Description)
- Pivot 2: ImageField + MultilistField (HomePage MetaThumbnail + HeadCssLinks)
- Pivot 3: ItemReferenceField (Dictionary FallbackDomain)
- Pivot 4: Axes traversal (Parent, Children, Grandparent, Siblings, typed GetChildren)
- Pivot 5: GetDescendants typed traversal
- Pivot 6: WithResult rich API (value, metadata, diagnostics)
- Add SitecoreController with /v1/sitecore/showcase endpoint
- Gated behind Samples feature flag
- Replace PowerCSharp template content with Axlis-specific documentation
- Document Axlis DI wiring, user-secrets configuration
- Document Sitecore template POCOs and field types
- Document CQRS showcase endpoint and six API pivots
- Add Dev-Only References section with NuGet swap instructions
- Add Template POCO GUIDs section with fixme reminders
- Update Quick Start with user-secrets setup steps
…efinitions

- Replace placeholder template files (Disclaimer, HomePage, DictionaryRoot, PresentationAssetLink, Style) with real Sitecore templates
- Add Sample/SampleItem template with Title and Text fields
- Add System template namespace with Language, MainSection, Node, and PublishingTarget templates
- Update GetSitecoreShowcaseQueryHandler to use new template types (Node, Language) instead of placeholder templates
- Simplify GetSitecoreShowcaseResponse by removing Disclaimer and Dictionary pivots
- Change default root path in GetSitecoreShowcaseQuery from "/sitecore/content/home" to "/sitecore/content"
- Update HomePivot to use SampleItem fields (Title, Text) instead of HomePage fields

Refs #6
- Add None remove entries for Sitecore\Templates\System and Sitecore\Templates\Sample
- Add Folder include entries for Sitecore\Templates\System and Sitecore\Templates\Sample

Refs #6
- Replace Axlis.Core ProjectReference with PackageReference version 0.1.0 in CleanArchitecture.Application
- Replace Axlis and Axlis.GraphQL ProjectReferences with PackageReferences version 0.1.0 in CleanArchitecture.WebApi
- Remove fixme comments about dev-only references

Refs #3
- Upgrade PowerCSharp.Feature.Cache packages from 1.3.1 to 1.3.2 in CleanArchitecture.Application and CleanArchitecture.WebApi
- Upgrade PowerCSharp.Features.Abstractions from 1.0.1 to 1.0.2 in CleanArchitecture.Presentation
- Upgrade PowerCSharp.Features and PowerCSharp.BuiltInFeatures from 1.0.1 to 1.0.2 in CleanArchitecture.WebApi

Refs #3
….0.0

- Upgrade MediatR from 12.3.0 to 14.1.0 in CleanArchitecture.Application
- Upgrade Microsoft.Extensions.Configuration.Abstractions from 8.0.0 to 10.0.0 in CleanArchitecture.Application
- Upgrade Microsoft.Extensions.DependencyInjection.Abstractions from 8.0.2 to 10.0.0 in CleanArchitecture.Application and CleanArchitecture.Infrastructure
- Upgrade Microsoft.Extensions.Logging.Abstractions from 8.0.2 to 10.0.0 in CleanArchitecture.Application and CleanArchitecture.Infrastructure
- Upgrade Microsoft.Extensions.Http from 8.0.1 to 10.0.0 in CleanArchitecture.Infrastructure
- Upgrade Microsoft.Extensions.Options from 8.0.2 to 10.0.0 in CleanArchitecture.Infrastructure

Refs #3
- Enhance XML documentation comments for SampleItem template with detailed description
- Enhance XML documentation comments for Language template with detailed description
- Add remarks section to MainSection template documentation
- Add remarks section to Node template documentation
- Enhance XML documentation comments for PublishingTarget template with detailed description
- Update field documentation to use "Gets the..." format for consistency

Refs #4
- Replace hardcoded home path with configurable RootPath parameter in GetSitecoreShowcaseQueryHandler
- Update pivot scenario count from five to six in query documentation
- Fix typo "PAxes" to "Axes" in GetSitecoreShowcaseResponse
- Enhance XML documentation for all pivot classes with detailed summaries
- Add "Gets the..." format to all property documentation comments
- Update RootPath documentation to be more specific about default behavior
- Update example path from "/sitecore/system" to "/sitecore/content"

Refs #4
- Add DevNote for Axes traversal explaining lazy-loading behavior and performance considerations
- Add DevNote for GetDescendants with guidance on batch operations and efficient queries
- Add DevNote for GetItemByPathWithResultAsync Rich API flavor usage and diagnostics
- Add DevNote for Caching architecture and configuration options

Refs #6
- Add SECURITY.AXLIS.md with comprehensive security policy covering vulnerability reporting, Axlis integration security considerations, and sample endpoint security
- Enhance README.md with lazy loading behavior documentation
- Add caching architecture and configuration documentation to README
- Add field types documentation to README
- Add documentation files section to README

Refs #6
- Remove GitHub release workflow for NuGet package publishing
- Remove .NET template configuration file
- Remove template project file for NuGet packaging

Refs #3
- Update README project description to remove template references
- Remove original template files from documentation section
- Update SitecoreController comment from fixme to professional note
- Update Program.cs comment to remove NuGet PackageReference reference

Refs #6
@marioarce marioarce added this to the v0.1.0 milestone Jul 8, 2026
@marioarce marioarce self-assigned this Jul 8, 2026
@marioarce marioarce added documentation Improvements or additions to documentation epic Tracking epic wiring Axlis DI, configuration, integration labels Jul 8, 2026
@marioarce marioarce linked an issue Jul 8, 2026 that may be closed by this pull request
6 tasks
@marioarce marioarce added templates Sitecore template POCOs showcase CQRS showcase endpoint dependencies Pull requests that update a dependency file github_actions Pull requests that update GitHub Actions code .NET Pull requests that update .NET code labels Jul 8, 2026
@marioarce marioarce linked an issue Jul 8, 2026 that may be closed by this pull request
5 tasks
@marioarce marioarce removed a link to an issue Jul 8, 2026
6 tasks
- Skip Cache_Sample_Misses_Then_Hits test as PowerCSharp endpoints not relevant to Axlis sample
- Skip Status_Shows_Keys_And_Delete_Clears_Cache test as PowerCSharp endpoints not relevant to Axlis sample
- Skip Gate_Hides_Endpoint_When_Feature_Disabled test as PowerCSharp endpoints not relevant to Axlis sample

Refs #6
@marioarce
marioarce merged commit 73555c5 into develop Jul 8, 2026
1 check passed
@marioarce marioarce linked an issue Jul 8, 2026 that may be closed by this pull request
8 tasks
@marioarce
marioarce deleted the feature/axlis-showcase branch July 8, 2026 21:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file documentation Improvements or additions to documentation epic Tracking epic github_actions Pull requests that update GitHub Actions code .NET Pull requests that update .NET code showcase CQRS showcase endpoint templates Sitecore template POCOs wiring Axlis DI, configuration, integration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CQRS showcase endpoint Epic: Axlis sample showcase

1 participant