Query-based data sources
A query:-prefixed source resolves through LookupSources.GetItems against the current content database, instead of a single fixed path.
Axlis.Customizations · Shipped · v0.1.0
Sitecore's standard TreeList field lets an editor pick items from a fixed Datasource path — fine until content authors need the picker scoped to items matching a query, or restricted to specific templates. That's a customization every non-trivial Sitecore project ends up writing for itself, usually as one-off code buried in a Foundation layer with no test coverage and no path to reuse across projects.
Axlis.Customizations is a home for exactly that category of Sitecore Shell control customization — generalized, documented, and versioned per Sitecore release, starting with QueryableTreeList.
$ dotnet add package Axlis.Customizations.Controls.Sitecore102What's in it
One Sitecore-version-gated package today, built to hold more customizations as they come up.
A query:-prefixed source resolves through LookupSources.GetItems against the current content database, instead of a single fixed path.
IncludeTemplatesForDisplay and IncludeTemplatesForSelection layer template-level scoping on top of the resolved data source.
Items outside the resolved data-source scope render with a [Not in selection list] header warning in the Content Editor, instead of failing silently.
Shipped as Axlis.Customizations.Controls.Sitecore102, built against Sitecore.Kernel/Sitecore.Web [10.2.0,10.3.0). A future Sitecore line ships as a sibling package, not a wider version range on this one.
Introducing it into an existing project
No serialized Sitecore item ships in the package — Axlis is consumed across projects with different serialization tooling (TDS, Unicorn, Sitecore CLI), so the Field Type item is yours to place wherever fits your tree.
Axlis.Customizations.Controls.Sitecore102.App_Config/Include/ and drop the .template suffix./sitecore/system/Field types pointing at Axlis.Customizations.Controls.Sitecore102 / Axlis.Customizations.Controls.QueryableTreeList, control Axlis:QueryableTreeList.<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<controlSources>
<source
mode="on"
namespace="Axlis.Customizations.Controls"
assembly="Axlis.Customizations.Controls.Sitecore102"
prefix="Axlis" />
</controlSources>
</sitecore>
</configuration>Before you rely on it
Install into a real Sitecore 10.2.x instance with the config include and Field Type item in place, then confirm the control renders in the Content Editor, a query:-prefixed source resolves correctly against a real query, and the [Not in selection list] warning appears for an item outside the resolved data source. There's no Sitecore FakeDb in this toolchain, so this is a manual check, per release.
Axlis is consumed across projects that serialize content differently — TDS, Unicorn, Sitecore CLI, or none of the above. Shipping an opinionated serialized item would force one tool's format on every consumer, so the Field Type item is yours to create under whichever /sitecore/system/Field types location fits your tree.
QueryableTreeList is the first implementation, not the only planned one. Axlis.Customizations.Abstractions is deliberately thin today — it holds only the genuinely Sitecore-free constants shared across the family, and is expected to grow as new customizations need shared, Sitecore-free logic.