Release Axlis.Sitecore.Context v0.1.0 - #52
Merged
Conversation
…call context storage - Add net48-only Axlis.Sitecore.Context.Abstractions project with NuGet metadata and packaged README - Introduce documentation for AmbientContextStore<T> as the Sitecore-free thread-safety mechanism based on CallContext and ILogicalThreadAffinative - Clarify framework targeting rationale and lock-free design constraints for the Sitecore.Context family
…ad-safe request context access - Add net48 Axlis.Sitecore.Context.Sitecore102 package with Sitecore 10.2.x-gated dependencies and packaged config template - Add comprehensive package README covering problem statement, API surface, migration guidance, module registration, and manual verification checklist - Document namespace exception rationale and fallback behavior for Database, Request, and HttpContext accessors
…ction - Introduce generic AmbientContextStore<T> using CallContext with ILogicalThreadAffinative flow semantics - Add slot-based set/get/clear API with validation and null-safe current value behavior - Implement serializable ambient context wrapper and detailed XML contract guidance for thread-hopping request flows
…t ambient access - Introduce static Axlis.Sitecore.Context API exposing Database, Request, and HttpContext with logical-call scoped storage - Add request lifecycle capture and release hooks for module-driven context initialization and cleanup - Implement defensive fallback resolution to Sitecore and System.Web ambient statics with null-safe behavior
…pture and release - Introduce SitecoreContextHttpModule to capture Sitecore database and HTTP context at BeginRequest - Release captured ambient context at EndRequest to prevent request-state bleed across pooled threads - Document module registration and ordering requirements for reliable context initialization
…ate for context propagation - Add net48 test project for Axlis.Sitecore.Context.Abstractions with xUnit and coverage tooling - Add AmbientContextStore tests covering null default, set/get, clear, await-continuation flow, and concurrent logical-call isolation - Add inert Sitecore include template for manual HTTP module registration with ordering guidance
…ontext propagation - Document the thread-hopping failure mode of ambient statics and why plain static or ThreadStatic approaches are unsafe - Explain the CallContext plus ILogicalThreadAffinative mechanism and async execution-context guarantees that provide isolation and flow - Record design decisions for lock-free behavior, explicit EndRequest cleanup, and out-of-scope reference-implementation features - Clarify testing boundaries between abstraction-level automated tests and Sitecore adapter manual verification
…e Context packages - Add AxlisSitecoreContextVersion to shared build props for consistent package versioning across the Sitecore Context family
…ation links - Add a new Axlis.Sitecore.Context section describing the thread-safety problem it addresses and its Sitecore-version-gated packaging model - Add package matrix entries for Axlis.Sitecore.Context.Abstractions and Axlis.Sitecore.Context.Sitecore102 - Clarify roadmap naming to distinguish reserved Axlis.Context from the shipped Axlis.Sitecore.Context family - Add root documentation links for Sitecore.Context package READMEs and architecture guidance
…y Axlis ecosystem - Update core-role framing to reflect shipped Axlis.ORM, Axlis.Customizations, and Axlis.Sitecore.Context families - Add de-branding and architecture constraints specific to Sitecore.Context propagation mechanisms and package layering - Extend fragile-zone, release-tagging, and testing guidance for Customizations and Sitecore.Context workflows - Refine standards and reference sections to include net48 nullable expectations and dedicated Sitecore.Context architecture documentation
…lease workflow updates - Add Unreleased notes for the new Axlis.Sitecore.Context.Abstractions and Axlis.Sitecore.Context.Sitecore102 packages, solution scaffold, tests, and architecture documentation - Document centralized versioning addition for AxlisSitecoreContextVersion - Document independent sitecore-context-v* release workflow and root documentation updates
…fold - Create Axlis.Sitecore.Context solution with src and tests folders - Include Abstractions, Sitecore102 adapter, and Abstractions.Tests projects - Configure Debug and Release build configurations across all included projects
- Add .vs/ to gitignore to prevent local Visual Studio workspace artifacts from being tracked
- Add GitHub Actions pipeline to restore, build, test, and pack the Sitecore Context solution on tag pushes - Upload packed NuGet artifacts between jobs for staged publishing - Publish generated packages to NuGet.org and GitHub Packages with skip-duplicate handling
…afe context propagation - Create Axlis.Sitecore.Context.Samples.sln and net48 project demonstrating Axlis.Sitecore.Context usage patterns - Implement AxlisSitecoreContextDemo.aspx with side-by-side comparison of raw Sitecore.Context and wrapped Axlis.Sitecore.Context across thread hops - Capture database and request context from both original request thread and simulated background threads to visualize thread-safety guarantees - Add Global.asax wiring, minimal Web.config template, and deployment guidance for real Sitecore 10.2.x integration
…afe context propagation - Create Axlis.Sitecore.Context.Samples.sln and net48 project demonstrating Axlis.Sitecore.Context usage patterns - Implement AxlisSitecoreContextDemo.aspx with side-by-side comparison of raw Sitecore.Context and wrapped Axlis.Sitecore.Context across thread hops - Capture database and request context from both original request thread and simulated background threads to visualize thread-safety guarantees - Add Global.asax wiring, minimal Web.config template, and deployment guidance for real Sitecore 10.2.x integration
…ppet only - Update zzz.Axlis.Sitecore.Context.config.template documentation to explicitly state it contains Web.config <system.webServer><modules> content, not a Sitecore App_Config include - Explain that App_Config/Include/*.config affects only Sitecore's <sitecore> tree, not IIS HttpModule registration - Replace full XML wrapper with bare <add> element — users must copy into real Web.config's existing <modules> section - Simplify ordering guidance and reference package README for module execution order confirmation
…modules snippet - Update PackagePath for zzz.Axlis.Sitecore.Context.config.template from content\App_Config\ to content\Setup\WebConfigModulesSnippet.xml.template - Distinguish Web.config <system.webServer><modules> snippet from Sitecore App_Config include files (two separate config systems) - Clarify in csproj comment that source file location on disk remains under App_Config\ for organizational reasons, only packed destination path is corrected
…eb.config, not app_config - Update "Manual setup" step 1 to emphasize SitecoreContextHttpModule is an IHttpModule requiring Web.config <system.webServer><modules> registration, not a Sitecore App_Config include - Explain separation between Sitecore App_Config system (for <sitecore> tree) and IIS Web.config system (for HttpModule registration) - Replace full <configuration> XML wrapper with bare <add> element for direct copy-paste into real Web.config - Simplify module ordering guidance in step 2 to reference Web.config list order instead of config include file sort order
- Document Axlis.Sitecore.Context.Samples illustrative project with thread-hop demo and side-by-side context comparison - Reference separate Axlis.Sitecore.Context.Samples.sln kept outside main package release CI - Add samples README link to documentation section
…rative project - Create Web.config with system.web compilation settings for net48 and system.webServer modules registration - Include AxlisSitecoreContextHttpModule registration with ordering caveat for real Sitecore integration - Document that file is intentionally minimal — lacking full Sitecore-generated configuration — due to no sandbox environment - Provide merge guidance for copying into real Sitecore 10.2.x site's Web.config
…tudio Web Application Projec
…udio - Adds .vsconfig declaring the required ASP.NET and web development workload so Windows Visual Studio prompts to install it automatically. - Extends .gitignore with the WAP-specific entries (*.user, *.pubxml.user, *.publishsettings, _PublishedWebsites/)
- Exclude macOS .DS_Store metadata files from version control
…e output isolation - Add VSToolsPath fallback for Visual Studio 2026 installations where WebApplications targets are not auto-resolved - Derive fallback path from the active MSBuild installation and VisualStudioVersion - Remove NuGet-provided assemblies from sample output to prevent Sitecore dependency version conflicts in deployed sites - Keep only the sample project's own compiled assemblies eligible for deployment into an existing Sitecore installation
- Replace em dashes in the page title and heading with ASCII hyphens - Replace the explanatory paragraph's em dash with an ASCII hyphen
- Document Visual Studio 2026 (v18.0) VSToolsPath resolution issue and csproj fallback workaround - Add verification section confirming end-to-end testing against real Sitecore 10.2.x CM instance - Explain AxlisExcludeSitecoreProvidedAssembliesFromOutput target rationale for preventing FileLoadException on publish - Reference publish-vs-manual deployment trade-offs and assembly version drift risk
- Add NuGet package badge for Axlis.Customizations.Controls.Sitecore102 - Add NuGet package badge for Axlis.Sitecore.Context.Sitecore102 - Link to package pages on nuget.org
…ases - Document release workflow for Axlis.Sitecore.Context family with sitecore-context-v* tag pattern - Cover version bumping in AxlisSitecoreContextVersion property, changelog updates with shared-timeline convention - Include local verification steps: restore, build, test against Axlis.Sitecore.Context.sln - Add manual verification checklist requirement for real Sitecore 10.2.x instance testing - Document de-branding sweep requirements and samples project deployment verification - Specify PR review, merge-to-main automation, and NuGet.org/GitHub Packages verification
…ion and tooling requirements - Add end-to-end verification details for Windows Visual Studio 2026 against real Sitecore 10.2.x CM instance - Document VSToolsPath fallback property workaround for VS2026 MSBuild install layout differences - Explain AxlisExcludeSitecoreProvidedAssembliesFromOutput target and FileLoadException prevention from assembly version drift - Reference specific .csproj implementation details to prevent accidental removal of non-obvious workarounds
- Release version 0.4.0 dated 2026-08-12 with Axlis.Sitecore.Context package family - Document Abstractions and Sitecore102 packages, Architecture.md, and Samples project additions - Record version management changes: AxlisSitecoreContextVersion in Directory.Build.props, release-sitecore-context.yml workflow - Note CI pipeline updates: added build-customizations and build-sitecore-context jobs for net48 families - Capture fixes: HTTP module registration guidance correction and NuGet assembly exclusion from Samples project output - Update comparison links for v0.4.0 release tag
…package feat(sitecore-context): add thread-safe Sitecore context package family and release workflow
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
release/sitecore-context-v0.1.0intomain.main, with no commits unique tomain.Changes
Axlis.Sitecore.Context.Abstractionswith theAmbientContextStore<T>implementation for logical-call-context value propagation.Axlis.Sitecore.Context.Sitecore102targeting Sitecore 10.2.x and .NET Framework 4.8.Sitecore.Context.Database,Sitecore.Context.Request, andHttpContext.Current.SitecoreContextHttpModuleto capture request context once and propagate it across asynchronous and background execution paths.CallContext,MarshalByRefObject, andILogicalThreadAffinativedesign.AmbientContextStore<T>and the Sitecore Context abstractions.Axlis.Sitecore.Context.slnsolution.sitecore-context-v*tags.Web.config.Verification