VOOZH about

URL: https://www.nuget.org/packages/XperienceCommunity.RelationshipsExtended.Core/

⇱ NuGet Gallery | XperienceCommunity.RelationshipsExtended.Core 1.1.0




👁 Image
XperienceCommunity.RelationshipsExtended.Core 1.1.0

dotnet add package XperienceCommunity.RelationshipsExtended.Core --version 1.1.0
 
 
NuGet\Install-Package XperienceCommunity.RelationshipsExtended.Core -Version 1.1.0
 
 
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="XperienceCommunity.RelationshipsExtended.Core" Version="1.1.0" />
 
 
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="XperienceCommunity.RelationshipsExtended.Core" Version="1.1.0" />
 
Directory.Packages.props
<PackageReference Include="XperienceCommunity.RelationshipsExtended.Core" />
 
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add XperienceCommunity.RelationshipsExtended.Core --version 1.1.0
 
 
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: XperienceCommunity.RelationshipsExtended.Core, 1.1.0"
 
 
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package XperienceCommunity.RelationshipsExtended.Core@1.1.0
 
 
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=XperienceCommunity.RelationshipsExtended.Core&version=1.1.0
 
Install as a Cake Addin
#tool nuget:?package=XperienceCommunity.RelationshipsExtended.Core&version=1.1.0
 
Install as a Cake Tool
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

RelationshipsExtended

Unlike Kentico Xperience 13 or lower versions, Xperience by Kentico handles relationships MUCH better, including tools to create many to one relationships between Content Items and the ability to make custom fields that can store relationships between Pages and Objects (in a Serialized Json Array).

This package then is much more limited in scope than the others in the past. It contains a "Content Item Category [Tag]" table and interfaces to set this. This allows linking of Tags on the Content Item (language agnostic) instead of in a language-specific field on the content item. This does 2 things:

  1. Ensures Taxonomy is language agnostic (so you don't end up with taxonomy differences across multiple languages)
  2. Allows for faster filtering for large number of content items (The default Taxonomy fields on a Content Item store the taxonomy in a JSON array, and to filter it has to parse all the content item's Json arrays and do matches, which is slower than a Where In)

It also has some extension methods to the ContentTypeQueryParameters to leverage these language agnostic categories, as well as other Binding/Relational Binding Condition Generators in the IRelationshipsExtendedHelper. It is important to note if migrating from KX13 or prior, that due to the limitation of the Where Condition on the ContentTypeQueryParameters Only the BindingTagsCondition was implementable.

I have hopes that eventually this will also have logic to 'sync' taxonomy fields that are in the Content Item Fields if you want to keep using the built-in taxonomy field type.

Installation

Install the XperienceCommunity.RelationshipsExtended.Web.Admin Package on your Project. Optionally you can install the Admin only on the Admin project, and the XperienceCommunity.RelationshipsExtended.Core on the MVC or Kentico.Xperience.WebApp dependent project.

Package Installation

Add the package to your application using the .NET CLI

dotnet add package XperienceCommunity.RelationshipsExtended.Web.Admin

Additionally, you can elect to install only the required packages on specific projects if you have separation of concerns:

XperienceCommunity.RelationshipsExtended.Core: Kentico.Xperience.WebApp Dependent (No Admin) XperienceCommunity.RelationshipsExtended.Web.Admin : Kentico.Xperience.Admin (Admin Items)

Quick Start

In your startup, when you call the .AddRelationshipsExtended(options => ...) ...

This will hook up all the interfaces (including IRelationshipsExtendedHelper, and IRelHelper), as well as and run the installation logic on application run (will set up the RelationshipsExtended_ContentItemCategory table and ContentItemCategoryInfo class).

Library Version Matrix

This project is using Xperience Version v31.0.0.

Xperience Version Library Version
>= 31.0.* 1.1.0
30.0.0-30.12.3 1.0.1

Documentation

Documentation is still TBD, i think the nav I created broke with some update so I need to revisit. Overall though the IRelationshipsExtendedHelper allows you to leverage custom relationships/binding tables in lookups for objects, and there is one BindingTagsCondition for the ContentTypeQueryParameters that will filter the content items by the Tag IDs, Code Names, or Guids you pass.

Contributions, bug fixes and License

Feel free to Fork and submit pull requests to contribute.

You can submit bugs through the issue list and i will get to them as soon as i can, unless you want to fix it yourself and submit a pull request!

This is free to use and modify!

Compatability

This version is for Xperience by Kentico 31.0.0+, but older versions are available for Kentico 10.0.52, 11.0.48+, and Kentico 12 SP site (hotfix 29 or above), and Kentico 13.0

Product Versions Compatible and additional computed target framework versions.
.NET net8.0 net8.0 is compatible.  net8.0-android net8.0-android was computed.  net8.0-browser net8.0-browser was computed.  net8.0-ios net8.0-ios was computed.  net8.0-maccatalyst net8.0-maccatalyst was computed.  net8.0-macos net8.0-macos was computed.  net8.0-tvos net8.0-tvos was computed.  net8.0-windows net8.0-windows was computed.  net9.0 net9.0 was computed.  net9.0-android net9.0-android was computed.  net9.0-browser net9.0-browser was computed.  net9.0-ios net9.0-ios was computed.  net9.0-maccatalyst net9.0-maccatalyst was computed.  net9.0-macos net9.0-macos was computed.  net9.0-tvos net9.0-tvos was computed.  net9.0-windows net9.0-windows was computed.  net10.0 net10.0 was computed.  net10.0-android net10.0-android was computed.  net10.0-browser net10.0-browser was computed.  net10.0-ios net10.0-ios was computed.  net10.0-maccatalyst net10.0-maccatalyst was computed.  net10.0-macos net10.0-macos was computed.  net10.0-tvos net10.0-tvos was computed.  net10.0-windows net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on XperienceCommunity.RelationshipsExtended.Core:

Package Downloads
XperienceCommunity.Baseline.Core.Library.Xperience

The Baseline a set of Core Systems, Tools, and Structure to ensure a superior Kentico Website that's easy to migrate, for Kentico Xperience 13 and eventually Xperience by Kentico

XperienceCommunity.RelationshipsExtended.Admin

Aid to help fill in any remaining gaps for relationships in Xperience by Kentico. Restores the ContentItemTag (Category) as a central taxonomy binding for multiple page types, eventually will have language syncing and other features. This is the admin portion, can be installed stand alone or separately.

Baseline.Core

Baseline v3 Core - Foundation services for Xperience by Kentico including SEO, caching, structured data, and content retrieval.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.0 4,014 12/16/2025
1.0.1 7,884 12/22/2024
1.0.0 762 12/22/2024

Updated to include Helper and Query Extensions applicable and updated to Xperience 31.0.0