VERSION 10.0 is compiled for Sitecore 10.0 use and will not work on earlier versions.
Requires Sitecore 10.0
Requires .NET 4.8
Constellation is a collection of utilities for .NET CMS implementers.
The Foundation.Data namespace contains an Item extension class that allows the developer to:
- Get an Item's ancestor based on Template
- Test an Item's Template inheritance
- Retrieve an Item's children based on a specific Template
- Retrieve the URL for the Item using the currently active LinkManager configuration.
- Determine if the Item is in the Context Site.
- Find or create an Item's child given a name and a Template ID.
Install-Package Constellation.Foundation.Data -Version 10.0.1.23619
dotnet add package Constellation.Foundation.Data --version 10.0.1.23619
<PackageReference Include="Constellation.Foundation.Data" Version="10.0.1.23619" />
paket add Constellation.Foundation.Data --version 10.0.1.23619
#r "nuget: Constellation.Foundation.Data, 10.0.1.23619"
Fixed an issue where the Item.GetUrl() method would not take into account the Context LinkManager settings.
- Sitecore.Kernel (>= 10.0.0)
NuGet packages (11)
Showing the top 5 NuGet packages that depend on Constellation.Foundation.Data:
VERSION 10.0 is compiled for Sitecore 10.0 use and will not work on earlier versions. Requires Sitecore 10.0 Requires .NET 4.8 Constellation is a collection of utilities for .NET CMS implementers. The Foundation.ModelMapping library is inspired by AutoMapper and is designed to provide a quick, non-ORM method of mapping Sitecore Items to ViewModels. String properties on your ViewModel will be mapped to FieldRendered values from fields with the same names. Integer and DateTime property types can also be handled automatically, although you will not get page editor support for these types. There are a number of Attributes that you can assign to your ViewModel's properties to change the behavior of the Mapper. Usage: var modelMapper = (IModelMapper)ServiceLocator.ServiceProvider.GetService(typeof(IModelMapper)); // Dependency Injection of an IModelMapper is supported TModel viewModel = modelMapper.MapItemToNew<TModel>(sourceItem); Or: TModel viewmodel = item.MapToNew<TModel>(); Or: modelMapper.MapTo(item, model); When using Item or ItemList extensions for mapping, the context IModelMapper is requested from the ServiceLocator, so any moc objects you use for testing are supported with these extension methods. Constraints: - Your ViewModel must have a public, parameterless constructor. - Only Writable, Public Instance properties will be mapped. - Within Sitecore, your field names can be human-legible. ModelMapper will attempt to convert the field name to a valid Property name. Simpler names work best. You can use the Field's Display Name for better human legibility and keep the Field's actual name closer to a legit C# entity name. - ViewModel properties can be: - - Strings - - HtmlStrings (recommended for RichText and FieldRenderer) - - Integers - - Decimals - - DateTimes - - Other ViewModels (recommended for DropLink, DropTree) - - ICollection Generics of other ViewModels (recommended for Multilist, Treelist) - - ModelMapping.Model.ImageModel (for Image Fields, gives access to all field properties and permits generating different kinds of image URLs on the View.) - - ModelMapping.Model.GeneralLinkModel (for General Link fields, gives access to all field properties through a single object.) - - Random Plain Old Classes as long as they are Where T: class, new() The following Model properties are mapped to Item properties rather than Item fields: - ID - Maps to the Item.ID - Make sure you use Sitecore.Data.ID as the property type. - Name - Maps to the Item.Name - DisplayName - Maps to Item.DisplayName - Url - Should be a string, not a Uri. Causes the current context LinkManager to generate a Url for the Item. - Parent - Maps to the ViewModel you provide based on the Item.Parent. Support for XML Field Attributes - ImageField.Alt - use Model.FieldNameAlt - ImageField.Height - use Model.FieldNameHeight - GeneralLink.Target - use Model.FieldNameTarget - etc. Support for LinkField.TargetItem - use Model.FieldNameTargetItem and supply a class with public properties and a parameterless constructor. Support for MultilistField.GetItems - use Model.FieldName and supply a generic ICollection<T> where "T" is new() and has properties you can map. Extensible! See the Constellation.Foundation.ModelMapping.config file to change the way Fields are processed.
Compatible with Sitecore 10.0 Requires Sitecore 10.0 Requires .NET Framework 4.8 Constellation is a collection of utilities for .NET CMS implementers. The Feature.Navigation library addresses the three most common forms of Navigation on Sitecore sites: Declared (static) Navigation: (explicitly defined, may differ from the shape of the content tree) - DeclaredNavigationRepository.GetNavigation - Accepts a Navigation Menu item and assembles a full tree-like ViewModel for immediate processing in your View. If you need context highlighting in your navigation, be sure to pass in the Context Item as well. When using NavigationLink objects, there are usually several opportunities to supply the text of a given link. NavigationLink.GetBestLinkText() evaluates all of them and attempts to supply the best fit. The strategy is based on overriding the concept of "name". Here are the rules: - If Use This Display Name is checked on the NavigationLink item, it wins. - If the Link.Text is supplied by the user, it wins. - If the Link.TargetItem exists and inherits from Page Navigation Title, and the field value is not null, it wins. - If the Link.TargetItem exists its DisplayName is used. - Assuming all other things are not true, use the NavigationLink's DisplayName. Note that in this condition if you intended to point to a Sitecore Item, you have a bad link. Branch (Context) Navigation: (implicitly defined. It follows the shape of the Content Tree) - BranchNavigationRepository.GetNavigation - Accepts the request Context Item (should be a Page) and generates a tree of BranchNodes representing the nearest LandingPage, its children, as well as the descendants of any children that are Ancestors of the Context Item. (will also create Children for the Context Item node in the tree). Use this to produce the expanded navigation seen on many sites with deep content. Breadcrumbs: (implicitly defined. It walks up the Content Tree to get the path) - BreadcrumbNavigationRepository.GetNavigation - Accepts the request Context Item and Context SiteInfo. Generates an array of Breadcrumb models you can enumerate on your View. The breadcrumbs will start on your Site's StartItem and end with the supplied Context Item, which will be marked IsContextItem so you can change your rendering behavior. Uses the Item.Axes.GetAncestors() method to generate the list of breadcrumbs. The included package must be installed to use this library. This should happen automatically after you build and deploy your project.
Compatible with Sitecore 10.0 Requires Sitecore 10.0 Requires .NET Framework 4.8 Constellation is a collection of utilities for .NET CMS implementers. The Feature.PageTagging namespace contains controllers that will render the following meta tags when installed on page: - name=keywords - name=description - name=publisher - name=author - name=robots - name=twitter:card - name=twitter:creator - name=twitter:site - property=og:url - property=og:title - property=og:description - property=og:image These tags provide good SEO support as well as good support for Facebook and Twitter. The Sitecore Package in /Installation-Packages must be installed to take advantage of this library. The package includes: - Data Templates for the fields required to support these tags. Your pages should inherit from these to take advantage of this library. - List items where fields have a limited choice of values. - Rendering definitions. The package should self-install when you build and deploy your project. To use, in your Layout, at the appropriate location enter the following: @Html.Sitecore().Rendering("/sitecore/layout/renderings/feature/constellation/page tagging/page metadata") @Html.Sitecore().Rendering("/sitecore/layout/renderings/feature/constellation/page tagging/page search engine directives") @Html.Sitecore().Rendering("/sitecore/layout/renderings/feature/constellation/page tagging/page social metadata")
This package is not used by any popular GitHub repositories.