Constellation is a collection of utilities for .NET CMS implementers.
The Foundation.Datasources library is an opinionated information architecture for Sitecore. It includes "base" templates and Item
information rules to enforce the architecture.
Core Architecture Concept:
Web Site Items are one of the following types:
Context Datasource: A "page" Item in Sitecore, has a URL, has presentation, loads a Layout and has placeholders for additional Renderings.
Subcontent: A "page fragment" Item in Sitecore, specifically an Item designed to be used as the DataSource for a Rendering. It is required
for the Rendering to render. Subcontent is optional page content, but is unique to the page it appears on.
Widget: Also a "page fragment" Item in Sitecore, specifically an Item designed to be used as the DataSource for a Rendering. It is required
for the Rendering to render. Widgets are optional page content, but are designed to be shared by multiple pages.
The primary information architecture for this design involves the storage of SubContent vs Widgets. All Pages on a site should get a _subcontent
folder beneath them which is where Items of type Subcontent should be stored. This allows for Renderings to specify their Datasource location
Widgets should be stored beneath the /tenant/site node (using Helix methodology) typically in a /widgets folder, possibly broken up by widget
type or marketing intentions.
You can use the following Rule Conditions to enforce this Information Architecture:
* Item IsSubcontentDatasource
* ItemSupportsSubcontent (in some cases Pages should not support subcontent, for example, wildcard pages or pages imported from an external system)
You can use the following Rule Actions to enforce this Information Architecture:
In general you need a rule like this:
On Item Saved, if the Item Supports Subcontent, Create a Subcontent Folder (if none exists) An example is provided in the attached package.
After setting up this rule, ensure that your Renderings are organized into Widgets and Subcontent with appropriate Datasources established.
Add this NuGet package to a Web Application project. After building and deploying, this library will automatically install the Sitecore package containing
the necessary rules and templates to support this architecture.
Configured for use with Sitecore 9.0.
Requires Sitecore 9.0 NuGet packages, available here: https://sitecore.myget.org/F/sc-packages/api/v3/index.json
See the version list below for details.
Install-Package Constellation.Foundation.Datasources -Version 126.96.36.19996
dotnet add package Constellation.Foundation.Datasources --version 188.8.131.5296
<PackageReference Include="Constellation.Foundation.Datasources" Version="184.108.40.20696" />
paket add Constellation.Foundation.Datasources --version 220.127.116.1196
Now with Intellisense support. Now includes a Supports Subcontent item save rule.
This package is not used by any popular GitHub repositories.