From 7afb5c864771275d925ea74f140f97e2e78cb77a Mon Sep 17 00:00:00 2001 From: iJungleboy Date: Fri, 17 Jan 2025 09:03:07 +0100 Subject: [PATCH] docs update ToSic.Sxc.Data --- docs/api/dot-net/Custom.Data.CustomItem.html | 18 +- docs/api/dot-net/Custom.Hybrid.ApiTyped.html | 6 +- docs/api/dot-net/Custom.Hybrid.CodeTyped.html | 6 +- .../api/dot-net/Custom.Hybrid.RazorTyped.html | 6 +- .../dot-net/ToSic.Sxc.Apps.IAppDataTyped.html | 6 +- .../dot-net/ToSic.Sxc.Apps.IAppTyped-2.html | 2 +- .../ToSic.Sxc.Code.ICodeCustomizer.html | 10 +- .../dot-net/ToSic.Sxc.Context.ICmsView-2.html | 2 +- .../dot-net/ToSic.Sxc.Data.ICanWrap-1.html | 192 ++++++++++++++++++ .../dot-net/ToSic.Sxc.Data.ICanWrapData.html | 185 +++++++++++++++++ .../ToSic.Sxc.Data.IDataWrapper-1.html | 190 +++++++++++++++++ .../dot-net/ToSic.Sxc.Data.IDataWrapper.html | 185 +++++++++++++++++ .../ToSic.Sxc.Data.IDynamicEntity.html | 37 ++-- .../dot-net/ToSic.Sxc.Data.IDynamicStack.html | 20 +- docs/api/dot-net/ToSic.Sxc.Data.IField.html | 32 +-- .../api/dot-net/ToSic.Sxc.Data.IMetadata.html | 13 +- .../dot-net/ToSic.Sxc.Data.ISecureData-1.html | 33 +-- docs/api/dot-net/ToSic.Sxc.Data.ITyped.html | 10 +- .../dot-net/ToSic.Sxc.Data.ITypedItem.html | 24 +-- .../ToSic.Sxc.Data.Model.DataModel.html | 14 +- ...Sic.Sxc.Data.Model.DataModelAttribute.html | 2 +- ...ic.Sxc.Data.Model.DataModelConversion.html | 2 +- .../ToSic.Sxc.Data.Model.DataModelOfItem.html | 12 +- docs/api/dot-net/ToSic.Sxc.Data.Model.html | 22 +- docs/api/dot-net/ToSic.Sxc.Data.html | 44 ++-- .../dot-net/ToSic.Sxc.Models.IFileModel.html | 26 +-- .../ToSic.Sxc.Models.IFolderModel.html | 24 +-- .../dot-net/ToSic.Sxc.Models.IPageModel.html | 40 ++-- .../dot-net/ToSic.Sxc.Models.ISiteModel.html | 28 +-- .../dot-net/ToSic.Sxc.Models.IUserModel.html | 36 ++-- .../ToSic.Sxc.Models.IUserRoleModel.html | 14 +- docs/api/dot-net/toc.html | 14 +- docs/api/dot-net/toc.json | 2 +- docs/index.json | 76 ++++--- docs/manifest.json | 40 ++++ docs/xrefmap.yml | 106 ++++++---- 36 files changed, 1152 insertions(+), 327 deletions(-) create mode 100644 docs/api/dot-net/ToSic.Sxc.Data.ICanWrap-1.html create mode 100644 docs/api/dot-net/ToSic.Sxc.Data.ICanWrapData.html create mode 100644 docs/api/dot-net/ToSic.Sxc.Data.IDataWrapper-1.html create mode 100644 docs/api/dot-net/ToSic.Sxc.Data.IDataWrapper.html diff --git a/docs/api/dot-net/Custom.Data.CustomItem.html b/docs/api/dot-net/Custom.Data.CustomItem.html index 208fc92ea..40f0e945c 100644 --- a/docs/api/dot-net/Custom.Data.CustomItem.html +++ b/docs/api/dot-net/Custom.Data.CustomItem.html @@ -120,7 +120,7 @@

[PublicApi]
-public class CustomItem : ITypedItem, ITyped, IEquatable<ITypedItem>, IDataModelOf<ITypedItem>, IDataModel
+public class CustomItem : ITypedItem, ITyped, IEquatable<ITypedItem>, ICanWrap<ITypedItem>, ICanWrapData @@ -140,8 +140,8 @@

ITypedItem
ITyped
IEquatable<ITypedItem>
-
IDataModelOf<ITypedItem>
-
IDataModel
+
ICanWrap<ITypedItem>
+
ICanWrapData
@@ -566,7 +566,7 @@

-
protected IEnumerable<T> AsList<T>(IEnumerable<ITypedItem> source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, IDataModel
+
protected IEnumerable<T> AsList<T>(IEnumerable<ITypedItem> source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, ICanWrapData

Parameters

@@ -616,7 +616,7 @@

-
protected T As<T>(ITypedItem item) where T : class, IDataModel, new()
+
protected T As<T>(ITypedItem item) where T : class, ICanWrapData

Parameters

@@ -809,7 +809,7 @@

-
public T Child<T>(string name, NoParamOrder protector = default, bool? required = null) where T : class, IDataModel, new()
+
public T Child<T>(string name, NoParamOrder protector = default, bool? required = null) where T : class, ICanWrapData, new()

Parameters

@@ -920,7 +920,7 @@

-
public IEnumerable<T> Children<T>(string field, NoParamOrder protector = default, string type = null, bool? required = null) where T : class, IDataModel, new()
+
public IEnumerable<T> Children<T>(string field, NoParamOrder protector = default, string type = null, bool? required = null) where T : class, ICanWrapData, new()

Parameters

@@ -2066,7 +2066,7 @@

-
public T Parent<T>(NoParamOrder protector = default, bool? current = null, string type = null, string field = null) where T : class, IDataModel, new()
+
public T Parent<T>(NoParamOrder protector = default, bool? current = null, string type = null, string field = null) where T : class, ICanWrapData, new()

Parameters

@@ -2176,7 +2176,7 @@

-
public IEnumerable<T> Parents<T>(NoParamOrder protector = default, string type = null, string field = null) where T : class, IDataModel, new()
+
public IEnumerable<T> Parents<T>(NoParamOrder protector = default, string type = null, string field = null) where T : class, ICanWrapData, new()

Parameters

diff --git a/docs/api/dot-net/Custom.Hybrid.ApiTyped.html b/docs/api/dot-net/Custom.Hybrid.ApiTyped.html index 7b64894bb..0c88055ce 100644 --- a/docs/api/dot-net/Custom.Hybrid.ApiTyped.html +++ b/docs/api/dot-net/Custom.Hybrid.ApiTyped.html @@ -999,7 +999,7 @@

-
public IEnumerable<T> AsList<T>(object source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, IDataModel
+
public IEnumerable<T> AsList<T>(object source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, ICanWrapData

Parameters

@@ -1092,7 +1092,7 @@

-
public T AsStack<T>(params object[] items) where T : class, IDataModel, new()
+
public T AsStack<T>(params object[] items) where T : class, ICanWrapData, new()

Parameters

@@ -1229,7 +1229,7 @@

-
public T As<T>(object source, NoParamOrder protector = default, bool mock = false) where T : class, IDataModel, new()
+
public T As<T>(object source, NoParamOrder protector = default, bool mock = false) where T : class, ICanWrapData

Parameters

diff --git a/docs/api/dot-net/Custom.Hybrid.CodeTyped.html b/docs/api/dot-net/Custom.Hybrid.CodeTyped.html index 674c80584..6673d33d6 100644 --- a/docs/api/dot-net/Custom.Hybrid.CodeTyped.html +++ b/docs/api/dot-net/Custom.Hybrid.CodeTyped.html @@ -923,7 +923,7 @@

-
public IEnumerable<T> AsList<T>(object source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, IDataModel
+
public IEnumerable<T> AsList<T>(object source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, ICanWrapData

Parameters

@@ -1016,7 +1016,7 @@

-
public T AsStack<T>(params object[] items) where T : class, IDataModel, new()
+
public T AsStack<T>(params object[] items) where T : class, ICanWrapData, new()

Parameters

@@ -1153,7 +1153,7 @@

-
public T As<T>(object source, NoParamOrder protector = default, bool mock = false) where T : class, IDataModel, new()
+
public T As<T>(object source, NoParamOrder protector = default, bool mock = false) where T : class, ICanWrapData

Parameters

diff --git a/docs/api/dot-net/Custom.Hybrid.RazorTyped.html b/docs/api/dot-net/Custom.Hybrid.RazorTyped.html index 0d39061ad..344491aa4 100644 --- a/docs/api/dot-net/Custom.Hybrid.RazorTyped.html +++ b/docs/api/dot-net/Custom.Hybrid.RazorTyped.html @@ -968,7 +968,7 @@

-
public IEnumerable<T> AsList<T>(object source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, IDataModel
+
public IEnumerable<T> AsList<T>(object source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, ICanWrapData

Parameters

@@ -1061,7 +1061,7 @@

-
public T AsStack<T>(params object[] items) where T : class, IDataModel, new()
+
public T AsStack<T>(params object[] items) where T : class, ICanWrapData, new()

Parameters

@@ -1198,7 +1198,7 @@

-
public T As<T>(object source, NoParamOrder protector = default, bool mock = false) where T : class, IDataModel, new()
+
public T As<T>(object source, NoParamOrder protector = default, bool mock = false) where T : class, ICanWrapData

Parameters

diff --git a/docs/api/dot-net/ToSic.Sxc.Apps.IAppDataTyped.html b/docs/api/dot-net/ToSic.Sxc.Apps.IAppDataTyped.html index edcaf6ee1..623465710 100644 --- a/docs/api/dot-net/ToSic.Sxc.Apps.IAppDataTyped.html +++ b/docs/api/dot-net/ToSic.Sxc.Apps.IAppDataTyped.html @@ -336,7 +336,7 @@

-
IEnumerable<T> GetAll<T>(NoParamOrder protector = default, string typeName = null, bool nullIfNotFound = false) where T : class, IDataModel, new()
+
IEnumerable<T> GetAll<T>(NoParamOrder protector = default, string typeName = null, bool nullIfNotFound = false) where T : class, ICanWrapData, new()

Parameters

@@ -465,7 +465,7 @@

-
T GetOne<T>(Guid id, NoParamOrder protector = default, bool skipTypeCheck = false) where T : class, IDataModel, new()
+
T GetOne<T>(Guid id, NoParamOrder protector = default, bool skipTypeCheck = false) where T : class, ICanWrapData, new()

Parameters

@@ -518,7 +518,7 @@

-
T GetOne<T>(int id, NoParamOrder protector = default, bool skipTypeCheck = false) where T : class, IDataModel, new()
+
T GetOne<T>(int id, NoParamOrder protector = default, bool skipTypeCheck = false) where T : class, ICanWrapData, new()

Parameters

diff --git a/docs/api/dot-net/ToSic.Sxc.Apps.IAppTyped-2.html b/docs/api/dot-net/ToSic.Sxc.Apps.IAppTyped-2.html index 168aa7346..68cb0dd45 100644 --- a/docs/api/dot-net/ToSic.Sxc.Apps.IAppTyped-2.html +++ b/docs/api/dot-net/ToSic.Sxc.Apps.IAppTyped-2.html @@ -119,7 +119,7 @@

[PublicApi]
-public interface IAppTyped<out TSettings, out TResources> : IAppTyped, IAppIdentity, IZoneIdentity, IAppIdentityLight where TSettings : class, IDataModel, new() where TResources : class, IDataModel, new()
+public interface IAppTyped<out TSettings, out TResources> : IAppTyped, IAppIdentity, IZoneIdentity, IAppIdentityLight where TSettings : class, ICanWrapData, new() where TResources : class, ICanWrapData, new() diff --git a/docs/api/dot-net/ToSic.Sxc.Code.ICodeCustomizer.html b/docs/api/dot-net/ToSic.Sxc.Code.ICodeCustomizer.html index a0204edd4..2c57a459f 100644 --- a/docs/api/dot-net/ToSic.Sxc.Code.ICodeCustomizer.html +++ b/docs/api/dot-net/ToSic.Sxc.Code.ICodeCustomizer.html @@ -155,7 +155,7 @@

-
IAppTyped<TSettings, TResources> App<TSettings, TResources>() where TSettings : class, IDataModel, new() where TResources : class, IDataModel, new()
+
IAppTyped<TSettings, TResources> App<TSettings, TResources>() where TSettings : class, ICanWrapData, new() where TResources : class, ICanWrapData, new()
@@ -196,7 +196,7 @@

-
TCustomType MyHeader<TCustomType>() where TCustomType : class, IDataModel, new()
+
TCustomType MyHeader<TCustomType>() where TCustomType : class, ICanWrapData, new()
@@ -234,7 +234,7 @@

-
TCustomType MyItem<TCustomType>() where TCustomType : class, IDataModel, new()
+
TCustomType MyItem<TCustomType>() where TCustomType : class, ICanWrapData, new()
@@ -272,7 +272,7 @@

-
IEnumerable<TCustomType> MyItems<TCustomType>() where TCustomType : class, IDataModel, new()
+
IEnumerable<TCustomType> MyItems<TCustomType>() where TCustomType : class, ICanWrapData, new()
@@ -310,7 +310,7 @@

-
ICmsView<TSettings, TResources> MyView<TSettings, TResources>() where TSettings : class, IDataModel, new() where TResources : class, IDataModel, new()
+
ICmsView<TSettings, TResources> MyView<TSettings, TResources>() where TSettings : class, ICanWrapData, new() where TResources : class, ICanWrapData, new()
diff --git a/docs/api/dot-net/ToSic.Sxc.Context.ICmsView-2.html b/docs/api/dot-net/ToSic.Sxc.Context.ICmsView-2.html index 224424e6e..b743b3d57 100644 --- a/docs/api/dot-net/ToSic.Sxc.Context.ICmsView-2.html +++ b/docs/api/dot-net/ToSic.Sxc.Context.ICmsView-2.html @@ -120,7 +120,7 @@

[PublicApi]
-public interface ICmsView<out TSettings, out TResources> : ICmsView, IHasMetadata where TSettings : class, IDataModel, new() where TResources : class, IDataModel, new()
+public interface ICmsView<out TSettings, out TResources> : ICmsView, IHasMetadata where TSettings : class, ICanWrapData, new() where TResources : class, ICanWrapData, new() diff --git a/docs/api/dot-net/ToSic.Sxc.Data.ICanWrap-1.html b/docs/api/dot-net/ToSic.Sxc.Data.ICanWrap-1.html new file mode 100644 index 000000000..6c340cdfd --- /dev/null +++ b/docs/api/dot-net/ToSic.Sxc.Data.ICanWrap-1.html @@ -0,0 +1,192 @@ + + + + + + Interface ICanWrap<TData> | 2sxc 19 for Dnn and Oqtane + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+
+
Table of Contents
+ +
+
+ +
+
+
+ +
+
+ + + +
+ +
+ + + +

+Interface ICanWrap<TData> +

+ +
+
Namespace
ToSic.Sxc.Data
+
Assembly
ToSic.Sxc.dll
+
+ +

Marks objects such as custom items or data models, which can receive a specific data-type (entity or typed item) and wrap it.

+
+
+ +
+
[InternalApi_DoNotUse_MayChangeWithoutNotice("may change or rename at any time")]
+public interface ICanWrap<in TData> : ICanWrapData
+
+ + + +

Type Parameters

+
+
TData
+

The data type which can be accepted. +Must be IEntity or ITypedItem (other types not supported for now).

+
+
+ + + + + + + + +

Remarks

+

This is more specific than the ICanWrapData, since that is just a marker interface. +This one specifies that the object has the necessary Setup() method to receive the data of the expected type.

+

Typical use is for custom data such as classes inheriting from CustomItem +which takes an entity and then provides a strongly typed wrapper around it.

+

History

+
    +
  • Introduced in v17.02 under a slightly different name
  • +
  • Made visible in the docs for better understanding in v19.01
  • +
  • The Setup() method is still internal, as the signature may still change
  • +
+
+ + + +
+ + + + +
+ +
+ +
+
+ +
+ + + + \ No newline at end of file diff --git a/docs/api/dot-net/ToSic.Sxc.Data.ICanWrapData.html b/docs/api/dot-net/ToSic.Sxc.Data.ICanWrapData.html new file mode 100644 index 000000000..f73ce4084 --- /dev/null +++ b/docs/api/dot-net/ToSic.Sxc.Data.ICanWrapData.html @@ -0,0 +1,185 @@ + + + + + + Interface ICanWrapData | 2sxc 19 for Dnn and Oqtane + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+
+
Table of Contents
+ +
+
+ +
+
+
+ +
+
+ + + +
+ +
+ + + +

+Interface ICanWrapData +

+ +
+
Namespace
ToSic.Sxc.Data
+
Assembly
ToSic.Sxc.dll
+
+ +

Marks objects such as custom items or data models, which can wrap data (usually Entities or TypedItems).

+
+
+ +
+
[InternalApi_DoNotUse_MayChangeWithoutNotice("may change or rename at any time")]
+public interface ICanWrapData
+
+ + + + + + + + + + + +

Remarks

+

Most 2sxc base classes such as Razor files or WebApi files have some methods which will return a typed data model. +This is usually As<TModel>() or AsList<TModel>(). +To help the developer understand what is allowed for TModel we must mark all objects which are supported, and this is done with this interface.

+

So any class which is meant to wrap data from an IEntity or ITypedItem should implement this interface. +Typical use is for custom data such as classes inheriting from CustomItem +which takes an entity and then provides a strongly typed wrapper around it.

+

History

+
    +
  • Made visible in the docs for better understanding in v19.01
  • +
+
+ + + +
+ + + + +
+ +
+ +
+
+ +
+ + + + \ No newline at end of file diff --git a/docs/api/dot-net/ToSic.Sxc.Data.IDataWrapper-1.html b/docs/api/dot-net/ToSic.Sxc.Data.IDataWrapper-1.html new file mode 100644 index 000000000..97ce96886 --- /dev/null +++ b/docs/api/dot-net/ToSic.Sxc.Data.IDataWrapper-1.html @@ -0,0 +1,190 @@ + + + + + + Interface IDataWrapper<TModel> | 2sxc 19 for Dnn and Oqtane + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+
+
Table of Contents
+ +
+
+ +
+
+
+ +
+
+ + + +
+ +
+ + + +

+Interface IDataWrapper<TModel> +

+ +
+
Namespace
ToSic.Sxc.Data
+
Assembly
ToSic.Sxc.dll
+
+ +

Marks objects such as custom items or data models, which can receive a specific data-object and wrap it.

+
+
+ +
+
[InternalApi_DoNotUse_MayChangeWithoutNotice("may change or rename at any time")]
+public interface IDataWrapper<in TModel> : IDataWrapper
+
+ + + +

Type Parameters

+
+
TModel
+
+
+ + + + + + + + +

Remarks

+

This is more specific than the IDataWrapper, since that is just a marker interface. +This one specifies that the object has the necessary Setup() method to receive the data of the expected type.

+

Typical use is for custom data such as classes inheriting from CustomItem +which takes an entity and then provides a strongly typed wrapper around it.

+

History

+
    +
  • Introduced in v17.02 under a slightly different name
  • +
  • Made visible in the docs for better understanding in v19.01
  • +
  • The Setup() method is still internal, as the signature may still change
  • +
+
+ + + +
+ + + + +
+ +
+ +
+
+ +
+ + + + \ No newline at end of file diff --git a/docs/api/dot-net/ToSic.Sxc.Data.IDataWrapper.html b/docs/api/dot-net/ToSic.Sxc.Data.IDataWrapper.html new file mode 100644 index 000000000..fc6826dd9 --- /dev/null +++ b/docs/api/dot-net/ToSic.Sxc.Data.IDataWrapper.html @@ -0,0 +1,185 @@ + + + + + + Interface IDataWrapper | 2sxc 19 for Dnn and Oqtane + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+
+
Table of Contents
+ +
+
+ +
+
+
+ +
+
+ + + +
+ +
+ + + +

+Interface IDataWrapper +

+ +
+
Namespace
ToSic.Sxc.Data
+
Assembly
ToSic.Sxc.dll
+
+ +

Marks objects such as custom items or data models, which can wrap data (usually Entities or TypedItems).

+
+
+ +
+
[InternalApi_DoNotUse_MayChangeWithoutNotice("may change or rename at any time")]
+public interface IDataWrapper
+
+ + + + + + + + + + + +

Remarks

+

Most 2sxc base classes such as Razor files or WebApi files have some methods which will return a typed data model. +This is usually As<TModel>() or AsList<TModel>(). +To help the developer understand what is allowed for TModel we must mark all objects which are supported, and this is done with this interface.

+

So any class which is meant to wrap data from an IEntity or ITypedItem should implement this interface. +Typical use is for custom data such as classes inheriting from CustomItem +which takes an entity and then provides a strongly typed wrapper around it.

+

History

+
    +
  • Made visible in the docs for better understanding in v19.01
  • +
+
+ + + +
+ + + + +
+ +
+ +
+
+ +
+ + + + \ No newline at end of file diff --git a/docs/api/dot-net/ToSic.Sxc.Data.IDynamicEntity.html b/docs/api/dot-net/ToSic.Sxc.Data.IDynamicEntity.html index c5dc66254..492b33317 100644 --- a/docs/api/dot-net/ToSic.Sxc.Data.IDynamicEntity.html +++ b/docs/api/dot-net/ToSic.Sxc.Data.IDynamicEntity.html @@ -113,13 +113,7 @@

Assembly
ToSic.Sxc.dll
-

This is a wrapper for IEntity objects. It provides nicer access to underlying properties -and automatically handles things like multi-language etc. -The underlying IEntity IEntity is in the Entity property.

-
-Normally you will use it without caring about these internals.
-Please check @HowTo.DynamicCode.DynamicEntity -
+

This is an older dynamic wrapper for IEntity objects. It provides dynamic access to underlying properties.

@@ -148,6 +142,17 @@

Remarks

+

It provides nicer access to underlying properties +and automatically handles things like multi-language etc. +The underlying IEntity IEntity is in the Entity property.

+
+This is an older way to work with entities and not recommended anymore. +You should use a newer base class such as `RazorTyped`, there Dynamic objects are not used anymore. +
+

Normally you will use it without caring about these internals.
+Please check @HowTo.DynamicCode.DynamicEntity

+

Properties @@ -158,7 +163,7 @@

Properties

AnyProperty - +

A Dynamic Entity always contains an item of your data - a book, person, blog-post or a piece of content. @@ -371,7 +376,7 @@

Remark

IsPublished - +

Tells us if this data item is published or still draft. Default is true.

@@ -403,7 +408,7 @@

Property Value

Metadata - +

The type name of the current entity. This provides the nice name like "Person" and not the technical internal StaticName

@@ -441,7 +446,7 @@

Remarks<

Presentation - +

Contains presentation settings for an item - if they exist. @@ -486,7 +491,7 @@

Methods

Children(string, string) - +

A dynamic list of sub-items. Important for LINQ style querying or just @@ -535,7 +540,7 @@

Field(string) - +

Get a Field-object of a property of this entity, to use with services like the IImageService which also need more information like the metadata.

@@ -663,7 +668,7 @@

Returns

GetDraft() - +

Get the draft item of this item if this is a content-item which is published, and has a draft.

@@ -696,7 +701,7 @@

Returns

GetPublished() - +

Get the published item of this item if this is a content-item which is draft, and has a published.

@@ -887,7 +892,7 @@

Parents(string, string) - +

A dynamic list of entities which point to this item. Important for LINQ style querying or just diff --git a/docs/api/dot-net/ToSic.Sxc.Data.IDynamicStack.html b/docs/api/dot-net/ToSic.Sxc.Data.IDynamicStack.html index 2b9b1f8a3..2ee3f4303 100644 --- a/docs/api/dot-net/ToSic.Sxc.Data.IDynamicStack.html +++ b/docs/api/dot-net/ToSic.Sxc.Data.IDynamicStack.html @@ -105,7 +105,7 @@

Table of Contents

-Interface IDynamicStack +Interface IDynamicStack

@@ -113,8 +113,7 @@

Assembly
ToSic.Sxc.dll

-

This is a dynamic object which contains multiple dynamic objects (Sources). -It will try to find a value inside each source in the order the Sources are managed.

+

This is a dynamic object which contains multiple dynamic objects (Sources).

@@ -141,7 +140,8 @@

Remarks

-

New in 12.02

+

It will try to find a value inside each source in the order of the provided Sources.

+

History: Introduced in 12.02

@@ -153,7 +153,7 @@

Properties

AnyProperty - +

A Dynamic Entity always contains an item of your data - a book, person, blog-post or a piece of content. @@ -191,7 +191,7 @@

Methods

Get(string) - +

Get a value of the entity. Usually you will prefer the quick access like @@ -235,7 +235,7 @@

Returns

Get(string, NoParamOrder, string, bool, bool?) - +

Get a property using the string name. Only needed in special situations, as most cases can use the object.name directly

@@ -286,7 +286,7 @@

Returns

Get<TValue>(string) - +

Get a value using the name - and cast it to the expected strong type. @@ -335,7 +335,7 @@

Get<TValue>(string, NoParamOrder, TValue) - +

Get a value using the name - and cast it to the expected strong type. @@ -393,7 +393,7 @@

- Edit this page + Edit this page

diff --git a/docs/api/dot-net/ToSic.Sxc.Data.IField.html b/docs/api/dot-net/ToSic.Sxc.Data.IField.html index 3541b51b0..82f6595a2 100644 --- a/docs/api/dot-net/ToSic.Sxc.Data.IField.html +++ b/docs/api/dot-net/ToSic.Sxc.Data.IField.html @@ -105,7 +105,7 @@
Table of Contents

-Interface IField +Interface IField

@@ -113,13 +113,7 @@

This describes a field-property of an item/entity. -It's used for APIs which can need to know more about the field holding an item, like:

-
    -
  • The field name and parent reference
  • -
  • The values in raw and converted
  • -
  • Any metadata of the field
  • -
+

This describes a field-property of an item/entity.

@@ -139,10 +133,16 @@

Remarks

-
    -
  • Created in v13.10
  • -
  • In v16.02 renamed from IDynamicField to IField as it's not dynamic any more -Kind of a breaking change, but shouldn't affect any code out there as the type name is not used
  • +

    It's used for APIs which can need to know more about the field holding an item, like:

    +
      +
    • The field name and parent reference
    • +
    • The values in raw and converted
    • +
    • Any metadata of the field
    • +
    +

    History

    +
      +
    • Created in v13.10, originally as IDynamicField
    • +
    • In v16.02 renamed IField as it's not dynamic, and published
    • In 16.02 changed types of Value and Raw to object - previously dynamic
    @@ -156,7 +156,7 @@

    Properties

    Metadata - +

    Metadata of the thing in the field - if it has such metadata.

    @@ -189,7 +189,7 @@

    Property Value

    Name - +

    The field name

    @@ -221,7 +221,7 @@

    Property Value

    Parent - +

    The parent object of this field

    @@ -253,7 +253,7 @@

    Property Value

    diff --git a/docs/api/dot-net/ToSic.Sxc.Data.IMetadata.html b/docs/api/dot-net/ToSic.Sxc.Data.IMetadata.html index 64e772027..6af4250ed 100644 --- a/docs/api/dot-net/ToSic.Sxc.Data.IMetadata.html +++ b/docs/api/dot-net/ToSic.Sxc.Data.IMetadata.html @@ -105,7 +105,7 @@
    Table of Contents

    -Interface IMetadata +Interface IMetadata

    @@ -114,7 +114,6 @@

    Metadata on Dynamic Objects - like IDynamicEntity or IAsset (files/folders).

    -

    Behaves like a normal DynamicEntity, but has additional commands to detect if specific Metadata exists.

    @@ -270,7 +269,9 @@

    Remarks

    -
      +

      Behaves like a normal DynamicEntity, but has additional commands to detect if specific Metadata exists.

      +

      History:

      +
      • Added in v13
      • Made compatible to ITypedItem in 16.02 to allow typed commands such as .String(...)
      • Renamed in v16.02 from IDynamicMetadata to IMetadata since it's not necessarily dynamic any more (but still supports dynamic where needed) @@ -287,7 +288,7 @@

        Methods

        HasType(string) - +

        Ask if there is metadata of the type specified. @@ -326,7 +327,7 @@

        Returns

        OfType(string) - +

        Get all the metadata Entities of a specific type.

        @@ -363,7 +364,7 @@

        Returns

        diff --git a/docs/api/dot-net/ToSic.Sxc.Data.ISecureData-1.html b/docs/api/dot-net/ToSic.Sxc.Data.ISecureData-1.html index 2e8d9b9d2..e3d5ad50f 100644 --- a/docs/api/dot-net/ToSic.Sxc.Data.ISecureData-1.html +++ b/docs/api/dot-net/ToSic.Sxc.Data.ISecureData-1.html @@ -3,9 +3,9 @@ - Interface ISecureData<T> | 2sxc 19 for Dnn and Oqtane + Interface ISecureData<TValue> | 2sxc 19 for Dnn and Oqtane - + @@ -105,7 +105,7 @@
        Table of Contents

        -Interface ISecureData<T> +Interface ISecureData<TValue>

        @@ -113,22 +113,21 @@

        Assembly
        ToSic.Sxc.dll

        -

        This object contains decrypted data (if it was encrypted originally) and tells you if the data was encrypted, signed etc. -It's still very basic, and will grow in functionality to assist in handling secure / encrypted / signed data.

        +

        Objects which contain secure/encrypted data and can be decrypted / verified.

        [PublicApi]
        -public interface ISecureData<out T>
        +public interface ISecureData<out TValue>

        Type Parameters

        -
        T
        -

        Type of this secure data - as of now it's always a string

        +
        TValue
        +

        Type of the value in this secure data. As of now it's always a string.

        @@ -140,7 +139,9 @@

        Type Parameters

        Remarks

        -

        Introduced in 2sxc 12.05

        +

        This object contains decrypted data (if it was encrypted originally) and tells you if the data was encrypted, signed etc. +It's still very basic, and will grow in functionality to assist in handling secure / encrypted / signed data.

        +

        History: Introduced in 2sxc 12.05

        @@ -152,7 +153,7 @@

        Properties

        IsSecured - +

        Determines if the data is secure data, so it's either encrypted or signed

        @@ -187,7 +188,7 @@

        Remarks<

        Value - +

        The value returned by the secure data - usually a string.

        @@ -195,7 +196,7 @@

        -
        T Value { get; }
        +
        TValue Value { get; }
        @@ -204,7 +205,7 @@

        Property Value

        -
        T
        +
        TValue
        @@ -223,7 +224,7 @@

        Methods

        IsSecuredBy(string) - +

        Determines what authority secured this secure data. @@ -262,7 +263,7 @@

        Returns

        ToString() - +

        This object explicitly has a ToString, so you can use the result in string concatenation like "key:" + secureResult

        @@ -294,7 +295,7 @@

        Returns

        diff --git a/docs/api/dot-net/ToSic.Sxc.Data.ITyped.html b/docs/api/dot-net/ToSic.Sxc.Data.ITyped.html index 2edeeadb7..7e68f7322 100644 --- a/docs/api/dot-net/ToSic.Sxc.Data.ITyped.html +++ b/docs/api/dot-net/ToSic.Sxc.Data.ITyped.html @@ -113,10 +113,7 @@

        This describes objects which usually wrap other objects to provide strictly typed access to properties. -have typed Methods to read properties like .String(propName).

        -

        It's usually the result of a AsTyped(something) or AsItem(...) command.

        -

        It's meant to help Razor etc. access unknown or dynamic objects in a typed way.

        +

        Objects which usually wrap other objects to provide strictly typed access to properties.

        @@ -137,7 +134,10 @@

        Remarks

        -

        New in 16.02.

        +

        The object will have typed Methods to read properties like .String(propName).

        +

        It is usually the result of a AsTyped(something) or AsItem(...) command. +It is meant to help Razor etc. access Entity and/or dynamic objects in a typed way.

        +

        History: Introduced in 16.02.

        diff --git a/docs/api/dot-net/ToSic.Sxc.Data.ITypedItem.html b/docs/api/dot-net/ToSic.Sxc.Data.ITypedItem.html index d9eef669f..7de95266b 100644 --- a/docs/api/dot-net/ToSic.Sxc.Data.ITypedItem.html +++ b/docs/api/dot-net/ToSic.Sxc.Data.ITypedItem.html @@ -113,9 +113,7 @@

        A typed object to access data. -Previously Razor code always used dynamic IDynamicEntity objects. -This had some disadvantages when working with LINQ or advanced toolbars.

        +

        A typed item to access IEntity data in a strongly typed way.

        @@ -191,7 +189,9 @@

        Remarks

        -

        Introduced in 2sxc 16.01

        +

        Previously Razor code always used dynamic IDynamicEntity objects. +This had some disadvantages when working with LINQ or advanced toolbars.

        +

        History: Introduced in 2sxc 16.01

        @@ -203,7 +203,7 @@

        Properties

        Dyn - +

        A dynamic accessor for properties, to quickly get values when you don't care about type safety. @@ -382,7 +382,7 @@

        Remarks Metadata - +

        Metadata of the current item, with special features.

        @@ -418,7 +418,7 @@

        Remarks

        Presentation - +

        The presentation item or null if it doesn't exist.

        @@ -609,7 +609,7 @@

        -
        T Child<T>(string name = null, NoParamOrder protector = default, bool? required = null) where T : class, IDataModel, new()
        +
        T Child<T>(string name = null, NoParamOrder protector = default, bool? required = null) where T : class, ICanWrapData, new()

        Parameters

        @@ -720,7 +720,7 @@

        -
        IEnumerable<T> Children<T>(string field = null, NoParamOrder protector = default, string type = null, bool? required = null) where T : class, IDataModel, new()
        +
        IEnumerable<T> Children<T>(string field = null, NoParamOrder protector = default, string type = null, bool? required = null) where T : class, ICanWrapData, new()

        Parameters

        @@ -767,7 +767,7 @@

        Field(string, NoParamOrder, bool?) - +

        Get a special info-object describing a specific field in this item. @@ -1193,7 +1193,7 @@

        -
        T Parent<T>(NoParamOrder protector = default, bool? current = null, string type = null, string field = null) where T : class, IDataModel, new()
        +
        T Parent<T>(NoParamOrder protector = default, bool? current = null, string type = null, string field = null) where T : class, ICanWrapData, new()

        Parameters

        @@ -1303,7 +1303,7 @@

        -
        IEnumerable<T> Parents<T>(NoParamOrder protector = default, string type = null, string field = null) where T : class, IDataModel, new()
        +
        IEnumerable<T> Parents<T>(NoParamOrder protector = default, string type = null, string field = null) where T : class, ICanWrapData, new()

        Parameters

        diff --git a/docs/api/dot-net/ToSic.Sxc.Data.Model.DataModel.html b/docs/api/dot-net/ToSic.Sxc.Data.Model.DataModel.html index 0ebfb2ba9..6f8cd9f22 100644 --- a/docs/api/dot-net/ToSic.Sxc.Data.Model.DataModel.html +++ b/docs/api/dot-net/ToSic.Sxc.Data.Model.DataModel.html @@ -113,14 +113,14 @@

        Base class for plain custom data models and can be used in Razor Components. +

        BETA / WIP: Base class for plain custom data models and can be used in Razor Components. It wraps a IEntity and provides a simple way to access the data.

        -
        [InternalApi_DoNotUse_MayChangeWithoutNotice("Still beta, name may change to DataModelWithEntity or something")]
        -public abstract class DataModel : IDataModelOf<IEntity>, IDataModel, IEquatable<IEntity>
        +
        [InternalApi_DoNotUse_MayChangeWithoutNotice("Still beta, name may change to CustomModelOfItem or something")]
        +public abstract class DataModel : ICanWrap<IEntity>, ICanWrapData, IEquatable<IEntity>
        @@ -137,8 +137,8 @@

        Implements
        - - + +
        @@ -241,7 +241,7 @@

        -
        protected IEnumerable<T> AsList<T>(object source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, IDataModel
        +
        protected IEnumerable<T> AsList<T>(object source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, ICanWrapData

        Parameters

        @@ -288,7 +288,7 @@

        -
        protected T As<T>(object item) where T : class, IDataModel, new()
        +
        protected T As<T>(object item) where T : class, ICanWrapData

        Parameters

        diff --git a/docs/api/dot-net/ToSic.Sxc.Data.Model.DataModelAttribute.html b/docs/api/dot-net/ToSic.Sxc.Data.Model.DataModelAttribute.html index 5ba62616a..4726af7b7 100644 --- a/docs/api/dot-net/ToSic.Sxc.Data.Model.DataModelAttribute.html +++ b/docs/api/dot-net/ToSic.Sxc.Data.Model.DataModelAttribute.html @@ -113,7 +113,7 @@

        Mark DataModel objects/interfaces and specify what ContentType they are for.

        +

        BETA / WIP: Mark DataModel objects/interfaces and specify what ContentType they are for.

        diff --git a/docs/api/dot-net/ToSic.Sxc.Data.Model.DataModelConversion.html b/docs/api/dot-net/ToSic.Sxc.Data.Model.DataModelConversion.html index b92ebd150..511bfc5ba 100644 --- a/docs/api/dot-net/ToSic.Sxc.Data.Model.DataModelConversion.html +++ b/docs/api/dot-net/ToSic.Sxc.Data.Model.DataModelConversion.html @@ -113,7 +113,7 @@

        Attribute to decorate interfaces which should be used to retrieve a data model.

        +

        BETA / WIP: Attribute to decorate interfaces which should be used to retrieve a data model.

        diff --git a/docs/api/dot-net/ToSic.Sxc.Data.Model.DataModelOfItem.html b/docs/api/dot-net/ToSic.Sxc.Data.Model.DataModelOfItem.html index cf0638132..e737b2bb0 100644 --- a/docs/api/dot-net/ToSic.Sxc.Data.Model.DataModelOfItem.html +++ b/docs/api/dot-net/ToSic.Sxc.Data.Model.DataModelOfItem.html @@ -113,14 +113,14 @@

        Base class for plain custom data models and can be used in Razor Components. +

        BETA / WIP: Base class for plain custom data models and can be used in Razor Components. It wraps a ITypedItem and provides a simple way to access the data.

        [InternalApi_DoNotUse_MayChangeWithoutNotice("Still beta, name may change to DataModelWithItem or something")]
        -public abstract class DataModelOfItem : IDataModelOf<ITypedItem>, IDataModel, IEquatable<ITypedItem>
        +public abstract class DataModelOfItem : ICanWrap<ITypedItem>, ICanWrapData, IEquatable<ITypedItem>
        @@ -137,8 +137,8 @@

        Implements
        - - + +
        @@ -241,7 +241,7 @@

        -
        protected IEnumerable<T> AsList<T>(object source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, IDataModel
        +
        protected IEnumerable<T> AsList<T>(object source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, ICanWrapData

        Parameters

        @@ -288,7 +288,7 @@

        -
        protected T As<T>(object item) where T : class, IDataModel, new()
        +
        protected T As<T>(object item) where T : class, ICanWrapData

        Parameters

        diff --git a/docs/api/dot-net/ToSic.Sxc.Data.Model.html b/docs/api/dot-net/ToSic.Sxc.Data.Model.html index a3594fcfd..dc7349b9c 100644 --- a/docs/api/dot-net/ToSic.Sxc.Data.Model.html +++ b/docs/api/dot-net/ToSic.Sxc.Data.Model.html @@ -112,38 +112,24 @@

        DataModel
        -

        Base class for plain custom data models and can be used in Razor Components. +

        BETA / WIP: Base class for plain custom data models and can be used in Razor Components. It wraps a IEntity and provides a simple way to access the data.

        DataModelAttribute
        -

        Mark DataModel objects/interfaces and specify what ContentType they are for.

        +

        BETA / WIP: Mark DataModel objects/interfaces and specify what ContentType they are for.

        DataModelConversion
        -

        Attribute to decorate interfaces which should be used to retrieve a data model.

        +

        BETA / WIP: Attribute to decorate interfaces which should be used to retrieve a data model.

        DataModelOfItem
        -

        Base class for plain custom data models and can be used in Razor Components. +

        BETA / WIP: Base class for plain custom data models and can be used in Razor Components. It wraps a ITypedItem and provides a simple way to access the data.

        -
        -
        -

        -Interfaces -

        -
        -
        IDataModel
        -

        Interface to mark objects which can receive data such as IEntity or ITypedItem objects and wrap them, -usually into a strongly typed model.

        -
        -
        -
        -
        IDataModelOf<TContents>
        -

        Interface to mark objects which can receive ITypedItem objects and wrap them.

        diff --git a/docs/api/dot-net/ToSic.Sxc.Data.html b/docs/api/dot-net/ToSic.Sxc.Data.html index 28634034e..a844db1f9 100644 --- a/docs/api/dot-net/ToSic.Sxc.Data.html +++ b/docs/api/dot-net/ToSic.Sxc.Data.html @@ -124,38 +124,34 @@

        Interfaces

        +
        +
        ICanWrapData
        +

        Marks objects such as custom items or data models, which can wrap data (usually Entities or TypedItems).

        +
        +
        +
        +
        ICanWrap<TData>
        +

        Marks objects such as custom items or data models, which can receive a specific data-type (entity or typed item) and wrap it.

        +
        +
        IDynamicEntity
        -

        This is a wrapper for IEntity objects. It provides nicer access to underlying properties -and automatically handles things like multi-language etc. -The underlying IEntity IEntity is in the Entity property.

        -
        -Normally you will use it without caring about these internals.
        -Please check @HowTo.DynamicCode.DynamicEntity -
        +

        This is an older dynamic wrapper for IEntity objects. It provides dynamic access to underlying properties.

        IDynamicStack
        -

        This is a dynamic object which contains multiple dynamic objects (Sources). -It will try to find a value inside each source in the order the Sources are managed.

        +

        This is a dynamic object which contains multiple dynamic objects (Sources).

        IField
        -

        This describes a field-property of an item/entity. -It's used for APIs which can need to know more about the field holding an item, like:

        -
          -
        • The field name and parent reference
        • -
        • The values in raw and converted
        • -
        • Any metadata of the field
        • -
        +

        This describes a field-property of an item/entity.

        IMetadata

        Metadata on Dynamic Objects - like IDynamicEntity or IAsset (files/folders).

        -

        Behaves like a normal DynamicEntity, but has additional commands to detect if specific Metadata exists.

        @@ -164,24 +160,18 @@

        -
        ISecureData<T>
        -

        This object contains decrypted data (if it was encrypted originally) and tells you if the data was encrypted, signed etc. -It's still very basic, and will grow in functionality to assist in handling secure / encrypted / signed data.

        +
        ISecureData<TValue>
        +

        Objects which contain secure/encrypted data and can be decrypted / verified.

        ITyped
        -

        This describes objects which usually wrap other objects to provide strictly typed access to properties. -have typed Methods to read properties like .String(propName).

        -

        It's usually the result of a AsTyped(something) or AsItem(...) command.

        -

        It's meant to help Razor etc. access unknown or dynamic objects in a typed way.

        +

        Objects which usually wrap other objects to provide strictly typed access to properties.

        ITypedItem
        -

        A typed object to access data. -Previously Razor code always used dynamic IDynamicEntity objects. -This had some disadvantages when working with LINQ or advanced toolbars.

        +

        A typed item to access IEntity data in a strongly typed way.

        diff --git a/docs/api/dot-net/ToSic.Sxc.Models.IFileModel.html b/docs/api/dot-net/ToSic.Sxc.Models.IFileModel.html index 7bdb6cf77..59748b474 100644 --- a/docs/api/dot-net/ToSic.Sxc.Models.IFileModel.html +++ b/docs/api/dot-net/ToSic.Sxc.Models.IFileModel.html @@ -105,7 +105,7 @@
        Table of Contents

        -Interface IFileModel +Interface IFileModel

        @@ -119,7 +119,7 @@

        [InternalApi_DoNotUse_MayChangeWithoutNotice("Still tweaking details and naming v19.0x")]
        -public interface IFileModel : IDataModel
        +public interface IFileModel : ICanWrapData

        @@ -151,7 +151,7 @@

        Properties

        Created - +

        When the file/folder was created.

        @@ -183,7 +183,7 @@

        Property Value

        Extension - +

        The file name extension, without any dot. @@ -217,7 +217,7 @@

        Property Value

        Folder - +

        Reference to the folder this file is in. @@ -250,7 +250,7 @@

        Property Value

        FullName - +

        The full name with extension. @@ -283,7 +283,7 @@

        Property Value

        Modified - +

        When the file/folder was modified.

        @@ -315,7 +315,7 @@

        Property Value

        Name - +

        The file name without extension.

        @@ -347,7 +347,7 @@

        Property Value

        Path - +

        Starting in the App-Root

        @@ -379,7 +379,7 @@

        Property Value

        Size - +

        The size in bytes.

        @@ -411,7 +411,7 @@

        Property Value

        SizeInfo - +

        @@ -442,7 +442,7 @@

        Property Value

        Url - +

        The full url starting at the root of the site. Absolute but without protocol/domain.

        @@ -474,7 +474,7 @@

        Property Value

        diff --git a/docs/api/dot-net/ToSic.Sxc.Models.IFolderModel.html b/docs/api/dot-net/ToSic.Sxc.Models.IFolderModel.html index b6451f4c3..dfbc88b9b 100644 --- a/docs/api/dot-net/ToSic.Sxc.Models.IFolderModel.html +++ b/docs/api/dot-net/ToSic.Sxc.Models.IFolderModel.html @@ -105,7 +105,7 @@
        Table of Contents

        -Interface IFolderModel +Interface IFolderModel

        @@ -119,7 +119,7 @@

        [InternalApi_DoNotUse_MayChangeWithoutNotice("Still tweaking details and naming v19.0x")]
        -public interface IFolderModel : IDataModel
        +public interface IFolderModel : ICanWrapData

        @@ -150,7 +150,7 @@

        Properties

        Created - +

        When the file/folder was created.

        @@ -182,7 +182,7 @@

        Property Value

        Files - +

        All files in this folder.

        @@ -214,7 +214,7 @@

        Property Value

        Folder - +

        Reference to the parent folder. @@ -247,7 +247,7 @@

        Property Value

        Folders - +

        All sub folders in this folder.

        @@ -279,7 +279,7 @@

        Property Value

        FullName - +

        The full name with extension. @@ -312,7 +312,7 @@

        Property Value

        Modified - +

        When the file/folder was modified.

        @@ -344,7 +344,7 @@

        Property Value

        Name - +

        The folder name - or blank when it's the root.

        @@ -376,7 +376,7 @@

        Property Value

        Path - +

        Starting in the App-Root

        @@ -408,7 +408,7 @@

        Property Value

        Url - +

        The full url starting at the root of the site. Absolute but without protocol/domain.

        @@ -440,7 +440,7 @@

        Property Value

        diff --git a/docs/api/dot-net/ToSic.Sxc.Models.IPageModel.html b/docs/api/dot-net/ToSic.Sxc.Models.IPageModel.html index b6c74bda2..8f50c9d81 100644 --- a/docs/api/dot-net/ToSic.Sxc.Models.IPageModel.html +++ b/docs/api/dot-net/ToSic.Sxc.Models.IPageModel.html @@ -105,7 +105,7 @@
        Table of Contents

        -Interface IPageModel +Interface IPageModel

        @@ -119,7 +119,7 @@

        [InternalApi_DoNotUse_MayChangeWithoutNotice]
        -public interface IPageModel : IDataModel
        +public interface IPageModel : ICanWrapData

        @@ -155,7 +155,7 @@

        Properties

        Children - +

        @@ -186,7 +186,7 @@

        Property Value

        Created - +

        The page creation date/time.

        @@ -222,7 +222,7 @@

        Property Value

        Guid - +

        The page GUID.

        @@ -258,7 +258,7 @@

        Property Value

        HasChildren - +

        Info if the page has sub-pages.

        @@ -297,7 +297,7 @@

        Remarks

        Id - +

        The page ID.

        @@ -333,7 +333,7 @@

        Property Value

        IsClickable - +

        Determines if this item is clickable in the menu.

        @@ -372,7 +372,7 @@

        Remarks

        IsDeleted - +

        The page delete-status. @@ -412,7 +412,7 @@

        Remarks IsNavigation - +

        The page visibility - if it should be shown in the menu.

        @@ -448,7 +448,7 @@

        Property Value

        Level - +

        How deep this page is in the breadcrumb. @@ -488,7 +488,7 @@

        Remarks

        LinkTarget - +

        WIP

        @@ -527,7 +527,7 @@

        Remarks<

        Modified - +

        The page modification date/time.

        @@ -563,7 +563,7 @@

        Property Value

        Name - +

        The page name.

        @@ -599,7 +599,7 @@

        Property Value

        Order - +

        Order of this item in a menu. @@ -639,7 +639,7 @@

        Remarks

        ParentId - +

        The parent page ID.

        @@ -676,7 +676,7 @@

        Property Value

        Path - +

        The path with slashes to this page.

        @@ -712,7 +712,7 @@

        Property Value

        Title - +

        The page title.

        @@ -748,7 +748,7 @@

        Property Value

        Url - +

        The public url to this page (without any trailing slashes)

        @@ -784,7 +784,7 @@

        Property Value

        diff --git a/docs/api/dot-net/ToSic.Sxc.Models.ISiteModel.html b/docs/api/dot-net/ToSic.Sxc.Models.ISiteModel.html index 0a5298ddd..6213be904 100644 --- a/docs/api/dot-net/ToSic.Sxc.Models.ISiteModel.html +++ b/docs/api/dot-net/ToSic.Sxc.Models.ISiteModel.html @@ -105,7 +105,7 @@
        Table of Contents

        -Interface ISiteModel +Interface ISiteModel

        @@ -119,7 +119,7 @@

        [InternalApi_DoNotUse_MayChangeWithoutNotice]
        -public interface ISiteModel : IDataModel
        +public interface ISiteModel : ICanWrapData

        @@ -153,7 +153,7 @@

        Properties

        ContentAppId - +

        The Content App Id of this Site and Zone.

        @@ -185,7 +185,7 @@

        Property Value

        Created - +

        The site creation date/time.

        @@ -221,7 +221,7 @@

        Property Value

        DefaultLanguage - +

        The site Culture Code.

        @@ -257,7 +257,7 @@

        Property Value

        Guid - +

        The site GUID.

        @@ -293,7 +293,7 @@

        Property Value

        Id - +

        The site ID.

        @@ -329,7 +329,7 @@

        Property Value

        Languages - +

        The site languages, comma separated. @@ -362,7 +362,7 @@

        Property Value

        Modified - +

        The site modification date/time.

        @@ -398,7 +398,7 @@

        Property Value

        Name - +

        The site name.

        @@ -434,7 +434,7 @@

        Property Value

        PrimaryAppId - +

        The (technical) primary App, which contains things such as site metadata.

        @@ -466,7 +466,7 @@

        Property Value

        Url - +

        The public url to this site (without any trailing slashes)

        @@ -502,7 +502,7 @@

        Property Value

        ZoneId - +

        The Zone ID, which is the ID of the 2sxc/EAV zone which applies to this site. @@ -535,7 +535,7 @@

        Property Value

        diff --git a/docs/api/dot-net/ToSic.Sxc.Models.IUserModel.html b/docs/api/dot-net/ToSic.Sxc.Models.IUserModel.html index fb0a543d2..8bcf5c179 100644 --- a/docs/api/dot-net/ToSic.Sxc.Models.IUserModel.html +++ b/docs/api/dot-net/ToSic.Sxc.Models.IUserModel.html @@ -105,7 +105,7 @@
        Table of Contents

        -Interface IUserModel +Interface IUserModel

        @@ -119,7 +119,7 @@

        [InternalApi_DoNotUse_MayChangeWithoutNotice]
        -public interface IUserModel : IDataModel
        +public interface IUserModel : ICanWrapData

        @@ -153,7 +153,7 @@

        Properties

        Created - +

        When the user was first created.

        @@ -185,7 +185,7 @@

        Property Value

        Email - +

        User E-Mail Address, aka PreferredEmail

        @@ -217,7 +217,7 @@

        Property Value

        Guid - +

        An optional user GUID. @@ -250,7 +250,7 @@

        Property Value

        Id - +

        User Id as int. Works in DNN and Oqtane

        @@ -282,7 +282,7 @@

        Property Value

        IsAnonymous - +

        True if the user is anonymous / not logged in.

        @@ -314,7 +314,7 @@

        Property Value

        IsContentAdmin - +

        True if the user is a content admin / editor. @@ -347,7 +347,7 @@

        Property Value

        IsContentEditor - +

        Determines if the user is a content editor. @@ -380,7 +380,7 @@

        Property Value

        IsSiteAdmin - +

        True if the user is admin - allowing full content-management and user-management.

        @@ -412,7 +412,7 @@

        Property Value

        IsSiteDeveloper - +

        True if a user is in the SxcDesigners group. @@ -445,7 +445,7 @@

        Property Value

        IsSystemAdmin - +

        True if the user has super-user rights. @@ -478,7 +478,7 @@

        Property Value

        Modified - +

        When the user was last modified.

        @@ -510,7 +510,7 @@

        Property Value

        Name - +

        Nice name aka DisplayName.

        @@ -542,7 +542,7 @@

        Property Value

        NameId - +

        @@ -573,7 +573,7 @@

        Property Value

        Roles - +

        Roles of the user.

        @@ -605,7 +605,7 @@

        Property Value

        Username - +

        UserName used for login.

        @@ -637,7 +637,7 @@

        Property Value

        diff --git a/docs/api/dot-net/ToSic.Sxc.Models.IUserRoleModel.html b/docs/api/dot-net/ToSic.Sxc.Models.IUserRoleModel.html index 5015de9c2..6458073e4 100644 --- a/docs/api/dot-net/ToSic.Sxc.Models.IUserRoleModel.html +++ b/docs/api/dot-net/ToSic.Sxc.Models.IUserRoleModel.html @@ -105,7 +105,7 @@
        Table of Contents

        -Interface IUserRoleModel +Interface IUserRoleModel

        @@ -119,7 +119,7 @@

        [InternalApi_DoNotUse_MayChangeWithoutNotice]
        -public interface IUserRoleModel : IDataModel
        +public interface IUserRoleModel : ICanWrapData

        @@ -153,7 +153,7 @@

        Properties

        Created - +

        When the user role was first created.

        @@ -185,7 +185,7 @@

        Property Value

        Id - +

        The Role ID in the database.

        @@ -217,7 +217,7 @@

        Property Value

        Modified - +

        When the user role was last modified.

        @@ -249,7 +249,7 @@

        Property Value

        Name - +

        The Role Name as it is displayed everywhere.

        @@ -281,7 +281,7 @@

        Property Value

        diff --git a/docs/api/dot-net/toc.html b/docs/api/dot-net/toc.html index 49a53176e..192802350 100644 --- a/docs/api/dot-net/toc.html +++ b/docs/api/dot-net/toc.html @@ -936,14 +936,14 @@
      • DataModelOfItem
      • -
      • - IDataModel -
      • -
      • - IDataModelOf<TContents> -
      +
    • + ICanWrapData +
    • +
    • + ICanWrap<TData> +
    • IDynamicEntity
    • @@ -960,7 +960,7 @@ IPublishing
    • - ISecureData<T> + ISecureData<TValue>
    • ITyped diff --git a/docs/api/dot-net/toc.json b/docs/api/dot-net/toc.json index 5c55bbfc7..f3788204a 100644 --- a/docs/api/dot-net/toc.json +++ b/docs/api/dot-net/toc.json @@ -1,2 +1,2 @@ -{"items":[{"name":"AppCode ⭐","href":"AppCode.html","topicHref":"AppCode.html","topicUid":"AppCode","type":"Namespace","items":[{"name":"_Help","href":"AppCode._Help.html","topicHref":"AppCode._Help.html","topicUid":"AppCode._Help","type":"Class"}]},{"name":"Custom","href":"Custom.html","topicHref":"Custom.html","topicUid":"Custom","type":"Namespace","items":[]},{"name":"Custom.Data","href":"Custom.Data.html","topicHref":"Custom.Data.html","topicUid":"Custom.Data","type":"Namespace","items":[{"name":"CustomItem 💪🏽","href":"Custom.Data.CustomItem.html","topicHref":"Custom.Data.CustomItem.html","topicUid":"Custom.Data.CustomItem","type":"Class"}]},{"name":"Custom.DataSource","href":"Custom.DataSource.html","topicHref":"Custom.DataSource.html","topicUid":"Custom.DataSource","type":"Namespace","items":[{"name":"DataSource16","href":"Custom.DataSource.DataSource16.html","topicHref":"Custom.DataSource.DataSource16.html","topicUid":"Custom.DataSource.DataSource16","type":"Class"}]},{"name":"Custom.Dnn","href":"Custom.Dnn.html","topicHref":"Custom.Dnn.html","topicUid":"Custom.Dnn","type":"Namespace","items":[{"name":"Api12","href":"Custom.Dnn.Api12.html","topicHref":"Custom.Dnn.Api12.html","topicUid":"Custom.Dnn.Api12","type":"Class"},{"name":"Code12","href":"Custom.Dnn.Code12.html","topicHref":"Custom.Dnn.Code12.html","topicUid":"Custom.Dnn.Code12","type":"Class"},{"name":"Razor12","href":"Custom.Dnn.Razor12.html","topicHref":"Custom.Dnn.Razor12.html","topicUid":"Custom.Dnn.Razor12","type":"Class"}]},{"name":"Custom.Hybrid 🪴","href":"Custom.Hybrid.html","topicHref":"Custom.Hybrid.html","topicUid":"Custom.Hybrid","type":"Namespace","items":[{"name":"Api12","href":"Custom.Hybrid.Api12.html","topicHref":"Custom.Hybrid.Api12.html","topicUid":"Custom.Hybrid.Api12","type":"Class"},{"name":"Api14","href":"Custom.Hybrid.Api14.html","topicHref":"Custom.Hybrid.Api14.html","topicUid":"Custom.Hybrid.Api14","type":"Class"},{"name":"ApiTyped 🪴","href":"Custom.Hybrid.ApiTyped.html","topicHref":"Custom.Hybrid.ApiTyped.html","topicUid":"Custom.Hybrid.ApiTyped","type":"Class"},{"name":"Code12","href":"Custom.Hybrid.Code12.html","topicHref":"Custom.Hybrid.Code12.html","topicUid":"Custom.Hybrid.Code12","type":"Class"},{"name":"Code14","href":"Custom.Hybrid.Code14.html","topicHref":"Custom.Hybrid.Code14.html","topicUid":"Custom.Hybrid.Code14","type":"Class"},{"name":"CodeTyped 🪴","href":"Custom.Hybrid.CodeTyped.html","topicHref":"Custom.Hybrid.CodeTyped.html","topicUid":"Custom.Hybrid.CodeTyped","type":"Class"},{"name":"Razor12","href":"Custom.Hybrid.Razor12.html","topicHref":"Custom.Hybrid.Razor12.html","topicUid":"Custom.Hybrid.Razor12","type":"Class"},{"name":"Razor14","href":"Custom.Hybrid.Razor14.html","topicHref":"Custom.Hybrid.Razor14.html","topicUid":"Custom.Hybrid.Razor14","type":"Class"},{"name":"RazorTyped 🪴","href":"Custom.Hybrid.RazorTyped.html","topicHref":"Custom.Hybrid.RazorTyped.html","topicUid":"Custom.Hybrid.RazorTyped","type":"Class"},{"name":"RazorTyped","href":"Custom.Hybrid.RazorTyped-1.html","topicHref":"Custom.Hybrid.RazorTyped-1.html","topicUid":"Custom.Hybrid.RazorTyped`1","type":"Class"}]},{"name":"ToSic","href":"ToSic.html","topicHref":"ToSic.html","topicUid":"ToSic","type":"Namespace","items":[]},{"name":"ToSic.Eav","href":"ToSic.Eav.html","topicHref":"ToSic.Eav.html","topicUid":"ToSic.Eav","type":"Namespace","items":[{"name":"Apps","href":"ToSic.Eav.Apps.html","topicHref":"ToSic.Eav.Apps.html","topicUid":"ToSic.Eav.Apps","type":"Namespace","items":[{"name":"Assets","href":"ToSic.Eav.Apps.Assets.html","topicHref":"ToSic.Eav.Apps.Assets.html","topicUid":"ToSic.Eav.Apps.Assets","type":"Namespace","items":[{"name":"IAsset","href":"ToSic.Eav.Apps.Assets.IAsset.html","topicHref":"ToSic.Eav.Apps.Assets.IAsset.html","topicUid":"ToSic.Eav.Apps.Assets.IAsset","type":"Interface"},{"name":"IFile","href":"ToSic.Eav.Apps.Assets.IFile.html","topicHref":"ToSic.Eav.Apps.Assets.IFile.html","topicUid":"ToSic.Eav.Apps.Assets.IFile","type":"Interface"},{"name":"IFolder","href":"ToSic.Eav.Apps.Assets.IFolder.html","topicHref":"ToSic.Eav.Apps.Assets.IFolder.html","topicUid":"ToSic.Eav.Apps.Assets.IFolder","type":"Interface"},{"name":"ISizeInfo","href":"ToSic.Eav.Apps.Assets.ISizeInfo.html","topicHref":"ToSic.Eav.Apps.Assets.ISizeInfo.html","topicUid":"ToSic.Eav.Apps.Assets.ISizeInfo","type":"Interface"}]},{"name":"Internal","href":"ToSic.Eav.Apps.Internal.html","topicHref":"ToSic.Eav.Apps.Internal.html","topicUid":"ToSic.Eav.Apps.Internal","type":"Namespace","items":[{"name":"IHas","href":"ToSic.Eav.Apps.Internal.IHas-1.html","topicHref":"ToSic.Eav.Apps.Internal.IHas-1.html","topicUid":"ToSic.Eav.Apps.Internal.IHas`1","type":"Interface"}]},{"name":"AppBase","href":"ToSic.Eav.Apps.AppBase-1.html","topicHref":"ToSic.Eav.Apps.AppBase-1.html","topicUid":"ToSic.Eav.Apps.AppBase`1","type":"Class"},{"name":"AppIdentity","href":"ToSic.Eav.Apps.AppIdentity.html","topicHref":"ToSic.Eav.Apps.AppIdentity.html","topicUid":"ToSic.Eav.Apps.AppIdentity","type":"Class"},{"name":"IApp","href":"ToSic.Eav.Apps.IApp.html","topicHref":"ToSic.Eav.Apps.IApp.html","topicUid":"ToSic.Eav.Apps.IApp","type":"Interface"},{"name":"IAppData","href":"ToSic.Eav.Apps.IAppData.html","topicHref":"ToSic.Eav.Apps.IAppData.html","topicUid":"ToSic.Eav.Apps.IAppData","type":"Interface"},{"name":"IAppIdentity","href":"ToSic.Eav.Apps.IAppIdentity.html","topicHref":"ToSic.Eav.Apps.IAppIdentity.html","topicUid":"ToSic.Eav.Apps.IAppIdentity","type":"Interface"},{"name":"IAppIdentityLight","href":"ToSic.Eav.Apps.IAppIdentityLight.html","topicHref":"ToSic.Eav.Apps.IAppIdentityLight.html","topicUid":"ToSic.Eav.Apps.IAppIdentityLight","type":"Interface"},{"name":"IAppReaderFactory","href":"ToSic.Eav.Apps.IAppReaderFactory.html","topicHref":"ToSic.Eav.Apps.IAppReaderFactory.html","topicUid":"ToSic.Eav.Apps.IAppReaderFactory","type":"Interface"},{"name":"IAppsCatalog","href":"ToSic.Eav.Apps.IAppsCatalog.html","topicHref":"ToSic.Eav.Apps.IAppsCatalog.html","topicUid":"ToSic.Eav.Apps.IAppsCatalog","type":"Interface"},{"name":"IZoneIdentity","href":"ToSic.Eav.Apps.IZoneIdentity.html","topicHref":"ToSic.Eav.Apps.IZoneIdentity.html","topicUid":"ToSic.Eav.Apps.IZoneIdentity","type":"Interface"}]},{"name":"Caching","href":"ToSic.Eav.Caching.html","topicHref":"ToSic.Eav.Caching.html","topicUid":"ToSic.Eav.Caching","type":"Namespace","items":[{"name":"AppsCacheBase","href":"ToSic.Eav.Caching.AppsCacheBase.html","topicHref":"ToSic.Eav.Caching.AppsCacheBase.html","topicUid":"ToSic.Eav.Caching.AppsCacheBase","type":"Class"},{"name":"IAppsCache","href":"ToSic.Eav.Caching.IAppsCache.html","topicHref":"ToSic.Eav.Caching.IAppsCache.html","topicUid":"ToSic.Eav.Caching.IAppsCache","type":"Interface"},{"name":"ICacheDependent","href":"ToSic.Eav.Caching.ICacheDependent.html","topicHref":"ToSic.Eav.Caching.ICacheDependent.html","topicUid":"ToSic.Eav.Caching.ICacheDependent","type":"Interface"},{"name":"ICacheExpiring","href":"ToSic.Eav.Caching.ICacheExpiring.html","topicHref":"ToSic.Eav.Caching.ICacheExpiring.html","topicUid":"ToSic.Eav.Caching.ICacheExpiring","type":"Interface"},{"name":"ICacheKey","href":"ToSic.Eav.Caching.ICacheKey.html","topicHref":"ToSic.Eav.Caching.ICacheKey.html","topicUid":"ToSic.Eav.Caching.ICacheKey","type":"Interface"},{"name":"ICacheKeyManager","href":"ToSic.Eav.Caching.ICacheKeyManager.html","topicHref":"ToSic.Eav.Caching.ICacheKeyManager.html","topicUid":"ToSic.Eav.Caching.ICacheKeyManager","type":"Interface"},{"name":"ITimestamped","href":"ToSic.Eav.Caching.ITimestamped.html","topicHref":"ToSic.Eav.Caching.ITimestamped.html","topicUid":"ToSic.Eav.Caching.ITimestamped","type":"Interface"},{"name":"SynchronizedList","href":"ToSic.Eav.Caching.SynchronizedList-1.html","topicHref":"ToSic.Eav.Caching.SynchronizedList-1.html","topicUid":"ToSic.Eav.Caching.SynchronizedList`1","type":"Class"},{"name":"SynchronizedObject","href":"ToSic.Eav.Caching.SynchronizedObject-1.html","topicHref":"ToSic.Eav.Caching.SynchronizedObject-1.html","topicUid":"ToSic.Eav.Caching.SynchronizedObject`1","type":"Class"}]},{"name":"Data","href":"ToSic.Eav.Data.html","topicHref":"ToSic.Eav.Data.html","topicUid":"ToSic.Eav.Data","type":"Namespace","items":[{"name":"Build","href":"ToSic.Eav.Data.Build.html","topicHref":"ToSic.Eav.Data.Build.html","topicUid":"ToSic.Eav.Data.Build","type":"Namespace","items":[{"name":"DataFactoryOptions","href":"ToSic.Eav.Data.Build.DataFactoryOptions.html","topicHref":"ToSic.Eav.Data.Build.DataFactoryOptions.html","topicUid":"ToSic.Eav.Data.Build.DataFactoryOptions","type":"Class"},{"name":"EntityPair","href":"ToSic.Eav.Data.Build.EntityPair-1.html","topicHref":"ToSic.Eav.Data.Build.EntityPair-1.html","topicUid":"ToSic.Eav.Data.Build.EntityPair`1","type":"Class"},{"name":"IDataFactory","href":"ToSic.Eav.Data.Build.IDataFactory.html","topicHref":"ToSic.Eav.Data.Build.IDataFactory.html","topicUid":"ToSic.Eav.Data.Build.IDataFactory","type":"Interface"},{"name":"IEntityPair","href":"ToSic.Eav.Data.Build.IEntityPair-1.html","topicHref":"ToSic.Eav.Data.Build.IEntityPair-1.html","topicUid":"ToSic.Eav.Data.Build.IEntityPair`1","type":"Interface"}]},{"name":"Raw","href":"ToSic.Eav.Data.Raw.html","topicHref":"ToSic.Eav.Data.Raw.html","topicUid":"ToSic.Eav.Data.Raw","type":"Namespace","items":[{"name":"IHasRawEntity","href":"ToSic.Eav.Data.Raw.IHasRawEntity-1.html","topicHref":"ToSic.Eav.Data.Raw.IHasRawEntity-1.html","topicUid":"ToSic.Eav.Data.Raw.IHasRawEntity`1","type":"Interface"},{"name":"RawConvertOptions","href":"ToSic.Eav.Data.Raw.RawConvertOptions.html","topicHref":"ToSic.Eav.Data.Raw.RawConvertOptions.html","topicUid":"ToSic.Eav.Data.Raw.RawConvertOptions","type":"Class"}]},{"name":"IAttribute","href":"ToSic.Eav.Data.IAttribute.html","topicHref":"ToSic.Eav.Data.IAttribute.html","topicUid":"ToSic.Eav.Data.IAttribute","type":"Interface"},{"name":"IAttributeBase","href":"ToSic.Eav.Data.IAttributeBase.html","topicHref":"ToSic.Eav.Data.IAttributeBase.html","topicUid":"ToSic.Eav.Data.IAttributeBase","type":"Interface"},{"name":"IAttribute","href":"ToSic.Eav.Data.IAttribute-1.html","topicHref":"ToSic.Eav.Data.IAttribute-1.html","topicUid":"ToSic.Eav.Data.IAttribute`1","type":"Interface"},{"name":"IContentType","href":"ToSic.Eav.Data.IContentType.html","topicHref":"ToSic.Eav.Data.IContentType.html","topicUid":"ToSic.Eav.Data.IContentType","type":"Interface"},{"name":"IContentTypeAttribute","href":"ToSic.Eav.Data.IContentTypeAttribute.html","topicHref":"ToSic.Eav.Data.IContentTypeAttribute.html","topicUid":"ToSic.Eav.Data.IContentTypeAttribute","type":"Interface"},{"name":"IConvertEntity","href":"ToSic.Eav.Data.IConvertEntity-1.html","topicHref":"ToSic.Eav.Data.IConvertEntity-1.html","topicUid":"ToSic.Eav.Data.IConvertEntity`1","type":"Interface"},{"name":"IConvert","href":"ToSic.Eav.Data.IConvert-2.html","topicHref":"ToSic.Eav.Data.IConvert-2.html","topicUid":"ToSic.Eav.Data.IConvert`2","type":"Interface"},{"name":"IDecorator","href":"ToSic.Eav.Data.IDecorator.html","topicHref":"ToSic.Eav.Data.IDecorator.html","topicUid":"ToSic.Eav.Data.IDecorator","type":"Interface"},{"name":"IDecorator","href":"ToSic.Eav.Data.IDecorator-1.html","topicHref":"ToSic.Eav.Data.IDecorator-1.html","topicUid":"ToSic.Eav.Data.IDecorator`1","type":"Interface"},{"name":"IDimension","href":"ToSic.Eav.Data.IDimension.html","topicHref":"ToSic.Eav.Data.IDimension.html","topicUid":"ToSic.Eav.Data.IDimension","type":"Interface"},{"name":"IEntity","href":"ToSic.Eav.Data.IEntity.html","topicHref":"ToSic.Eav.Data.IEntity.html","topicUid":"ToSic.Eav.Data.IEntity","type":"Interface"},{"name":"IEntityLight","href":"ToSic.Eav.Data.IEntityLight.html","topicHref":"ToSic.Eav.Data.IEntityLight.html","topicUid":"ToSic.Eav.Data.IEntityLight","type":"Interface"},{"name":"IEntityRelationships","href":"ToSic.Eav.Data.IEntityRelationships.html","topicHref":"ToSic.Eav.Data.IEntityRelationships.html","topicUid":"ToSic.Eav.Data.IEntityRelationships","type":"Interface"},{"name":"IHasDecorators","href":"ToSic.Eav.Data.IHasDecorators-1.html","topicHref":"ToSic.Eav.Data.IHasDecorators-1.html","topicUid":"ToSic.Eav.Data.IHasDecorators`1","type":"Interface"},{"name":"ILanguage","href":"ToSic.Eav.Data.ILanguage.html","topicHref":"ToSic.Eav.Data.ILanguage.html","topicUid":"ToSic.Eav.Data.ILanguage","type":"Interface"},{"name":"IValue","href":"ToSic.Eav.Data.IValue.html","topicHref":"ToSic.Eav.Data.IValue.html","topicUid":"ToSic.Eav.Data.IValue","type":"Interface"},{"name":"IValueConverter","href":"ToSic.Eav.Data.IValueConverter.html","topicHref":"ToSic.Eav.Data.IValueConverter.html","topicUid":"ToSic.Eav.Data.IValueConverter","type":"Interface"},{"name":"IValue","href":"ToSic.Eav.Data.IValue-1.html","topicHref":"ToSic.Eav.Data.IValue-1.html","topicUid":"ToSic.Eav.Data.IValue`1","type":"Interface"},{"name":"ValueTypes","href":"ToSic.Eav.Data.ValueTypes.html","topicHref":"ToSic.Eav.Data.ValueTypes.html","topicUid":"ToSic.Eav.Data.ValueTypes","type":"Enum"}]},{"name":"DataFormats.EavLight","href":"ToSic.Eav.DataFormats.EavLight.html","topicHref":"ToSic.Eav.DataFormats.EavLight.html","topicUid":"ToSic.Eav.DataFormats.EavLight","type":"Namespace","items":[{"name":"EavLightEntity","href":"ToSic.Eav.DataFormats.EavLight.EavLightEntity.html","topicHref":"ToSic.Eav.DataFormats.EavLight.EavLightEntity.html","topicUid":"ToSic.Eav.DataFormats.EavLight.EavLightEntity","type":"Class"},{"name":"EavLightEntityReference","href":"ToSic.Eav.DataFormats.EavLight.EavLightEntityReference.html","topicHref":"ToSic.Eav.DataFormats.EavLight.EavLightEntityReference.html","topicUid":"ToSic.Eav.DataFormats.EavLight.EavLightEntityReference","type":"Class"},{"name":"IConvertToEavLight","href":"ToSic.Eav.DataFormats.EavLight.IConvertToEavLight.html","topicHref":"ToSic.Eav.DataFormats.EavLight.IConvertToEavLight.html","topicUid":"ToSic.Eav.DataFormats.EavLight.IConvertToEavLight","type":"Interface"}]},{"name":"DataSource","href":"ToSic.Eav.DataSource.html","topicHref":"ToSic.Eav.DataSource.html","topicUid":"ToSic.Eav.DataSource","type":"Namespace","items":[{"name":"VisualQuery","href":"ToSic.Eav.DataSource.VisualQuery.html","topicHref":"ToSic.Eav.DataSource.VisualQuery.html","topicUid":"ToSic.Eav.DataSource.VisualQuery","type":"Namespace","items":[{"name":"Audience","href":"ToSic.Eav.DataSource.VisualQuery.Audience.html","topicHref":"ToSic.Eav.DataSource.VisualQuery.Audience.html","topicUid":"ToSic.Eav.DataSource.VisualQuery.Audience","type":"Enum"},{"name":"DataSourceType","href":"ToSic.Eav.DataSource.VisualQuery.DataSourceType.html","topicHref":"ToSic.Eav.DataSource.VisualQuery.DataSourceType.html","topicUid":"ToSic.Eav.DataSource.VisualQuery.DataSourceType","type":"Enum"},{"name":"VisualQueryAttribute","href":"ToSic.Eav.DataSource.VisualQuery.VisualQueryAttribute.html","topicHref":"ToSic.Eav.DataSource.VisualQuery.VisualQueryAttribute.html","topicUid":"ToSic.Eav.DataSource.VisualQuery.VisualQueryAttribute","type":"Class"}]},{"name":"ConfigurationAttribute","href":"ToSic.Eav.DataSource.ConfigurationAttribute.html","topicHref":"ToSic.Eav.DataSource.ConfigurationAttribute.html","topicUid":"ToSic.Eav.DataSource.ConfigurationAttribute","type":"Class"},{"name":"CustomDataSource","href":"ToSic.Eav.DataSource.CustomDataSource.html","topicHref":"ToSic.Eav.DataSource.CustomDataSource.html","topicUid":"ToSic.Eav.DataSource.CustomDataSource","type":"Class"},{"name":"CustomDataSourceAdvanced","href":"ToSic.Eav.DataSource.CustomDataSourceAdvanced.html","topicHref":"ToSic.Eav.DataSource.CustomDataSourceAdvanced.html","topicUid":"ToSic.Eav.DataSource.CustomDataSourceAdvanced","type":"Class"},{"name":"DataSourceBase","href":"ToSic.Eav.DataSource.DataSourceBase.html","topicHref":"ToSic.Eav.DataSource.DataSourceBase.html","topicUid":"ToSic.Eav.DataSource.DataSourceBase","type":"Class"},{"name":"DataSourceConstants","href":"ToSic.Eav.DataSource.DataSourceConstants.html","topicHref":"ToSic.Eav.DataSource.DataSourceConstants.html","topicUid":"ToSic.Eav.DataSource.DataSourceConstants","type":"Class"},{"name":"DataSourceErrorHelper","href":"ToSic.Eav.DataSource.DataSourceErrorHelper.html","topicHref":"ToSic.Eav.DataSource.DataSourceErrorHelper.html","topicUid":"ToSic.Eav.DataSource.DataSourceErrorHelper","type":"Class"},{"name":"IDataSource","href":"ToSic.Eav.DataSource.IDataSource.html","topicHref":"ToSic.Eav.DataSource.IDataSource.html","topicUid":"ToSic.Eav.DataSource.IDataSource","type":"Interface"},{"name":"IDataSourceConfiguration","href":"ToSic.Eav.DataSource.IDataSourceConfiguration.html","topicHref":"ToSic.Eav.DataSource.IDataSourceConfiguration.html","topicUid":"ToSic.Eav.DataSource.IDataSourceConfiguration","type":"Interface"},{"name":"IDataSourceLink","href":"ToSic.Eav.DataSource.IDataSourceLink.html","topicHref":"ToSic.Eav.DataSource.IDataSourceLink.html","topicUid":"ToSic.Eav.DataSource.IDataSourceLink","type":"Interface"},{"name":"IDataSourceLinkable","href":"ToSic.Eav.DataSource.IDataSourceLinkable.html","topicHref":"ToSic.Eav.DataSource.IDataSourceLinkable.html","topicUid":"ToSic.Eav.DataSource.IDataSourceLinkable","type":"Interface"},{"name":"IDataStream","href":"ToSic.Eav.DataSource.IDataStream.html","topicHref":"ToSic.Eav.DataSource.IDataStream.html","topicUid":"ToSic.Eav.DataSource.IDataStream","type":"Interface"},{"name":"IQuery","href":"ToSic.Eav.DataSource.IQuery.html","topicHref":"ToSic.Eav.DataSource.IQuery.html","topicUid":"ToSic.Eav.DataSource.IQuery","type":"Interface"}]},{"name":"DataSources","href":"ToSic.Eav.DataSources.html","topicHref":"ToSic.Eav.DataSources.html","topicUid":"ToSic.Eav.DataSources","type":"Namespace","items":[{"name":"Caching","href":"ToSic.Eav.DataSources.Caching.html","topicHref":"ToSic.Eav.DataSources.Caching.html","topicUid":"ToSic.Eav.DataSources.Caching","type":"Namespace","items":[{"name":"CacheAllStreams","href":"ToSic.Eav.DataSources.Caching.CacheAllStreams.html","topicHref":"ToSic.Eav.DataSources.Caching.CacheAllStreams.html","topicUid":"ToSic.Eav.DataSources.Caching.CacheAllStreams","type":"Class"}]},{"name":"Sys","href":"ToSic.Eav.DataSources.Sys.html","topicHref":"ToSic.Eav.DataSources.Sys.html","topicUid":"ToSic.Eav.DataSources.Sys","type":"Namespace","items":[{"name":"Apps","href":"ToSic.Eav.DataSources.Sys.Apps.html","topicHref":"ToSic.Eav.DataSources.Sys.Apps.html","topicUid":"ToSic.Eav.DataSources.Sys.Apps","type":"Class"},{"name":"Attributes","href":"ToSic.Eav.DataSources.Sys.Attributes.html","topicHref":"ToSic.Eav.DataSources.Sys.Attributes.html","topicUid":"ToSic.Eav.DataSources.Sys.Attributes","type":"Class"},{"name":"ContentTypes","href":"ToSic.Eav.DataSources.Sys.ContentTypes.html","topicHref":"ToSic.Eav.DataSources.Sys.ContentTypes.html","topicUid":"ToSic.Eav.DataSources.Sys.ContentTypes","type":"Class"},{"name":"Features","href":"ToSic.Eav.DataSources.Sys.Features.html","topicHref":"ToSic.Eav.DataSources.Sys.Features.html","topicUid":"ToSic.Eav.DataSources.Sys.Features","type":"Class"},{"name":"Licenses","href":"ToSic.Eav.DataSources.Sys.Licenses.html","topicHref":"ToSic.Eav.DataSources.Sys.Licenses.html","topicUid":"ToSic.Eav.DataSources.Sys.Licenses","type":"Class"},{"name":"MetadataTargetTypes","href":"ToSic.Eav.DataSources.Sys.MetadataTargetTypes.html","topicHref":"ToSic.Eav.DataSources.Sys.MetadataTargetTypes.html","topicUid":"ToSic.Eav.DataSources.Sys.MetadataTargetTypes","type":"Class"},{"name":"QueryInfo","href":"ToSic.Eav.DataSources.Sys.QueryInfo.html","topicHref":"ToSic.Eav.DataSources.Sys.QueryInfo.html","topicUid":"ToSic.Eav.DataSources.Sys.QueryInfo","type":"Class"},{"name":"Scopes","href":"ToSic.Eav.DataSources.Sys.Scopes.html","topicHref":"ToSic.Eav.DataSources.Sys.Scopes.html","topicUid":"ToSic.Eav.DataSources.Sys.Scopes","type":"Class"},{"name":"SystemStack","href":"ToSic.Eav.DataSources.Sys.SystemStack.html","topicHref":"ToSic.Eav.DataSources.Sys.SystemStack.html","topicUid":"ToSic.Eav.DataSources.Sys.SystemStack","type":"Class"},{"name":"Zones","href":"ToSic.Eav.DataSources.Sys.Zones.html","topicHref":"ToSic.Eav.DataSources.Sys.Zones.html","topicUid":"ToSic.Eav.DataSources.Sys.Zones","type":"Class"}]},{"name":"App","href":"ToSic.Eav.DataSources.App.html","topicHref":"ToSic.Eav.DataSources.App.html","topicUid":"ToSic.Eav.DataSources.App","type":"Class"},{"name":"AppRoot","href":"ToSic.Eav.DataSources.AppRoot.html","topicHref":"ToSic.Eav.DataSources.AppRoot.html","topicUid":"ToSic.Eav.DataSources.AppRoot","type":"Class"},{"name":"AttributeFilter","href":"ToSic.Eav.DataSources.AttributeFilter.html","topicHref":"ToSic.Eav.DataSources.AttributeFilter.html","topicUid":"ToSic.Eav.DataSources.AttributeFilter","type":"Class"},{"name":"AttributeRename","href":"ToSic.Eav.DataSources.AttributeRename.html","topicHref":"ToSic.Eav.DataSources.AttributeRename.html","topicUid":"ToSic.Eav.DataSources.AttributeRename","type":"Class"},{"name":"Children","href":"ToSic.Eav.DataSources.Children.html","topicHref":"ToSic.Eav.DataSources.Children.html","topicUid":"ToSic.Eav.DataSources.Children","type":"Class"},{"name":"Csv","href":"ToSic.Eav.DataSources.Csv.html","topicHref":"ToSic.Eav.DataSources.Csv.html","topicUid":"ToSic.Eav.DataSources.Csv","type":"Class"},{"name":"DataTable","href":"ToSic.Eav.DataSources.DataTable.html","topicHref":"ToSic.Eav.DataSources.DataTable.html","topicUid":"ToSic.Eav.DataSources.DataTable","type":"Class"},{"name":"EntityIdFilter","href":"ToSic.Eav.DataSources.EntityIdFilter.html","topicHref":"ToSic.Eav.DataSources.EntityIdFilter.html","topicUid":"ToSic.Eav.DataSources.EntityIdFilter","type":"Class"},{"name":"EntityTypeFilter","href":"ToSic.Eav.DataSources.EntityTypeFilter.html","topicHref":"ToSic.Eav.DataSources.EntityTypeFilter.html","topicUid":"ToSic.Eav.DataSources.EntityTypeFilter","type":"Class"},{"name":"Error","href":"ToSic.Eav.DataSources.Error.html","topicHref":"ToSic.Eav.DataSources.Error.html","topicUid":"ToSic.Eav.DataSources.Error","type":"Class"},{"name":"IAppRoot","href":"ToSic.Eav.DataSources.IAppRoot.html","topicHref":"ToSic.Eav.DataSources.IAppRoot.html","topicUid":"ToSic.Eav.DataSources.IAppRoot","type":"Interface"},{"name":"ItemFilterDuplicates","href":"ToSic.Eav.DataSources.ItemFilterDuplicates.html","topicHref":"ToSic.Eav.DataSources.ItemFilterDuplicates.html","topicUid":"ToSic.Eav.DataSources.ItemFilterDuplicates","type":"Class"},{"name":"LanguageModeler","href":"ToSic.Eav.DataSources.LanguageModeler.html","topicHref":"ToSic.Eav.DataSources.LanguageModeler.html","topicUid":"ToSic.Eav.DataSources.LanguageModeler","type":"Class"},{"name":"Metadata","href":"ToSic.Eav.DataSources.Metadata.html","topicHref":"ToSic.Eav.DataSources.Metadata.html","topicUid":"ToSic.Eav.DataSources.Metadata","type":"Class"},{"name":"MetadataTargets","href":"ToSic.Eav.DataSources.MetadataTargets.html","topicHref":"ToSic.Eav.DataSources.MetadataTargets.html","topicUid":"ToSic.Eav.DataSources.MetadataTargets","type":"Class"},{"name":"OwnerFilter","href":"ToSic.Eav.DataSources.OwnerFilter.html","topicHref":"ToSic.Eav.DataSources.OwnerFilter.html","topicUid":"ToSic.Eav.DataSources.OwnerFilter","type":"Class"},{"name":"Paging","href":"ToSic.Eav.DataSources.Paging.html","topicHref":"ToSic.Eav.DataSources.Paging.html","topicUid":"ToSic.Eav.DataSources.Paging","type":"Class"},{"name":"Parents","href":"ToSic.Eav.DataSources.Parents.html","topicHref":"ToSic.Eav.DataSources.Parents.html","topicUid":"ToSic.Eav.DataSources.Parents","type":"Class"},{"name":"PassThrough","href":"ToSic.Eav.DataSources.PassThrough.html","topicHref":"ToSic.Eav.DataSources.PassThrough.html","topicUid":"ToSic.Eav.DataSources.PassThrough","type":"Class"},{"name":"PublishingFilter","href":"ToSic.Eav.DataSources.PublishingFilter.html","topicHref":"ToSic.Eav.DataSources.PublishingFilter.html","topicUid":"ToSic.Eav.DataSources.PublishingFilter","type":"Class"},{"name":"QueryRun","href":"ToSic.Eav.DataSources.QueryRun.html","topicHref":"ToSic.Eav.DataSources.QueryRun.html","topicUid":"ToSic.Eav.DataSources.QueryRun","type":"Class"},{"name":"RelationshipFilter","href":"ToSic.Eav.DataSources.RelationshipFilter.html","topicHref":"ToSic.Eav.DataSources.RelationshipFilter.html","topicUid":"ToSic.Eav.DataSources.RelationshipFilter","type":"Class"},{"name":"Serialization","href":"ToSic.Eav.DataSources.Serialization.html","topicHref":"ToSic.Eav.DataSources.Serialization.html","topicUid":"ToSic.Eav.DataSources.Serialization","type":"Class"},{"name":"Shuffle","href":"ToSic.Eav.DataSources.Shuffle.html","topicHref":"ToSic.Eav.DataSources.Shuffle.html","topicUid":"ToSic.Eav.DataSources.Shuffle","type":"Class"},{"name":"Sql","href":"ToSic.Eav.DataSources.Sql.html","topicHref":"ToSic.Eav.DataSources.Sql.html","topicUid":"ToSic.Eav.DataSources.Sql","type":"Class"},{"name":"StreamFallback","href":"ToSic.Eav.DataSources.StreamFallback.html","topicHref":"ToSic.Eav.DataSources.StreamFallback.html","topicUid":"ToSic.Eav.DataSources.StreamFallback","type":"Class"},{"name":"StreamMerge","href":"ToSic.Eav.DataSources.StreamMerge.html","topicHref":"ToSic.Eav.DataSources.StreamMerge.html","topicUid":"ToSic.Eav.DataSources.StreamMerge","type":"Class"},{"name":"StreamPick","href":"ToSic.Eav.DataSources.StreamPick.html","topicHref":"ToSic.Eav.DataSources.StreamPick.html","topicUid":"ToSic.Eav.DataSources.StreamPick","type":"Class"},{"name":"TreeModeler","href":"ToSic.Eav.DataSources.TreeModeler.html","topicHref":"ToSic.Eav.DataSources.TreeModeler.html","topicUid":"ToSic.Eav.DataSources.TreeModeler","type":"Class"},{"name":"ValueFilter","href":"ToSic.Eav.DataSources.ValueFilter.html","topicHref":"ToSic.Eav.DataSources.ValueFilter.html","topicUid":"ToSic.Eav.DataSources.ValueFilter","type":"Class"},{"name":"ValueSort","href":"ToSic.Eav.DataSources.ValueSort.html","topicHref":"ToSic.Eav.DataSources.ValueSort.html","topicUid":"ToSic.Eav.DataSources.ValueSort","type":"Class"}]},{"name":"LookUp","href":"ToSic.Eav.LookUp.html","topicHref":"ToSic.Eav.LookUp.html","topicUid":"ToSic.Eav.LookUp","type":"Namespace","items":[{"name":"ILookUp","href":"ToSic.Eav.LookUp.ILookUp.html","topicHref":"ToSic.Eav.LookUp.ILookUp.html","topicUid":"ToSic.Eav.LookUp.ILookUp","type":"Interface"},{"name":"ILookUpEngine","href":"ToSic.Eav.LookUp.ILookUpEngine.html","topicHref":"ToSic.Eav.LookUp.ILookUpEngine.html","topicUid":"ToSic.Eav.LookUp.ILookUpEngine","type":"Interface"},{"name":"ILookUpEngineResolver","href":"ToSic.Eav.LookUp.ILookUpEngineResolver.html","topicHref":"ToSic.Eav.LookUp.ILookUpEngineResolver.html","topicUid":"ToSic.Eav.LookUp.ILookUpEngineResolver","type":"Interface"},{"name":"LookUpBase","href":"ToSic.Eav.LookUp.LookUpBase.html","topicHref":"ToSic.Eav.LookUp.LookUpBase.html","topicUid":"ToSic.Eav.LookUp.LookUpBase","type":"Class"},{"name":"LookUpInDictionary","href":"ToSic.Eav.LookUp.LookUpInDictionary.html","topicHref":"ToSic.Eav.LookUp.LookUpInDictionary.html","topicUid":"ToSic.Eav.LookUp.LookUpInDictionary","type":"Class"},{"name":"LookUpInEntity","href":"ToSic.Eav.LookUp.LookUpInEntity.html","topicHref":"ToSic.Eav.LookUp.LookUpInEntity.html","topicUid":"ToSic.Eav.LookUp.LookUpInEntity","type":"Class"},{"name":"LookUpInLookUps","href":"ToSic.Eav.LookUp.LookUpInLookUps.html","topicHref":"ToSic.Eav.LookUp.LookUpInLookUps.html","topicUid":"ToSic.Eav.LookUp.LookUpInLookUps","type":"Class"},{"name":"LookUpInNameValueCollection","href":"ToSic.Eav.LookUp.LookUpInNameValueCollection.html","topicHref":"ToSic.Eav.LookUp.LookUpInNameValueCollection.html","topicUid":"ToSic.Eav.LookUp.LookUpInNameValueCollection","type":"Class"},{"name":"LookUpIn","href":"ToSic.Eav.LookUp.LookUpIn-1.html","topicHref":"ToSic.Eav.LookUp.LookUpIn-1.html","topicUid":"ToSic.Eav.LookUp.LookUpIn`1","type":"Class"}]},{"name":"Metadata","href":"ToSic.Eav.Metadata.html","topicHref":"ToSic.Eav.Metadata.html","topicUid":"ToSic.Eav.Metadata","type":"Namespace","items":[{"name":"IHasMetadata","href":"ToSic.Eav.Metadata.IHasMetadata.html","topicHref":"ToSic.Eav.Metadata.IHasMetadata.html","topicUid":"ToSic.Eav.Metadata.IHasMetadata","type":"Interface"},{"name":"IMetadataGet","href":"ToSic.Eav.Metadata.IMetadataGet.html","topicHref":"ToSic.Eav.Metadata.IMetadataGet.html","topicUid":"ToSic.Eav.Metadata.IMetadataGet","type":"Interface"},{"name":"IMetadataOf","href":"ToSic.Eav.Metadata.IMetadataOf.html","topicHref":"ToSic.Eav.Metadata.IMetadataOf.html","topicUid":"ToSic.Eav.Metadata.IMetadataOf","type":"Interface"},{"name":"TargetTypes","href":"ToSic.Eav.Metadata.TargetTypes.html","topicHref":"ToSic.Eav.Metadata.TargetTypes.html","topicUid":"ToSic.Eav.Metadata.TargetTypes","type":"Enum"}]},{"name":"Repositories","href":"ToSic.Eav.Repositories.html","topicHref":"ToSic.Eav.Repositories.html","topicUid":"ToSic.Eav.Repositories","type":"Namespace","items":[{"name":"FolderBasedRepository","href":"ToSic.Eav.Repositories.FolderBasedRepository.html","topicHref":"ToSic.Eav.Repositories.FolderBasedRepository.html","topicUid":"ToSic.Eav.Repositories.FolderBasedRepository","type":"Class"}]},{"name":"Security","href":"ToSic.Eav.Security.html","topicHref":"ToSic.Eav.Security.html","topicUid":"ToSic.Eav.Security","type":"Namespace","items":[{"name":"IHasPermissions","href":"ToSic.Eav.Security.IHasPermissions.html","topicHref":"ToSic.Eav.Security.IHasPermissions.html","topicUid":"ToSic.Eav.Security.IHasPermissions","type":"Interface"},{"name":"Permission","href":"ToSic.Eav.Security.Permission.html","topicHref":"ToSic.Eav.Security.Permission.html","topicUid":"ToSic.Eav.Security.Permission","type":"Class"}]},{"name":"Services","href":"ToSic.Eav.Services.html","topicHref":"ToSic.Eav.Services.html","topicUid":"ToSic.Eav.Services","type":"Namespace","items":[{"name":"IDataSourceGenerator","href":"ToSic.Eav.Services.IDataSourceGenerator-1.html","topicHref":"ToSic.Eav.Services.IDataSourceGenerator-1.html","topicUid":"ToSic.Eav.Services.IDataSourceGenerator`1","type":"Interface"},{"name":"IDataSourcesService","href":"ToSic.Eav.Services.IDataSourcesService.html","topicHref":"ToSic.Eav.Services.IDataSourcesService.html","topicUid":"ToSic.Eav.Services.IDataSourcesService","type":"Interface"}]},{"name":"Factory","href":"ToSic.Eav.Factory.html","topicHref":"ToSic.Eav.Factory.html","topicUid":"ToSic.Eav.Factory","type":"Class"}]},{"name":"ToSic.Lib","href":"ToSic.Lib.html","topicHref":"ToSic.Lib.html","topicUid":"ToSic.Lib","type":"Namespace","items":[{"name":"Coding","href":"ToSic.Lib.Coding.html","topicHref":"ToSic.Lib.Coding.html","topicUid":"ToSic.Lib.Coding","type":"Namespace","items":[{"name":"NoParamOrder","href":"ToSic.Lib.Coding.NoParamOrder.html","topicHref":"ToSic.Lib.Coding.NoParamOrder.html","topicUid":"ToSic.Lib.Coding.NoParamOrder","type":"Struct"}]},{"name":"DI","href":"ToSic.Lib.DI.html","topicHref":"ToSic.Lib.DI.html","topicUid":"ToSic.Lib.DI","type":"Namespace","items":[{"name":"Generator","href":"ToSic.Lib.DI.Generator-1.html","topicHref":"ToSic.Lib.DI.Generator-1.html","topicUid":"ToSic.Lib.DI.Generator`1","type":"Class"},{"name":"LazyImplementation","href":"ToSic.Lib.DI.LazyImplementation-1.html","topicHref":"ToSic.Lib.DI.LazyImplementation-1.html","topicUid":"ToSic.Lib.DI.LazyImplementation`1","type":"Class"},{"name":"LazySvc","href":"ToSic.Lib.DI.LazySvc-1.html","topicHref":"ToSic.Lib.DI.LazySvc-1.html","topicUid":"ToSic.Lib.DI.LazySvc`1","type":"Class"}]},{"name":"Data","href":"ToSic.Lib.Data.html","topicHref":"ToSic.Lib.Data.html","topicUid":"ToSic.Lib.Data","type":"Namespace","items":[{"name":"IHasIdentityNameId","href":"ToSic.Lib.Data.IHasIdentityNameId.html","topicHref":"ToSic.Lib.Data.IHasIdentityNameId.html","topicUid":"ToSic.Lib.Data.IHasIdentityNameId","type":"Interface"}]},{"name":"Documentation","href":"ToSic.Lib.Documentation.html","topicHref":"ToSic.Lib.Documentation.html","topicUid":"ToSic.Lib.Documentation","type":"Namespace","items":[{"name":"DocumentationPlaceholder","href":"ToSic.Lib.Documentation.DocumentationPlaceholder.html","topicHref":"ToSic.Lib.Documentation.DocumentationPlaceholder.html","topicUid":"ToSic.Lib.Documentation.DocumentationPlaceholder","type":"Class"},{"name":"InternalApi_DoNotUse_MayChangeWithoutNotice","href":"ToSic.Lib.Documentation.InternalApi_DoNotUse_MayChangeWithoutNotice.html","topicHref":"ToSic.Lib.Documentation.InternalApi_DoNotUse_MayChangeWithoutNotice.html","topicUid":"ToSic.Lib.Documentation.InternalApi_DoNotUse_MayChangeWithoutNotice","type":"Class"},{"name":"PrivateApi","href":"ToSic.Lib.Documentation.PrivateApi.html","topicHref":"ToSic.Lib.Documentation.PrivateApi.html","topicUid":"ToSic.Lib.Documentation.PrivateApi","type":"Class"},{"name":"PublicApi","href":"ToSic.Lib.Documentation.PublicApi.html","topicHref":"ToSic.Lib.Documentation.PublicApi.html","topicUid":"ToSic.Lib.Documentation.PublicApi","type":"Class"}]},{"name":"Helpers","href":"ToSic.Lib.Helpers.html","topicHref":"ToSic.Lib.Helpers.html","topicUid":"ToSic.Lib.Helpers","type":"Namespace","items":[{"name":"GetOnceNamed","href":"ToSic.Lib.Helpers.GetOnceNamed-1.html","topicHref":"ToSic.Lib.Helpers.GetOnceNamed-1.html","topicUid":"ToSic.Lib.Helpers.GetOnceNamed`1","type":"Class"},{"name":"GetOnce","href":"ToSic.Lib.Helpers.GetOnce-1.html","topicHref":"ToSic.Lib.Helpers.GetOnce-1.html","topicUid":"ToSic.Lib.Helpers.GetOnce`1","type":"Class"}]},{"name":"Logging","href":"ToSic.Lib.Logging.html","topicHref":"ToSic.Lib.Logging.html","topicUid":"ToSic.Lib.Logging","type":"Namespace","items":[{"name":"CodeRef","href":"ToSic.Lib.Logging.CodeRef.html","topicHref":"ToSic.Lib.Logging.CodeRef.html","topicUid":"ToSic.Lib.Logging.CodeRef","type":"Class"},{"name":"ICanDebug","href":"ToSic.Lib.Logging.ICanDebug.html","topicHref":"ToSic.Lib.Logging.ICanDebug.html","topicUid":"ToSic.Lib.Logging.ICanDebug","type":"Interface"},{"name":"ICanDump","href":"ToSic.Lib.Logging.ICanDump.html","topicHref":"ToSic.Lib.Logging.ICanDump.html","topicUid":"ToSic.Lib.Logging.ICanDump","type":"Interface"},{"name":"IHasLog","href":"ToSic.Lib.Logging.IHasLog.html","topicHref":"ToSic.Lib.Logging.IHasLog.html","topicUid":"ToSic.Lib.Logging.IHasLog","type":"Interface"},{"name":"IHasLogExtensions","href":"ToSic.Lib.Logging.IHasLogExtensions.html","topicHref":"ToSic.Lib.Logging.IHasLogExtensions.html","topicUid":"ToSic.Lib.Logging.IHasLogExtensions","type":"Class"},{"name":"ILog","href":"ToSic.Lib.Logging.ILog.html","topicHref":"ToSic.Lib.Logging.ILog.html","topicUid":"ToSic.Lib.Logging.ILog","type":"Interface"},{"name":"ILogCall","href":"ToSic.Lib.Logging.ILogCall.html","topicHref":"ToSic.Lib.Logging.ILogCall.html","topicUid":"ToSic.Lib.Logging.ILogCall","type":"Interface"},{"name":"ILogCallExtensions","href":"ToSic.Lib.Logging.ILogCallExtensions.html","topicHref":"ToSic.Lib.Logging.ILogCallExtensions.html","topicUid":"ToSic.Lib.Logging.ILogCallExtensions","type":"Class"},{"name":"ILogCall","href":"ToSic.Lib.Logging.ILogCall-1.html","topicHref":"ToSic.Lib.Logging.ILogCall-1.html","topicUid":"ToSic.Lib.Logging.ILogCall`1","type":"Interface"},{"name":"ILogExtensions","href":"ToSic.Lib.Logging.ILogExtensions.html","topicHref":"ToSic.Lib.Logging.ILogExtensions.html","topicUid":"ToSic.Lib.Logging.ILogExtensions","type":"Class"},{"name":"ILogStore","href":"ToSic.Lib.Logging.ILogStore.html","topicHref":"ToSic.Lib.Logging.ILogStore.html","topicUid":"ToSic.Lib.Logging.ILogStore","type":"Interface"},{"name":"ILog_Actions","href":"ToSic.Lib.Logging.ILog_Actions.html","topicHref":"ToSic.Lib.Logging.ILog_Actions.html","topicUid":"ToSic.Lib.Logging.ILog_Actions","type":"Class"},{"name":"ILog_Add","href":"ToSic.Lib.Logging.ILog_Add.html","topicHref":"ToSic.Lib.Logging.ILog_Add.html","topicUid":"ToSic.Lib.Logging.ILog_Add","type":"Class"},{"name":"ILog_Properties","href":"ToSic.Lib.Logging.ILog_Properties.html","topicHref":"ToSic.Lib.Logging.ILog_Properties.html","topicUid":"ToSic.Lib.Logging.ILog_Properties","type":"Class"},{"name":"LogConstants","href":"ToSic.Lib.Logging.LogConstants.html","topicHref":"ToSic.Lib.Logging.LogConstants.html","topicUid":"ToSic.Lib.Logging.LogConstants","type":"Class"}]},{"name":"Services","href":"ToSic.Lib.Services.html","topicHref":"ToSic.Lib.Services.html","topicUid":"ToSic.Lib.Services","type":"Namespace","items":[{"name":"MyServicesBase","href":"ToSic.Lib.Services.MyServicesBase.html","topicHref":"ToSic.Lib.Services.MyServicesBase.html","topicUid":"ToSic.Lib.Services.MyServicesBase","type":"Class"},{"name":"MyServicesBase","href":"ToSic.Lib.Services.MyServicesBase-1.html","topicHref":"ToSic.Lib.Services.MyServicesBase-1.html","topicUid":"ToSic.Lib.Services.MyServicesBase`1","type":"Class"}]}]},{"name":"ToSic.Sxc ⭐","href":"ToSic.Sxc.html","topicHref":"ToSic.Sxc.html","topicUid":"ToSic.Sxc","type":"Namespace","items":[{"name":"Adam","href":"ToSic.Sxc.Adam.html","topicHref":"ToSic.Sxc.Adam.html","topicUid":"ToSic.Sxc.Adam","type":"Namespace","items":[{"name":"IAsset","href":"ToSic.Sxc.Adam.IAsset.html","topicHref":"ToSic.Sxc.Adam.IAsset.html","topicUid":"ToSic.Sxc.Adam.IAsset","type":"Interface"},{"name":"IFile","href":"ToSic.Sxc.Adam.IFile.html","topicHref":"ToSic.Sxc.Adam.IFile.html","topicUid":"ToSic.Sxc.Adam.IFile","type":"Interface"},{"name":"IFolder","href":"ToSic.Sxc.Adam.IFolder.html","topicHref":"ToSic.Sxc.Adam.IFolder.html","topicUid":"ToSic.Sxc.Adam.IFolder","type":"Interface"}]},{"name":"Apps","href":"ToSic.Sxc.Apps.html","topicHref":"ToSic.Sxc.Apps.html","topicUid":"ToSic.Sxc.Apps","type":"Namespace","items":[{"name":"IApp","href":"ToSic.Sxc.Apps.IApp.html","topicHref":"ToSic.Sxc.Apps.IApp.html","topicUid":"ToSic.Sxc.Apps.IApp","type":"Interface"},{"name":"IAppDataTyped","href":"ToSic.Sxc.Apps.IAppDataTyped.html","topicHref":"ToSic.Sxc.Apps.IAppDataTyped.html","topicUid":"ToSic.Sxc.Apps.IAppDataTyped","type":"Interface"},{"name":"IAppTyped","href":"ToSic.Sxc.Apps.IAppTyped.html","topicHref":"ToSic.Sxc.Apps.IAppTyped.html","topicUid":"ToSic.Sxc.Apps.IAppTyped","type":"Interface"},{"name":"IAppTyped","href":"ToSic.Sxc.Apps.IAppTyped-2.html","topicHref":"ToSic.Sxc.Apps.IAppTyped-2.html","topicUid":"ToSic.Sxc.Apps.IAppTyped`2","type":"Interface"}]},{"name":"Blocks","href":"ToSic.Sxc.Blocks.html","topicHref":"ToSic.Sxc.Blocks.html","topicUid":"ToSic.Sxc.Blocks","type":"Namespace","items":[{"name":"Render","href":"ToSic.Sxc.Blocks.Render.html","topicHref":"ToSic.Sxc.Blocks.Render.html","topicUid":"ToSic.Sxc.Blocks.Render","type":"Class"}]},{"name":"Cms.Data","href":"ToSic.Sxc.Cms.Data.html","topicHref":"ToSic.Sxc.Cms.Data.html","topicUid":"ToSic.Sxc.Cms.Data","type":"Namespace","items":[{"name":"GpsCoordinates","href":"ToSic.Sxc.Cms.Data.GpsCoordinates.html","topicHref":"ToSic.Sxc.Cms.Data.GpsCoordinates.html","topicUid":"ToSic.Sxc.Cms.Data.GpsCoordinates","type":"Class"}]},{"name":"Code","href":"ToSic.Sxc.Code.html","topicHref":"ToSic.Sxc.Code.html","topicUid":"ToSic.Sxc.Code","type":"Namespace","items":[{"name":"Generate","href":"ToSic.Sxc.Code.Generate.html","topicHref":"ToSic.Sxc.Code.Generate.html","topicUid":"ToSic.Sxc.Code.Generate","type":"Namespace","items":[{"name":"GenerateConstants","href":"ToSic.Sxc.Code.Generate.GenerateConstants.html","topicHref":"ToSic.Sxc.Code.Generate.GenerateConstants.html","topicUid":"ToSic.Sxc.Code.Generate.GenerateConstants","type":"Class"},{"name":"GeneratedFile","href":"ToSic.Sxc.Code.Generate.GeneratedFile.html","topicHref":"ToSic.Sxc.Code.Generate.GeneratedFile.html","topicUid":"ToSic.Sxc.Code.Generate.GeneratedFile","type":"Class"},{"name":"GeneratedFileSet","href":"ToSic.Sxc.Code.Generate.GeneratedFileSet.html","topicHref":"ToSic.Sxc.Code.Generate.GeneratedFileSet.html","topicUid":"ToSic.Sxc.Code.Generate.GeneratedFileSet","type":"Class"},{"name":"IFileGenerator","href":"ToSic.Sxc.Code.Generate.IFileGenerator.html","topicHref":"ToSic.Sxc.Code.Generate.IFileGenerator.html","topicUid":"ToSic.Sxc.Code.Generate.IFileGenerator","type":"Interface"},{"name":"IFileGeneratorSpecs","href":"ToSic.Sxc.Code.Generate.IFileGeneratorSpecs.html","topicHref":"ToSic.Sxc.Code.Generate.IFileGeneratorSpecs.html","topicUid":"ToSic.Sxc.Code.Generate.IFileGeneratorSpecs","type":"Interface"},{"name":"IGeneratedFile","href":"ToSic.Sxc.Code.Generate.IGeneratedFile.html","topicHref":"ToSic.Sxc.Code.Generate.IGeneratedFile.html","topicUid":"ToSic.Sxc.Code.Generate.IGeneratedFile","type":"Interface"},{"name":"IGeneratedFileInfo","href":"ToSic.Sxc.Code.Generate.IGeneratedFileInfo.html","topicHref":"ToSic.Sxc.Code.Generate.IGeneratedFileInfo.html","topicUid":"ToSic.Sxc.Code.Generate.IGeneratedFileInfo","type":"Interface"},{"name":"IGeneratedFileSet","href":"ToSic.Sxc.Code.Generate.IGeneratedFileSet.html","topicHref":"ToSic.Sxc.Code.Generate.IGeneratedFileSet.html","topicUid":"ToSic.Sxc.Code.Generate.IGeneratedFileSet","type":"Interface"}]},{"name":"ICodeCustomizer","href":"ToSic.Sxc.Code.ICodeCustomizer.html","topicHref":"ToSic.Sxc.Code.ICodeCustomizer.html","topicUid":"ToSic.Sxc.Code.ICodeCustomizer","type":"Interface"},{"name":"ICodeLog","href":"ToSic.Sxc.Code.ICodeLog.html","topicHref":"ToSic.Sxc.Code.ICodeLog.html","topicUid":"ToSic.Sxc.Code.ICodeLog","type":"Interface"},{"name":"IDevTools","href":"ToSic.Sxc.Code.IDevTools.html","topicHref":"ToSic.Sxc.Code.IDevTools.html","topicUid":"ToSic.Sxc.Code.IDevTools","type":"Interface"},{"name":"ITypedModel","href":"ToSic.Sxc.Code.ITypedModel.html","topicHref":"ToSic.Sxc.Code.ITypedModel.html","topicUid":"ToSic.Sxc.Code.ITypedModel","type":"Interface"}]},{"name":"Context 📟","href":"ToSic.Sxc.Context.html","topicHref":"ToSic.Sxc.Context.html","topicUid":"ToSic.Sxc.Context","type":"Namespace","items":[{"name":"ICmsBlock","href":"ToSic.Sxc.Context.ICmsBlock.html","topicHref":"ToSic.Sxc.Context.ICmsBlock.html","topicUid":"ToSic.Sxc.Context.ICmsBlock","type":"Interface"},{"name":"ICmsContext","href":"ToSic.Sxc.Context.ICmsContext.html","topicHref":"ToSic.Sxc.Context.ICmsContext.html","topicUid":"ToSic.Sxc.Context.ICmsContext","type":"Interface"},{"name":"ICmsCulture","href":"ToSic.Sxc.Context.ICmsCulture.html","topicHref":"ToSic.Sxc.Context.ICmsCulture.html","topicUid":"ToSic.Sxc.Context.ICmsCulture","type":"Interface"},{"name":"ICmsModule","href":"ToSic.Sxc.Context.ICmsModule.html","topicHref":"ToSic.Sxc.Context.ICmsModule.html","topicUid":"ToSic.Sxc.Context.ICmsModule","type":"Interface"},{"name":"ICmsPage","href":"ToSic.Sxc.Context.ICmsPage.html","topicHref":"ToSic.Sxc.Context.ICmsPage.html","topicUid":"ToSic.Sxc.Context.ICmsPage","type":"Interface"},{"name":"ICmsPlatform","href":"ToSic.Sxc.Context.ICmsPlatform.html","topicHref":"ToSic.Sxc.Context.ICmsPlatform.html","topicUid":"ToSic.Sxc.Context.ICmsPlatform","type":"Interface"},{"name":"ICmsSite","href":"ToSic.Sxc.Context.ICmsSite.html","topicHref":"ToSic.Sxc.Context.ICmsSite.html","topicUid":"ToSic.Sxc.Context.ICmsSite","type":"Interface"},{"name":"ICmsUser","href":"ToSic.Sxc.Context.ICmsUser.html","topicHref":"ToSic.Sxc.Context.ICmsUser.html","topicUid":"ToSic.Sxc.Context.ICmsUser","type":"Interface"},{"name":"ICmsView","href":"ToSic.Sxc.Context.ICmsView.html","topicHref":"ToSic.Sxc.Context.ICmsView.html","topicUid":"ToSic.Sxc.Context.ICmsView","type":"Interface"},{"name":"ICmsView","href":"ToSic.Sxc.Context.ICmsView-2.html","topicHref":"ToSic.Sxc.Context.ICmsView-2.html","topicUid":"ToSic.Sxc.Context.ICmsView`2","type":"Interface"},{"name":"IParameters","href":"ToSic.Sxc.Context.IParameters.html","topicHref":"ToSic.Sxc.Context.IParameters.html","topicUid":"ToSic.Sxc.Context.IParameters","type":"Interface"},{"name":"PlatformType","href":"ToSic.Sxc.Context.PlatformType.html","topicHref":"ToSic.Sxc.Context.PlatformType.html","topicUid":"ToSic.Sxc.Context.PlatformType","type":"Enum"}]},{"name":"Data 🎁","href":"ToSic.Sxc.Data.html","topicHref":"ToSic.Sxc.Data.html","topicUid":"ToSic.Sxc.Data","type":"Namespace","items":[{"name":"Model","href":"ToSic.Sxc.Data.Model.html","topicHref":"ToSic.Sxc.Data.Model.html","topicUid":"ToSic.Sxc.Data.Model","type":"Namespace","items":[{"name":"DataModel","href":"ToSic.Sxc.Data.Model.DataModel.html","topicHref":"ToSic.Sxc.Data.Model.DataModel.html","topicUid":"ToSic.Sxc.Data.Model.DataModel","type":"Class"},{"name":"DataModelAttribute","href":"ToSic.Sxc.Data.Model.DataModelAttribute.html","topicHref":"ToSic.Sxc.Data.Model.DataModelAttribute.html","topicUid":"ToSic.Sxc.Data.Model.DataModelAttribute","type":"Class"},{"name":"DataModelConversion","href":"ToSic.Sxc.Data.Model.DataModelConversion.html","topicHref":"ToSic.Sxc.Data.Model.DataModelConversion.html","topicUid":"ToSic.Sxc.Data.Model.DataModelConversion","type":"Class"},{"name":"DataModelOfItem","href":"ToSic.Sxc.Data.Model.DataModelOfItem.html","topicHref":"ToSic.Sxc.Data.Model.DataModelOfItem.html","topicUid":"ToSic.Sxc.Data.Model.DataModelOfItem","type":"Class"},{"name":"IDataModel","href":"ToSic.Sxc.Data.Model.IDataModel.html","topicHref":"ToSic.Sxc.Data.Model.IDataModel.html","topicUid":"ToSic.Sxc.Data.Model.IDataModel","type":"Interface"},{"name":"IDataModelOf","href":"ToSic.Sxc.Data.Model.IDataModelOf-1.html","topicHref":"ToSic.Sxc.Data.Model.IDataModelOf-1.html","topicUid":"ToSic.Sxc.Data.Model.IDataModelOf`1","type":"Interface"}]},{"name":"IDynamicEntity","href":"ToSic.Sxc.Data.IDynamicEntity.html","topicHref":"ToSic.Sxc.Data.IDynamicEntity.html","topicUid":"ToSic.Sxc.Data.IDynamicEntity","type":"Interface"},{"name":"IDynamicStack","href":"ToSic.Sxc.Data.IDynamicStack.html","topicHref":"ToSic.Sxc.Data.IDynamicStack.html","topicUid":"ToSic.Sxc.Data.IDynamicStack","type":"Interface"},{"name":"IField","href":"ToSic.Sxc.Data.IField.html","topicHref":"ToSic.Sxc.Data.IField.html","topicUid":"ToSic.Sxc.Data.IField","type":"Interface"},{"name":"IMetadata","href":"ToSic.Sxc.Data.IMetadata.html","topicHref":"ToSic.Sxc.Data.IMetadata.html","topicUid":"ToSic.Sxc.Data.IMetadata","type":"Interface"},{"name":"IPublishing","href":"ToSic.Sxc.Data.IPublishing.html","topicHref":"ToSic.Sxc.Data.IPublishing.html","topicUid":"ToSic.Sxc.Data.IPublishing","type":"Interface"},{"name":"ISecureData","href":"ToSic.Sxc.Data.ISecureData-1.html","topicHref":"ToSic.Sxc.Data.ISecureData-1.html","topicUid":"ToSic.Sxc.Data.ISecureData`1","type":"Interface"},{"name":"ITyped","href":"ToSic.Sxc.Data.ITyped.html","topicHref":"ToSic.Sxc.Data.ITyped.html","topicUid":"ToSic.Sxc.Data.ITyped","type":"Interface"},{"name":"ITypedItem 🔬","href":"ToSic.Sxc.Data.ITypedItem.html","topicHref":"ToSic.Sxc.Data.ITypedItem.html","topicUid":"ToSic.Sxc.Data.ITypedItem","type":"Interface"},{"name":"ITypedStack","href":"ToSic.Sxc.Data.ITypedStack.html","topicHref":"ToSic.Sxc.Data.ITypedStack.html","topicUid":"ToSic.Sxc.Data.ITypedStack","type":"Interface"}]},{"name":"DataSources","href":"ToSic.Sxc.DataSources.html","topicHref":"ToSic.Sxc.DataSources.html","topicUid":"ToSic.Sxc.DataSources","type":"Namespace","items":[{"name":"AppAssets","href":"ToSic.Sxc.DataSources.AppAssets.html","topicHref":"ToSic.Sxc.DataSources.AppAssets.html","topicUid":"ToSic.Sxc.DataSources.AppAssets","type":"Class"},{"name":"CmsBlock","href":"ToSic.Sxc.DataSources.CmsBlock.html","topicHref":"ToSic.Sxc.DataSources.CmsBlock.html","topicUid":"ToSic.Sxc.DataSources.CmsBlock","type":"Class"},{"name":"Pages","href":"ToSic.Sxc.DataSources.Pages.html","topicHref":"ToSic.Sxc.DataSources.Pages.html","topicUid":"ToSic.Sxc.DataSources.Pages","type":"Class"},{"name":"Sites","href":"ToSic.Sxc.DataSources.Sites.html","topicHref":"ToSic.Sxc.DataSources.Sites.html","topicUid":"ToSic.Sxc.DataSources.Sites","type":"Class"},{"name":"UserRoles","href":"ToSic.Sxc.DataSources.UserRoles.html","topicHref":"ToSic.Sxc.DataSources.UserRoles.html","topicUid":"ToSic.Sxc.DataSources.UserRoles","type":"Class"},{"name":"Users","href":"ToSic.Sxc.DataSources.Users.html","topicHref":"ToSic.Sxc.DataSources.Users.html","topicUid":"ToSic.Sxc.DataSources.Users","type":"Class"}]},{"name":"Dnn","href":"ToSic.Sxc.Dnn.html","topicHref":"ToSic.Sxc.Dnn.html","topicUid":"ToSic.Sxc.Dnn","type":"Namespace","items":[{"name":"Code","href":"ToSic.Sxc.Dnn.Code.html","topicHref":"ToSic.Sxc.Dnn.Code.html","topicUid":"ToSic.Sxc.Dnn.Code","type":"Namespace","items":[{"name":"IDnnDynamicCode","href":"ToSic.Sxc.Dnn.Code.IDnnDynamicCode.html","topicHref":"ToSic.Sxc.Dnn.Code.IDnnDynamicCode.html","topicUid":"ToSic.Sxc.Dnn.Code.IDnnDynamicCode","type":"Interface"},{"name":"IHasDnn","href":"ToSic.Sxc.Dnn.Code.IHasDnn.html","topicHref":"ToSic.Sxc.Dnn.Code.IHasDnn.html","topicUid":"ToSic.Sxc.Dnn.Code.IHasDnn","type":"Interface"}]},{"name":"DataSources","href":"ToSic.Sxc.Dnn.DataSources.html","topicHref":"ToSic.Sxc.Dnn.DataSources.html","topicUid":"ToSic.Sxc.Dnn.DataSources","type":"Namespace","items":[{"name":"DnnSql","href":"ToSic.Sxc.Dnn.DataSources.DnnSql.html","topicHref":"ToSic.Sxc.Dnn.DataSources.DnnSql.html","topicUid":"ToSic.Sxc.Dnn.DataSources.DnnSql","type":"Class"},{"name":"DnnUserProfile","href":"ToSic.Sxc.Dnn.DataSources.DnnUserProfile.html","topicHref":"ToSic.Sxc.Dnn.DataSources.DnnUserProfile.html","topicUid":"ToSic.Sxc.Dnn.DataSources.DnnUserProfile","type":"Class"},{"name":"DnnUserProfileDataRaw","href":"ToSic.Sxc.Dnn.DataSources.DnnUserProfileDataRaw.html","topicHref":"ToSic.Sxc.Dnn.DataSources.DnnUserProfileDataRaw.html","topicUid":"ToSic.Sxc.Dnn.DataSources.DnnUserProfileDataRaw","type":"Class"}]},{"name":"LookUp","href":"ToSic.Sxc.Dnn.LookUp.html","topicHref":"ToSic.Sxc.Dnn.LookUp.html","topicUid":"ToSic.Sxc.Dnn.LookUp","type":"Namespace","items":[{"name":"DocsPlaceholder","href":"ToSic.Sxc.Dnn.LookUp.DocsPlaceholder.html","topicHref":"ToSic.Sxc.Dnn.LookUp.DocsPlaceholder.html","topicUid":"ToSic.Sxc.Dnn.LookUp.DocsPlaceholder","type":"Class"}]},{"name":"Run","href":"ToSic.Sxc.Dnn.Run.html","topicHref":"ToSic.Sxc.Dnn.Run.html","topicUid":"ToSic.Sxc.Dnn.Run","type":"Namespace","items":[{"name":"IDnnContext","href":"ToSic.Sxc.Dnn.Run.IDnnContext.html","topicHref":"ToSic.Sxc.Dnn.Run.IDnnContext.html","topicUid":"ToSic.Sxc.Dnn.Run.IDnnContext","type":"Interface"}]},{"name":"Web","href":"ToSic.Sxc.Dnn.Web.html","topicHref":"ToSic.Sxc.Dnn.Web.html","topicUid":"ToSic.Sxc.Dnn.Web","type":"Namespace","items":[{"name":"IHtmlHelper","href":"ToSic.Sxc.Dnn.Web.IHtmlHelper.html","topicHref":"ToSic.Sxc.Dnn.Web.IHtmlHelper.html","topicUid":"ToSic.Sxc.Dnn.Web.IHtmlHelper","type":"Interface"}]},{"name":"ApiController","href":"ToSic.Sxc.Dnn.ApiController.html","topicHref":"ToSic.Sxc.Dnn.ApiController.html","topicUid":"ToSic.Sxc.Dnn.ApiController","type":"Class"},{"name":"DynamicCode","href":"ToSic.Sxc.Dnn.DynamicCode.html","topicHref":"ToSic.Sxc.Dnn.DynamicCode.html","topicUid":"ToSic.Sxc.Dnn.DynamicCode","type":"Class"},{"name":"Factory","href":"ToSic.Sxc.Dnn.Factory.html","topicHref":"ToSic.Sxc.Dnn.Factory.html","topicUid":"ToSic.Sxc.Dnn.Factory","type":"Class"},{"name":"RazorComponent","href":"ToSic.Sxc.Dnn.RazorComponent.html","topicHref":"ToSic.Sxc.Dnn.RazorComponent.html","topicUid":"ToSic.Sxc.Dnn.RazorComponent","type":"Class"}]},{"name":"Edit.Toolbar","href":"ToSic.Sxc.Edit.Toolbar.html","topicHref":"ToSic.Sxc.Edit.Toolbar.html","topicUid":"ToSic.Sxc.Edit.Toolbar","type":"Namespace","items":[{"name":"IToolbarBuilder","href":"ToSic.Sxc.Edit.Toolbar.IToolbarBuilder.html","topicHref":"ToSic.Sxc.Edit.Toolbar.IToolbarBuilder.html","topicUid":"ToSic.Sxc.Edit.Toolbar.IToolbarBuilder","type":"Interface"},{"name":"ITweakButton","href":"ToSic.Sxc.Edit.Toolbar.ITweakButton.html","topicHref":"ToSic.Sxc.Edit.Toolbar.ITweakButton.html","topicUid":"ToSic.Sxc.Edit.Toolbar.ITweakButton","type":"Interface"}]},{"name":"Images","href":"ToSic.Sxc.Images.html","topicHref":"ToSic.Sxc.Images.html","topicUid":"ToSic.Sxc.Images","type":"Namespace","items":[{"name":"IResizeSettings","href":"ToSic.Sxc.Images.IResizeSettings.html","topicHref":"ToSic.Sxc.Images.IResizeSettings.html","topicUid":"ToSic.Sxc.Images.IResizeSettings","type":"Interface"},{"name":"IResponsiveImage","href":"ToSic.Sxc.Images.IResponsiveImage.html","topicHref":"ToSic.Sxc.Images.IResponsiveImage.html","topicUid":"ToSic.Sxc.Images.IResponsiveImage","type":"Interface"},{"name":"IResponsivePicture","href":"ToSic.Sxc.Images.IResponsivePicture.html","topicHref":"ToSic.Sxc.Images.IResponsivePicture.html","topicUid":"ToSic.Sxc.Images.IResponsivePicture","type":"Interface"},{"name":"ITweakMedia","href":"ToSic.Sxc.Images.ITweakMedia.html","topicHref":"ToSic.Sxc.Images.ITweakMedia.html","topicUid":"ToSic.Sxc.Images.ITweakMedia","type":"Interface"},{"name":"ITweakResize","href":"ToSic.Sxc.Images.ITweakResize.html","topicHref":"ToSic.Sxc.Images.ITweakResize.html","topicUid":"ToSic.Sxc.Images.ITweakResize","type":"Interface"},{"name":"Recipe","href":"ToSic.Sxc.Images.Recipe.html","topicHref":"ToSic.Sxc.Images.Recipe.html","topicUid":"ToSic.Sxc.Images.Recipe","type":"Class"}]},{"name":"LookUp","href":"ToSic.Sxc.LookUp.html","topicHref":"ToSic.Sxc.LookUp.html","topicUid":"ToSic.Sxc.LookUp","type":"Namespace","items":[{"name":"DocsPlaceholder","href":"ToSic.Sxc.LookUp.DocsPlaceholder.html","topicHref":"ToSic.Sxc.LookUp.DocsPlaceholder.html","topicUid":"ToSic.Sxc.LookUp.DocsPlaceholder","type":"Class"}]},{"name":"Models","href":"ToSic.Sxc.Models.html","topicHref":"ToSic.Sxc.Models.html","topicUid":"ToSic.Sxc.Models","type":"Namespace","items":[{"name":"IFileModel","href":"ToSic.Sxc.Models.IFileModel.html","topicHref":"ToSic.Sxc.Models.IFileModel.html","topicUid":"ToSic.Sxc.Models.IFileModel","type":"Interface"},{"name":"IFolderModel","href":"ToSic.Sxc.Models.IFolderModel.html","topicHref":"ToSic.Sxc.Models.IFolderModel.html","topicUid":"ToSic.Sxc.Models.IFolderModel","type":"Interface"},{"name":"IPageModel","href":"ToSic.Sxc.Models.IPageModel.html","topicHref":"ToSic.Sxc.Models.IPageModel.html","topicUid":"ToSic.Sxc.Models.IPageModel","type":"Interface"},{"name":"ISiteModel","href":"ToSic.Sxc.Models.ISiteModel.html","topicHref":"ToSic.Sxc.Models.ISiteModel.html","topicUid":"ToSic.Sxc.Models.ISiteModel","type":"Interface"},{"name":"IUserModel","href":"ToSic.Sxc.Models.IUserModel.html","topicHref":"ToSic.Sxc.Models.IUserModel.html","topicUid":"ToSic.Sxc.Models.IUserModel","type":"Interface"},{"name":"IUserRoleModel","href":"ToSic.Sxc.Models.IUserRoleModel.html","topicHref":"ToSic.Sxc.Models.IUserRoleModel.html","topicUid":"ToSic.Sxc.Models.IUserRoleModel","type":"Interface"}]},{"name":"Search","href":"ToSic.Sxc.Search.html","topicHref":"ToSic.Sxc.Search.html","topicUid":"ToSic.Sxc.Search","type":"Namespace","items":[{"name":"ICustomizeSearch","href":"ToSic.Sxc.Search.ICustomizeSearch.html","topicHref":"ToSic.Sxc.Search.ICustomizeSearch.html","topicUid":"ToSic.Sxc.Search.ICustomizeSearch","type":"Interface"},{"name":"ISearchItem","href":"ToSic.Sxc.Search.ISearchItem.html","topicHref":"ToSic.Sxc.Search.ISearchItem.html","topicUid":"ToSic.Sxc.Search.ISearchItem","type":"Interface"},{"name":"SearchItem","href":"ToSic.Sxc.Search.SearchItem.html","topicHref":"ToSic.Sxc.Search.SearchItem.html","topicUid":"ToSic.Sxc.Search.SearchItem","type":"Class"}]},{"name":"Services 🌟","href":"ToSic.Sxc.Services.html","topicHref":"ToSic.Sxc.Services.html","topicUid":"ToSic.Sxc.Services","type":"Namespace","items":[{"name":"Cache","href":"ToSic.Sxc.Services.Cache.html","topicHref":"ToSic.Sxc.Services.Cache.html","topicUid":"ToSic.Sxc.Services.Cache","type":"Namespace","items":[{"name":"ICacheSpecs","href":"ToSic.Sxc.Services.Cache.ICacheSpecs.html","topicHref":"ToSic.Sxc.Services.Cache.ICacheSpecs.html","topicUid":"ToSic.Sxc.Services.Cache.ICacheSpecs","type":"Interface"}]},{"name":"Template","href":"ToSic.Sxc.Services.Template.html","topicHref":"ToSic.Sxc.Services.Template.html","topicUid":"ToSic.Sxc.Services.Template","type":"Namespace","items":[{"name":"ITemplateEngine","href":"ToSic.Sxc.Services.Template.ITemplateEngine.html","topicHref":"ToSic.Sxc.Services.Template.ITemplateEngine.html","topicUid":"ToSic.Sxc.Services.Template.ITemplateEngine","type":"Interface"}]},{"name":"Tweaks","href":"ToSic.Sxc.Services.Tweaks.html","topicHref":"ToSic.Sxc.Services.Tweaks.html","topicUid":"ToSic.Sxc.Services.Tweaks","type":"Namespace","items":[{"name":"ITweakInput","href":"ToSic.Sxc.Services.Tweaks.ITweakInput-1.html","topicHref":"ToSic.Sxc.Services.Tweaks.ITweakInput-1.html","topicUid":"ToSic.Sxc.Services.Tweaks.ITweakInput`1","type":"Interface"}]},{"name":"DnnExtensions","href":"ToSic.Sxc.Services.DnnExtensions.html","topicHref":"ToSic.Sxc.Services.DnnExtensions.html","topicUid":"ToSic.Sxc.Services.DnnExtensions","type":"Class"},{"name":"IAdamService","href":"ToSic.Sxc.Services.IAdamService.html","topicHref":"ToSic.Sxc.Services.IAdamService.html","topicUid":"ToSic.Sxc.Services.IAdamService","type":"Interface"},{"name":"ICacheService","href":"ToSic.Sxc.Services.ICacheService.html","topicHref":"ToSic.Sxc.Services.ICacheService.html","topicUid":"ToSic.Sxc.Services.ICacheService","type":"Interface"},{"name":"IConvertService","href":"ToSic.Sxc.Services.IConvertService.html","topicHref":"ToSic.Sxc.Services.IConvertService.html","topicUid":"ToSic.Sxc.Services.IConvertService","type":"Interface"},{"name":"IConvertService16","href":"ToSic.Sxc.Services.IConvertService16.html","topicHref":"ToSic.Sxc.Services.IConvertService16.html","topicUid":"ToSic.Sxc.Services.IConvertService16","type":"Interface"},{"name":"IDataService","href":"ToSic.Sxc.Services.IDataService.html","topicHref":"ToSic.Sxc.Services.IDataService.html","topicUid":"ToSic.Sxc.Services.IDataService","type":"Interface"},{"name":"IDynamicCodeService","href":"ToSic.Sxc.Services.IDynamicCodeService.html","topicHref":"ToSic.Sxc.Services.IDynamicCodeService.html","topicUid":"ToSic.Sxc.Services.IDynamicCodeService","type":"Interface"},{"name":"IEditService","href":"ToSic.Sxc.Services.IEditService.html","topicHref":"ToSic.Sxc.Services.IEditService.html","topicUid":"ToSic.Sxc.Services.IEditService","type":"Interface"},{"name":"IFeaturesService","href":"ToSic.Sxc.Services.IFeaturesService.html","topicHref":"ToSic.Sxc.Services.IFeaturesService.html","topicUid":"ToSic.Sxc.Services.IFeaturesService","type":"Interface"},{"name":"IImageService","href":"ToSic.Sxc.Services.IImageService.html","topicHref":"ToSic.Sxc.Services.IImageService.html","topicUid":"ToSic.Sxc.Services.IImageService","type":"Interface"},{"name":"IJsonService","href":"ToSic.Sxc.Services.IJsonService.html","topicHref":"ToSic.Sxc.Services.IJsonService.html","topicUid":"ToSic.Sxc.Services.IJsonService","type":"Interface"},{"name":"IKeyService","href":"ToSic.Sxc.Services.IKeyService.html","topicHref":"ToSic.Sxc.Services.IKeyService.html","topicUid":"ToSic.Sxc.Services.IKeyService","type":"Interface"},{"name":"ILinkService","href":"ToSic.Sxc.Services.ILinkService.html","topicHref":"ToSic.Sxc.Services.ILinkService.html","topicUid":"ToSic.Sxc.Services.ILinkService","type":"Interface"},{"name":"IMailService","href":"ToSic.Sxc.Services.IMailService.html","topicHref":"ToSic.Sxc.Services.IMailService.html","topicUid":"ToSic.Sxc.Services.IMailService","type":"Interface"},{"name":"IPageService","href":"ToSic.Sxc.Services.IPageService.html","topicHref":"ToSic.Sxc.Services.IPageService.html","topicUid":"ToSic.Sxc.Services.IPageService","type":"Interface"},{"name":"IRenderService","href":"ToSic.Sxc.Services.IRenderService.html","topicHref":"ToSic.Sxc.Services.IRenderService.html","topicUid":"ToSic.Sxc.Services.IRenderService","type":"Interface"},{"name":"ISecureDataService","href":"ToSic.Sxc.Services.ISecureDataService.html","topicHref":"ToSic.Sxc.Services.ISecureDataService.html","topicUid":"ToSic.Sxc.Services.ISecureDataService","type":"Interface"},{"name":"ISystemLogService","href":"ToSic.Sxc.Services.ISystemLogService.html","topicHref":"ToSic.Sxc.Services.ISystemLogService.html","topicUid":"ToSic.Sxc.Services.ISystemLogService","type":"Interface"},{"name":"ITemplateService","href":"ToSic.Sxc.Services.ITemplateService.html","topicHref":"ToSic.Sxc.Services.ITemplateService.html","topicUid":"ToSic.Sxc.Services.ITemplateService","type":"Interface"},{"name":"IToolbarService","href":"ToSic.Sxc.Services.IToolbarService.html","topicHref":"ToSic.Sxc.Services.IToolbarService.html","topicUid":"ToSic.Sxc.Services.IToolbarService","type":"Interface"},{"name":"ServiceKit14","href":"ToSic.Sxc.Services.ServiceKit14.html","topicHref":"ToSic.Sxc.Services.ServiceKit14.html","topicUid":"ToSic.Sxc.Services.ServiceKit14","type":"Class"},{"name":"ServiceKit16 🌟","href":"ToSic.Sxc.Services.ServiceKit16.html","topicHref":"ToSic.Sxc.Services.ServiceKit16.html","topicUid":"ToSic.Sxc.Services.ServiceKit16","type":"Class"},{"name":"ServiceKitLight16","href":"ToSic.Sxc.Services.ServiceKitLight16.html","topicHref":"ToSic.Sxc.Services.ServiceKitLight16.html","topicUid":"ToSic.Sxc.Services.ServiceKitLight16","type":"Class"}]},{"name":"WebApi","href":"ToSic.Sxc.WebApi.html","topicHref":"ToSic.Sxc.WebApi.html","topicUid":"ToSic.Sxc.WebApi","type":"Namespace","items":[{"name":"Casing","href":"ToSic.Sxc.WebApi.Casing.html","topicHref":"ToSic.Sxc.WebApi.Casing.html","topicUid":"ToSic.Sxc.WebApi.Casing","type":"Enum"},{"name":"EntityFormat","href":"ToSic.Sxc.WebApi.EntityFormat.html","topicHref":"ToSic.Sxc.WebApi.EntityFormat.html","topicUid":"ToSic.Sxc.WebApi.EntityFormat","type":"Enum"},{"name":"JsonFormatterAttribute","href":"ToSic.Sxc.WebApi.JsonFormatterAttribute.html","topicHref":"ToSic.Sxc.WebApi.JsonFormatterAttribute.html","topicUid":"ToSic.Sxc.WebApi.JsonFormatterAttribute","type":"Class"},{"name":"SecureEndpointAttribute","href":"ToSic.Sxc.WebApi.SecureEndpointAttribute.html","topicHref":"ToSic.Sxc.WebApi.SecureEndpointAttribute.html","topicUid":"ToSic.Sxc.WebApi.SecureEndpointAttribute","type":"Class"}]}]}],"memberLayout":"SamePage"} +{"items":[{"name":"AppCode ⭐","href":"AppCode.html","topicHref":"AppCode.html","topicUid":"AppCode","type":"Namespace","items":[{"name":"_Help","href":"AppCode._Help.html","topicHref":"AppCode._Help.html","topicUid":"AppCode._Help","type":"Class"}]},{"name":"Custom","href":"Custom.html","topicHref":"Custom.html","topicUid":"Custom","type":"Namespace","items":[]},{"name":"Custom.Data","href":"Custom.Data.html","topicHref":"Custom.Data.html","topicUid":"Custom.Data","type":"Namespace","items":[{"name":"CustomItem 💪🏽","href":"Custom.Data.CustomItem.html","topicHref":"Custom.Data.CustomItem.html","topicUid":"Custom.Data.CustomItem","type":"Class"}]},{"name":"Custom.DataSource","href":"Custom.DataSource.html","topicHref":"Custom.DataSource.html","topicUid":"Custom.DataSource","type":"Namespace","items":[{"name":"DataSource16","href":"Custom.DataSource.DataSource16.html","topicHref":"Custom.DataSource.DataSource16.html","topicUid":"Custom.DataSource.DataSource16","type":"Class"}]},{"name":"Custom.Dnn","href":"Custom.Dnn.html","topicHref":"Custom.Dnn.html","topicUid":"Custom.Dnn","type":"Namespace","items":[{"name":"Api12","href":"Custom.Dnn.Api12.html","topicHref":"Custom.Dnn.Api12.html","topicUid":"Custom.Dnn.Api12","type":"Class"},{"name":"Code12","href":"Custom.Dnn.Code12.html","topicHref":"Custom.Dnn.Code12.html","topicUid":"Custom.Dnn.Code12","type":"Class"},{"name":"Razor12","href":"Custom.Dnn.Razor12.html","topicHref":"Custom.Dnn.Razor12.html","topicUid":"Custom.Dnn.Razor12","type":"Class"}]},{"name":"Custom.Hybrid 🪴","href":"Custom.Hybrid.html","topicHref":"Custom.Hybrid.html","topicUid":"Custom.Hybrid","type":"Namespace","items":[{"name":"Api12","href":"Custom.Hybrid.Api12.html","topicHref":"Custom.Hybrid.Api12.html","topicUid":"Custom.Hybrid.Api12","type":"Class"},{"name":"Api14","href":"Custom.Hybrid.Api14.html","topicHref":"Custom.Hybrid.Api14.html","topicUid":"Custom.Hybrid.Api14","type":"Class"},{"name":"ApiTyped 🪴","href":"Custom.Hybrid.ApiTyped.html","topicHref":"Custom.Hybrid.ApiTyped.html","topicUid":"Custom.Hybrid.ApiTyped","type":"Class"},{"name":"Code12","href":"Custom.Hybrid.Code12.html","topicHref":"Custom.Hybrid.Code12.html","topicUid":"Custom.Hybrid.Code12","type":"Class"},{"name":"Code14","href":"Custom.Hybrid.Code14.html","topicHref":"Custom.Hybrid.Code14.html","topicUid":"Custom.Hybrid.Code14","type":"Class"},{"name":"CodeTyped 🪴","href":"Custom.Hybrid.CodeTyped.html","topicHref":"Custom.Hybrid.CodeTyped.html","topicUid":"Custom.Hybrid.CodeTyped","type":"Class"},{"name":"Razor12","href":"Custom.Hybrid.Razor12.html","topicHref":"Custom.Hybrid.Razor12.html","topicUid":"Custom.Hybrid.Razor12","type":"Class"},{"name":"Razor14","href":"Custom.Hybrid.Razor14.html","topicHref":"Custom.Hybrid.Razor14.html","topicUid":"Custom.Hybrid.Razor14","type":"Class"},{"name":"RazorTyped 🪴","href":"Custom.Hybrid.RazorTyped.html","topicHref":"Custom.Hybrid.RazorTyped.html","topicUid":"Custom.Hybrid.RazorTyped","type":"Class"},{"name":"RazorTyped","href":"Custom.Hybrid.RazorTyped-1.html","topicHref":"Custom.Hybrid.RazorTyped-1.html","topicUid":"Custom.Hybrid.RazorTyped`1","type":"Class"}]},{"name":"ToSic","href":"ToSic.html","topicHref":"ToSic.html","topicUid":"ToSic","type":"Namespace","items":[]},{"name":"ToSic.Eav","href":"ToSic.Eav.html","topicHref":"ToSic.Eav.html","topicUid":"ToSic.Eav","type":"Namespace","items":[{"name":"Apps","href":"ToSic.Eav.Apps.html","topicHref":"ToSic.Eav.Apps.html","topicUid":"ToSic.Eav.Apps","type":"Namespace","items":[{"name":"Assets","href":"ToSic.Eav.Apps.Assets.html","topicHref":"ToSic.Eav.Apps.Assets.html","topicUid":"ToSic.Eav.Apps.Assets","type":"Namespace","items":[{"name":"IAsset","href":"ToSic.Eav.Apps.Assets.IAsset.html","topicHref":"ToSic.Eav.Apps.Assets.IAsset.html","topicUid":"ToSic.Eav.Apps.Assets.IAsset","type":"Interface"},{"name":"IFile","href":"ToSic.Eav.Apps.Assets.IFile.html","topicHref":"ToSic.Eav.Apps.Assets.IFile.html","topicUid":"ToSic.Eav.Apps.Assets.IFile","type":"Interface"},{"name":"IFolder","href":"ToSic.Eav.Apps.Assets.IFolder.html","topicHref":"ToSic.Eav.Apps.Assets.IFolder.html","topicUid":"ToSic.Eav.Apps.Assets.IFolder","type":"Interface"},{"name":"ISizeInfo","href":"ToSic.Eav.Apps.Assets.ISizeInfo.html","topicHref":"ToSic.Eav.Apps.Assets.ISizeInfo.html","topicUid":"ToSic.Eav.Apps.Assets.ISizeInfo","type":"Interface"}]},{"name":"Internal","href":"ToSic.Eav.Apps.Internal.html","topicHref":"ToSic.Eav.Apps.Internal.html","topicUid":"ToSic.Eav.Apps.Internal","type":"Namespace","items":[{"name":"IHas","href":"ToSic.Eav.Apps.Internal.IHas-1.html","topicHref":"ToSic.Eav.Apps.Internal.IHas-1.html","topicUid":"ToSic.Eav.Apps.Internal.IHas`1","type":"Interface"}]},{"name":"AppBase","href":"ToSic.Eav.Apps.AppBase-1.html","topicHref":"ToSic.Eav.Apps.AppBase-1.html","topicUid":"ToSic.Eav.Apps.AppBase`1","type":"Class"},{"name":"AppIdentity","href":"ToSic.Eav.Apps.AppIdentity.html","topicHref":"ToSic.Eav.Apps.AppIdentity.html","topicUid":"ToSic.Eav.Apps.AppIdentity","type":"Class"},{"name":"IApp","href":"ToSic.Eav.Apps.IApp.html","topicHref":"ToSic.Eav.Apps.IApp.html","topicUid":"ToSic.Eav.Apps.IApp","type":"Interface"},{"name":"IAppData","href":"ToSic.Eav.Apps.IAppData.html","topicHref":"ToSic.Eav.Apps.IAppData.html","topicUid":"ToSic.Eav.Apps.IAppData","type":"Interface"},{"name":"IAppIdentity","href":"ToSic.Eav.Apps.IAppIdentity.html","topicHref":"ToSic.Eav.Apps.IAppIdentity.html","topicUid":"ToSic.Eav.Apps.IAppIdentity","type":"Interface"},{"name":"IAppIdentityLight","href":"ToSic.Eav.Apps.IAppIdentityLight.html","topicHref":"ToSic.Eav.Apps.IAppIdentityLight.html","topicUid":"ToSic.Eav.Apps.IAppIdentityLight","type":"Interface"},{"name":"IAppReaderFactory","href":"ToSic.Eav.Apps.IAppReaderFactory.html","topicHref":"ToSic.Eav.Apps.IAppReaderFactory.html","topicUid":"ToSic.Eav.Apps.IAppReaderFactory","type":"Interface"},{"name":"IAppsCatalog","href":"ToSic.Eav.Apps.IAppsCatalog.html","topicHref":"ToSic.Eav.Apps.IAppsCatalog.html","topicUid":"ToSic.Eav.Apps.IAppsCatalog","type":"Interface"},{"name":"IZoneIdentity","href":"ToSic.Eav.Apps.IZoneIdentity.html","topicHref":"ToSic.Eav.Apps.IZoneIdentity.html","topicUid":"ToSic.Eav.Apps.IZoneIdentity","type":"Interface"}]},{"name":"Caching","href":"ToSic.Eav.Caching.html","topicHref":"ToSic.Eav.Caching.html","topicUid":"ToSic.Eav.Caching","type":"Namespace","items":[{"name":"AppsCacheBase","href":"ToSic.Eav.Caching.AppsCacheBase.html","topicHref":"ToSic.Eav.Caching.AppsCacheBase.html","topicUid":"ToSic.Eav.Caching.AppsCacheBase","type":"Class"},{"name":"IAppsCache","href":"ToSic.Eav.Caching.IAppsCache.html","topicHref":"ToSic.Eav.Caching.IAppsCache.html","topicUid":"ToSic.Eav.Caching.IAppsCache","type":"Interface"},{"name":"ICacheDependent","href":"ToSic.Eav.Caching.ICacheDependent.html","topicHref":"ToSic.Eav.Caching.ICacheDependent.html","topicUid":"ToSic.Eav.Caching.ICacheDependent","type":"Interface"},{"name":"ICacheExpiring","href":"ToSic.Eav.Caching.ICacheExpiring.html","topicHref":"ToSic.Eav.Caching.ICacheExpiring.html","topicUid":"ToSic.Eav.Caching.ICacheExpiring","type":"Interface"},{"name":"ICacheKey","href":"ToSic.Eav.Caching.ICacheKey.html","topicHref":"ToSic.Eav.Caching.ICacheKey.html","topicUid":"ToSic.Eav.Caching.ICacheKey","type":"Interface"},{"name":"ICacheKeyManager","href":"ToSic.Eav.Caching.ICacheKeyManager.html","topicHref":"ToSic.Eav.Caching.ICacheKeyManager.html","topicUid":"ToSic.Eav.Caching.ICacheKeyManager","type":"Interface"},{"name":"ITimestamped","href":"ToSic.Eav.Caching.ITimestamped.html","topicHref":"ToSic.Eav.Caching.ITimestamped.html","topicUid":"ToSic.Eav.Caching.ITimestamped","type":"Interface"},{"name":"SynchronizedList","href":"ToSic.Eav.Caching.SynchronizedList-1.html","topicHref":"ToSic.Eav.Caching.SynchronizedList-1.html","topicUid":"ToSic.Eav.Caching.SynchronizedList`1","type":"Class"},{"name":"SynchronizedObject","href":"ToSic.Eav.Caching.SynchronizedObject-1.html","topicHref":"ToSic.Eav.Caching.SynchronizedObject-1.html","topicUid":"ToSic.Eav.Caching.SynchronizedObject`1","type":"Class"}]},{"name":"Data","href":"ToSic.Eav.Data.html","topicHref":"ToSic.Eav.Data.html","topicUid":"ToSic.Eav.Data","type":"Namespace","items":[{"name":"Build","href":"ToSic.Eav.Data.Build.html","topicHref":"ToSic.Eav.Data.Build.html","topicUid":"ToSic.Eav.Data.Build","type":"Namespace","items":[{"name":"DataFactoryOptions","href":"ToSic.Eav.Data.Build.DataFactoryOptions.html","topicHref":"ToSic.Eav.Data.Build.DataFactoryOptions.html","topicUid":"ToSic.Eav.Data.Build.DataFactoryOptions","type":"Class"},{"name":"EntityPair","href":"ToSic.Eav.Data.Build.EntityPair-1.html","topicHref":"ToSic.Eav.Data.Build.EntityPair-1.html","topicUid":"ToSic.Eav.Data.Build.EntityPair`1","type":"Class"},{"name":"IDataFactory","href":"ToSic.Eav.Data.Build.IDataFactory.html","topicHref":"ToSic.Eav.Data.Build.IDataFactory.html","topicUid":"ToSic.Eav.Data.Build.IDataFactory","type":"Interface"},{"name":"IEntityPair","href":"ToSic.Eav.Data.Build.IEntityPair-1.html","topicHref":"ToSic.Eav.Data.Build.IEntityPair-1.html","topicUid":"ToSic.Eav.Data.Build.IEntityPair`1","type":"Interface"}]},{"name":"Raw","href":"ToSic.Eav.Data.Raw.html","topicHref":"ToSic.Eav.Data.Raw.html","topicUid":"ToSic.Eav.Data.Raw","type":"Namespace","items":[{"name":"IHasRawEntity","href":"ToSic.Eav.Data.Raw.IHasRawEntity-1.html","topicHref":"ToSic.Eav.Data.Raw.IHasRawEntity-1.html","topicUid":"ToSic.Eav.Data.Raw.IHasRawEntity`1","type":"Interface"},{"name":"RawConvertOptions","href":"ToSic.Eav.Data.Raw.RawConvertOptions.html","topicHref":"ToSic.Eav.Data.Raw.RawConvertOptions.html","topicUid":"ToSic.Eav.Data.Raw.RawConvertOptions","type":"Class"}]},{"name":"IAttribute","href":"ToSic.Eav.Data.IAttribute.html","topicHref":"ToSic.Eav.Data.IAttribute.html","topicUid":"ToSic.Eav.Data.IAttribute","type":"Interface"},{"name":"IAttributeBase","href":"ToSic.Eav.Data.IAttributeBase.html","topicHref":"ToSic.Eav.Data.IAttributeBase.html","topicUid":"ToSic.Eav.Data.IAttributeBase","type":"Interface"},{"name":"IAttribute","href":"ToSic.Eav.Data.IAttribute-1.html","topicHref":"ToSic.Eav.Data.IAttribute-1.html","topicUid":"ToSic.Eav.Data.IAttribute`1","type":"Interface"},{"name":"IContentType","href":"ToSic.Eav.Data.IContentType.html","topicHref":"ToSic.Eav.Data.IContentType.html","topicUid":"ToSic.Eav.Data.IContentType","type":"Interface"},{"name":"IContentTypeAttribute","href":"ToSic.Eav.Data.IContentTypeAttribute.html","topicHref":"ToSic.Eav.Data.IContentTypeAttribute.html","topicUid":"ToSic.Eav.Data.IContentTypeAttribute","type":"Interface"},{"name":"IConvertEntity","href":"ToSic.Eav.Data.IConvertEntity-1.html","topicHref":"ToSic.Eav.Data.IConvertEntity-1.html","topicUid":"ToSic.Eav.Data.IConvertEntity`1","type":"Interface"},{"name":"IConvert","href":"ToSic.Eav.Data.IConvert-2.html","topicHref":"ToSic.Eav.Data.IConvert-2.html","topicUid":"ToSic.Eav.Data.IConvert`2","type":"Interface"},{"name":"IDecorator","href":"ToSic.Eav.Data.IDecorator.html","topicHref":"ToSic.Eav.Data.IDecorator.html","topicUid":"ToSic.Eav.Data.IDecorator","type":"Interface"},{"name":"IDecorator","href":"ToSic.Eav.Data.IDecorator-1.html","topicHref":"ToSic.Eav.Data.IDecorator-1.html","topicUid":"ToSic.Eav.Data.IDecorator`1","type":"Interface"},{"name":"IDimension","href":"ToSic.Eav.Data.IDimension.html","topicHref":"ToSic.Eav.Data.IDimension.html","topicUid":"ToSic.Eav.Data.IDimension","type":"Interface"},{"name":"IEntity","href":"ToSic.Eav.Data.IEntity.html","topicHref":"ToSic.Eav.Data.IEntity.html","topicUid":"ToSic.Eav.Data.IEntity","type":"Interface"},{"name":"IEntityLight","href":"ToSic.Eav.Data.IEntityLight.html","topicHref":"ToSic.Eav.Data.IEntityLight.html","topicUid":"ToSic.Eav.Data.IEntityLight","type":"Interface"},{"name":"IEntityRelationships","href":"ToSic.Eav.Data.IEntityRelationships.html","topicHref":"ToSic.Eav.Data.IEntityRelationships.html","topicUid":"ToSic.Eav.Data.IEntityRelationships","type":"Interface"},{"name":"IHasDecorators","href":"ToSic.Eav.Data.IHasDecorators-1.html","topicHref":"ToSic.Eav.Data.IHasDecorators-1.html","topicUid":"ToSic.Eav.Data.IHasDecorators`1","type":"Interface"},{"name":"ILanguage","href":"ToSic.Eav.Data.ILanguage.html","topicHref":"ToSic.Eav.Data.ILanguage.html","topicUid":"ToSic.Eav.Data.ILanguage","type":"Interface"},{"name":"IValue","href":"ToSic.Eav.Data.IValue.html","topicHref":"ToSic.Eav.Data.IValue.html","topicUid":"ToSic.Eav.Data.IValue","type":"Interface"},{"name":"IValueConverter","href":"ToSic.Eav.Data.IValueConverter.html","topicHref":"ToSic.Eav.Data.IValueConverter.html","topicUid":"ToSic.Eav.Data.IValueConverter","type":"Interface"},{"name":"IValue","href":"ToSic.Eav.Data.IValue-1.html","topicHref":"ToSic.Eav.Data.IValue-1.html","topicUid":"ToSic.Eav.Data.IValue`1","type":"Interface"},{"name":"ValueTypes","href":"ToSic.Eav.Data.ValueTypes.html","topicHref":"ToSic.Eav.Data.ValueTypes.html","topicUid":"ToSic.Eav.Data.ValueTypes","type":"Enum"}]},{"name":"DataFormats.EavLight","href":"ToSic.Eav.DataFormats.EavLight.html","topicHref":"ToSic.Eav.DataFormats.EavLight.html","topicUid":"ToSic.Eav.DataFormats.EavLight","type":"Namespace","items":[{"name":"EavLightEntity","href":"ToSic.Eav.DataFormats.EavLight.EavLightEntity.html","topicHref":"ToSic.Eav.DataFormats.EavLight.EavLightEntity.html","topicUid":"ToSic.Eav.DataFormats.EavLight.EavLightEntity","type":"Class"},{"name":"EavLightEntityReference","href":"ToSic.Eav.DataFormats.EavLight.EavLightEntityReference.html","topicHref":"ToSic.Eav.DataFormats.EavLight.EavLightEntityReference.html","topicUid":"ToSic.Eav.DataFormats.EavLight.EavLightEntityReference","type":"Class"},{"name":"IConvertToEavLight","href":"ToSic.Eav.DataFormats.EavLight.IConvertToEavLight.html","topicHref":"ToSic.Eav.DataFormats.EavLight.IConvertToEavLight.html","topicUid":"ToSic.Eav.DataFormats.EavLight.IConvertToEavLight","type":"Interface"}]},{"name":"DataSource","href":"ToSic.Eav.DataSource.html","topicHref":"ToSic.Eav.DataSource.html","topicUid":"ToSic.Eav.DataSource","type":"Namespace","items":[{"name":"VisualQuery","href":"ToSic.Eav.DataSource.VisualQuery.html","topicHref":"ToSic.Eav.DataSource.VisualQuery.html","topicUid":"ToSic.Eav.DataSource.VisualQuery","type":"Namespace","items":[{"name":"Audience","href":"ToSic.Eav.DataSource.VisualQuery.Audience.html","topicHref":"ToSic.Eav.DataSource.VisualQuery.Audience.html","topicUid":"ToSic.Eav.DataSource.VisualQuery.Audience","type":"Enum"},{"name":"DataSourceType","href":"ToSic.Eav.DataSource.VisualQuery.DataSourceType.html","topicHref":"ToSic.Eav.DataSource.VisualQuery.DataSourceType.html","topicUid":"ToSic.Eav.DataSource.VisualQuery.DataSourceType","type":"Enum"},{"name":"VisualQueryAttribute","href":"ToSic.Eav.DataSource.VisualQuery.VisualQueryAttribute.html","topicHref":"ToSic.Eav.DataSource.VisualQuery.VisualQueryAttribute.html","topicUid":"ToSic.Eav.DataSource.VisualQuery.VisualQueryAttribute","type":"Class"}]},{"name":"ConfigurationAttribute","href":"ToSic.Eav.DataSource.ConfigurationAttribute.html","topicHref":"ToSic.Eav.DataSource.ConfigurationAttribute.html","topicUid":"ToSic.Eav.DataSource.ConfigurationAttribute","type":"Class"},{"name":"CustomDataSource","href":"ToSic.Eav.DataSource.CustomDataSource.html","topicHref":"ToSic.Eav.DataSource.CustomDataSource.html","topicUid":"ToSic.Eav.DataSource.CustomDataSource","type":"Class"},{"name":"CustomDataSourceAdvanced","href":"ToSic.Eav.DataSource.CustomDataSourceAdvanced.html","topicHref":"ToSic.Eav.DataSource.CustomDataSourceAdvanced.html","topicUid":"ToSic.Eav.DataSource.CustomDataSourceAdvanced","type":"Class"},{"name":"DataSourceBase","href":"ToSic.Eav.DataSource.DataSourceBase.html","topicHref":"ToSic.Eav.DataSource.DataSourceBase.html","topicUid":"ToSic.Eav.DataSource.DataSourceBase","type":"Class"},{"name":"DataSourceConstants","href":"ToSic.Eav.DataSource.DataSourceConstants.html","topicHref":"ToSic.Eav.DataSource.DataSourceConstants.html","topicUid":"ToSic.Eav.DataSource.DataSourceConstants","type":"Class"},{"name":"DataSourceErrorHelper","href":"ToSic.Eav.DataSource.DataSourceErrorHelper.html","topicHref":"ToSic.Eav.DataSource.DataSourceErrorHelper.html","topicUid":"ToSic.Eav.DataSource.DataSourceErrorHelper","type":"Class"},{"name":"IDataSource","href":"ToSic.Eav.DataSource.IDataSource.html","topicHref":"ToSic.Eav.DataSource.IDataSource.html","topicUid":"ToSic.Eav.DataSource.IDataSource","type":"Interface"},{"name":"IDataSourceConfiguration","href":"ToSic.Eav.DataSource.IDataSourceConfiguration.html","topicHref":"ToSic.Eav.DataSource.IDataSourceConfiguration.html","topicUid":"ToSic.Eav.DataSource.IDataSourceConfiguration","type":"Interface"},{"name":"IDataSourceLink","href":"ToSic.Eav.DataSource.IDataSourceLink.html","topicHref":"ToSic.Eav.DataSource.IDataSourceLink.html","topicUid":"ToSic.Eav.DataSource.IDataSourceLink","type":"Interface"},{"name":"IDataSourceLinkable","href":"ToSic.Eav.DataSource.IDataSourceLinkable.html","topicHref":"ToSic.Eav.DataSource.IDataSourceLinkable.html","topicUid":"ToSic.Eav.DataSource.IDataSourceLinkable","type":"Interface"},{"name":"IDataStream","href":"ToSic.Eav.DataSource.IDataStream.html","topicHref":"ToSic.Eav.DataSource.IDataStream.html","topicUid":"ToSic.Eav.DataSource.IDataStream","type":"Interface"},{"name":"IQuery","href":"ToSic.Eav.DataSource.IQuery.html","topicHref":"ToSic.Eav.DataSource.IQuery.html","topicUid":"ToSic.Eav.DataSource.IQuery","type":"Interface"}]},{"name":"DataSources","href":"ToSic.Eav.DataSources.html","topicHref":"ToSic.Eav.DataSources.html","topicUid":"ToSic.Eav.DataSources","type":"Namespace","items":[{"name":"Caching","href":"ToSic.Eav.DataSources.Caching.html","topicHref":"ToSic.Eav.DataSources.Caching.html","topicUid":"ToSic.Eav.DataSources.Caching","type":"Namespace","items":[{"name":"CacheAllStreams","href":"ToSic.Eav.DataSources.Caching.CacheAllStreams.html","topicHref":"ToSic.Eav.DataSources.Caching.CacheAllStreams.html","topicUid":"ToSic.Eav.DataSources.Caching.CacheAllStreams","type":"Class"}]},{"name":"Sys","href":"ToSic.Eav.DataSources.Sys.html","topicHref":"ToSic.Eav.DataSources.Sys.html","topicUid":"ToSic.Eav.DataSources.Sys","type":"Namespace","items":[{"name":"Apps","href":"ToSic.Eav.DataSources.Sys.Apps.html","topicHref":"ToSic.Eav.DataSources.Sys.Apps.html","topicUid":"ToSic.Eav.DataSources.Sys.Apps","type":"Class"},{"name":"Attributes","href":"ToSic.Eav.DataSources.Sys.Attributes.html","topicHref":"ToSic.Eav.DataSources.Sys.Attributes.html","topicUid":"ToSic.Eav.DataSources.Sys.Attributes","type":"Class"},{"name":"ContentTypes","href":"ToSic.Eav.DataSources.Sys.ContentTypes.html","topicHref":"ToSic.Eav.DataSources.Sys.ContentTypes.html","topicUid":"ToSic.Eav.DataSources.Sys.ContentTypes","type":"Class"},{"name":"Features","href":"ToSic.Eav.DataSources.Sys.Features.html","topicHref":"ToSic.Eav.DataSources.Sys.Features.html","topicUid":"ToSic.Eav.DataSources.Sys.Features","type":"Class"},{"name":"Licenses","href":"ToSic.Eav.DataSources.Sys.Licenses.html","topicHref":"ToSic.Eav.DataSources.Sys.Licenses.html","topicUid":"ToSic.Eav.DataSources.Sys.Licenses","type":"Class"},{"name":"MetadataTargetTypes","href":"ToSic.Eav.DataSources.Sys.MetadataTargetTypes.html","topicHref":"ToSic.Eav.DataSources.Sys.MetadataTargetTypes.html","topicUid":"ToSic.Eav.DataSources.Sys.MetadataTargetTypes","type":"Class"},{"name":"QueryInfo","href":"ToSic.Eav.DataSources.Sys.QueryInfo.html","topicHref":"ToSic.Eav.DataSources.Sys.QueryInfo.html","topicUid":"ToSic.Eav.DataSources.Sys.QueryInfo","type":"Class"},{"name":"Scopes","href":"ToSic.Eav.DataSources.Sys.Scopes.html","topicHref":"ToSic.Eav.DataSources.Sys.Scopes.html","topicUid":"ToSic.Eav.DataSources.Sys.Scopes","type":"Class"},{"name":"SystemStack","href":"ToSic.Eav.DataSources.Sys.SystemStack.html","topicHref":"ToSic.Eav.DataSources.Sys.SystemStack.html","topicUid":"ToSic.Eav.DataSources.Sys.SystemStack","type":"Class"},{"name":"Zones","href":"ToSic.Eav.DataSources.Sys.Zones.html","topicHref":"ToSic.Eav.DataSources.Sys.Zones.html","topicUid":"ToSic.Eav.DataSources.Sys.Zones","type":"Class"}]},{"name":"App","href":"ToSic.Eav.DataSources.App.html","topicHref":"ToSic.Eav.DataSources.App.html","topicUid":"ToSic.Eav.DataSources.App","type":"Class"},{"name":"AppRoot","href":"ToSic.Eav.DataSources.AppRoot.html","topicHref":"ToSic.Eav.DataSources.AppRoot.html","topicUid":"ToSic.Eav.DataSources.AppRoot","type":"Class"},{"name":"AttributeFilter","href":"ToSic.Eav.DataSources.AttributeFilter.html","topicHref":"ToSic.Eav.DataSources.AttributeFilter.html","topicUid":"ToSic.Eav.DataSources.AttributeFilter","type":"Class"},{"name":"AttributeRename","href":"ToSic.Eav.DataSources.AttributeRename.html","topicHref":"ToSic.Eav.DataSources.AttributeRename.html","topicUid":"ToSic.Eav.DataSources.AttributeRename","type":"Class"},{"name":"Children","href":"ToSic.Eav.DataSources.Children.html","topicHref":"ToSic.Eav.DataSources.Children.html","topicUid":"ToSic.Eav.DataSources.Children","type":"Class"},{"name":"Csv","href":"ToSic.Eav.DataSources.Csv.html","topicHref":"ToSic.Eav.DataSources.Csv.html","topicUid":"ToSic.Eav.DataSources.Csv","type":"Class"},{"name":"DataTable","href":"ToSic.Eav.DataSources.DataTable.html","topicHref":"ToSic.Eav.DataSources.DataTable.html","topicUid":"ToSic.Eav.DataSources.DataTable","type":"Class"},{"name":"EntityIdFilter","href":"ToSic.Eav.DataSources.EntityIdFilter.html","topicHref":"ToSic.Eav.DataSources.EntityIdFilter.html","topicUid":"ToSic.Eav.DataSources.EntityIdFilter","type":"Class"},{"name":"EntityTypeFilter","href":"ToSic.Eav.DataSources.EntityTypeFilter.html","topicHref":"ToSic.Eav.DataSources.EntityTypeFilter.html","topicUid":"ToSic.Eav.DataSources.EntityTypeFilter","type":"Class"},{"name":"Error","href":"ToSic.Eav.DataSources.Error.html","topicHref":"ToSic.Eav.DataSources.Error.html","topicUid":"ToSic.Eav.DataSources.Error","type":"Class"},{"name":"IAppRoot","href":"ToSic.Eav.DataSources.IAppRoot.html","topicHref":"ToSic.Eav.DataSources.IAppRoot.html","topicUid":"ToSic.Eav.DataSources.IAppRoot","type":"Interface"},{"name":"ItemFilterDuplicates","href":"ToSic.Eav.DataSources.ItemFilterDuplicates.html","topicHref":"ToSic.Eav.DataSources.ItemFilterDuplicates.html","topicUid":"ToSic.Eav.DataSources.ItemFilterDuplicates","type":"Class"},{"name":"LanguageModeler","href":"ToSic.Eav.DataSources.LanguageModeler.html","topicHref":"ToSic.Eav.DataSources.LanguageModeler.html","topicUid":"ToSic.Eav.DataSources.LanguageModeler","type":"Class"},{"name":"Metadata","href":"ToSic.Eav.DataSources.Metadata.html","topicHref":"ToSic.Eav.DataSources.Metadata.html","topicUid":"ToSic.Eav.DataSources.Metadata","type":"Class"},{"name":"MetadataTargets","href":"ToSic.Eav.DataSources.MetadataTargets.html","topicHref":"ToSic.Eav.DataSources.MetadataTargets.html","topicUid":"ToSic.Eav.DataSources.MetadataTargets","type":"Class"},{"name":"OwnerFilter","href":"ToSic.Eav.DataSources.OwnerFilter.html","topicHref":"ToSic.Eav.DataSources.OwnerFilter.html","topicUid":"ToSic.Eav.DataSources.OwnerFilter","type":"Class"},{"name":"Paging","href":"ToSic.Eav.DataSources.Paging.html","topicHref":"ToSic.Eav.DataSources.Paging.html","topicUid":"ToSic.Eav.DataSources.Paging","type":"Class"},{"name":"Parents","href":"ToSic.Eav.DataSources.Parents.html","topicHref":"ToSic.Eav.DataSources.Parents.html","topicUid":"ToSic.Eav.DataSources.Parents","type":"Class"},{"name":"PassThrough","href":"ToSic.Eav.DataSources.PassThrough.html","topicHref":"ToSic.Eav.DataSources.PassThrough.html","topicUid":"ToSic.Eav.DataSources.PassThrough","type":"Class"},{"name":"PublishingFilter","href":"ToSic.Eav.DataSources.PublishingFilter.html","topicHref":"ToSic.Eav.DataSources.PublishingFilter.html","topicUid":"ToSic.Eav.DataSources.PublishingFilter","type":"Class"},{"name":"QueryRun","href":"ToSic.Eav.DataSources.QueryRun.html","topicHref":"ToSic.Eav.DataSources.QueryRun.html","topicUid":"ToSic.Eav.DataSources.QueryRun","type":"Class"},{"name":"RelationshipFilter","href":"ToSic.Eav.DataSources.RelationshipFilter.html","topicHref":"ToSic.Eav.DataSources.RelationshipFilter.html","topicUid":"ToSic.Eav.DataSources.RelationshipFilter","type":"Class"},{"name":"Serialization","href":"ToSic.Eav.DataSources.Serialization.html","topicHref":"ToSic.Eav.DataSources.Serialization.html","topicUid":"ToSic.Eav.DataSources.Serialization","type":"Class"},{"name":"Shuffle","href":"ToSic.Eav.DataSources.Shuffle.html","topicHref":"ToSic.Eav.DataSources.Shuffle.html","topicUid":"ToSic.Eav.DataSources.Shuffle","type":"Class"},{"name":"Sql","href":"ToSic.Eav.DataSources.Sql.html","topicHref":"ToSic.Eav.DataSources.Sql.html","topicUid":"ToSic.Eav.DataSources.Sql","type":"Class"},{"name":"StreamFallback","href":"ToSic.Eav.DataSources.StreamFallback.html","topicHref":"ToSic.Eav.DataSources.StreamFallback.html","topicUid":"ToSic.Eav.DataSources.StreamFallback","type":"Class"},{"name":"StreamMerge","href":"ToSic.Eav.DataSources.StreamMerge.html","topicHref":"ToSic.Eav.DataSources.StreamMerge.html","topicUid":"ToSic.Eav.DataSources.StreamMerge","type":"Class"},{"name":"StreamPick","href":"ToSic.Eav.DataSources.StreamPick.html","topicHref":"ToSic.Eav.DataSources.StreamPick.html","topicUid":"ToSic.Eav.DataSources.StreamPick","type":"Class"},{"name":"TreeModeler","href":"ToSic.Eav.DataSources.TreeModeler.html","topicHref":"ToSic.Eav.DataSources.TreeModeler.html","topicUid":"ToSic.Eav.DataSources.TreeModeler","type":"Class"},{"name":"ValueFilter","href":"ToSic.Eav.DataSources.ValueFilter.html","topicHref":"ToSic.Eav.DataSources.ValueFilter.html","topicUid":"ToSic.Eav.DataSources.ValueFilter","type":"Class"},{"name":"ValueSort","href":"ToSic.Eav.DataSources.ValueSort.html","topicHref":"ToSic.Eav.DataSources.ValueSort.html","topicUid":"ToSic.Eav.DataSources.ValueSort","type":"Class"}]},{"name":"LookUp","href":"ToSic.Eav.LookUp.html","topicHref":"ToSic.Eav.LookUp.html","topicUid":"ToSic.Eav.LookUp","type":"Namespace","items":[{"name":"ILookUp","href":"ToSic.Eav.LookUp.ILookUp.html","topicHref":"ToSic.Eav.LookUp.ILookUp.html","topicUid":"ToSic.Eav.LookUp.ILookUp","type":"Interface"},{"name":"ILookUpEngine","href":"ToSic.Eav.LookUp.ILookUpEngine.html","topicHref":"ToSic.Eav.LookUp.ILookUpEngine.html","topicUid":"ToSic.Eav.LookUp.ILookUpEngine","type":"Interface"},{"name":"ILookUpEngineResolver","href":"ToSic.Eav.LookUp.ILookUpEngineResolver.html","topicHref":"ToSic.Eav.LookUp.ILookUpEngineResolver.html","topicUid":"ToSic.Eav.LookUp.ILookUpEngineResolver","type":"Interface"},{"name":"LookUpBase","href":"ToSic.Eav.LookUp.LookUpBase.html","topicHref":"ToSic.Eav.LookUp.LookUpBase.html","topicUid":"ToSic.Eav.LookUp.LookUpBase","type":"Class"},{"name":"LookUpInDictionary","href":"ToSic.Eav.LookUp.LookUpInDictionary.html","topicHref":"ToSic.Eav.LookUp.LookUpInDictionary.html","topicUid":"ToSic.Eav.LookUp.LookUpInDictionary","type":"Class"},{"name":"LookUpInEntity","href":"ToSic.Eav.LookUp.LookUpInEntity.html","topicHref":"ToSic.Eav.LookUp.LookUpInEntity.html","topicUid":"ToSic.Eav.LookUp.LookUpInEntity","type":"Class"},{"name":"LookUpInLookUps","href":"ToSic.Eav.LookUp.LookUpInLookUps.html","topicHref":"ToSic.Eav.LookUp.LookUpInLookUps.html","topicUid":"ToSic.Eav.LookUp.LookUpInLookUps","type":"Class"},{"name":"LookUpInNameValueCollection","href":"ToSic.Eav.LookUp.LookUpInNameValueCollection.html","topicHref":"ToSic.Eav.LookUp.LookUpInNameValueCollection.html","topicUid":"ToSic.Eav.LookUp.LookUpInNameValueCollection","type":"Class"},{"name":"LookUpIn","href":"ToSic.Eav.LookUp.LookUpIn-1.html","topicHref":"ToSic.Eav.LookUp.LookUpIn-1.html","topicUid":"ToSic.Eav.LookUp.LookUpIn`1","type":"Class"}]},{"name":"Metadata","href":"ToSic.Eav.Metadata.html","topicHref":"ToSic.Eav.Metadata.html","topicUid":"ToSic.Eav.Metadata","type":"Namespace","items":[{"name":"IHasMetadata","href":"ToSic.Eav.Metadata.IHasMetadata.html","topicHref":"ToSic.Eav.Metadata.IHasMetadata.html","topicUid":"ToSic.Eav.Metadata.IHasMetadata","type":"Interface"},{"name":"IMetadataGet","href":"ToSic.Eav.Metadata.IMetadataGet.html","topicHref":"ToSic.Eav.Metadata.IMetadataGet.html","topicUid":"ToSic.Eav.Metadata.IMetadataGet","type":"Interface"},{"name":"IMetadataOf","href":"ToSic.Eav.Metadata.IMetadataOf.html","topicHref":"ToSic.Eav.Metadata.IMetadataOf.html","topicUid":"ToSic.Eav.Metadata.IMetadataOf","type":"Interface"},{"name":"TargetTypes","href":"ToSic.Eav.Metadata.TargetTypes.html","topicHref":"ToSic.Eav.Metadata.TargetTypes.html","topicUid":"ToSic.Eav.Metadata.TargetTypes","type":"Enum"}]},{"name":"Repositories","href":"ToSic.Eav.Repositories.html","topicHref":"ToSic.Eav.Repositories.html","topicUid":"ToSic.Eav.Repositories","type":"Namespace","items":[{"name":"FolderBasedRepository","href":"ToSic.Eav.Repositories.FolderBasedRepository.html","topicHref":"ToSic.Eav.Repositories.FolderBasedRepository.html","topicUid":"ToSic.Eav.Repositories.FolderBasedRepository","type":"Class"}]},{"name":"Security","href":"ToSic.Eav.Security.html","topicHref":"ToSic.Eav.Security.html","topicUid":"ToSic.Eav.Security","type":"Namespace","items":[{"name":"IHasPermissions","href":"ToSic.Eav.Security.IHasPermissions.html","topicHref":"ToSic.Eav.Security.IHasPermissions.html","topicUid":"ToSic.Eav.Security.IHasPermissions","type":"Interface"},{"name":"Permission","href":"ToSic.Eav.Security.Permission.html","topicHref":"ToSic.Eav.Security.Permission.html","topicUid":"ToSic.Eav.Security.Permission","type":"Class"}]},{"name":"Services","href":"ToSic.Eav.Services.html","topicHref":"ToSic.Eav.Services.html","topicUid":"ToSic.Eav.Services","type":"Namespace","items":[{"name":"IDataSourceGenerator","href":"ToSic.Eav.Services.IDataSourceGenerator-1.html","topicHref":"ToSic.Eav.Services.IDataSourceGenerator-1.html","topicUid":"ToSic.Eav.Services.IDataSourceGenerator`1","type":"Interface"},{"name":"IDataSourcesService","href":"ToSic.Eav.Services.IDataSourcesService.html","topicHref":"ToSic.Eav.Services.IDataSourcesService.html","topicUid":"ToSic.Eav.Services.IDataSourcesService","type":"Interface"}]},{"name":"Factory","href":"ToSic.Eav.Factory.html","topicHref":"ToSic.Eav.Factory.html","topicUid":"ToSic.Eav.Factory","type":"Class"}]},{"name":"ToSic.Lib","href":"ToSic.Lib.html","topicHref":"ToSic.Lib.html","topicUid":"ToSic.Lib","type":"Namespace","items":[{"name":"Coding","href":"ToSic.Lib.Coding.html","topicHref":"ToSic.Lib.Coding.html","topicUid":"ToSic.Lib.Coding","type":"Namespace","items":[{"name":"NoParamOrder","href":"ToSic.Lib.Coding.NoParamOrder.html","topicHref":"ToSic.Lib.Coding.NoParamOrder.html","topicUid":"ToSic.Lib.Coding.NoParamOrder","type":"Struct"}]},{"name":"DI","href":"ToSic.Lib.DI.html","topicHref":"ToSic.Lib.DI.html","topicUid":"ToSic.Lib.DI","type":"Namespace","items":[{"name":"Generator","href":"ToSic.Lib.DI.Generator-1.html","topicHref":"ToSic.Lib.DI.Generator-1.html","topicUid":"ToSic.Lib.DI.Generator`1","type":"Class"},{"name":"LazyImplementation","href":"ToSic.Lib.DI.LazyImplementation-1.html","topicHref":"ToSic.Lib.DI.LazyImplementation-1.html","topicUid":"ToSic.Lib.DI.LazyImplementation`1","type":"Class"},{"name":"LazySvc","href":"ToSic.Lib.DI.LazySvc-1.html","topicHref":"ToSic.Lib.DI.LazySvc-1.html","topicUid":"ToSic.Lib.DI.LazySvc`1","type":"Class"}]},{"name":"Data","href":"ToSic.Lib.Data.html","topicHref":"ToSic.Lib.Data.html","topicUid":"ToSic.Lib.Data","type":"Namespace","items":[{"name":"IHasIdentityNameId","href":"ToSic.Lib.Data.IHasIdentityNameId.html","topicHref":"ToSic.Lib.Data.IHasIdentityNameId.html","topicUid":"ToSic.Lib.Data.IHasIdentityNameId","type":"Interface"}]},{"name":"Documentation","href":"ToSic.Lib.Documentation.html","topicHref":"ToSic.Lib.Documentation.html","topicUid":"ToSic.Lib.Documentation","type":"Namespace","items":[{"name":"DocumentationPlaceholder","href":"ToSic.Lib.Documentation.DocumentationPlaceholder.html","topicHref":"ToSic.Lib.Documentation.DocumentationPlaceholder.html","topicUid":"ToSic.Lib.Documentation.DocumentationPlaceholder","type":"Class"},{"name":"InternalApi_DoNotUse_MayChangeWithoutNotice","href":"ToSic.Lib.Documentation.InternalApi_DoNotUse_MayChangeWithoutNotice.html","topicHref":"ToSic.Lib.Documentation.InternalApi_DoNotUse_MayChangeWithoutNotice.html","topicUid":"ToSic.Lib.Documentation.InternalApi_DoNotUse_MayChangeWithoutNotice","type":"Class"},{"name":"PrivateApi","href":"ToSic.Lib.Documentation.PrivateApi.html","topicHref":"ToSic.Lib.Documentation.PrivateApi.html","topicUid":"ToSic.Lib.Documentation.PrivateApi","type":"Class"},{"name":"PublicApi","href":"ToSic.Lib.Documentation.PublicApi.html","topicHref":"ToSic.Lib.Documentation.PublicApi.html","topicUid":"ToSic.Lib.Documentation.PublicApi","type":"Class"}]},{"name":"Helpers","href":"ToSic.Lib.Helpers.html","topicHref":"ToSic.Lib.Helpers.html","topicUid":"ToSic.Lib.Helpers","type":"Namespace","items":[{"name":"GetOnceNamed","href":"ToSic.Lib.Helpers.GetOnceNamed-1.html","topicHref":"ToSic.Lib.Helpers.GetOnceNamed-1.html","topicUid":"ToSic.Lib.Helpers.GetOnceNamed`1","type":"Class"},{"name":"GetOnce","href":"ToSic.Lib.Helpers.GetOnce-1.html","topicHref":"ToSic.Lib.Helpers.GetOnce-1.html","topicUid":"ToSic.Lib.Helpers.GetOnce`1","type":"Class"}]},{"name":"Logging","href":"ToSic.Lib.Logging.html","topicHref":"ToSic.Lib.Logging.html","topicUid":"ToSic.Lib.Logging","type":"Namespace","items":[{"name":"CodeRef","href":"ToSic.Lib.Logging.CodeRef.html","topicHref":"ToSic.Lib.Logging.CodeRef.html","topicUid":"ToSic.Lib.Logging.CodeRef","type":"Class"},{"name":"ICanDebug","href":"ToSic.Lib.Logging.ICanDebug.html","topicHref":"ToSic.Lib.Logging.ICanDebug.html","topicUid":"ToSic.Lib.Logging.ICanDebug","type":"Interface"},{"name":"ICanDump","href":"ToSic.Lib.Logging.ICanDump.html","topicHref":"ToSic.Lib.Logging.ICanDump.html","topicUid":"ToSic.Lib.Logging.ICanDump","type":"Interface"},{"name":"IHasLog","href":"ToSic.Lib.Logging.IHasLog.html","topicHref":"ToSic.Lib.Logging.IHasLog.html","topicUid":"ToSic.Lib.Logging.IHasLog","type":"Interface"},{"name":"IHasLogExtensions","href":"ToSic.Lib.Logging.IHasLogExtensions.html","topicHref":"ToSic.Lib.Logging.IHasLogExtensions.html","topicUid":"ToSic.Lib.Logging.IHasLogExtensions","type":"Class"},{"name":"ILog","href":"ToSic.Lib.Logging.ILog.html","topicHref":"ToSic.Lib.Logging.ILog.html","topicUid":"ToSic.Lib.Logging.ILog","type":"Interface"},{"name":"ILogCall","href":"ToSic.Lib.Logging.ILogCall.html","topicHref":"ToSic.Lib.Logging.ILogCall.html","topicUid":"ToSic.Lib.Logging.ILogCall","type":"Interface"},{"name":"ILogCallExtensions","href":"ToSic.Lib.Logging.ILogCallExtensions.html","topicHref":"ToSic.Lib.Logging.ILogCallExtensions.html","topicUid":"ToSic.Lib.Logging.ILogCallExtensions","type":"Class"},{"name":"ILogCall","href":"ToSic.Lib.Logging.ILogCall-1.html","topicHref":"ToSic.Lib.Logging.ILogCall-1.html","topicUid":"ToSic.Lib.Logging.ILogCall`1","type":"Interface"},{"name":"ILogExtensions","href":"ToSic.Lib.Logging.ILogExtensions.html","topicHref":"ToSic.Lib.Logging.ILogExtensions.html","topicUid":"ToSic.Lib.Logging.ILogExtensions","type":"Class"},{"name":"ILogStore","href":"ToSic.Lib.Logging.ILogStore.html","topicHref":"ToSic.Lib.Logging.ILogStore.html","topicUid":"ToSic.Lib.Logging.ILogStore","type":"Interface"},{"name":"ILog_Actions","href":"ToSic.Lib.Logging.ILog_Actions.html","topicHref":"ToSic.Lib.Logging.ILog_Actions.html","topicUid":"ToSic.Lib.Logging.ILog_Actions","type":"Class"},{"name":"ILog_Add","href":"ToSic.Lib.Logging.ILog_Add.html","topicHref":"ToSic.Lib.Logging.ILog_Add.html","topicUid":"ToSic.Lib.Logging.ILog_Add","type":"Class"},{"name":"ILog_Properties","href":"ToSic.Lib.Logging.ILog_Properties.html","topicHref":"ToSic.Lib.Logging.ILog_Properties.html","topicUid":"ToSic.Lib.Logging.ILog_Properties","type":"Class"},{"name":"LogConstants","href":"ToSic.Lib.Logging.LogConstants.html","topicHref":"ToSic.Lib.Logging.LogConstants.html","topicUid":"ToSic.Lib.Logging.LogConstants","type":"Class"}]},{"name":"Services","href":"ToSic.Lib.Services.html","topicHref":"ToSic.Lib.Services.html","topicUid":"ToSic.Lib.Services","type":"Namespace","items":[{"name":"MyServicesBase","href":"ToSic.Lib.Services.MyServicesBase.html","topicHref":"ToSic.Lib.Services.MyServicesBase.html","topicUid":"ToSic.Lib.Services.MyServicesBase","type":"Class"},{"name":"MyServicesBase","href":"ToSic.Lib.Services.MyServicesBase-1.html","topicHref":"ToSic.Lib.Services.MyServicesBase-1.html","topicUid":"ToSic.Lib.Services.MyServicesBase`1","type":"Class"}]}]},{"name":"ToSic.Sxc ⭐","href":"ToSic.Sxc.html","topicHref":"ToSic.Sxc.html","topicUid":"ToSic.Sxc","type":"Namespace","items":[{"name":"Adam","href":"ToSic.Sxc.Adam.html","topicHref":"ToSic.Sxc.Adam.html","topicUid":"ToSic.Sxc.Adam","type":"Namespace","items":[{"name":"IAsset","href":"ToSic.Sxc.Adam.IAsset.html","topicHref":"ToSic.Sxc.Adam.IAsset.html","topicUid":"ToSic.Sxc.Adam.IAsset","type":"Interface"},{"name":"IFile","href":"ToSic.Sxc.Adam.IFile.html","topicHref":"ToSic.Sxc.Adam.IFile.html","topicUid":"ToSic.Sxc.Adam.IFile","type":"Interface"},{"name":"IFolder","href":"ToSic.Sxc.Adam.IFolder.html","topicHref":"ToSic.Sxc.Adam.IFolder.html","topicUid":"ToSic.Sxc.Adam.IFolder","type":"Interface"}]},{"name":"Apps","href":"ToSic.Sxc.Apps.html","topicHref":"ToSic.Sxc.Apps.html","topicUid":"ToSic.Sxc.Apps","type":"Namespace","items":[{"name":"IApp","href":"ToSic.Sxc.Apps.IApp.html","topicHref":"ToSic.Sxc.Apps.IApp.html","topicUid":"ToSic.Sxc.Apps.IApp","type":"Interface"},{"name":"IAppDataTyped","href":"ToSic.Sxc.Apps.IAppDataTyped.html","topicHref":"ToSic.Sxc.Apps.IAppDataTyped.html","topicUid":"ToSic.Sxc.Apps.IAppDataTyped","type":"Interface"},{"name":"IAppTyped","href":"ToSic.Sxc.Apps.IAppTyped.html","topicHref":"ToSic.Sxc.Apps.IAppTyped.html","topicUid":"ToSic.Sxc.Apps.IAppTyped","type":"Interface"},{"name":"IAppTyped","href":"ToSic.Sxc.Apps.IAppTyped-2.html","topicHref":"ToSic.Sxc.Apps.IAppTyped-2.html","topicUid":"ToSic.Sxc.Apps.IAppTyped`2","type":"Interface"}]},{"name":"Blocks","href":"ToSic.Sxc.Blocks.html","topicHref":"ToSic.Sxc.Blocks.html","topicUid":"ToSic.Sxc.Blocks","type":"Namespace","items":[{"name":"Render","href":"ToSic.Sxc.Blocks.Render.html","topicHref":"ToSic.Sxc.Blocks.Render.html","topicUid":"ToSic.Sxc.Blocks.Render","type":"Class"}]},{"name":"Cms.Data","href":"ToSic.Sxc.Cms.Data.html","topicHref":"ToSic.Sxc.Cms.Data.html","topicUid":"ToSic.Sxc.Cms.Data","type":"Namespace","items":[{"name":"GpsCoordinates","href":"ToSic.Sxc.Cms.Data.GpsCoordinates.html","topicHref":"ToSic.Sxc.Cms.Data.GpsCoordinates.html","topicUid":"ToSic.Sxc.Cms.Data.GpsCoordinates","type":"Class"}]},{"name":"Code","href":"ToSic.Sxc.Code.html","topicHref":"ToSic.Sxc.Code.html","topicUid":"ToSic.Sxc.Code","type":"Namespace","items":[{"name":"Generate","href":"ToSic.Sxc.Code.Generate.html","topicHref":"ToSic.Sxc.Code.Generate.html","topicUid":"ToSic.Sxc.Code.Generate","type":"Namespace","items":[{"name":"GenerateConstants","href":"ToSic.Sxc.Code.Generate.GenerateConstants.html","topicHref":"ToSic.Sxc.Code.Generate.GenerateConstants.html","topicUid":"ToSic.Sxc.Code.Generate.GenerateConstants","type":"Class"},{"name":"GeneratedFile","href":"ToSic.Sxc.Code.Generate.GeneratedFile.html","topicHref":"ToSic.Sxc.Code.Generate.GeneratedFile.html","topicUid":"ToSic.Sxc.Code.Generate.GeneratedFile","type":"Class"},{"name":"GeneratedFileSet","href":"ToSic.Sxc.Code.Generate.GeneratedFileSet.html","topicHref":"ToSic.Sxc.Code.Generate.GeneratedFileSet.html","topicUid":"ToSic.Sxc.Code.Generate.GeneratedFileSet","type":"Class"},{"name":"IFileGenerator","href":"ToSic.Sxc.Code.Generate.IFileGenerator.html","topicHref":"ToSic.Sxc.Code.Generate.IFileGenerator.html","topicUid":"ToSic.Sxc.Code.Generate.IFileGenerator","type":"Interface"},{"name":"IFileGeneratorSpecs","href":"ToSic.Sxc.Code.Generate.IFileGeneratorSpecs.html","topicHref":"ToSic.Sxc.Code.Generate.IFileGeneratorSpecs.html","topicUid":"ToSic.Sxc.Code.Generate.IFileGeneratorSpecs","type":"Interface"},{"name":"IGeneratedFile","href":"ToSic.Sxc.Code.Generate.IGeneratedFile.html","topicHref":"ToSic.Sxc.Code.Generate.IGeneratedFile.html","topicUid":"ToSic.Sxc.Code.Generate.IGeneratedFile","type":"Interface"},{"name":"IGeneratedFileInfo","href":"ToSic.Sxc.Code.Generate.IGeneratedFileInfo.html","topicHref":"ToSic.Sxc.Code.Generate.IGeneratedFileInfo.html","topicUid":"ToSic.Sxc.Code.Generate.IGeneratedFileInfo","type":"Interface"},{"name":"IGeneratedFileSet","href":"ToSic.Sxc.Code.Generate.IGeneratedFileSet.html","topicHref":"ToSic.Sxc.Code.Generate.IGeneratedFileSet.html","topicUid":"ToSic.Sxc.Code.Generate.IGeneratedFileSet","type":"Interface"}]},{"name":"ICodeCustomizer","href":"ToSic.Sxc.Code.ICodeCustomizer.html","topicHref":"ToSic.Sxc.Code.ICodeCustomizer.html","topicUid":"ToSic.Sxc.Code.ICodeCustomizer","type":"Interface"},{"name":"ICodeLog","href":"ToSic.Sxc.Code.ICodeLog.html","topicHref":"ToSic.Sxc.Code.ICodeLog.html","topicUid":"ToSic.Sxc.Code.ICodeLog","type":"Interface"},{"name":"IDevTools","href":"ToSic.Sxc.Code.IDevTools.html","topicHref":"ToSic.Sxc.Code.IDevTools.html","topicUid":"ToSic.Sxc.Code.IDevTools","type":"Interface"},{"name":"ITypedModel","href":"ToSic.Sxc.Code.ITypedModel.html","topicHref":"ToSic.Sxc.Code.ITypedModel.html","topicUid":"ToSic.Sxc.Code.ITypedModel","type":"Interface"}]},{"name":"Context 📟","href":"ToSic.Sxc.Context.html","topicHref":"ToSic.Sxc.Context.html","topicUid":"ToSic.Sxc.Context","type":"Namespace","items":[{"name":"ICmsBlock","href":"ToSic.Sxc.Context.ICmsBlock.html","topicHref":"ToSic.Sxc.Context.ICmsBlock.html","topicUid":"ToSic.Sxc.Context.ICmsBlock","type":"Interface"},{"name":"ICmsContext","href":"ToSic.Sxc.Context.ICmsContext.html","topicHref":"ToSic.Sxc.Context.ICmsContext.html","topicUid":"ToSic.Sxc.Context.ICmsContext","type":"Interface"},{"name":"ICmsCulture","href":"ToSic.Sxc.Context.ICmsCulture.html","topicHref":"ToSic.Sxc.Context.ICmsCulture.html","topicUid":"ToSic.Sxc.Context.ICmsCulture","type":"Interface"},{"name":"ICmsModule","href":"ToSic.Sxc.Context.ICmsModule.html","topicHref":"ToSic.Sxc.Context.ICmsModule.html","topicUid":"ToSic.Sxc.Context.ICmsModule","type":"Interface"},{"name":"ICmsPage","href":"ToSic.Sxc.Context.ICmsPage.html","topicHref":"ToSic.Sxc.Context.ICmsPage.html","topicUid":"ToSic.Sxc.Context.ICmsPage","type":"Interface"},{"name":"ICmsPlatform","href":"ToSic.Sxc.Context.ICmsPlatform.html","topicHref":"ToSic.Sxc.Context.ICmsPlatform.html","topicUid":"ToSic.Sxc.Context.ICmsPlatform","type":"Interface"},{"name":"ICmsSite","href":"ToSic.Sxc.Context.ICmsSite.html","topicHref":"ToSic.Sxc.Context.ICmsSite.html","topicUid":"ToSic.Sxc.Context.ICmsSite","type":"Interface"},{"name":"ICmsUser","href":"ToSic.Sxc.Context.ICmsUser.html","topicHref":"ToSic.Sxc.Context.ICmsUser.html","topicUid":"ToSic.Sxc.Context.ICmsUser","type":"Interface"},{"name":"ICmsView","href":"ToSic.Sxc.Context.ICmsView.html","topicHref":"ToSic.Sxc.Context.ICmsView.html","topicUid":"ToSic.Sxc.Context.ICmsView","type":"Interface"},{"name":"ICmsView","href":"ToSic.Sxc.Context.ICmsView-2.html","topicHref":"ToSic.Sxc.Context.ICmsView-2.html","topicUid":"ToSic.Sxc.Context.ICmsView`2","type":"Interface"},{"name":"IParameters","href":"ToSic.Sxc.Context.IParameters.html","topicHref":"ToSic.Sxc.Context.IParameters.html","topicUid":"ToSic.Sxc.Context.IParameters","type":"Interface"},{"name":"PlatformType","href":"ToSic.Sxc.Context.PlatformType.html","topicHref":"ToSic.Sxc.Context.PlatformType.html","topicUid":"ToSic.Sxc.Context.PlatformType","type":"Enum"}]},{"name":"Data 🎁","href":"ToSic.Sxc.Data.html","topicHref":"ToSic.Sxc.Data.html","topicUid":"ToSic.Sxc.Data","type":"Namespace","items":[{"name":"Model","href":"ToSic.Sxc.Data.Model.html","topicHref":"ToSic.Sxc.Data.Model.html","topicUid":"ToSic.Sxc.Data.Model","type":"Namespace","items":[{"name":"DataModel","href":"ToSic.Sxc.Data.Model.DataModel.html","topicHref":"ToSic.Sxc.Data.Model.DataModel.html","topicUid":"ToSic.Sxc.Data.Model.DataModel","type":"Class"},{"name":"DataModelAttribute","href":"ToSic.Sxc.Data.Model.DataModelAttribute.html","topicHref":"ToSic.Sxc.Data.Model.DataModelAttribute.html","topicUid":"ToSic.Sxc.Data.Model.DataModelAttribute","type":"Class"},{"name":"DataModelConversion","href":"ToSic.Sxc.Data.Model.DataModelConversion.html","topicHref":"ToSic.Sxc.Data.Model.DataModelConversion.html","topicUid":"ToSic.Sxc.Data.Model.DataModelConversion","type":"Class"},{"name":"DataModelOfItem","href":"ToSic.Sxc.Data.Model.DataModelOfItem.html","topicHref":"ToSic.Sxc.Data.Model.DataModelOfItem.html","topicUid":"ToSic.Sxc.Data.Model.DataModelOfItem","type":"Class"}]},{"name":"ICanWrapData","href":"ToSic.Sxc.Data.ICanWrapData.html","topicHref":"ToSic.Sxc.Data.ICanWrapData.html","topicUid":"ToSic.Sxc.Data.ICanWrapData","type":"Interface"},{"name":"ICanWrap","href":"ToSic.Sxc.Data.ICanWrap-1.html","topicHref":"ToSic.Sxc.Data.ICanWrap-1.html","topicUid":"ToSic.Sxc.Data.ICanWrap`1","type":"Interface"},{"name":"IDynamicEntity","href":"ToSic.Sxc.Data.IDynamicEntity.html","topicHref":"ToSic.Sxc.Data.IDynamicEntity.html","topicUid":"ToSic.Sxc.Data.IDynamicEntity","type":"Interface"},{"name":"IDynamicStack","href":"ToSic.Sxc.Data.IDynamicStack.html","topicHref":"ToSic.Sxc.Data.IDynamicStack.html","topicUid":"ToSic.Sxc.Data.IDynamicStack","type":"Interface"},{"name":"IField","href":"ToSic.Sxc.Data.IField.html","topicHref":"ToSic.Sxc.Data.IField.html","topicUid":"ToSic.Sxc.Data.IField","type":"Interface"},{"name":"IMetadata","href":"ToSic.Sxc.Data.IMetadata.html","topicHref":"ToSic.Sxc.Data.IMetadata.html","topicUid":"ToSic.Sxc.Data.IMetadata","type":"Interface"},{"name":"IPublishing","href":"ToSic.Sxc.Data.IPublishing.html","topicHref":"ToSic.Sxc.Data.IPublishing.html","topicUid":"ToSic.Sxc.Data.IPublishing","type":"Interface"},{"name":"ISecureData","href":"ToSic.Sxc.Data.ISecureData-1.html","topicHref":"ToSic.Sxc.Data.ISecureData-1.html","topicUid":"ToSic.Sxc.Data.ISecureData`1","type":"Interface"},{"name":"ITyped","href":"ToSic.Sxc.Data.ITyped.html","topicHref":"ToSic.Sxc.Data.ITyped.html","topicUid":"ToSic.Sxc.Data.ITyped","type":"Interface"},{"name":"ITypedItem 🔬","href":"ToSic.Sxc.Data.ITypedItem.html","topicHref":"ToSic.Sxc.Data.ITypedItem.html","topicUid":"ToSic.Sxc.Data.ITypedItem","type":"Interface"},{"name":"ITypedStack","href":"ToSic.Sxc.Data.ITypedStack.html","topicHref":"ToSic.Sxc.Data.ITypedStack.html","topicUid":"ToSic.Sxc.Data.ITypedStack","type":"Interface"}]},{"name":"DataSources","href":"ToSic.Sxc.DataSources.html","topicHref":"ToSic.Sxc.DataSources.html","topicUid":"ToSic.Sxc.DataSources","type":"Namespace","items":[{"name":"AppAssets","href":"ToSic.Sxc.DataSources.AppAssets.html","topicHref":"ToSic.Sxc.DataSources.AppAssets.html","topicUid":"ToSic.Sxc.DataSources.AppAssets","type":"Class"},{"name":"CmsBlock","href":"ToSic.Sxc.DataSources.CmsBlock.html","topicHref":"ToSic.Sxc.DataSources.CmsBlock.html","topicUid":"ToSic.Sxc.DataSources.CmsBlock","type":"Class"},{"name":"Pages","href":"ToSic.Sxc.DataSources.Pages.html","topicHref":"ToSic.Sxc.DataSources.Pages.html","topicUid":"ToSic.Sxc.DataSources.Pages","type":"Class"},{"name":"Sites","href":"ToSic.Sxc.DataSources.Sites.html","topicHref":"ToSic.Sxc.DataSources.Sites.html","topicUid":"ToSic.Sxc.DataSources.Sites","type":"Class"},{"name":"UserRoles","href":"ToSic.Sxc.DataSources.UserRoles.html","topicHref":"ToSic.Sxc.DataSources.UserRoles.html","topicUid":"ToSic.Sxc.DataSources.UserRoles","type":"Class"},{"name":"Users","href":"ToSic.Sxc.DataSources.Users.html","topicHref":"ToSic.Sxc.DataSources.Users.html","topicUid":"ToSic.Sxc.DataSources.Users","type":"Class"}]},{"name":"Dnn","href":"ToSic.Sxc.Dnn.html","topicHref":"ToSic.Sxc.Dnn.html","topicUid":"ToSic.Sxc.Dnn","type":"Namespace","items":[{"name":"Code","href":"ToSic.Sxc.Dnn.Code.html","topicHref":"ToSic.Sxc.Dnn.Code.html","topicUid":"ToSic.Sxc.Dnn.Code","type":"Namespace","items":[{"name":"IDnnDynamicCode","href":"ToSic.Sxc.Dnn.Code.IDnnDynamicCode.html","topicHref":"ToSic.Sxc.Dnn.Code.IDnnDynamicCode.html","topicUid":"ToSic.Sxc.Dnn.Code.IDnnDynamicCode","type":"Interface"},{"name":"IHasDnn","href":"ToSic.Sxc.Dnn.Code.IHasDnn.html","topicHref":"ToSic.Sxc.Dnn.Code.IHasDnn.html","topicUid":"ToSic.Sxc.Dnn.Code.IHasDnn","type":"Interface"}]},{"name":"DataSources","href":"ToSic.Sxc.Dnn.DataSources.html","topicHref":"ToSic.Sxc.Dnn.DataSources.html","topicUid":"ToSic.Sxc.Dnn.DataSources","type":"Namespace","items":[{"name":"DnnSql","href":"ToSic.Sxc.Dnn.DataSources.DnnSql.html","topicHref":"ToSic.Sxc.Dnn.DataSources.DnnSql.html","topicUid":"ToSic.Sxc.Dnn.DataSources.DnnSql","type":"Class"},{"name":"DnnUserProfile","href":"ToSic.Sxc.Dnn.DataSources.DnnUserProfile.html","topicHref":"ToSic.Sxc.Dnn.DataSources.DnnUserProfile.html","topicUid":"ToSic.Sxc.Dnn.DataSources.DnnUserProfile","type":"Class"},{"name":"DnnUserProfileDataRaw","href":"ToSic.Sxc.Dnn.DataSources.DnnUserProfileDataRaw.html","topicHref":"ToSic.Sxc.Dnn.DataSources.DnnUserProfileDataRaw.html","topicUid":"ToSic.Sxc.Dnn.DataSources.DnnUserProfileDataRaw","type":"Class"}]},{"name":"LookUp","href":"ToSic.Sxc.Dnn.LookUp.html","topicHref":"ToSic.Sxc.Dnn.LookUp.html","topicUid":"ToSic.Sxc.Dnn.LookUp","type":"Namespace","items":[{"name":"DocsPlaceholder","href":"ToSic.Sxc.Dnn.LookUp.DocsPlaceholder.html","topicHref":"ToSic.Sxc.Dnn.LookUp.DocsPlaceholder.html","topicUid":"ToSic.Sxc.Dnn.LookUp.DocsPlaceholder","type":"Class"}]},{"name":"Run","href":"ToSic.Sxc.Dnn.Run.html","topicHref":"ToSic.Sxc.Dnn.Run.html","topicUid":"ToSic.Sxc.Dnn.Run","type":"Namespace","items":[{"name":"IDnnContext","href":"ToSic.Sxc.Dnn.Run.IDnnContext.html","topicHref":"ToSic.Sxc.Dnn.Run.IDnnContext.html","topicUid":"ToSic.Sxc.Dnn.Run.IDnnContext","type":"Interface"}]},{"name":"Web","href":"ToSic.Sxc.Dnn.Web.html","topicHref":"ToSic.Sxc.Dnn.Web.html","topicUid":"ToSic.Sxc.Dnn.Web","type":"Namespace","items":[{"name":"IHtmlHelper","href":"ToSic.Sxc.Dnn.Web.IHtmlHelper.html","topicHref":"ToSic.Sxc.Dnn.Web.IHtmlHelper.html","topicUid":"ToSic.Sxc.Dnn.Web.IHtmlHelper","type":"Interface"}]},{"name":"ApiController","href":"ToSic.Sxc.Dnn.ApiController.html","topicHref":"ToSic.Sxc.Dnn.ApiController.html","topicUid":"ToSic.Sxc.Dnn.ApiController","type":"Class"},{"name":"DynamicCode","href":"ToSic.Sxc.Dnn.DynamicCode.html","topicHref":"ToSic.Sxc.Dnn.DynamicCode.html","topicUid":"ToSic.Sxc.Dnn.DynamicCode","type":"Class"},{"name":"Factory","href":"ToSic.Sxc.Dnn.Factory.html","topicHref":"ToSic.Sxc.Dnn.Factory.html","topicUid":"ToSic.Sxc.Dnn.Factory","type":"Class"},{"name":"RazorComponent","href":"ToSic.Sxc.Dnn.RazorComponent.html","topicHref":"ToSic.Sxc.Dnn.RazorComponent.html","topicUid":"ToSic.Sxc.Dnn.RazorComponent","type":"Class"}]},{"name":"Edit.Toolbar","href":"ToSic.Sxc.Edit.Toolbar.html","topicHref":"ToSic.Sxc.Edit.Toolbar.html","topicUid":"ToSic.Sxc.Edit.Toolbar","type":"Namespace","items":[{"name":"IToolbarBuilder","href":"ToSic.Sxc.Edit.Toolbar.IToolbarBuilder.html","topicHref":"ToSic.Sxc.Edit.Toolbar.IToolbarBuilder.html","topicUid":"ToSic.Sxc.Edit.Toolbar.IToolbarBuilder","type":"Interface"},{"name":"ITweakButton","href":"ToSic.Sxc.Edit.Toolbar.ITweakButton.html","topicHref":"ToSic.Sxc.Edit.Toolbar.ITweakButton.html","topicUid":"ToSic.Sxc.Edit.Toolbar.ITweakButton","type":"Interface"}]},{"name":"Images","href":"ToSic.Sxc.Images.html","topicHref":"ToSic.Sxc.Images.html","topicUid":"ToSic.Sxc.Images","type":"Namespace","items":[{"name":"IResizeSettings","href":"ToSic.Sxc.Images.IResizeSettings.html","topicHref":"ToSic.Sxc.Images.IResizeSettings.html","topicUid":"ToSic.Sxc.Images.IResizeSettings","type":"Interface"},{"name":"IResponsiveImage","href":"ToSic.Sxc.Images.IResponsiveImage.html","topicHref":"ToSic.Sxc.Images.IResponsiveImage.html","topicUid":"ToSic.Sxc.Images.IResponsiveImage","type":"Interface"},{"name":"IResponsivePicture","href":"ToSic.Sxc.Images.IResponsivePicture.html","topicHref":"ToSic.Sxc.Images.IResponsivePicture.html","topicUid":"ToSic.Sxc.Images.IResponsivePicture","type":"Interface"},{"name":"ITweakMedia","href":"ToSic.Sxc.Images.ITweakMedia.html","topicHref":"ToSic.Sxc.Images.ITweakMedia.html","topicUid":"ToSic.Sxc.Images.ITweakMedia","type":"Interface"},{"name":"ITweakResize","href":"ToSic.Sxc.Images.ITweakResize.html","topicHref":"ToSic.Sxc.Images.ITweakResize.html","topicUid":"ToSic.Sxc.Images.ITweakResize","type":"Interface"},{"name":"Recipe","href":"ToSic.Sxc.Images.Recipe.html","topicHref":"ToSic.Sxc.Images.Recipe.html","topicUid":"ToSic.Sxc.Images.Recipe","type":"Class"}]},{"name":"LookUp","href":"ToSic.Sxc.LookUp.html","topicHref":"ToSic.Sxc.LookUp.html","topicUid":"ToSic.Sxc.LookUp","type":"Namespace","items":[{"name":"DocsPlaceholder","href":"ToSic.Sxc.LookUp.DocsPlaceholder.html","topicHref":"ToSic.Sxc.LookUp.DocsPlaceholder.html","topicUid":"ToSic.Sxc.LookUp.DocsPlaceholder","type":"Class"}]},{"name":"Models","href":"ToSic.Sxc.Models.html","topicHref":"ToSic.Sxc.Models.html","topicUid":"ToSic.Sxc.Models","type":"Namespace","items":[{"name":"IFileModel","href":"ToSic.Sxc.Models.IFileModel.html","topicHref":"ToSic.Sxc.Models.IFileModel.html","topicUid":"ToSic.Sxc.Models.IFileModel","type":"Interface"},{"name":"IFolderModel","href":"ToSic.Sxc.Models.IFolderModel.html","topicHref":"ToSic.Sxc.Models.IFolderModel.html","topicUid":"ToSic.Sxc.Models.IFolderModel","type":"Interface"},{"name":"IPageModel","href":"ToSic.Sxc.Models.IPageModel.html","topicHref":"ToSic.Sxc.Models.IPageModel.html","topicUid":"ToSic.Sxc.Models.IPageModel","type":"Interface"},{"name":"ISiteModel","href":"ToSic.Sxc.Models.ISiteModel.html","topicHref":"ToSic.Sxc.Models.ISiteModel.html","topicUid":"ToSic.Sxc.Models.ISiteModel","type":"Interface"},{"name":"IUserModel","href":"ToSic.Sxc.Models.IUserModel.html","topicHref":"ToSic.Sxc.Models.IUserModel.html","topicUid":"ToSic.Sxc.Models.IUserModel","type":"Interface"},{"name":"IUserRoleModel","href":"ToSic.Sxc.Models.IUserRoleModel.html","topicHref":"ToSic.Sxc.Models.IUserRoleModel.html","topicUid":"ToSic.Sxc.Models.IUserRoleModel","type":"Interface"}]},{"name":"Search","href":"ToSic.Sxc.Search.html","topicHref":"ToSic.Sxc.Search.html","topicUid":"ToSic.Sxc.Search","type":"Namespace","items":[{"name":"ICustomizeSearch","href":"ToSic.Sxc.Search.ICustomizeSearch.html","topicHref":"ToSic.Sxc.Search.ICustomizeSearch.html","topicUid":"ToSic.Sxc.Search.ICustomizeSearch","type":"Interface"},{"name":"ISearchItem","href":"ToSic.Sxc.Search.ISearchItem.html","topicHref":"ToSic.Sxc.Search.ISearchItem.html","topicUid":"ToSic.Sxc.Search.ISearchItem","type":"Interface"},{"name":"SearchItem","href":"ToSic.Sxc.Search.SearchItem.html","topicHref":"ToSic.Sxc.Search.SearchItem.html","topicUid":"ToSic.Sxc.Search.SearchItem","type":"Class"}]},{"name":"Services 🌟","href":"ToSic.Sxc.Services.html","topicHref":"ToSic.Sxc.Services.html","topicUid":"ToSic.Sxc.Services","type":"Namespace","items":[{"name":"Cache","href":"ToSic.Sxc.Services.Cache.html","topicHref":"ToSic.Sxc.Services.Cache.html","topicUid":"ToSic.Sxc.Services.Cache","type":"Namespace","items":[{"name":"ICacheSpecs","href":"ToSic.Sxc.Services.Cache.ICacheSpecs.html","topicHref":"ToSic.Sxc.Services.Cache.ICacheSpecs.html","topicUid":"ToSic.Sxc.Services.Cache.ICacheSpecs","type":"Interface"}]},{"name":"Template","href":"ToSic.Sxc.Services.Template.html","topicHref":"ToSic.Sxc.Services.Template.html","topicUid":"ToSic.Sxc.Services.Template","type":"Namespace","items":[{"name":"ITemplateEngine","href":"ToSic.Sxc.Services.Template.ITemplateEngine.html","topicHref":"ToSic.Sxc.Services.Template.ITemplateEngine.html","topicUid":"ToSic.Sxc.Services.Template.ITemplateEngine","type":"Interface"}]},{"name":"Tweaks","href":"ToSic.Sxc.Services.Tweaks.html","topicHref":"ToSic.Sxc.Services.Tweaks.html","topicUid":"ToSic.Sxc.Services.Tweaks","type":"Namespace","items":[{"name":"ITweakInput","href":"ToSic.Sxc.Services.Tweaks.ITweakInput-1.html","topicHref":"ToSic.Sxc.Services.Tweaks.ITweakInput-1.html","topicUid":"ToSic.Sxc.Services.Tweaks.ITweakInput`1","type":"Interface"}]},{"name":"DnnExtensions","href":"ToSic.Sxc.Services.DnnExtensions.html","topicHref":"ToSic.Sxc.Services.DnnExtensions.html","topicUid":"ToSic.Sxc.Services.DnnExtensions","type":"Class"},{"name":"IAdamService","href":"ToSic.Sxc.Services.IAdamService.html","topicHref":"ToSic.Sxc.Services.IAdamService.html","topicUid":"ToSic.Sxc.Services.IAdamService","type":"Interface"},{"name":"ICacheService","href":"ToSic.Sxc.Services.ICacheService.html","topicHref":"ToSic.Sxc.Services.ICacheService.html","topicUid":"ToSic.Sxc.Services.ICacheService","type":"Interface"},{"name":"IConvertService","href":"ToSic.Sxc.Services.IConvertService.html","topicHref":"ToSic.Sxc.Services.IConvertService.html","topicUid":"ToSic.Sxc.Services.IConvertService","type":"Interface"},{"name":"IConvertService16","href":"ToSic.Sxc.Services.IConvertService16.html","topicHref":"ToSic.Sxc.Services.IConvertService16.html","topicUid":"ToSic.Sxc.Services.IConvertService16","type":"Interface"},{"name":"IDataService","href":"ToSic.Sxc.Services.IDataService.html","topicHref":"ToSic.Sxc.Services.IDataService.html","topicUid":"ToSic.Sxc.Services.IDataService","type":"Interface"},{"name":"IDynamicCodeService","href":"ToSic.Sxc.Services.IDynamicCodeService.html","topicHref":"ToSic.Sxc.Services.IDynamicCodeService.html","topicUid":"ToSic.Sxc.Services.IDynamicCodeService","type":"Interface"},{"name":"IEditService","href":"ToSic.Sxc.Services.IEditService.html","topicHref":"ToSic.Sxc.Services.IEditService.html","topicUid":"ToSic.Sxc.Services.IEditService","type":"Interface"},{"name":"IFeaturesService","href":"ToSic.Sxc.Services.IFeaturesService.html","topicHref":"ToSic.Sxc.Services.IFeaturesService.html","topicUid":"ToSic.Sxc.Services.IFeaturesService","type":"Interface"},{"name":"IImageService","href":"ToSic.Sxc.Services.IImageService.html","topicHref":"ToSic.Sxc.Services.IImageService.html","topicUid":"ToSic.Sxc.Services.IImageService","type":"Interface"},{"name":"IJsonService","href":"ToSic.Sxc.Services.IJsonService.html","topicHref":"ToSic.Sxc.Services.IJsonService.html","topicUid":"ToSic.Sxc.Services.IJsonService","type":"Interface"},{"name":"IKeyService","href":"ToSic.Sxc.Services.IKeyService.html","topicHref":"ToSic.Sxc.Services.IKeyService.html","topicUid":"ToSic.Sxc.Services.IKeyService","type":"Interface"},{"name":"ILinkService","href":"ToSic.Sxc.Services.ILinkService.html","topicHref":"ToSic.Sxc.Services.ILinkService.html","topicUid":"ToSic.Sxc.Services.ILinkService","type":"Interface"},{"name":"IMailService","href":"ToSic.Sxc.Services.IMailService.html","topicHref":"ToSic.Sxc.Services.IMailService.html","topicUid":"ToSic.Sxc.Services.IMailService","type":"Interface"},{"name":"IPageService","href":"ToSic.Sxc.Services.IPageService.html","topicHref":"ToSic.Sxc.Services.IPageService.html","topicUid":"ToSic.Sxc.Services.IPageService","type":"Interface"},{"name":"IRenderService","href":"ToSic.Sxc.Services.IRenderService.html","topicHref":"ToSic.Sxc.Services.IRenderService.html","topicUid":"ToSic.Sxc.Services.IRenderService","type":"Interface"},{"name":"ISecureDataService","href":"ToSic.Sxc.Services.ISecureDataService.html","topicHref":"ToSic.Sxc.Services.ISecureDataService.html","topicUid":"ToSic.Sxc.Services.ISecureDataService","type":"Interface"},{"name":"ISystemLogService","href":"ToSic.Sxc.Services.ISystemLogService.html","topicHref":"ToSic.Sxc.Services.ISystemLogService.html","topicUid":"ToSic.Sxc.Services.ISystemLogService","type":"Interface"},{"name":"ITemplateService","href":"ToSic.Sxc.Services.ITemplateService.html","topicHref":"ToSic.Sxc.Services.ITemplateService.html","topicUid":"ToSic.Sxc.Services.ITemplateService","type":"Interface"},{"name":"IToolbarService","href":"ToSic.Sxc.Services.IToolbarService.html","topicHref":"ToSic.Sxc.Services.IToolbarService.html","topicUid":"ToSic.Sxc.Services.IToolbarService","type":"Interface"},{"name":"ServiceKit14","href":"ToSic.Sxc.Services.ServiceKit14.html","topicHref":"ToSic.Sxc.Services.ServiceKit14.html","topicUid":"ToSic.Sxc.Services.ServiceKit14","type":"Class"},{"name":"ServiceKit16 🌟","href":"ToSic.Sxc.Services.ServiceKit16.html","topicHref":"ToSic.Sxc.Services.ServiceKit16.html","topicUid":"ToSic.Sxc.Services.ServiceKit16","type":"Class"},{"name":"ServiceKitLight16","href":"ToSic.Sxc.Services.ServiceKitLight16.html","topicHref":"ToSic.Sxc.Services.ServiceKitLight16.html","topicUid":"ToSic.Sxc.Services.ServiceKitLight16","type":"Class"}]},{"name":"WebApi","href":"ToSic.Sxc.WebApi.html","topicHref":"ToSic.Sxc.WebApi.html","topicUid":"ToSic.Sxc.WebApi","type":"Namespace","items":[{"name":"Casing","href":"ToSic.Sxc.WebApi.Casing.html","topicHref":"ToSic.Sxc.WebApi.Casing.html","topicUid":"ToSic.Sxc.WebApi.Casing","type":"Enum"},{"name":"EntityFormat","href":"ToSic.Sxc.WebApi.EntityFormat.html","topicHref":"ToSic.Sxc.WebApi.EntityFormat.html","topicUid":"ToSic.Sxc.WebApi.EntityFormat","type":"Enum"},{"name":"JsonFormatterAttribute","href":"ToSic.Sxc.WebApi.JsonFormatterAttribute.html","topicHref":"ToSic.Sxc.WebApi.JsonFormatterAttribute.html","topicUid":"ToSic.Sxc.WebApi.JsonFormatterAttribute","type":"Class"},{"name":"SecureEndpointAttribute","href":"ToSic.Sxc.WebApi.SecureEndpointAttribute.html","topicHref":"ToSic.Sxc.WebApi.SecureEndpointAttribute.html","topicUid":"ToSic.Sxc.WebApi.SecureEndpointAttribute","type":"Class"}]}]}],"memberLayout":"SamePage"} diff --git a/docs/index.json b/docs/index.json index 957c722b4..614a5b518 100644 --- a/docs/index.json +++ b/docs/index.json @@ -1072,7 +1072,7 @@ "api/dot-net/Custom.Data.CustomItem.html": { "href": "api/dot-net/Custom.Data.CustomItem.html", "title": "Class CustomItem | 2sxc 19 for Dnn and Oqtane", - "keywords": "Class CustomItem Namespace Custom.Data Assembly ToSic.Sxc.dll Base class for custom data objects, which extend the ITypedItem and can be used in Razor Components. It is used by 2sxc Copilot when generating base classes for custom data objects. [PublicApi] public class CustomItem : ITypedItem, ITyped, IEquatable, IDataModelOf, IDataModel Inheritance object CustomItem Implements ITypedItem ITyped IEquatable IDataModelOf IDataModel Examples Usage ca. like this: A custom data model in AppCode.Data which inherits from this class (usually generated by 2sxc Copilot) Razor code which uses it to convert typed items into this custom data model Example trivial custom ITyped data model: namespace AppCode.Data { class MyPerson : CustomItem { // New custom property public string Name => _item.String(\"Name\"); } } Example usage in Razor: @inherits Custom.Hybrid.RazorTyped @using AppCode.Data @{ var person = As(MyItem); } @* Now you can use the custom properties *@ @person.Name @* But also all the standard properties like Id, Guid, Title, Type, etc. *@ @person.Id / @person.Guid Remarks Released in v17.06 It's not abstract, even if the most common case is to inherit, as there are cases where you want to use it directly. Properties Guid The guid of the underlying entity. [JsonPropertyOrder(-99)] public Guid Guid { get; } Property Value Guid Remarks If the entity doesn't exist, it will return an empty guid Id The ID of the underlying entity. Use it for edit-functionality or just to have a unique number for this item. [JsonPropertyOrder(-100)] public int Id { get; } Property Value int Remarks If the entity doesn't exist, it will return 0 IsDemoItem Many templates show demo data. If the template code must know if it's the demo item or real data, use .IsDemoItem. [JsonIgnore] public bool IsDemoItem { get; } Property Value bool True if this is the item configured in the view-settings, false if not. IsPublished True if this item version is published. This means that the item can exist as published, or published-with-draft, showing the published version. Note that by default, end-users only see the published version and don't see any draft version. [JsonIgnore] public bool IsPublished { get; } Property Value bool Remarks New in v17, see also Publishing Metadata Metadata of the current item, with special features. [JsonIgnore] public IMetadata Metadata { get; } Property Value IMetadata Remarks Added in 16.02 Presentation The presentation item or null if it doesn't exist. [JsonIgnore] public ITypedItem Presentation { get; } Property Value ITypedItem Publishing [JsonIgnore] public IPublishing Publishing { get; } Property Value IPublishing Title The title of this item. This is always available no matter what the underlying field for the title is. [JsonIgnore] public string Title { get; } Property Value string The title of the underlying entity. In rare cases where no title-field is known, it can be null. It can also be null if there is no underlying entity. Remarks This returns a string which is usually what's expected. In previous versions (before v15) 2sxc it returned an object. Type The Content-Type of the current entity. [JsonIgnore] public IContentType Type { get; } Property Value IContentType _item The item - for inheriting classes to access. protected ITypedItem _item { get; } Property Value ITypedItem Remarks this property is protected, not public, as it should only be used internally. this also prevents it from being serialized in JSON, which is good. it uses an unusual name _item to avoid naming conflicts with properties generated in inheriting classes. Methods AsList(IEnumerable, NoParamOrder, bool) Convert a list of Entities or TypedItems into a strongly typed list. Typically, the type will be from your AppCode.Data. protected IEnumerable AsList(IEnumerable source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, IDataModel Parameters source IEnumerable protector NoParamOrder nullIfNull bool Returns IEnumerable Type Parameters T Remarks New in v17.03 As(ITypedItem) Convert an Entity or TypedItem into a strongly typed object. Typically, the type will be from your AppCode.Data. protected T As(ITypedItem item) where T : class, IDataModel, new() Parameters item ITypedItem Returns T Type Parameters T Remarks New in v17.03 Attribute(string, NoParamOrder, string, bool?) Return a value as a raw HTML string for using inside an attribute. Usage like title='@item.Attribute(\"Title\")' It will do a few things such as: Ensure dates are in the ISO format Ensure numbers are in a neutral format such as 14.27 and never 14,27 Html encode any characters which would cause trouble such as quotes public IRawHtmlString Attribute(string name, NoParamOrder noParamOrder = default, string fallback = null, bool? required = null) Parameters name string Name of the property noParamOrder NoParamOrder see Convention: Named Parameters fallback string Value to use if the property specified by name doesn't exist required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IRawHtmlString Bool(string, NoParamOrder, bool, bool?) Get a property and return the value as a bool. If conversion fails, will return default false or what is specified in the fallback. public bool Bool(string name, NoParamOrder noParamOrder = default, bool fallback = false, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback bool optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns bool Value as bool Child(string, NoParamOrder, bool?) A single item from a field. public ITypedItem Child(string name, NoParamOrder noParamOrder = default, bool? required = null) Parameters name string Name of the field noParamOrder NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns ITypedItem The ITypedItem. If the field doesn't exist or is empty, will return null. Child(string, NoParamOrder, bool?) Get a child and return with specified custom type. public T Child(string name, NoParamOrder protector = default, bool? required = null) where T : class, IDataModel, new() Parameters name string Name of the field protector NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns T Type Parameters T Remarks New v17.05 Children(string, NoParamOrder, string, bool?) A typed list of sub-items. Important for LINQ style querying or just working with various lists. Note that for getting child items of this item you can just use the properties, like content.Authors. But using Children(\"Authors\", type: typeName) gives you the ability to restrict to a type. Please check the tutorials on 2sxc.org/dnn-tutorials/ for more info. public IEnumerable Children(string field, NoParamOrder noParamOrder = default, string type = null, bool? required = null) Parameters field string Optional field filter - would only return items that point to the current item in a specific field name. noParamOrder NoParamOrder see Convention: Named Parameters type string Optional type filter - would only return items of this type. required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IEnumerable A list of all items pointing here (filtered), converted to DynamicEntity for convenience. Remarks Note that the parameter-order is reversed to the Parents() Children(string, NoParamOrder, string, bool?) A strongly typed list of sub-items. Important for LINQ style querying or just working with various lists. Note that for getting child items of this item you can just use the properties, like content.Authors. But using Children(\"Authors\", type: typeName) gives you the ability to restrict to a type. Please check the tutorials on 2sxc.org/dnn-tutorials/ for more info. public IEnumerable Children(string field, NoParamOrder protector = default, string type = null, bool? required = null) where T : class, IDataModel, new() Parameters field string Name of the field protector NoParamOrder see Convention: Named Parameters type string Optional type filter - would only return items of this type. required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IEnumerable Type Parameters T Remarks New v17.05 ContainsKey(string) Check if this typed object has a property of this specified name. It's case-insensitive. public bool ContainsKey(string name) Parameters name string the name like Image; some objects also support path to sub-property like Author.Name Returns bool Remarks Adding in 16.03 (WIP) DateTime(string, NoParamOrder, DateTime, bool?) Get a property and return the value as a DateTime. If conversion fails, will return default 0001-01-01 or what is specified in the fallback. public DateTime DateTime(string name, NoParamOrder noParamOrder = default, DateTime fallback = default, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback DateTime optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns DateTime Value as DateTime Decimal(string, NoParamOrder, decimal, bool?) Get a property and return the value as a decimal. If conversion fails, will return default 0 or what is specified in the fallback. public decimal Decimal(string name, NoParamOrder noParamOrder = default, decimal fallback = 0, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback decimal optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns decimal Value as decimal Double(string, NoParamOrder, double, bool?) Get a property and return the value as a double. If conversion fails, will return default 0 or what is specified in the fallback. public double Double(string name, NoParamOrder noParamOrder = default, double fallback = 0, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback double optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns double Value as double Equals(object) Ensure that the equality check is done correctly. If two objects wrap the same item, they will be considered equal. public override bool Equals(object b) Parameters b object Returns bool Field(string, NoParamOrder, bool?) Get a special info-object describing a specific field in this item. This is a rich object used by other operations which need a lot of context about the item and the field. public IField Field(string name, NoParamOrder noParamOrder = default, bool? required = null) Parameters name string Name of the property noParamOrder NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IField File(string, NoParamOrder, bool?) Get the file of the current field. There are a few scenarios: If it's a file/hyperlink field pointing to a file such as file:27 it will retrieve the file itself. If it's a file/hyperlink field pointing to a url such as http://xyz it will return null. If it's a library field, it will just take the first file, as there is no value referencing a specific field If it's any other field, will return null public IFile File(string name, NoParamOrder noParamOrder = default, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IFile Remarks Added in 16.02 Float(string, NoParamOrder, float, bool?) Get a property and return the value as a float. If conversion fails, will return default 0 or what is specified in the fallback. public float Float(string name, NoParamOrder noParamOrder = default, float fallback = 0, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback float optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns float Value as float Folder(string, NoParamOrder, bool?) Get the ADAM (Automatic Digital Asset Manager) for this field. This is a folder which contains all the files and possibly folders which are uploaded on exactly this field. public IFolder Folder(string name, NoParamOrder noParamOrder = default, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IFolder The Folder object Remarks Added in 16.02 Get(string, NoParamOrder, bool?, string) Get a property. public object Get(string name, NoParamOrder noParamOrder = default, bool? required = null, string language = null) Parameters name string the property name like Image - or path to sub-property like Author.Name (new v15) noParamOrder NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks language string Optional language like de, de-ch or de,en to determine which values to check. Will ignore languages not in the data model. On items that don't have ML data it will be ignored. new v17.10 Returns object The result if found or null; or error if the object is in strict mode Remarks parameter languages added in 17.10 Get(string, NoParamOrder, TValue, bool?, string) Get a value using the name - and cast it to the expected strong type. For example to get an int even though it's stored as decimal. Since the parameter fallback determines the type TValue you can just write this like `something.Get(\"Title\", fallback: \"no title\") public TValue Get(string name, NoParamOrder noParamOrder = default, TValue fallback = default, bool? required = null, string language = null) Parameters name string the property name like Image - or path to sub-property like Author.Name (new v15) noParamOrder NoParamOrder see Convention: Named Parameters fallback TValue the fallback value to provide if not found required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks language string Optional language like de, de-ch or de,en to determine which values to check. Will ignore languages not in the data model. On items that don't have ML data it will be ignored. new v17.10 Returns TValue The typed value, or the default like null or 0 if casting isn't possible. Type Parameters TValue The expected type, like string, int, etc. Note that you don't need to specify it, if you specify the fallback property. Remarks Added in v15 parameter languages added in 17.10 Gps(string, NoParamOrder, bool?) Get the GPS coordinates of a GPS field as a typed object. public GpsCoordinates Gps(string name, NoParamOrder protector = default, bool? required = null) Parameters name string Name of a field protector NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns GpsCoordinates Remarks New in v17.03 Html(string, NoParamOrder, object, bool?, object, bool?, bool, Func, ITweakInput>) Show a field in the expected / best possible way. As of now it's meant for WYSIWYG fields with Very-Rich Text. See DynamicEntity / TypedItem .Html(...) Method new v16.01 public IHtmlTag Html(string name, NoParamOrder noParamOrder = default, object container = null, bool? toolbar = null, object imageSettings = null, bool? required = null, bool debug = false, Func, ITweakInput> tweak = null) Parameters name string the field name noParamOrder NoParamOrder see Convention: Named Parameters container object A wrapper tag for the result. It's either a RazorBlade tag such as Kit.HtmlTag.Div(), a string such as span or an empty string `` to indicate no container. If not set it will default to to a div-tag. See docs toolbar bool? Override default toolbar behavior on this field. See docs imageSettings object Settings for resizing. Default is Wysiwyg but it can also be Content or a settings object. required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks debug bool Activate debug visualization to better see alignments and such. tweak Func, ITweakInput> tweak behavior - ATM modify the input before it's processed new in v17 Returns IHtmlTag Remarks Added in 2sxc 16.01 Added tweak in v17 Only works on Razor files inheriting from Hybrid14 or newer Img(string, NoParamOrder, Func, object, object, object, string, string, string, object, object, object) Get a Responsive Picture object which you can then either just show, or use to construct a more customized output as you need it. The resulting object can just be added to the html, like @pic or you can work with sub-properties as specified in the IResponsivePicture. Important: This call only allows you to set the most common parameters factor and width. For other parameters like height, aspectRatio, quality etc. create typed Settings Settings(object, NoParamOrder, Func, object, object, object, object, string, string, string, object, string, object) and pass them in. Note This is the similar as using the Picture(object, object, NoParamOrder, Func, object, object, string, string, string, object, string, object, object, object) just a bit simpler. An important difference is that it returns null if the field does not exist or is empty, allowing you to just show nothing or use ...Picture(...) ?? someFallback; public IResponsiveImage Img(string name, NoParamOrder noParamOrder = default, Func tweak = null, object settings = null, object factor = null, object width = null, string imgAlt = null, string imgAltFallback = null, string imgClass = null, object imgAttributes = null, object toolbar = null, object recipe = null) Parameters name string Name of a field noParamOrder NoParamOrder see Convention: Named Parameters tweak Func Tweak API to configure everything (new v18.03). This is recommended above using parameter names and all newer parameters will only be available on this. settings object The name of a settings configuration, like \"Content\", \"Screen\", \"Square\", etc. A standardized Image-Settings object like Settings.Child(\"Images.Content\") - see https://go.2sxc.org/settings A dynamic object containing settings properties (this can also be a merged custom + standard settings) A strictly typed IResizeSettings object containing all settings created using ResizeSettings factor object An optional multiplier, usually used to create urls which resize to a part of the default content-size. Like 0.5. width object An optional, fixed width of the image imgAlt string Optional alt attribute on the created img tag for SEO etc. If supplied, it takes precedence to the alt-description in the image metadata which the editor added themselves. If you want to provide a fallback value (in case the metadata has no alt), use imgAltFallback imgAltFallback string Optional alt attribute which is only used if the imgAlt or the alt-text in the metadata are empty. imgClass string Optional class attribute on the created img tag imgAttributes object Optional additional attributes - as anonymous object like new { style = \"padding: 10px\" } or Dictionary (new 16.07) toolbar object Provide a custom toolbar or false to not show a toolbar recipe object Optional recipe = instructions how to create the various variants of this link. Can be any one of these: string containing variants Rule object TODO: DOCS not quite ready Returns IResponsiveImage A IResponsivePicture object which can be rendered directly. See Responsive Images API in .net If the field does not exist, it will return null If the field exists, but is empty, it will return null Remarks Added to ITypedItem in v17.04 (previously only Picture was available) tweak added in 18.03 Int(string, NoParamOrder, int, bool?) Get a property and return the value as a int. If conversion fails, will return default 0 or what is specified in the fallback. public int Int(string name, NoParamOrder noParamOrder = default, int fallback = 0, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback int optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns int Value as int IsEmpty(string, NoParamOrder, string) Check if this typed object has a property of this specified name, and has real data. The opposite version of this is IsNotEmpty(...) Important This method is optimized for use in Razor-like scenarios. It's behavior is super-useful but maybe not always expected. If the value is a string, and is empty or only contains whitespace (even  ) it is regarded as empty. If the returned value is an empty list (e.g. a field containing relationships, without any items in it) it is regarded as empty. If you need a different kind of check, just .Get(...) the value and perform the checks in your code. public bool IsEmpty(string name, NoParamOrder noParamOrder = default, string language = null) Parameters name string the property name like Image; some objects also support path to sub-property like Author.Name noParamOrder NoParamOrder see Convention: Named Parameters language string Optional language like de, de-ch or de,en to determine which values to check. Will ignore languages not in the data model. On items that don't have ML data it will be ignored. new v17.10 Returns bool true if the property exists and has a real value. If it returned an empty list, it will also return false Remarks Added in 16.03 language parameter added in 17.10 IsNotEmpty(string, NoParamOrder, string) Check if this typed object has a property of this specified name, and has real data. The opposite version of this is IsEmpty(...) Important This method is optimized for use in Razor-like scenarios. It's behavior is super-useful but maybe not always expected. If the value is a string, and is empty or only contains whitespace (even  ) it is regarded as empty. If the returned value is an empty list (e.g. a field containing relationships, without any items in it) it is regarded as empty. If you need a different kind of check, just .Get(...) the value and perform the checks in your code. public bool IsNotEmpty(string name, NoParamOrder noParamOrder = default, string language = null) Parameters name string the property name like Image; some objects also support path to sub-property like Author.Name noParamOrder NoParamOrder see Convention: Named Parameters language string Optional language like de, de-ch or de,en to determine which values to check. Will ignore languages not in the data model. On items that don't have ML data it will be ignored. new v17.10 Returns bool true if the property exists and has a real value. If it returned an empty list, it will also return false Remarks Added in 16.03 language parameter added in 17.10 Keys(NoParamOrder, IEnumerable) Get all the keys available in this Model (all the parameters passed in). This is used to sometimes run early checks if all the expected parameters have been provided. public IEnumerable Keys(NoParamOrder noParamOrder = default, IEnumerable only = null) Parameters noParamOrder NoParamOrder see Convention: Named Parameters only IEnumerable Only return the keys specified here, if found. Typical use: only: new [] { \"Key1\", \"Key2\" }. Useful to check if all or any specific keys exist. Returns IEnumerable Remarks Added in 16.03 Long(string, NoParamOrder, long, bool?) Get a property and return the value as a long. If conversion fails, will return default 0 or what is specified in the fallback. public long Long(string name, NoParamOrder noParamOrder = default, long fallback = 0, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback long optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns long Value as long Parent(NoParamOrder, bool?, string, string) Get either the current parent or the first parent which would be found on .Parents(...). public ITypedItem Parent(NoParamOrder noParamOrder = default, bool? current = null, string type = null, string field = null) Parameters noParamOrder NoParamOrder see Convention: Named Parameters current bool? if set to true, will get the Item which created the current item (the parent) which called .Child(...) or .Children(...) type string Optional type filter - would only return items of this type. field string Optional field filter - would only return items that point to the current item in a specific field name. Returns ITypedItem either the current parent or the first parent returned by the same .Parents(...) call. Parent(NoParamOrder, bool?, string, string) Get either the current parent or the first parent which would be found on .Parents(...) as strongly typed. public T Parent(NoParamOrder protector = default, bool? current = null, string type = null, string field = null) where T : class, IDataModel, new() Parameters protector NoParamOrder see Convention: Named Parameters current bool? if set to true, will get the Item which created the current item (the parent) which called .Child(...) or .Children(...) type string Optional type filter - would only return items of this type. field string Optional field filter - would only return items that point to the current item in a specific field name. Returns T either the current parent or the first parent returned by the same .Parents(...) call. Type Parameters T Remarks New v17.06 Parents(NoParamOrder, string, string) A typed list of entities which point to this item. Important for LINQ style querying or just working with various lists. Note that for getting child items of this item you can just use the properties, like content.Authors. Please check the tutorials on 2sxc.org/dnn-tutorials/ for more info. public IEnumerable Parents(NoParamOrder noParamOrder = default, string type = null, string field = null) Parameters noParamOrder NoParamOrder see Convention: Named Parameters type string Optional type filter - would only return items of this type. field string Optional field filter - would only return items that point to the current item in a specific field name. Returns IEnumerable A list of all items pointing here (filtered), converted to DynamicEntity for convenience. Remarks Note that the parameter-order is reversed to the Children() Parents(NoParamOrder, string, string) A typed list of entities which point to this item. Important for LINQ style querying or just working with various lists. Note that for getting child items of this item you can just use the properties, like content.Authors. Please check the tutorials on 2sxc.org/dnn-tutorials/ for more info. public IEnumerable Parents(NoParamOrder protector = default, string type = null, string field = null) where T : class, IDataModel, new() Parameters protector NoParamOrder see Convention: Named Parameters type string Optional type filter - would only return items of this type. If not specified (null) will use the name of T. field string Optional field filter - would only return items that point to the current item in a specific field name. Returns IEnumerable A list of all items pointing here (filtered), converted to DynamicEntity for convenience. Type Parameters T Remarks Note that the parameter-order is reversed to the Children() Picture(string, NoParamOrder, Func, object, object, object, string, string, string, object, string, object, object, object) Get a Responsive Picture object which you can then either just show, or use to construct a more customized output as you need it. The resulting object can just be added to the html, like @pic or you can work with sub-properties as specified in the IResponsivePicture. Important: This call only allows you to set the most common parameters factor and width. For other parameters like height, aspectRatio, quality etc. create typed Settings Settings(object, NoParamOrder, Func, object, object, object, object, string, string, string, object, string, object) and pass them in. Note This is the similar as using the Picture(object, object, NoParamOrder, Func, object, object, string, string, string, object, string, object, object, object) just a bit simpler. An important difference is that it returns null if the field does not exist or is empty, allowing you to just show nothing or use ...Picture(...) ?? someFallback; public IResponsivePicture Picture(string name, NoParamOrder noParamOrder = default, Func tweak = null, object settings = null, object factor = null, object width = null, string imgAlt = null, string imgAltFallback = null, string imgClass = null, object imgAttributes = null, string pictureClass = null, object pictureAttributes = null, object toolbar = null, object recipe = null) Parameters name string Name of a field noParamOrder NoParamOrder see Convention: Named Parameters tweak Func Tweak API to configure everything (new v18.03). This is recommended above using parameter names and all newer parameters will only be available on this. settings object The name of a settings configuration, like \"Content\", \"Screen\", \"Square\", etc. A standardized Image-Settings object like Settings.Child(\"Images.Content\") - see https://go.2sxc.org/settings A dynamic object containing settings properties (this can also be a merged custom + standard settings) A strictly typed IResizeSettings object containing all settings created using ResizeSettings factor object An optional multiplier, usually used to create urls which resize to a part of the default content-size. Like 0.5. width object An optional, fixed width of the image imgAlt string Optional alt attribute on the created img tag for SEO etc. If supplied, it takes precedence to the alt-description in the image metadata which the editor added themselves. If you want to provide a fallback value (in case the metadata has no alt), use imgAltFallback imgAltFallback string Optional alt attribute which is only used if the imgAlt or the alt-text in the metadata are empty. imgClass string Optional class attribute on the created img tag imgAttributes object Optional additional attributes - as anonymous object like new { style = \"padding: 10px\" } or Dictionary (new 16.07) pictureClass string Optional class attribute on the created picture tag pictureAttributes object Optional additional attributes - as anonymous object like new { style = \"padding: 10px\" } or Dictionary (new 16.07) toolbar object Provide a custom toolbar or false to not show a toolbar recipe object Optional recipe = instructions how to create the various variants of this link. Can be any one of these: string containing variants Rule object TODO: DOCS not quite ready Returns IResponsivePicture A IResponsivePicture object which can be rendered directly. See Responsive Images API in .net If the field does not exist, it will return null If the field exists, but is empty, it will return null Remarks Added to ITypedItem in v16.03 imgAttributes, picClass and picAttributes added in 16.07 tweak added in 18.03 String(string, NoParamOrder, string, bool?, object) Get a property and return the value as a string. If conversion fails, will return default null or what is specified in the fallback. public string String(string name, NoParamOrder noParamOrder = default, string fallback = null, bool? required = null, object scrubHtml = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback string optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks scrubHtml object If true, will remove all HTML tags from the string. If p will remove all p tags, if div,span will remove these tags. This is the same as using Kit.Scrub.All(...) or .Only(...). For more detailed scrubbing, use the Kit.Scrub` Returns string Value as string ToString() Override ToString to give more information about the current object public override string ToString() Returns string Url(string, NoParamOrder, string, bool?) Get a url from a field. It will do sanitation / url-corrections for special characters etc. On TypedItems it will also auto-convert values such as file:72 or page:14. public string Url(string name, NoParamOrder noParamOrder = default, string fallback = null, bool? required = null) Parameters name string The field name. noParamOrder NoParamOrder see Convention: Named Parameters fallback string optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns string A url converted if possible. If the field contains anything else such as hello then it will not be modified. Operators operator ==(CustomItem, CustomItem) Ensure that the equality check is done correctly. If two objects wrap the same item, they will be considered equal. public static bool operator ==(CustomItem item1, CustomItem item2) Parameters item1 CustomItem first item to compare item2 CustomItem second item to compare Returns bool true, if both wrappers are the same type and wrap the same entity operator !=(CustomItem, CustomItem) Ensure that the equality check is done correctly. If two objects wrap the same item, they will be considered equal. public static bool operator !=(CustomItem item1, CustomItem item2) Parameters item1 CustomItem first item to compare item2 CustomItem second item to compare Returns bool false, if both wrappers are the same type and wrap the same entity" + "keywords": "Class CustomItem Namespace Custom.Data Assembly ToSic.Sxc.dll Base class for custom data objects, which extend the ITypedItem and can be used in Razor Components. It is used by 2sxc Copilot when generating base classes for custom data objects. [PublicApi] public class CustomItem : ITypedItem, ITyped, IEquatable, ICanWrap, ICanWrapData Inheritance object CustomItem Implements ITypedItem ITyped IEquatable ICanWrap ICanWrapData Examples Usage ca. like this: A custom data model in AppCode.Data which inherits from this class (usually generated by 2sxc Copilot) Razor code which uses it to convert typed items into this custom data model Example trivial custom ITyped data model: namespace AppCode.Data { class MyPerson : CustomItem { // New custom property public string Name => _item.String(\"Name\"); } } Example usage in Razor: @inherits Custom.Hybrid.RazorTyped @using AppCode.Data @{ var person = As(MyItem); } @* Now you can use the custom properties *@ @person.Name @* But also all the standard properties like Id, Guid, Title, Type, etc. *@ @person.Id / @person.Guid Remarks Released in v17.06 It's not abstract, even if the most common case is to inherit, as there are cases where you want to use it directly. Properties Guid The guid of the underlying entity. [JsonPropertyOrder(-99)] public Guid Guid { get; } Property Value Guid Remarks If the entity doesn't exist, it will return an empty guid Id The ID of the underlying entity. Use it for edit-functionality or just to have a unique number for this item. [JsonPropertyOrder(-100)] public int Id { get; } Property Value int Remarks If the entity doesn't exist, it will return 0 IsDemoItem Many templates show demo data. If the template code must know if it's the demo item or real data, use .IsDemoItem. [JsonIgnore] public bool IsDemoItem { get; } Property Value bool True if this is the item configured in the view-settings, false if not. IsPublished True if this item version is published. This means that the item can exist as published, or published-with-draft, showing the published version. Note that by default, end-users only see the published version and don't see any draft version. [JsonIgnore] public bool IsPublished { get; } Property Value bool Remarks New in v17, see also Publishing Metadata Metadata of the current item, with special features. [JsonIgnore] public IMetadata Metadata { get; } Property Value IMetadata Remarks Added in 16.02 Presentation The presentation item or null if it doesn't exist. [JsonIgnore] public ITypedItem Presentation { get; } Property Value ITypedItem Publishing [JsonIgnore] public IPublishing Publishing { get; } Property Value IPublishing Title The title of this item. This is always available no matter what the underlying field for the title is. [JsonIgnore] public string Title { get; } Property Value string The title of the underlying entity. In rare cases where no title-field is known, it can be null. It can also be null if there is no underlying entity. Remarks This returns a string which is usually what's expected. In previous versions (before v15) 2sxc it returned an object. Type The Content-Type of the current entity. [JsonIgnore] public IContentType Type { get; } Property Value IContentType _item The item - for inheriting classes to access. protected ITypedItem _item { get; } Property Value ITypedItem Remarks this property is protected, not public, as it should only be used internally. this also prevents it from being serialized in JSON, which is good. it uses an unusual name _item to avoid naming conflicts with properties generated in inheriting classes. Methods AsList(IEnumerable, NoParamOrder, bool) Convert a list of Entities or TypedItems into a strongly typed list. Typically, the type will be from your AppCode.Data. protected IEnumerable AsList(IEnumerable source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, ICanWrapData Parameters source IEnumerable protector NoParamOrder nullIfNull bool Returns IEnumerable Type Parameters T Remarks New in v17.03 As(ITypedItem) Convert an Entity or TypedItem into a strongly typed object. Typically, the type will be from your AppCode.Data. protected T As(ITypedItem item) where T : class, ICanWrapData Parameters item ITypedItem Returns T Type Parameters T Remarks New in v17.03 Attribute(string, NoParamOrder, string, bool?) Return a value as a raw HTML string for using inside an attribute. Usage like title='@item.Attribute(\"Title\")' It will do a few things such as: Ensure dates are in the ISO format Ensure numbers are in a neutral format such as 14.27 and never 14,27 Html encode any characters which would cause trouble such as quotes public IRawHtmlString Attribute(string name, NoParamOrder noParamOrder = default, string fallback = null, bool? required = null) Parameters name string Name of the property noParamOrder NoParamOrder see Convention: Named Parameters fallback string Value to use if the property specified by name doesn't exist required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IRawHtmlString Bool(string, NoParamOrder, bool, bool?) Get a property and return the value as a bool. If conversion fails, will return default false or what is specified in the fallback. public bool Bool(string name, NoParamOrder noParamOrder = default, bool fallback = false, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback bool optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns bool Value as bool Child(string, NoParamOrder, bool?) A single item from a field. public ITypedItem Child(string name, NoParamOrder noParamOrder = default, bool? required = null) Parameters name string Name of the field noParamOrder NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns ITypedItem The ITypedItem. If the field doesn't exist or is empty, will return null. Child(string, NoParamOrder, bool?) Get a child and return with specified custom type. public T Child(string name, NoParamOrder protector = default, bool? required = null) where T : class, ICanWrapData, new() Parameters name string Name of the field protector NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns T Type Parameters T Remarks New v17.05 Children(string, NoParamOrder, string, bool?) A typed list of sub-items. Important for LINQ style querying or just working with various lists. Note that for getting child items of this item you can just use the properties, like content.Authors. But using Children(\"Authors\", type: typeName) gives you the ability to restrict to a type. Please check the tutorials on 2sxc.org/dnn-tutorials/ for more info. public IEnumerable Children(string field, NoParamOrder noParamOrder = default, string type = null, bool? required = null) Parameters field string Optional field filter - would only return items that point to the current item in a specific field name. noParamOrder NoParamOrder see Convention: Named Parameters type string Optional type filter - would only return items of this type. required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IEnumerable A list of all items pointing here (filtered), converted to DynamicEntity for convenience. Remarks Note that the parameter-order is reversed to the Parents() Children(string, NoParamOrder, string, bool?) A strongly typed list of sub-items. Important for LINQ style querying or just working with various lists. Note that for getting child items of this item you can just use the properties, like content.Authors. But using Children(\"Authors\", type: typeName) gives you the ability to restrict to a type. Please check the tutorials on 2sxc.org/dnn-tutorials/ for more info. public IEnumerable Children(string field, NoParamOrder protector = default, string type = null, bool? required = null) where T : class, ICanWrapData, new() Parameters field string Name of the field protector NoParamOrder see Convention: Named Parameters type string Optional type filter - would only return items of this type. required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IEnumerable Type Parameters T Remarks New v17.05 ContainsKey(string) Check if this typed object has a property of this specified name. It's case-insensitive. public bool ContainsKey(string name) Parameters name string the name like Image; some objects also support path to sub-property like Author.Name Returns bool Remarks Adding in 16.03 (WIP) DateTime(string, NoParamOrder, DateTime, bool?) Get a property and return the value as a DateTime. If conversion fails, will return default 0001-01-01 or what is specified in the fallback. public DateTime DateTime(string name, NoParamOrder noParamOrder = default, DateTime fallback = default, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback DateTime optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns DateTime Value as DateTime Decimal(string, NoParamOrder, decimal, bool?) Get a property and return the value as a decimal. If conversion fails, will return default 0 or what is specified in the fallback. public decimal Decimal(string name, NoParamOrder noParamOrder = default, decimal fallback = 0, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback decimal optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns decimal Value as decimal Double(string, NoParamOrder, double, bool?) Get a property and return the value as a double. If conversion fails, will return default 0 or what is specified in the fallback. public double Double(string name, NoParamOrder noParamOrder = default, double fallback = 0, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback double optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns double Value as double Equals(object) Ensure that the equality check is done correctly. If two objects wrap the same item, they will be considered equal. public override bool Equals(object b) Parameters b object Returns bool Field(string, NoParamOrder, bool?) Get a special info-object describing a specific field in this item. This is a rich object used by other operations which need a lot of context about the item and the field. public IField Field(string name, NoParamOrder noParamOrder = default, bool? required = null) Parameters name string Name of the property noParamOrder NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IField File(string, NoParamOrder, bool?) Get the file of the current field. There are a few scenarios: If it's a file/hyperlink field pointing to a file such as file:27 it will retrieve the file itself. If it's a file/hyperlink field pointing to a url such as http://xyz it will return null. If it's a library field, it will just take the first file, as there is no value referencing a specific field If it's any other field, will return null public IFile File(string name, NoParamOrder noParamOrder = default, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IFile Remarks Added in 16.02 Float(string, NoParamOrder, float, bool?) Get a property and return the value as a float. If conversion fails, will return default 0 or what is specified in the fallback. public float Float(string name, NoParamOrder noParamOrder = default, float fallback = 0, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback float optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns float Value as float Folder(string, NoParamOrder, bool?) Get the ADAM (Automatic Digital Asset Manager) for this field. This is a folder which contains all the files and possibly folders which are uploaded on exactly this field. public IFolder Folder(string name, NoParamOrder noParamOrder = default, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IFolder The Folder object Remarks Added in 16.02 Get(string, NoParamOrder, bool?, string) Get a property. public object Get(string name, NoParamOrder noParamOrder = default, bool? required = null, string language = null) Parameters name string the property name like Image - or path to sub-property like Author.Name (new v15) noParamOrder NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks language string Optional language like de, de-ch or de,en to determine which values to check. Will ignore languages not in the data model. On items that don't have ML data it will be ignored. new v17.10 Returns object The result if found or null; or error if the object is in strict mode Remarks parameter languages added in 17.10 Get(string, NoParamOrder, TValue, bool?, string) Get a value using the name - and cast it to the expected strong type. For example to get an int even though it's stored as decimal. Since the parameter fallback determines the type TValue you can just write this like `something.Get(\"Title\", fallback: \"no title\") public TValue Get(string name, NoParamOrder noParamOrder = default, TValue fallback = default, bool? required = null, string language = null) Parameters name string the property name like Image - or path to sub-property like Author.Name (new v15) noParamOrder NoParamOrder see Convention: Named Parameters fallback TValue the fallback value to provide if not found required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks language string Optional language like de, de-ch or de,en to determine which values to check. Will ignore languages not in the data model. On items that don't have ML data it will be ignored. new v17.10 Returns TValue The typed value, or the default like null or 0 if casting isn't possible. Type Parameters TValue The expected type, like string, int, etc. Note that you don't need to specify it, if you specify the fallback property. Remarks Added in v15 parameter languages added in 17.10 Gps(string, NoParamOrder, bool?) Get the GPS coordinates of a GPS field as a typed object. public GpsCoordinates Gps(string name, NoParamOrder protector = default, bool? required = null) Parameters name string Name of a field protector NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns GpsCoordinates Remarks New in v17.03 Html(string, NoParamOrder, object, bool?, object, bool?, bool, Func, ITweakInput>) Show a field in the expected / best possible way. As of now it's meant for WYSIWYG fields with Very-Rich Text. See DynamicEntity / TypedItem .Html(...) Method new v16.01 public IHtmlTag Html(string name, NoParamOrder noParamOrder = default, object container = null, bool? toolbar = null, object imageSettings = null, bool? required = null, bool debug = false, Func, ITweakInput> tweak = null) Parameters name string the field name noParamOrder NoParamOrder see Convention: Named Parameters container object A wrapper tag for the result. It's either a RazorBlade tag such as Kit.HtmlTag.Div(), a string such as span or an empty string `` to indicate no container. If not set it will default to to a div-tag. See docs toolbar bool? Override default toolbar behavior on this field. See docs imageSettings object Settings for resizing. Default is Wysiwyg but it can also be Content or a settings object. required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks debug bool Activate debug visualization to better see alignments and such. tweak Func, ITweakInput> tweak behavior - ATM modify the input before it's processed new in v17 Returns IHtmlTag Remarks Added in 2sxc 16.01 Added tweak in v17 Only works on Razor files inheriting from Hybrid14 or newer Img(string, NoParamOrder, Func, object, object, object, string, string, string, object, object, object) Get a Responsive Picture object which you can then either just show, or use to construct a more customized output as you need it. The resulting object can just be added to the html, like @pic or you can work with sub-properties as specified in the IResponsivePicture. Important: This call only allows you to set the most common parameters factor and width. For other parameters like height, aspectRatio, quality etc. create typed Settings Settings(object, NoParamOrder, Func, object, object, object, object, string, string, string, object, string, object) and pass them in. Note This is the similar as using the Picture(object, object, NoParamOrder, Func, object, object, string, string, string, object, string, object, object, object) just a bit simpler. An important difference is that it returns null if the field does not exist or is empty, allowing you to just show nothing or use ...Picture(...) ?? someFallback; public IResponsiveImage Img(string name, NoParamOrder noParamOrder = default, Func tweak = null, object settings = null, object factor = null, object width = null, string imgAlt = null, string imgAltFallback = null, string imgClass = null, object imgAttributes = null, object toolbar = null, object recipe = null) Parameters name string Name of a field noParamOrder NoParamOrder see Convention: Named Parameters tweak Func Tweak API to configure everything (new v18.03). This is recommended above using parameter names and all newer parameters will only be available on this. settings object The name of a settings configuration, like \"Content\", \"Screen\", \"Square\", etc. A standardized Image-Settings object like Settings.Child(\"Images.Content\") - see https://go.2sxc.org/settings A dynamic object containing settings properties (this can also be a merged custom + standard settings) A strictly typed IResizeSettings object containing all settings created using ResizeSettings factor object An optional multiplier, usually used to create urls which resize to a part of the default content-size. Like 0.5. width object An optional, fixed width of the image imgAlt string Optional alt attribute on the created img tag for SEO etc. If supplied, it takes precedence to the alt-description in the image metadata which the editor added themselves. If you want to provide a fallback value (in case the metadata has no alt), use imgAltFallback imgAltFallback string Optional alt attribute which is only used if the imgAlt or the alt-text in the metadata are empty. imgClass string Optional class attribute on the created img tag imgAttributes object Optional additional attributes - as anonymous object like new { style = \"padding: 10px\" } or Dictionary (new 16.07) toolbar object Provide a custom toolbar or false to not show a toolbar recipe object Optional recipe = instructions how to create the various variants of this link. Can be any one of these: string containing variants Rule object TODO: DOCS not quite ready Returns IResponsiveImage A IResponsivePicture object which can be rendered directly. See Responsive Images API in .net If the field does not exist, it will return null If the field exists, but is empty, it will return null Remarks Added to ITypedItem in v17.04 (previously only Picture was available) tweak added in 18.03 Int(string, NoParamOrder, int, bool?) Get a property and return the value as a int. If conversion fails, will return default 0 or what is specified in the fallback. public int Int(string name, NoParamOrder noParamOrder = default, int fallback = 0, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback int optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns int Value as int IsEmpty(string, NoParamOrder, string) Check if this typed object has a property of this specified name, and has real data. The opposite version of this is IsNotEmpty(...) Important This method is optimized for use in Razor-like scenarios. It's behavior is super-useful but maybe not always expected. If the value is a string, and is empty or only contains whitespace (even  ) it is regarded as empty. If the returned value is an empty list (e.g. a field containing relationships, without any items in it) it is regarded as empty. If you need a different kind of check, just .Get(...) the value and perform the checks in your code. public bool IsEmpty(string name, NoParamOrder noParamOrder = default, string language = null) Parameters name string the property name like Image; some objects also support path to sub-property like Author.Name noParamOrder NoParamOrder see Convention: Named Parameters language string Optional language like de, de-ch or de,en to determine which values to check. Will ignore languages not in the data model. On items that don't have ML data it will be ignored. new v17.10 Returns bool true if the property exists and has a real value. If it returned an empty list, it will also return false Remarks Added in 16.03 language parameter added in 17.10 IsNotEmpty(string, NoParamOrder, string) Check if this typed object has a property of this specified name, and has real data. The opposite version of this is IsEmpty(...) Important This method is optimized for use in Razor-like scenarios. It's behavior is super-useful but maybe not always expected. If the value is a string, and is empty or only contains whitespace (even  ) it is regarded as empty. If the returned value is an empty list (e.g. a field containing relationships, without any items in it) it is regarded as empty. If you need a different kind of check, just .Get(...) the value and perform the checks in your code. public bool IsNotEmpty(string name, NoParamOrder noParamOrder = default, string language = null) Parameters name string the property name like Image; some objects also support path to sub-property like Author.Name noParamOrder NoParamOrder see Convention: Named Parameters language string Optional language like de, de-ch or de,en to determine which values to check. Will ignore languages not in the data model. On items that don't have ML data it will be ignored. new v17.10 Returns bool true if the property exists and has a real value. If it returned an empty list, it will also return false Remarks Added in 16.03 language parameter added in 17.10 Keys(NoParamOrder, IEnumerable) Get all the keys available in this Model (all the parameters passed in). This is used to sometimes run early checks if all the expected parameters have been provided. public IEnumerable Keys(NoParamOrder noParamOrder = default, IEnumerable only = null) Parameters noParamOrder NoParamOrder see Convention: Named Parameters only IEnumerable Only return the keys specified here, if found. Typical use: only: new [] { \"Key1\", \"Key2\" }. Useful to check if all or any specific keys exist. Returns IEnumerable Remarks Added in 16.03 Long(string, NoParamOrder, long, bool?) Get a property and return the value as a long. If conversion fails, will return default 0 or what is specified in the fallback. public long Long(string name, NoParamOrder noParamOrder = default, long fallback = 0, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback long optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns long Value as long Parent(NoParamOrder, bool?, string, string) Get either the current parent or the first parent which would be found on .Parents(...). public ITypedItem Parent(NoParamOrder noParamOrder = default, bool? current = null, string type = null, string field = null) Parameters noParamOrder NoParamOrder see Convention: Named Parameters current bool? if set to true, will get the Item which created the current item (the parent) which called .Child(...) or .Children(...) type string Optional type filter - would only return items of this type. field string Optional field filter - would only return items that point to the current item in a specific field name. Returns ITypedItem either the current parent or the first parent returned by the same .Parents(...) call. Parent(NoParamOrder, bool?, string, string) Get either the current parent or the first parent which would be found on .Parents(...) as strongly typed. public T Parent(NoParamOrder protector = default, bool? current = null, string type = null, string field = null) where T : class, ICanWrapData, new() Parameters protector NoParamOrder see Convention: Named Parameters current bool? if set to true, will get the Item which created the current item (the parent) which called .Child(...) or .Children(...) type string Optional type filter - would only return items of this type. field string Optional field filter - would only return items that point to the current item in a specific field name. Returns T either the current parent or the first parent returned by the same .Parents(...) call. Type Parameters T Remarks New v17.06 Parents(NoParamOrder, string, string) A typed list of entities which point to this item. Important for LINQ style querying or just working with various lists. Note that for getting child items of this item you can just use the properties, like content.Authors. Please check the tutorials on 2sxc.org/dnn-tutorials/ for more info. public IEnumerable Parents(NoParamOrder noParamOrder = default, string type = null, string field = null) Parameters noParamOrder NoParamOrder see Convention: Named Parameters type string Optional type filter - would only return items of this type. field string Optional field filter - would only return items that point to the current item in a specific field name. Returns IEnumerable A list of all items pointing here (filtered), converted to DynamicEntity for convenience. Remarks Note that the parameter-order is reversed to the Children() Parents(NoParamOrder, string, string) A typed list of entities which point to this item. Important for LINQ style querying or just working with various lists. Note that for getting child items of this item you can just use the properties, like content.Authors. Please check the tutorials on 2sxc.org/dnn-tutorials/ for more info. public IEnumerable Parents(NoParamOrder protector = default, string type = null, string field = null) where T : class, ICanWrapData, new() Parameters protector NoParamOrder see Convention: Named Parameters type string Optional type filter - would only return items of this type. If not specified (null) will use the name of T. field string Optional field filter - would only return items that point to the current item in a specific field name. Returns IEnumerable A list of all items pointing here (filtered), converted to DynamicEntity for convenience. Type Parameters T Remarks Note that the parameter-order is reversed to the Children() Picture(string, NoParamOrder, Func, object, object, object, string, string, string, object, string, object, object, object) Get a Responsive Picture object which you can then either just show, or use to construct a more customized output as you need it. The resulting object can just be added to the html, like @pic or you can work with sub-properties as specified in the IResponsivePicture. Important: This call only allows you to set the most common parameters factor and width. For other parameters like height, aspectRatio, quality etc. create typed Settings Settings(object, NoParamOrder, Func, object, object, object, object, string, string, string, object, string, object) and pass them in. Note This is the similar as using the Picture(object, object, NoParamOrder, Func, object, object, string, string, string, object, string, object, object, object) just a bit simpler. An important difference is that it returns null if the field does not exist or is empty, allowing you to just show nothing or use ...Picture(...) ?? someFallback; public IResponsivePicture Picture(string name, NoParamOrder noParamOrder = default, Func tweak = null, object settings = null, object factor = null, object width = null, string imgAlt = null, string imgAltFallback = null, string imgClass = null, object imgAttributes = null, string pictureClass = null, object pictureAttributes = null, object toolbar = null, object recipe = null) Parameters name string Name of a field noParamOrder NoParamOrder see Convention: Named Parameters tweak Func Tweak API to configure everything (new v18.03). This is recommended above using parameter names and all newer parameters will only be available on this. settings object The name of a settings configuration, like \"Content\", \"Screen\", \"Square\", etc. A standardized Image-Settings object like Settings.Child(\"Images.Content\") - see https://go.2sxc.org/settings A dynamic object containing settings properties (this can also be a merged custom + standard settings) A strictly typed IResizeSettings object containing all settings created using ResizeSettings factor object An optional multiplier, usually used to create urls which resize to a part of the default content-size. Like 0.5. width object An optional, fixed width of the image imgAlt string Optional alt attribute on the created img tag for SEO etc. If supplied, it takes precedence to the alt-description in the image metadata which the editor added themselves. If you want to provide a fallback value (in case the metadata has no alt), use imgAltFallback imgAltFallback string Optional alt attribute which is only used if the imgAlt or the alt-text in the metadata are empty. imgClass string Optional class attribute on the created img tag imgAttributes object Optional additional attributes - as anonymous object like new { style = \"padding: 10px\" } or Dictionary (new 16.07) pictureClass string Optional class attribute on the created picture tag pictureAttributes object Optional additional attributes - as anonymous object like new { style = \"padding: 10px\" } or Dictionary (new 16.07) toolbar object Provide a custom toolbar or false to not show a toolbar recipe object Optional recipe = instructions how to create the various variants of this link. Can be any one of these: string containing variants Rule object TODO: DOCS not quite ready Returns IResponsivePicture A IResponsivePicture object which can be rendered directly. See Responsive Images API in .net If the field does not exist, it will return null If the field exists, but is empty, it will return null Remarks Added to ITypedItem in v16.03 imgAttributes, picClass and picAttributes added in 16.07 tweak added in 18.03 String(string, NoParamOrder, string, bool?, object) Get a property and return the value as a string. If conversion fails, will return default null or what is specified in the fallback. public string String(string name, NoParamOrder noParamOrder = default, string fallback = null, bool? required = null, object scrubHtml = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback string optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks scrubHtml object If true, will remove all HTML tags from the string. If p will remove all p tags, if div,span will remove these tags. This is the same as using Kit.Scrub.All(...) or .Only(...). For more detailed scrubbing, use the Kit.Scrub` Returns string Value as string ToString() Override ToString to give more information about the current object public override string ToString() Returns string Url(string, NoParamOrder, string, bool?) Get a url from a field. It will do sanitation / url-corrections for special characters etc. On TypedItems it will also auto-convert values such as file:72 or page:14. public string Url(string name, NoParamOrder noParamOrder = default, string fallback = null, bool? required = null) Parameters name string The field name. noParamOrder NoParamOrder see Convention: Named Parameters fallback string optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns string A url converted if possible. If the field contains anything else such as hello then it will not be modified. Operators operator ==(CustomItem, CustomItem) Ensure that the equality check is done correctly. If two objects wrap the same item, they will be considered equal. public static bool operator ==(CustomItem item1, CustomItem item2) Parameters item1 CustomItem first item to compare item2 CustomItem second item to compare Returns bool true, if both wrappers are the same type and wrap the same entity operator !=(CustomItem, CustomItem) Ensure that the equality check is done correctly. If two objects wrap the same item, they will be considered equal. public static bool operator !=(CustomItem item1, CustomItem item2) Parameters item1 CustomItem first item to compare item2 CustomItem second item to compare Returns bool false, if both wrappers are the same type and wrap the same entity" }, "api/dot-net/Custom.Data.CustomModel.html": { "href": "api/dot-net/Custom.Data.CustomModel.html", @@ -1127,7 +1127,7 @@ "api/dot-net/Custom.Hybrid.ApiTyped.html": { "href": "api/dot-net/Custom.Hybrid.ApiTyped.html", "title": "Class ApiTyped | 2sxc 19 for Dnn and Oqtane", - "keywords": "Class ApiTyped Namespace Custom.Hybrid Assembly ToSic.Sxc.Dnn.WebApi.dll Base class for v16 Typed WebAPI files. Use it to create custom WebAPI endpoints in your App. It provides the ServiceKit16 on property Kit which contains all the popular services to create amazing stuff. [PublicApi] [JsonFormatter] public abstract class ApiTyped : DnnSxcCustomControllerBase, IHasLog Inheritance object ApiController DnnApiController DnnSxcControllerRoot DnnSxcControllerBase DnnSxcCustomControllerBase ApiTyped Implements IHasLog Remarks Important: This is very different from Razor12 or Razor14, as it doesn't rely on dynamic code. Be aware of this since the APIs are very different - see Typed Code. Constructors ApiTyped() Main constructor. Doesn't have parameters so it can easily be inherited. protected ApiTyped() ApiTyped(string) Alternate constructor to use when inheriting, placing the Insights logs in an own section. protected ApiTyped(string insightsGroup) Parameters insightsGroup string Name of the section in Insights Properties AllResources Stack of all Resources in the System, merging Resources of View, App, Site, Global etc. Will retrieve values by priority, with View-Resources being top priority and Preset-Resources being the lowest. Tip If you know that Resources come from the App, you should prefer App.Resources instead. That is faster and helps people reading your code figure out where to change a value. public ITypedStack AllResources { get; } Property Value ITypedStack AllSettings Stack of all Settings in the System, merging Settings of View, App, Site, Global etc. Will retrieve values by priority, with View-Settings being top priority and Preset-Settings being the lowest. Tip If you know that Settings come from the App, you should prefer App.Settings instead. That is faster and helps people reading your code figure out where to change a value. public ITypedStack AllSettings { get; } Property Value ITypedStack App The current App object (with strictly typed Settings/Resources). Use it to access App properties such as Path or any data in the App. public IAppTyped App { get; } Property Value IAppTyped Kit The Service Kit containing all kinds of services which are commonly used. The services on the Kit are context-aware, so they know what App is currently being used etc. public ServiceKit16 Kit { get; } Property Value ServiceKit16 Link Link helper object to create the correct links public ILinkService Link { get; } Property Value ILinkService A ILinkService object. Log The logger for the current Razor / WebApi which allows you to add logs to Insights. public ICodeLog Log { get; } Property Value ICodeLog MyContext This Context tells you about the environment, such as the current User the Page the View the Site It's supposed to replace direct access to Dnn or Oqtane object in Razor and WebAPI code, allowing hybrid code that works everywhere. public ICmsContext MyContext { get; } Property Value ICmsContext Remarks New in v11.11 MyData All the data which the current Template received, based on the View configuration. There are a few common scenarios: If it's a simple view, then this will just contain streams with the main Item(s) and Header If the view expects no data, it will just contain a Default stream containing no items If the view has a Query behind it, then MyData will have all the streams provided by the Query public IDataSource MyData { get; } Property Value IDataSource MyHeader The Header-Item belonging to this Template/Module. This data is edited by the user directly on this specific module. In some cases it can also be a pre-set item configured in the View to be used if the user has not added any data himself. public ITypedItem MyHeader { get; } Property Value ITypedItem MyItem The main Item belonging to this Template/Module. This data is edited by the user directly on this specific module. In some cases it can also be a pre-set item configured in the View to be used if the user has not added any data himself. If this view can have a list of items (more than one) then this contains the first item. To get all the items, see ToSic.Sxc.Code.Internal.IDynamicCode16.MyItems public ITypedItem MyItem { get; } Property Value ITypedItem MyItems List of all Items belonging to this Template/Module. This data is edited by the user directly on this specific module. In some cases it can also be a pre-set item configured in the View to be used if the user has not added any data himself. If this view is configured to only have one item, then this list will only contain one item. Otherwise, it will have as many items as the editor added. public IEnumerable MyItems { get; } Property Value IEnumerable MyModel Data passed to this Razor template by a caller. This is typical for Razor components which are re-used, and called from other Razor templates using @Html.Partial(\"filename.cshtml\", new { thing = 7 }). public ITypedModel MyModel { get; } Property Value ITypedModel MyPage Information about the current Page (called Tab in DNN). It's especially useful to get current URL Parameters. public ICmsPage MyPage { get; } Property Value ICmsPage MyUser Information about the current user. It's especially useful to see if the user has any kind of Admin privileges. public ICmsUser MyUser { get; } Property Value ICmsUser MyView View-information such as the view Name, Identity or Edition. public ICmsView MyView { get; } Property Value ICmsView Remarks New in v12.02 UniqueKey A unique, random key for the current module. It's recommended for giving DOM elements a unique id for scripts to then access them. It's generated for every content-block, and more reliable than Module.Id since that sometimes results in duplicate keys, if the many blocks are used inside each other. It's generated using a GUID and converted/shortened. In the current version it's 8 characters long, so it has 10^14 combinations, making collisions extremely unlikely. (currently 8 characters) Tip To get a unique key which is based on additional objects such as Entities, use the UniqueKeyWith(params object[]) method. public string UniqueKey { get; } Property Value string Remarks If you get a fresh IKeyService it will also create a new UniqueKey. So your code should usually use the built-in property UniqueKey which comes from the shared ServiceKit Key. Methods Accepted() Creates a .net-core like AcceptedResult object that produces an .net-core like StatusCodes.Status202Accepted response. Typical use: return Accepted(); [NonAction] public HttpResponseMessage Accepted() Returns HttpResponseMessage The created .net-core like AcceptedResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. AsEntity(ICanBeEntity) Unwraps a dynamic entity or ITypedItem back into the underlying IEntity public IEntity AsEntity(ICanBeEntity thing) Parameters thing ICanBeEntity Returns IEntity A normal IEntity AsItem(object, NoParamOrder, bool?, bool?) Convert something to a ITypedItem. This works for all kinds of IEntitys, IDynamicEntitys as well as Lists/IEnumerables of those. Will always return a single item. If a list is provided, it will return the first item in the list. If null was provided, it will return null. public ITypedItem AsItem(object data, NoParamOrder noParamOrder = default, bool? propsRequired = null, bool? mock = null) Parameters data object An original object which can be converted to a TypedItem, such as a IEntity . noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true mock bool? Specify that the data is fake/mock data, which should pretend to be an Item. Default is false Returns ITypedItem Remarks New in v16.02 AsItems(object, NoParamOrder, bool?) Convert an object containing a list of Entities or similar to a list of ITypedItems. public IEnumerable AsItems(object list, NoParamOrder noParamOrder = default, bool? propsRequired = null) Parameters list object The original list which is usually a list of IEntity objects. noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true Returns IEnumerable Remarks New in v16.01 AsList(object, NoParamOrder, bool) Convert a list of Entities or TypedItems into a strongly typed list. Typically, the type will be from your AppCode.Data. public IEnumerable AsList(object source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, IDataModel Parameters source object the source object - a List/Enumerable of IEntity or ITypedItem protector NoParamOrder see Convention: Named Parameters nullIfNull bool if true will return null when source is null - otherwise a wrapper item with empty-contents Returns IEnumerable Type Parameters T the target type Remarks Release in v17.05 AsStack(params object[]) Create a typed object which will provide all the properties of the things wrapped inside it. The priority is first-object first, so if multiple items have the property, the first in the list will be returned. public ITypedStack AsStack(params object[] items) Parameters items object[] objects to stack together Returns ITypedStack AsStack(params object[]) Create a custom-typed object which will provide all the properties of the things wrapped inside it. The priority is first-object first, so if multiple items have the property, the first in the list will be returned. public T AsStack(params object[] items) where T : class, IDataModel, new() Parameters items object[] objects to stack together Returns T Item of the custom type Type Parameters T Remarks New in 17.07 AsTyped(object, NoParamOrder, bool?) Creates a typed object to read the original passed into this function. This is usually used to process objects which the compiler can't know, such as anonymous objects returned from helper code etc. If you have an array of such objects, use AsTypedList(object, NoParamOrder, bool?). public ITyped AsTyped(object original, NoParamOrder noParamOrder = default, bool? propsRequired = null) Parameters original object noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true Returns ITyped AsTypedList(object, NoParamOrder, bool?) Create a list public IEnumerable AsTypedList(object list, NoParamOrder noParamOrder = default, bool? propsRequired = null) Parameters list object List/Enumerable object containing a bunch of items to make typed noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true Returns IEnumerable As(object, NoParamOrder, bool) Convert an Entity or TypedItem into a strongly typed object. Typically, the type will be from your AppCode.Data. public T As(object source, NoParamOrder protector = default, bool mock = false) where T : class, IDataModel, new() Parameters source object the source object - an IEntity or ITypedItem protector NoParamOrder see Convention: Named Parameters mock bool if true will return a fake when source is null - otherwise a wrapper item with empty-contents Returns T Type Parameters T the target type Remarks Released v17.05 BadRequest() Creates an .net-core like BadRequestResult that produces a .net-core like StatusCodes.Status400BadRequest response. Typical use: return BadRequest(); [NonAction] public BadRequestResult BadRequest() Returns BadRequestResult The created .net-core like BadRequestResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. Conflict() Creates an .net-core like ConflictResult that produces a .net-core like StatusCodes.Status409Conflict response. Typical use: return Conflict(); [NonAction] public ConflictResult Conflict() Returns ConflictResult The created .net-core like ConflictResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. Conflict(object) Creates an .net-core like ConflictObjectResult that produces a .net-core like StatusCodes.Status409Conflict response. Typical use: return Conflict(\"the stored file is newer\"); [NonAction] public HttpResponseMessage Conflict(object error) Parameters error object Contains errors to be returned to the client. Returns HttpResponseMessage The created .net-core like ConflictObjectResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. File(NoParamOrder, bool?, string, string, string, object) Create a File-result to stream to the client Typical use: return File(download: true, contentType: \"text/xml\", contents: ...); public dynamic File(NoParamOrder noParamOrder = default, bool? download = null, string virtualPath = null, string contentType = null, string fileDownloadName = null, object contents = null) Parameters noParamOrder NoParamOrder see Convention: Named Parameters download bool? If a download should be enforced (otherwise the file may just be displayed - like an image) virtualPath string Path in the website to get the file from. Provide either virtualPath or contents contentType string Mime Content-type. Will try to auto-detect from virtualPath or fileDownloadName if not provided. fileDownloadName string Download name. If provided, it will try to force download/save on the browser. contents object Content of the result - a string, byte[] or stream to include. Returns dynamic Remarks Added in 2sxc 12.05 Forbid() Creates a .net-core like ForbidResult (.net-core like StatusCodes.Status403Forbidden by default). Typical use: return Forbid(); [NonAction] public HttpResponseMessage Forbid() Returns HttpResponseMessage The created .net-core like ForbidResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. Some authentication schemes, such as cookies, will convert .net-core like StatusCodes.Status403Forbidden to a redirect to show a login page. GetCode(string, NoParamOrder, string) Create an instance of a class in a .cs code file. Note that the class name in the file must match the file name, so MyHelpers.cs must have a MyHelpers class. public dynamic GetCode(string path, NoParamOrder noParamOrder = default, string className = null) Parameters path string The path, like Helper.cs, ./helper.cs, ../../Helper.cs or /SomeFolderInApp/Helper.cs (new 16.05) noParamOrder NoParamOrder see Convention: Named Parameters className string Optional class name, if it doesn't match the file name (new 16.03) Returns dynamic , Remarks Created in 16.02 className added in 16.03 Ability to give a path beginning with / as app-root in 16.05 In older code there was a similar CreateInstance method GetService() Get a service from the Dependency Injection. The service can come from 2sxc, EAV or the underlying platform (Dnn, Oqtane). public TService GetService() where TService : class Returns TService An object of the type or interface requested, or null if not found in the DI. Type Parameters TService Interface (preferred) or Class which is needed NoContent() Creates a .net-core like NoContentResult object that produces an empty .net-core like StatusCodes.Status204NoContent response. Typical use: return NoContent(); [NonAction] public HttpResponseMessage NoContent() Returns HttpResponseMessage The created .net-core like NoContentResult object for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. NotFound() Creates an .net-core like NotFoundResult that produces a .net-core like StatusCodes.Status404NotFound response. Typical use: return NotFound(); [NonAction] public NotFoundResult NotFound() Returns NotFoundResult The created .net-core like NotFoundResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. NotFound(object) Creates an .net-core like NotFoundObjectResult that produces a .net-core like StatusCodes.Status404NotFound response. Typical use: return Unauthorized(\"try another ID\"); [NonAction] public HttpResponseMessage NotFound(object value) Parameters value object Returns HttpResponseMessage The created .net-core like NotFoundObjectResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. Ok() Creates a .net-core like OkResult object that produces an empty .net-core like StatusCodes.Status200OK response. Typical use: return Ok(); [NonAction] public OkResult Ok() Returns OkResult The created .net-core like OkResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. Ok(object) Creates an .net-core like OkObjectResult object that produces an .net-core like StatusCodes.Status200OK response. Typical use: return Ok(objectToInclude); [NonAction] public HttpResponseMessage Ok(object value) Parameters value object The content value to format in the entity body. Returns HttpResponseMessage The created .net-core like OkObjectResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. Redirect(string) Creates a .net-core like RedirectResult object that redirects (.net-core like StatusCodes.Status302Found) to the specified url. Typical use: return Redirect(\"https://2sxc.org\"); [NonAction] public RedirectResult Redirect(string url) Parameters url string The URL to redirect to. Returns RedirectResult The created .net-core like RedirectResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. RedirectPermanent(string) Creates a .net-core like RedirectResult object with .net-core like RedirectResult.Permanent set to true (.net-core like StatusCodes.Status301MovedPermanently) using the specified url. Typical use: return RedirectPermanent(\"https://2sxc.org\"); [NonAction] public HttpResponseMessage RedirectPermanent(string url) Parameters url string The URL to redirect to. Returns HttpResponseMessage The created .net-core like RedirectResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. SaveInAdam(NoParamOrder, Stream, string, string, Guid?, string, string) Save a file from a stream (usually an upload from the browser) into an adam-field of an item. Read more about this in the WebAPI docs for SaveInAdam public IFile SaveInAdam(NoParamOrder noParamOrder = default, Stream stream = null, string fileName = null, string contentType = null, Guid? guid = null, string field = null, string subFolder = \"\") Parameters noParamOrder NoParamOrder see Convention: Named Parameters stream Stream the stream fileName string file name to save to contentType string content-type of the target item (important for security checks) guid Guid? field string subFolder string Returns IFile StatusCode(int) Creates a .net-core like StatusCodeResult object by specifying a statusCode. Typical use: return StatusCode(403); [NonAction] public HttpResponseMessage StatusCode(int statusCode) Parameters statusCode int The status code to set on the response. Returns HttpResponseMessage The created .net-core like StatusCodeResult object for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. StatusCode(int, object) Creates a .net-core like ObjectResult object by specifying a statusCode and value Typical use: return StatusCode(304, \"not modified\"); [NonAction] public HttpResponseMessage StatusCode(int statusCode, object value) Parameters statusCode int The status code to set on the response. value object The value to set on the .net-core like `ObjectResult\"/>. Returns HttpResponseMessage The created .net-core like ObjectResult object for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. Unauthorized() Creates an .net-core like UnauthorizedResult that produces an .net-core like StatusCodes.Status401Unauthorized response. Typical use: return Unauthorized(); [NonAction] public HttpResponseMessage Unauthorized() Returns HttpResponseMessage The created .net-core like UnauthorizedResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. Unauthorized(object) Creates an .net-core like UnauthorizedObjectResult that produces a .net-core like StatusCodes.Status401Unauthorized response. Typical use: return Unauthorized(\"we don't like this\"); [NonAction] public HttpResponseMessage Unauthorized(object value) Parameters value object Returns HttpResponseMessage The created .net-core like UnauthorizedObjectResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object." + "keywords": "Class ApiTyped Namespace Custom.Hybrid Assembly ToSic.Sxc.Dnn.WebApi.dll Base class for v16 Typed WebAPI files. Use it to create custom WebAPI endpoints in your App. It provides the ServiceKit16 on property Kit which contains all the popular services to create amazing stuff. [PublicApi] [JsonFormatter] public abstract class ApiTyped : DnnSxcCustomControllerBase, IHasLog Inheritance object ApiController DnnApiController DnnSxcControllerRoot DnnSxcControllerBase DnnSxcCustomControllerBase ApiTyped Implements IHasLog Remarks Important: This is very different from Razor12 or Razor14, as it doesn't rely on dynamic code. Be aware of this since the APIs are very different - see Typed Code. Constructors ApiTyped() Main constructor. Doesn't have parameters so it can easily be inherited. protected ApiTyped() ApiTyped(string) Alternate constructor to use when inheriting, placing the Insights logs in an own section. protected ApiTyped(string insightsGroup) Parameters insightsGroup string Name of the section in Insights Properties AllResources Stack of all Resources in the System, merging Resources of View, App, Site, Global etc. Will retrieve values by priority, with View-Resources being top priority and Preset-Resources being the lowest. Tip If you know that Resources come from the App, you should prefer App.Resources instead. That is faster and helps people reading your code figure out where to change a value. public ITypedStack AllResources { get; } Property Value ITypedStack AllSettings Stack of all Settings in the System, merging Settings of View, App, Site, Global etc. Will retrieve values by priority, with View-Settings being top priority and Preset-Settings being the lowest. Tip If you know that Settings come from the App, you should prefer App.Settings instead. That is faster and helps people reading your code figure out where to change a value. public ITypedStack AllSettings { get; } Property Value ITypedStack App The current App object (with strictly typed Settings/Resources). Use it to access App properties such as Path or any data in the App. public IAppTyped App { get; } Property Value IAppTyped Kit The Service Kit containing all kinds of services which are commonly used. The services on the Kit are context-aware, so they know what App is currently being used etc. public ServiceKit16 Kit { get; } Property Value ServiceKit16 Link Link helper object to create the correct links public ILinkService Link { get; } Property Value ILinkService A ILinkService object. Log The logger for the current Razor / WebApi which allows you to add logs to Insights. public ICodeLog Log { get; } Property Value ICodeLog MyContext This Context tells you about the environment, such as the current User the Page the View the Site It's supposed to replace direct access to Dnn or Oqtane object in Razor and WebAPI code, allowing hybrid code that works everywhere. public ICmsContext MyContext { get; } Property Value ICmsContext Remarks New in v11.11 MyData All the data which the current Template received, based on the View configuration. There are a few common scenarios: If it's a simple view, then this will just contain streams with the main Item(s) and Header If the view expects no data, it will just contain a Default stream containing no items If the view has a Query behind it, then MyData will have all the streams provided by the Query public IDataSource MyData { get; } Property Value IDataSource MyHeader The Header-Item belonging to this Template/Module. This data is edited by the user directly on this specific module. In some cases it can also be a pre-set item configured in the View to be used if the user has not added any data himself. public ITypedItem MyHeader { get; } Property Value ITypedItem MyItem The main Item belonging to this Template/Module. This data is edited by the user directly on this specific module. In some cases it can also be a pre-set item configured in the View to be used if the user has not added any data himself. If this view can have a list of items (more than one) then this contains the first item. To get all the items, see ToSic.Sxc.Code.Internal.IDynamicCode16.MyItems public ITypedItem MyItem { get; } Property Value ITypedItem MyItems List of all Items belonging to this Template/Module. This data is edited by the user directly on this specific module. In some cases it can also be a pre-set item configured in the View to be used if the user has not added any data himself. If this view is configured to only have one item, then this list will only contain one item. Otherwise, it will have as many items as the editor added. public IEnumerable MyItems { get; } Property Value IEnumerable MyModel Data passed to this Razor template by a caller. This is typical for Razor components which are re-used, and called from other Razor templates using @Html.Partial(\"filename.cshtml\", new { thing = 7 }). public ITypedModel MyModel { get; } Property Value ITypedModel MyPage Information about the current Page (called Tab in DNN). It's especially useful to get current URL Parameters. public ICmsPage MyPage { get; } Property Value ICmsPage MyUser Information about the current user. It's especially useful to see if the user has any kind of Admin privileges. public ICmsUser MyUser { get; } Property Value ICmsUser MyView View-information such as the view Name, Identity or Edition. public ICmsView MyView { get; } Property Value ICmsView Remarks New in v12.02 UniqueKey A unique, random key for the current module. It's recommended for giving DOM elements a unique id for scripts to then access them. It's generated for every content-block, and more reliable than Module.Id since that sometimes results in duplicate keys, if the many blocks are used inside each other. It's generated using a GUID and converted/shortened. In the current version it's 8 characters long, so it has 10^14 combinations, making collisions extremely unlikely. (currently 8 characters) Tip To get a unique key which is based on additional objects such as Entities, use the UniqueKeyWith(params object[]) method. public string UniqueKey { get; } Property Value string Remarks If you get a fresh IKeyService it will also create a new UniqueKey. So your code should usually use the built-in property UniqueKey which comes from the shared ServiceKit Key. Methods Accepted() Creates a .net-core like AcceptedResult object that produces an .net-core like StatusCodes.Status202Accepted response. Typical use: return Accepted(); [NonAction] public HttpResponseMessage Accepted() Returns HttpResponseMessage The created .net-core like AcceptedResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. AsEntity(ICanBeEntity) Unwraps a dynamic entity or ITypedItem back into the underlying IEntity public IEntity AsEntity(ICanBeEntity thing) Parameters thing ICanBeEntity Returns IEntity A normal IEntity AsItem(object, NoParamOrder, bool?, bool?) Convert something to a ITypedItem. This works for all kinds of IEntitys, IDynamicEntitys as well as Lists/IEnumerables of those. Will always return a single item. If a list is provided, it will return the first item in the list. If null was provided, it will return null. public ITypedItem AsItem(object data, NoParamOrder noParamOrder = default, bool? propsRequired = null, bool? mock = null) Parameters data object An original object which can be converted to a TypedItem, such as a IEntity . noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true mock bool? Specify that the data is fake/mock data, which should pretend to be an Item. Default is false Returns ITypedItem Remarks New in v16.02 AsItems(object, NoParamOrder, bool?) Convert an object containing a list of Entities or similar to a list of ITypedItems. public IEnumerable AsItems(object list, NoParamOrder noParamOrder = default, bool? propsRequired = null) Parameters list object The original list which is usually a list of IEntity objects. noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true Returns IEnumerable Remarks New in v16.01 AsList(object, NoParamOrder, bool) Convert a list of Entities or TypedItems into a strongly typed list. Typically, the type will be from your AppCode.Data. public IEnumerable AsList(object source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, ICanWrapData Parameters source object the source object - a List/Enumerable of IEntity or ITypedItem protector NoParamOrder see Convention: Named Parameters nullIfNull bool if true will return null when source is null - otherwise a wrapper item with empty-contents Returns IEnumerable Type Parameters T the target type Remarks Release in v17.05 AsStack(params object[]) Create a typed object which will provide all the properties of the things wrapped inside it. The priority is first-object first, so if multiple items have the property, the first in the list will be returned. public ITypedStack AsStack(params object[] items) Parameters items object[] objects to stack together Returns ITypedStack AsStack(params object[]) Create a custom-typed object which will provide all the properties of the things wrapped inside it. The priority is first-object first, so if multiple items have the property, the first in the list will be returned. public T AsStack(params object[] items) where T : class, ICanWrapData, new() Parameters items object[] objects to stack together Returns T Item of the custom type Type Parameters T Remarks New in 17.07 AsTyped(object, NoParamOrder, bool?) Creates a typed object to read the original passed into this function. This is usually used to process objects which the compiler can't know, such as anonymous objects returned from helper code etc. If you have an array of such objects, use AsTypedList(object, NoParamOrder, bool?). public ITyped AsTyped(object original, NoParamOrder noParamOrder = default, bool? propsRequired = null) Parameters original object noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true Returns ITyped AsTypedList(object, NoParamOrder, bool?) Create a list public IEnumerable AsTypedList(object list, NoParamOrder noParamOrder = default, bool? propsRequired = null) Parameters list object List/Enumerable object containing a bunch of items to make typed noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true Returns IEnumerable As(object, NoParamOrder, bool) Convert an Entity or TypedItem into a strongly typed object. Typically, the type will be from your AppCode.Data. public T As(object source, NoParamOrder protector = default, bool mock = false) where T : class, ICanWrapData Parameters source object the source object - an IEntity or ITypedItem protector NoParamOrder see Convention: Named Parameters mock bool if true will return a fake when source is null - otherwise a wrapper item with empty-contents Returns T Type Parameters T the target type Remarks Released v17.05 BadRequest() Creates an .net-core like BadRequestResult that produces a .net-core like StatusCodes.Status400BadRequest response. Typical use: return BadRequest(); [NonAction] public BadRequestResult BadRequest() Returns BadRequestResult The created .net-core like BadRequestResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. Conflict() Creates an .net-core like ConflictResult that produces a .net-core like StatusCodes.Status409Conflict response. Typical use: return Conflict(); [NonAction] public ConflictResult Conflict() Returns ConflictResult The created .net-core like ConflictResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. Conflict(object) Creates an .net-core like ConflictObjectResult that produces a .net-core like StatusCodes.Status409Conflict response. Typical use: return Conflict(\"the stored file is newer\"); [NonAction] public HttpResponseMessage Conflict(object error) Parameters error object Contains errors to be returned to the client. Returns HttpResponseMessage The created .net-core like ConflictObjectResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. File(NoParamOrder, bool?, string, string, string, object) Create a File-result to stream to the client Typical use: return File(download: true, contentType: \"text/xml\", contents: ...); public dynamic File(NoParamOrder noParamOrder = default, bool? download = null, string virtualPath = null, string contentType = null, string fileDownloadName = null, object contents = null) Parameters noParamOrder NoParamOrder see Convention: Named Parameters download bool? If a download should be enforced (otherwise the file may just be displayed - like an image) virtualPath string Path in the website to get the file from. Provide either virtualPath or contents contentType string Mime Content-type. Will try to auto-detect from virtualPath or fileDownloadName if not provided. fileDownloadName string Download name. If provided, it will try to force download/save on the browser. contents object Content of the result - a string, byte[] or stream to include. Returns dynamic Remarks Added in 2sxc 12.05 Forbid() Creates a .net-core like ForbidResult (.net-core like StatusCodes.Status403Forbidden by default). Typical use: return Forbid(); [NonAction] public HttpResponseMessage Forbid() Returns HttpResponseMessage The created .net-core like ForbidResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. Some authentication schemes, such as cookies, will convert .net-core like StatusCodes.Status403Forbidden to a redirect to show a login page. GetCode(string, NoParamOrder, string) Create an instance of a class in a .cs code file. Note that the class name in the file must match the file name, so MyHelpers.cs must have a MyHelpers class. public dynamic GetCode(string path, NoParamOrder noParamOrder = default, string className = null) Parameters path string The path, like Helper.cs, ./helper.cs, ../../Helper.cs or /SomeFolderInApp/Helper.cs (new 16.05) noParamOrder NoParamOrder see Convention: Named Parameters className string Optional class name, if it doesn't match the file name (new 16.03) Returns dynamic , Remarks Created in 16.02 className added in 16.03 Ability to give a path beginning with / as app-root in 16.05 In older code there was a similar CreateInstance method GetService() Get a service from the Dependency Injection. The service can come from 2sxc, EAV or the underlying platform (Dnn, Oqtane). public TService GetService() where TService : class Returns TService An object of the type or interface requested, or null if not found in the DI. Type Parameters TService Interface (preferred) or Class which is needed NoContent() Creates a .net-core like NoContentResult object that produces an empty .net-core like StatusCodes.Status204NoContent response. Typical use: return NoContent(); [NonAction] public HttpResponseMessage NoContent() Returns HttpResponseMessage The created .net-core like NoContentResult object for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. NotFound() Creates an .net-core like NotFoundResult that produces a .net-core like StatusCodes.Status404NotFound response. Typical use: return NotFound(); [NonAction] public NotFoundResult NotFound() Returns NotFoundResult The created .net-core like NotFoundResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. NotFound(object) Creates an .net-core like NotFoundObjectResult that produces a .net-core like StatusCodes.Status404NotFound response. Typical use: return Unauthorized(\"try another ID\"); [NonAction] public HttpResponseMessage NotFound(object value) Parameters value object Returns HttpResponseMessage The created .net-core like NotFoundObjectResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. Ok() Creates a .net-core like OkResult object that produces an empty .net-core like StatusCodes.Status200OK response. Typical use: return Ok(); [NonAction] public OkResult Ok() Returns OkResult The created .net-core like OkResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. Ok(object) Creates an .net-core like OkObjectResult object that produces an .net-core like StatusCodes.Status200OK response. Typical use: return Ok(objectToInclude); [NonAction] public HttpResponseMessage Ok(object value) Parameters value object The content value to format in the entity body. Returns HttpResponseMessage The created .net-core like OkObjectResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. Redirect(string) Creates a .net-core like RedirectResult object that redirects (.net-core like StatusCodes.Status302Found) to the specified url. Typical use: return Redirect(\"https://2sxc.org\"); [NonAction] public RedirectResult Redirect(string url) Parameters url string The URL to redirect to. Returns RedirectResult The created .net-core like RedirectResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. RedirectPermanent(string) Creates a .net-core like RedirectResult object with .net-core like RedirectResult.Permanent set to true (.net-core like StatusCodes.Status301MovedPermanently) using the specified url. Typical use: return RedirectPermanent(\"https://2sxc.org\"); [NonAction] public HttpResponseMessage RedirectPermanent(string url) Parameters url string The URL to redirect to. Returns HttpResponseMessage The created .net-core like RedirectResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. SaveInAdam(NoParamOrder, Stream, string, string, Guid?, string, string) Save a file from a stream (usually an upload from the browser) into an adam-field of an item. Read more about this in the WebAPI docs for SaveInAdam public IFile SaveInAdam(NoParamOrder noParamOrder = default, Stream stream = null, string fileName = null, string contentType = null, Guid? guid = null, string field = null, string subFolder = \"\") Parameters noParamOrder NoParamOrder see Convention: Named Parameters stream Stream the stream fileName string file name to save to contentType string content-type of the target item (important for security checks) guid Guid? field string subFolder string Returns IFile StatusCode(int) Creates a .net-core like StatusCodeResult object by specifying a statusCode. Typical use: return StatusCode(403); [NonAction] public HttpResponseMessage StatusCode(int statusCode) Parameters statusCode int The status code to set on the response. Returns HttpResponseMessage The created .net-core like StatusCodeResult object for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. StatusCode(int, object) Creates a .net-core like ObjectResult object by specifying a statusCode and value Typical use: return StatusCode(304, \"not modified\"); [NonAction] public HttpResponseMessage StatusCode(int statusCode, object value) Parameters statusCode int The status code to set on the response. value object The value to set on the .net-core like `ObjectResult\"/>. Returns HttpResponseMessage The created .net-core like ObjectResult object for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. Unauthorized() Creates an .net-core like UnauthorizedResult that produces an .net-core like StatusCodes.Status401Unauthorized response. Typical use: return Unauthorized(); [NonAction] public HttpResponseMessage Unauthorized() Returns HttpResponseMessage The created .net-core like UnauthorizedResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object. Unauthorized(object) Creates an .net-core like UnauthorizedObjectResult that produces a .net-core like StatusCodes.Status401Unauthorized response. Typical use: return Unauthorized(\"we don't like this\"); [NonAction] public HttpResponseMessage Unauthorized(object value) Parameters value object Returns HttpResponseMessage The created .net-core like UnauthorizedObjectResult for the response. Remarks This is a shim to ensure that .net Framework code can be written the same way as .net core WebApis. It returns a dynamic to make it easy to use, but the real .net core implementation returns a typed object." }, "api/dot-net/Custom.Hybrid.Code12.html": { "href": "api/dot-net/Custom.Hybrid.Code12.html", @@ -1142,7 +1142,7 @@ "api/dot-net/Custom.Hybrid.CodeTyped.html": { "href": "api/dot-net/Custom.Hybrid.CodeTyped.html", "title": "Class CodeTyped | 2sxc 19 for Dnn and Oqtane", - "keywords": "Class CodeTyped Namespace Custom.Hybrid Assembly ToSic.Sxc.dll Base class for v16 Typed CSharp files. Use it to create custom CS code in your App. It provides the ServiceKit16 on property Kit which contains all the popular services to create amazing stuff. [PublicApi] public abstract class CodeTyped : CustomCodeBase, ICanDebug, IHasLog Inheritance object ServiceBase ServiceForDynamicCode CustomCodeBase CodeTyped Implements ICanDebug IHasLog Remarks Important: This is very different from Razor12 or Razor14, as it doesn't rely on dynamic code. Be aware of this since the APIs are very different - see Typed Code. Constructors CodeTyped() Main constructor. Doesn't have parameters so it can easily be inherited. protected CodeTyped() Properties AllResources Stack of all Resources in the System, merging Resources of View, App, Site, Global etc. Will retrieve values by priority, with View-Resources being top priority and Preset-Resources being the lowest. Tip If you know that Resources come from the App, you should prefer App.Resources instead. That is faster and helps people reading your code figure out where to change a value. public ITypedStack AllResources { get; } Property Value ITypedStack AllSettings Stack of all Settings in the System, merging Settings of View, App, Site, Global etc. Will retrieve values by priority, with View-Settings being top priority and Preset-Settings being the lowest. Tip If you know that Settings come from the App, you should prefer App.Settings instead. That is faster and helps people reading your code figure out where to change a value. public ITypedStack AllSettings { get; } Property Value ITypedStack App The current App object (with strictly typed Settings/Resources). Use it to access App properties such as Path or any data in the App. public IAppTyped App { get; } Property Value IAppTyped Kit public ServiceKit16 Kit { get; } Property Value ServiceKit16 Link Link helper object to create the correct links public ILinkService Link { get; } Property Value ILinkService A ILinkService object. Log The logger for the current Razor / WebApi which allows you to add logs to Insights. public ICodeLog Log { get; } Property Value ICodeLog MyContext This Context tells you about the environment, such as the current User the Page the View the Site It's supposed to replace direct access to Dnn or Oqtane object in Razor and WebAPI code, allowing hybrid code that works everywhere. public ICmsContext MyContext { get; } Property Value ICmsContext Remarks New in v11.11 MyData All the data which the current Template received, based on the View configuration. There are a few common scenarios: If it's a simple view, then this will just contain streams with the main Item(s) and Header If the view expects no data, it will just contain a Default stream containing no items If the view has a Query behind it, then MyData will have all the streams provided by the Query public IDataSource MyData { get; } Property Value IDataSource MyHeader The Header-Item belonging to this Template/Module. This data is edited by the user directly on this specific module. In some cases it can also be a pre-set item configured in the View to be used if the user has not added any data himself. public ITypedItem MyHeader { get; } Property Value ITypedItem MyItem The main Item belonging to this Template/Module. This data is edited by the user directly on this specific module. In some cases it can also be a pre-set item configured in the View to be used if the user has not added any data himself. If this view can have a list of items (more than one) then this contains the first item. To get all the items, see ToSic.Sxc.Code.Internal.IDynamicCode16.MyItems public ITypedItem MyItem { get; } Property Value ITypedItem MyItems List of all Items belonging to this Template/Module. This data is edited by the user directly on this specific module. In some cases it can also be a pre-set item configured in the View to be used if the user has not added any data himself. If this view is configured to only have one item, then this list will only contain one item. Otherwise, it will have as many items as the editor added. public IEnumerable MyItems { get; } Property Value IEnumerable MyModel Data passed to this Razor template by a caller. This is typical for Razor components which are re-used, and called from other Razor templates using @Html.Partial(\"filename.cshtml\", new { thing = 7 }). public ITypedModel MyModel { get; } Property Value ITypedModel MyPage Information about the current Page (called Tab in DNN). It's especially useful to get current URL Parameters. public ICmsPage MyPage { get; } Property Value ICmsPage MyUser Information about the current user. It's especially useful to see if the user has any kind of Admin privileges. public ICmsUser MyUser { get; } Property Value ICmsUser MyView View-information such as the view Name, Identity or Edition. public ICmsView MyView { get; } Property Value ICmsView Remarks New in v12.02 UniqueKey A unique, random key for the current module. It's recommended for giving DOM elements a unique id for scripts to then access them. It's generated for every content-block, and more reliable than Module.Id since that sometimes results in duplicate keys, if the many blocks are used inside each other. It's generated using a GUID and converted/shortened. In the current version it's 8 characters long, so it has 10^14 combinations, making collisions extremely unlikely. (currently 8 characters) Tip To get a unique key which is based on additional objects such as Entities, use the UniqueKeyWith(params object[]) method. public string UniqueKey { get; } Property Value string Remarks If you get a fresh IKeyService it will also create a new UniqueKey. So your code should usually use the built-in property UniqueKey which comes from the shared ServiceKit Key. Methods AsEntity(ICanBeEntity) Unwraps a dynamic entity or ITypedItem back into the underlying IEntity public IEntity AsEntity(ICanBeEntity thing) Parameters thing ICanBeEntity Returns IEntity A normal IEntity AsItem(object, NoParamOrder, bool?, bool?) Convert something to a ITypedItem. This works for all kinds of IEntitys, IDynamicEntitys as well as Lists/IEnumerables of those. Will always return a single item. If a list is provided, it will return the first item in the list. If null was provided, it will return null. public ITypedItem AsItem(object data, NoParamOrder noParamOrder = default, bool? propsRequired = null, bool? mock = null) Parameters data object An original object which can be converted to a TypedItem, such as a IEntity . noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true mock bool? Specify that the data is fake/mock data, which should pretend to be an Item. Default is false Returns ITypedItem Remarks New in v16.02 AsItems(object, NoParamOrder, bool?) Convert an object containing a list of Entities or similar to a list of ITypedItems. public IEnumerable AsItems(object list, NoParamOrder noParamOrder = default, bool? propsRequired = null) Parameters list object The original list which is usually a list of IEntity objects. noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true Returns IEnumerable Remarks New in v16.01 AsList(object, NoParamOrder, bool) Convert a list of Entities or TypedItems into a strongly typed list. Typically, the type will be from your AppCode.Data. public IEnumerable AsList(object source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, IDataModel Parameters source object the source object - a List/Enumerable of IEntity or ITypedItem protector NoParamOrder see Convention: Named Parameters nullIfNull bool if true will return null when source is null - otherwise a wrapper item with empty-contents Returns IEnumerable Type Parameters T the target type Remarks Release in v17.05 AsStack(params object[]) Create a typed object which will provide all the properties of the things wrapped inside it. The priority is first-object first, so if multiple items have the property, the first in the list will be returned. public ITypedStack AsStack(params object[] items) Parameters items object[] objects to stack together Returns ITypedStack AsStack(params object[]) Create a custom-typed object which will provide all the properties of the things wrapped inside it. The priority is first-object first, so if multiple items have the property, the first in the list will be returned. public T AsStack(params object[] items) where T : class, IDataModel, new() Parameters items object[] objects to stack together Returns T Item of the custom type Type Parameters T Remarks New in 17.07 AsTyped(object, NoParamOrder, bool?) Creates a typed object to read the original passed into this function. This is usually used to process objects which the compiler can't know, such as anonymous objects returned from helper code etc. If you have an array of such objects, use AsTypedList(object, NoParamOrder, bool?). public ITyped AsTyped(object original, NoParamOrder noParamOrder = default, bool? propsRequired = null) Parameters original object noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true Returns ITyped AsTypedList(object, NoParamOrder, bool?) Create a list public IEnumerable AsTypedList(object list, NoParamOrder noParamOrder = default, bool? propsRequired = null) Parameters list object List/Enumerable object containing a bunch of items to make typed noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true Returns IEnumerable As(object, NoParamOrder, bool) Convert an Entity or TypedItem into a strongly typed object. Typically, the type will be from your AppCode.Data. public T As(object source, NoParamOrder protector = default, bool mock = false) where T : class, IDataModel, new() Parameters source object the source object - an IEntity or ITypedItem protector NoParamOrder see Convention: Named Parameters mock bool if true will return a fake when source is null - otherwise a wrapper item with empty-contents Returns T Type Parameters T the target type Remarks Released v17.05 GetCode(string, NoParamOrder, string) Create an instance of a class in a .cs code file. Note that the class name in the file must match the file name, so MyHelpers.cs must have a MyHelpers class. public dynamic GetCode(string path, NoParamOrder noParamOrder = default, string className = null) Parameters path string The path, like Helper.cs, ./helper.cs, ../../Helper.cs or /SomeFolderInApp/Helper.cs (new 16.05) noParamOrder NoParamOrder see Convention: Named Parameters className string Optional class name, if it doesn't match the file name (new 16.03) Returns dynamic , Remarks Created in 16.02 className added in 16.03 Ability to give a path beginning with / as app-root in 16.05 In older code there was a similar CreateInstance method GetService() Get a service from the Dependency Injection. The service can come from 2sxc, EAV or the underlying platform (Dnn, Oqtane). public TService GetService() where TService : class Returns TService An object of the type or interface requested, or null if not found in the DI. Type Parameters TService Interface (preferred) or Class which is needed" + "keywords": "Class CodeTyped Namespace Custom.Hybrid Assembly ToSic.Sxc.dll Base class for v16 Typed CSharp files. Use it to create custom CS code in your App. It provides the ServiceKit16 on property Kit which contains all the popular services to create amazing stuff. [PublicApi] public abstract class CodeTyped : CustomCodeBase, ICanDebug, IHasLog Inheritance object ServiceBase ServiceForDynamicCode CustomCodeBase CodeTyped Implements ICanDebug IHasLog Remarks Important: This is very different from Razor12 or Razor14, as it doesn't rely on dynamic code. Be aware of this since the APIs are very different - see Typed Code. Constructors CodeTyped() Main constructor. Doesn't have parameters so it can easily be inherited. protected CodeTyped() Properties AllResources Stack of all Resources in the System, merging Resources of View, App, Site, Global etc. Will retrieve values by priority, with View-Resources being top priority and Preset-Resources being the lowest. Tip If you know that Resources come from the App, you should prefer App.Resources instead. That is faster and helps people reading your code figure out where to change a value. public ITypedStack AllResources { get; } Property Value ITypedStack AllSettings Stack of all Settings in the System, merging Settings of View, App, Site, Global etc. Will retrieve values by priority, with View-Settings being top priority and Preset-Settings being the lowest. Tip If you know that Settings come from the App, you should prefer App.Settings instead. That is faster and helps people reading your code figure out where to change a value. public ITypedStack AllSettings { get; } Property Value ITypedStack App The current App object (with strictly typed Settings/Resources). Use it to access App properties such as Path or any data in the App. public IAppTyped App { get; } Property Value IAppTyped Kit public ServiceKit16 Kit { get; } Property Value ServiceKit16 Link Link helper object to create the correct links public ILinkService Link { get; } Property Value ILinkService A ILinkService object. Log The logger for the current Razor / WebApi which allows you to add logs to Insights. public ICodeLog Log { get; } Property Value ICodeLog MyContext This Context tells you about the environment, such as the current User the Page the View the Site It's supposed to replace direct access to Dnn or Oqtane object in Razor and WebAPI code, allowing hybrid code that works everywhere. public ICmsContext MyContext { get; } Property Value ICmsContext Remarks New in v11.11 MyData All the data which the current Template received, based on the View configuration. There are a few common scenarios: If it's a simple view, then this will just contain streams with the main Item(s) and Header If the view expects no data, it will just contain a Default stream containing no items If the view has a Query behind it, then MyData will have all the streams provided by the Query public IDataSource MyData { get; } Property Value IDataSource MyHeader The Header-Item belonging to this Template/Module. This data is edited by the user directly on this specific module. In some cases it can also be a pre-set item configured in the View to be used if the user has not added any data himself. public ITypedItem MyHeader { get; } Property Value ITypedItem MyItem The main Item belonging to this Template/Module. This data is edited by the user directly on this specific module. In some cases it can also be a pre-set item configured in the View to be used if the user has not added any data himself. If this view can have a list of items (more than one) then this contains the first item. To get all the items, see ToSic.Sxc.Code.Internal.IDynamicCode16.MyItems public ITypedItem MyItem { get; } Property Value ITypedItem MyItems List of all Items belonging to this Template/Module. This data is edited by the user directly on this specific module. In some cases it can also be a pre-set item configured in the View to be used if the user has not added any data himself. If this view is configured to only have one item, then this list will only contain one item. Otherwise, it will have as many items as the editor added. public IEnumerable MyItems { get; } Property Value IEnumerable MyModel Data passed to this Razor template by a caller. This is typical for Razor components which are re-used, and called from other Razor templates using @Html.Partial(\"filename.cshtml\", new { thing = 7 }). public ITypedModel MyModel { get; } Property Value ITypedModel MyPage Information about the current Page (called Tab in DNN). It's especially useful to get current URL Parameters. public ICmsPage MyPage { get; } Property Value ICmsPage MyUser Information about the current user. It's especially useful to see if the user has any kind of Admin privileges. public ICmsUser MyUser { get; } Property Value ICmsUser MyView View-information such as the view Name, Identity or Edition. public ICmsView MyView { get; } Property Value ICmsView Remarks New in v12.02 UniqueKey A unique, random key for the current module. It's recommended for giving DOM elements a unique id for scripts to then access them. It's generated for every content-block, and more reliable than Module.Id since that sometimes results in duplicate keys, if the many blocks are used inside each other. It's generated using a GUID and converted/shortened. In the current version it's 8 characters long, so it has 10^14 combinations, making collisions extremely unlikely. (currently 8 characters) Tip To get a unique key which is based on additional objects such as Entities, use the UniqueKeyWith(params object[]) method. public string UniqueKey { get; } Property Value string Remarks If you get a fresh IKeyService it will also create a new UniqueKey. So your code should usually use the built-in property UniqueKey which comes from the shared ServiceKit Key. Methods AsEntity(ICanBeEntity) Unwraps a dynamic entity or ITypedItem back into the underlying IEntity public IEntity AsEntity(ICanBeEntity thing) Parameters thing ICanBeEntity Returns IEntity A normal IEntity AsItem(object, NoParamOrder, bool?, bool?) Convert something to a ITypedItem. This works for all kinds of IEntitys, IDynamicEntitys as well as Lists/IEnumerables of those. Will always return a single item. If a list is provided, it will return the first item in the list. If null was provided, it will return null. public ITypedItem AsItem(object data, NoParamOrder noParamOrder = default, bool? propsRequired = null, bool? mock = null) Parameters data object An original object which can be converted to a TypedItem, such as a IEntity . noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true mock bool? Specify that the data is fake/mock data, which should pretend to be an Item. Default is false Returns ITypedItem Remarks New in v16.02 AsItems(object, NoParamOrder, bool?) Convert an object containing a list of Entities or similar to a list of ITypedItems. public IEnumerable AsItems(object list, NoParamOrder noParamOrder = default, bool? propsRequired = null) Parameters list object The original list which is usually a list of IEntity objects. noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true Returns IEnumerable Remarks New in v16.01 AsList(object, NoParamOrder, bool) Convert a list of Entities or TypedItems into a strongly typed list. Typically, the type will be from your AppCode.Data. public IEnumerable AsList(object source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, ICanWrapData Parameters source object the source object - a List/Enumerable of IEntity or ITypedItem protector NoParamOrder see Convention: Named Parameters nullIfNull bool if true will return null when source is null - otherwise a wrapper item with empty-contents Returns IEnumerable Type Parameters T the target type Remarks Release in v17.05 AsStack(params object[]) Create a typed object which will provide all the properties of the things wrapped inside it. The priority is first-object first, so if multiple items have the property, the first in the list will be returned. public ITypedStack AsStack(params object[] items) Parameters items object[] objects to stack together Returns ITypedStack AsStack(params object[]) Create a custom-typed object which will provide all the properties of the things wrapped inside it. The priority is first-object first, so if multiple items have the property, the first in the list will be returned. public T AsStack(params object[] items) where T : class, ICanWrapData, new() Parameters items object[] objects to stack together Returns T Item of the custom type Type Parameters T Remarks New in 17.07 AsTyped(object, NoParamOrder, bool?) Creates a typed object to read the original passed into this function. This is usually used to process objects which the compiler can't know, such as anonymous objects returned from helper code etc. If you have an array of such objects, use AsTypedList(object, NoParamOrder, bool?). public ITyped AsTyped(object original, NoParamOrder noParamOrder = default, bool? propsRequired = null) Parameters original object noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true Returns ITyped AsTypedList(object, NoParamOrder, bool?) Create a list public IEnumerable AsTypedList(object list, NoParamOrder noParamOrder = default, bool? propsRequired = null) Parameters list object List/Enumerable object containing a bunch of items to make typed noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true Returns IEnumerable As(object, NoParamOrder, bool) Convert an Entity or TypedItem into a strongly typed object. Typically, the type will be from your AppCode.Data. public T As(object source, NoParamOrder protector = default, bool mock = false) where T : class, ICanWrapData Parameters source object the source object - an IEntity or ITypedItem protector NoParamOrder see Convention: Named Parameters mock bool if true will return a fake when source is null - otherwise a wrapper item with empty-contents Returns T Type Parameters T the target type Remarks Released v17.05 GetCode(string, NoParamOrder, string) Create an instance of a class in a .cs code file. Note that the class name in the file must match the file name, so MyHelpers.cs must have a MyHelpers class. public dynamic GetCode(string path, NoParamOrder noParamOrder = default, string className = null) Parameters path string The path, like Helper.cs, ./helper.cs, ../../Helper.cs or /SomeFolderInApp/Helper.cs (new 16.05) noParamOrder NoParamOrder see Convention: Named Parameters className string Optional class name, if it doesn't match the file name (new 16.03) Returns dynamic , Remarks Created in 16.02 className added in 16.03 Ability to give a path beginning with / as app-root in 16.05 In older code there was a similar CreateInstance method GetService() Get a service from the Dependency Injection. The service can come from 2sxc, EAV or the underlying platform (Dnn, Oqtane). public TService GetService() where TService : class Returns TService An object of the type or interface requested, or null if not found in the DI. Type Parameters TService Interface (preferred) or Class which is needed" }, "api/dot-net/Custom.Hybrid.Razor12.html": { "href": "api/dot-net/Custom.Hybrid.Razor12.html", @@ -1162,7 +1162,7 @@ "api/dot-net/Custom.Hybrid.RazorTyped.html": { "href": "api/dot-net/Custom.Hybrid.RazorTyped.html", "title": "Class RazorTyped | 2sxc 19 for Dnn and Oqtane", - "keywords": "Class RazorTyped Namespace Custom.Hybrid Assembly ToSic.Sxc.Dnn.Razor.dll Base class for v16 Typed Razor files. Use it to create custom CS code in your App. It provides the ServiceKit16 on property Kit which contains all the popular services to create amazing stuff. [PublicApi] public abstract class RazorTyped : RazorComponentBase, IHasLog Inheritance object WebPageExecutingBase WebPageRenderingBase WebPageBase RazorComponentBase RazorTyped Implements IHasLog Derived RazorTyped Remarks Important: This is very different from Razor12 or Razor14, as it doesn't rely on dynamic code. Be aware of this since the APIs are very different - see Typed Code. Properties AllResources Stack of all Resources in the System, merging Resources of View, App, Site, Global etc. Will retrieve values by priority, with View-Resources being top priority and Preset-Resources being the lowest. Tip If you know that Resources come from the App, you should prefer App.Resources instead. That is faster and helps people reading your code figure out where to change a value. public ITypedStack AllResources { get; } Property Value ITypedStack AllSettings Stack of all Settings in the System, merging Settings of View, App, Site, Global etc. Will retrieve values by priority, with View-Settings being top priority and Preset-Settings being the lowest. Tip If you know that Settings come from the App, you should prefer App.Settings instead. That is faster and helps people reading your code figure out where to change a value. public ITypedStack AllSettings { get; } Property Value ITypedStack App The current App object (with strictly typed Settings/Resources). Use it to access App properties such as Path or any data in the App. public IAppTyped App { get; } Property Value IAppTyped Customize Helper to create typed objects for App, View etc. - mainly for custom base classes in AppCode protected ICodeCustomizer Customize { get; } Property Value ICodeCustomizer Remarks Introduced in v17.03 (beta) Stable and ready for production in v18.00 Html Helper for Html.Raw - for creating raw html output which doesn't encode > and <. Also has helpers such as .Partial(...) public override IHtmlHelper Html { get; } Property Value IHtmlHelper Kit public ServiceKit16 Kit { get; } Property Value ServiceKit16 Link Link helper object to create the correct links public ILinkService Link { get; } Property Value ILinkService A ILinkService object. Log The logger for the current Razor / WebApi which allows you to add logs to Insights. public override ICodeLog Log { get; } Property Value ICodeLog MyContext This Context tells you about the environment, such as the current User the Page the View the Site It's supposed to replace direct access to Dnn or Oqtane object in Razor and WebAPI code, allowing hybrid code that works everywhere. public ICmsContext MyContext { get; } Property Value ICmsContext Remarks New in v11.11 MyData All the data which the current Template received, based on the View configuration. There are a few common scenarios: If it's a simple view, then this will just contain streams with the main Item(s) and Header If the view expects no data, it will just contain a Default stream containing no items If the view has a Query behind it, then MyData will have all the streams provided by the Query public IDataSource MyData { get; } Property Value IDataSource MyHeader The Header-Item belonging to this Template/Module. This data is edited by the user directly on this specific module. In some cases it can also be a pre-set item configured in the View to be used if the user has not added any data himself. public ITypedItem MyHeader { get; } Property Value ITypedItem MyItem The main Item belonging to this Template/Module. This data is edited by the user directly on this specific module. In some cases it can also be a pre-set item configured in the View to be used if the user has not added any data himself. If this view can have a list of items (more than one) then this contains the first item. To get all the items, see ToSic.Sxc.Code.Internal.IDynamicCode16.MyItems public ITypedItem MyItem { get; } Property Value ITypedItem MyItems List of all Items belonging to this Template/Module. This data is edited by the user directly on this specific module. In some cases it can also be a pre-set item configured in the View to be used if the user has not added any data himself. If this view is configured to only have one item, then this list will only contain one item. Otherwise, it will have as many items as the editor added. public IEnumerable MyItems { get; } Property Value IEnumerable MyModel Data passed to this Razor template by a caller. This is typical for Razor components which are re-used, and called from other Razor templates using @Html.Partial(\"filename.cshtml\", new { thing = 7 }). public ITypedModel MyModel { get; } Property Value ITypedModel MyPage Information about the current Page (called Tab in DNN). It's especially useful to get current URL Parameters. public ICmsPage MyPage { get; } Property Value ICmsPage MyUser Information about the current user. It's especially useful to see if the user has any kind of Admin privileges. public ICmsUser MyUser { get; } Property Value ICmsUser MyView View-information such as the view Name, Identity or Edition. public ICmsView MyView { get; } Property Value ICmsView Remarks New in v12.02 UniqueKey A unique, random key for the current module. It's recommended for giving DOM elements a unique id for scripts to then access them. It's generated for every content-block, and more reliable than Module.Id since that sometimes results in duplicate keys, if the many blocks are used inside each other. It's generated using a GUID and converted/shortened. In the current version it's 8 characters long, so it has 10^14 combinations, making collisions extremely unlikely. (currently 8 characters) Tip To get a unique key which is based on additional objects such as Entities, use the UniqueKeyWith(params object[]) method. public string UniqueKey { get; } Property Value string Remarks If you get a fresh IKeyService it will also create a new UniqueKey. So your code should usually use the built-in property UniqueKey which comes from the shared ServiceKit Key. Methods AsEntity(ICanBeEntity) Unwraps a dynamic entity or ITypedItem back into the underlying IEntity public IEntity AsEntity(ICanBeEntity thing) Parameters thing ICanBeEntity Returns IEntity A normal IEntity AsItem(object, NoParamOrder, bool?, bool?) Convert something to a ITypedItem. This works for all kinds of IEntitys, IDynamicEntitys as well as Lists/IEnumerables of those. Will always return a single item. If a list is provided, it will return the first item in the list. If null was provided, it will return null. public ITypedItem AsItem(object data, NoParamOrder noParamOrder = default, bool? propsRequired = null, bool? mock = null) Parameters data object An original object which can be converted to a TypedItem, such as a IEntity . noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true mock bool? Specify that the data is fake/mock data, which should pretend to be an Item. Default is false Returns ITypedItem Remarks New in v16.02 AsItems(object, NoParamOrder, bool?) Convert an object containing a list of Entities or similar to a list of ITypedItems. public IEnumerable AsItems(object list, NoParamOrder noParamOrder = default, bool? propsRequired = null) Parameters list object The original list which is usually a list of IEntity objects. noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true Returns IEnumerable Remarks New in v16.01 AsList(object, NoParamOrder, bool) Convert a list of Entities or TypedItems into a strongly typed list. Typically, the type will be from your AppCode.Data. public IEnumerable AsList(object source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, IDataModel Parameters source object the source object - a List/Enumerable of IEntity or ITypedItem protector NoParamOrder see Convention: Named Parameters nullIfNull bool if true will return null when source is null - otherwise a wrapper item with empty-contents Returns IEnumerable Type Parameters T the target type Remarks Release in v17.05 AsStack(params object[]) Create a typed object which will provide all the properties of the things wrapped inside it. The priority is first-object first, so if multiple items have the property, the first in the list will be returned. public ITypedStack AsStack(params object[] items) Parameters items object[] objects to stack together Returns ITypedStack AsStack(params object[]) Create a custom-typed object which will provide all the properties of the things wrapped inside it. The priority is first-object first, so if multiple items have the property, the first in the list will be returned. public T AsStack(params object[] items) where T : class, IDataModel, new() Parameters items object[] objects to stack together Returns T Item of the custom type Type Parameters T Remarks New in 17.07 AsTyped(object, NoParamOrder, bool?) Creates a typed object to read the original passed into this function. This is usually used to process objects which the compiler can't know, such as anonymous objects returned from helper code etc. If you have an array of such objects, use AsTypedList(object, NoParamOrder, bool?). public ITyped AsTyped(object original, NoParamOrder noParamOrder = default, bool? propsRequired = null) Parameters original object noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true Returns ITyped AsTypedList(object, NoParamOrder, bool?) Create a list public IEnumerable AsTypedList(object list, NoParamOrder noParamOrder = default, bool? propsRequired = null) Parameters list object List/Enumerable object containing a bunch of items to make typed noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true Returns IEnumerable As(object, NoParamOrder, bool) Convert an Entity or TypedItem into a strongly typed object. Typically, the type will be from your AppCode.Data. public T As(object source, NoParamOrder protector = default, bool mock = false) where T : class, IDataModel, new() Parameters source object the source object - an IEntity or ITypedItem protector NoParamOrder see Convention: Named Parameters mock bool if true will return a fake when source is null - otherwise a wrapper item with empty-contents Returns T Type Parameters T the target type Remarks Released v17.05 GetCode(string, NoParamOrder, string) Create an instance of a class in a .cs code file. Note that the class name in the file must match the file name, so MyHelpers.cs must have a MyHelpers class. public dynamic GetCode(string path, NoParamOrder noParamOrder = default, string className = null) Parameters path string The path, like Helper.cs, ./helper.cs, ../../Helper.cs or /SomeFolderInApp/Helper.cs (new 16.05) noParamOrder NoParamOrder see Convention: Named Parameters className string Optional class name, if it doesn't match the file name (new 16.03) Returns dynamic , Remarks Created in 16.02 className added in 16.03 Ability to give a path beginning with / as app-root in 16.05 In older code there was a similar CreateInstance method GetService() Get a service from the Dependency Injection. The service can come from 2sxc, EAV or the underlying platform (Dnn, Oqtane). public TService GetService() where TService : class Returns TService An object of the type or interface requested, or null if not found in the DI. Type Parameters TService Interface (preferred) or Class which is needed" + "keywords": "Class RazorTyped Namespace Custom.Hybrid Assembly ToSic.Sxc.Dnn.Razor.dll Base class for v16 Typed Razor files. Use it to create custom CS code in your App. It provides the ServiceKit16 on property Kit which contains all the popular services to create amazing stuff. [PublicApi] public abstract class RazorTyped : RazorComponentBase, IHasLog Inheritance object WebPageExecutingBase WebPageRenderingBase WebPageBase RazorComponentBase RazorTyped Implements IHasLog Derived RazorTyped Remarks Important: This is very different from Razor12 or Razor14, as it doesn't rely on dynamic code. Be aware of this since the APIs are very different - see Typed Code. Properties AllResources Stack of all Resources in the System, merging Resources of View, App, Site, Global etc. Will retrieve values by priority, with View-Resources being top priority and Preset-Resources being the lowest. Tip If you know that Resources come from the App, you should prefer App.Resources instead. That is faster and helps people reading your code figure out where to change a value. public ITypedStack AllResources { get; } Property Value ITypedStack AllSettings Stack of all Settings in the System, merging Settings of View, App, Site, Global etc. Will retrieve values by priority, with View-Settings being top priority and Preset-Settings being the lowest. Tip If you know that Settings come from the App, you should prefer App.Settings instead. That is faster and helps people reading your code figure out where to change a value. public ITypedStack AllSettings { get; } Property Value ITypedStack App The current App object (with strictly typed Settings/Resources). Use it to access App properties such as Path or any data in the App. public IAppTyped App { get; } Property Value IAppTyped Customize Helper to create typed objects for App, View etc. - mainly for custom base classes in AppCode protected ICodeCustomizer Customize { get; } Property Value ICodeCustomizer Remarks Introduced in v17.03 (beta) Stable and ready for production in v18.00 Html Helper for Html.Raw - for creating raw html output which doesn't encode > and <. Also has helpers such as .Partial(...) public override IHtmlHelper Html { get; } Property Value IHtmlHelper Kit public ServiceKit16 Kit { get; } Property Value ServiceKit16 Link Link helper object to create the correct links public ILinkService Link { get; } Property Value ILinkService A ILinkService object. Log The logger for the current Razor / WebApi which allows you to add logs to Insights. public override ICodeLog Log { get; } Property Value ICodeLog MyContext This Context tells you about the environment, such as the current User the Page the View the Site It's supposed to replace direct access to Dnn or Oqtane object in Razor and WebAPI code, allowing hybrid code that works everywhere. public ICmsContext MyContext { get; } Property Value ICmsContext Remarks New in v11.11 MyData All the data which the current Template received, based on the View configuration. There are a few common scenarios: If it's a simple view, then this will just contain streams with the main Item(s) and Header If the view expects no data, it will just contain a Default stream containing no items If the view has a Query behind it, then MyData will have all the streams provided by the Query public IDataSource MyData { get; } Property Value IDataSource MyHeader The Header-Item belonging to this Template/Module. This data is edited by the user directly on this specific module. In some cases it can also be a pre-set item configured in the View to be used if the user has not added any data himself. public ITypedItem MyHeader { get; } Property Value ITypedItem MyItem The main Item belonging to this Template/Module. This data is edited by the user directly on this specific module. In some cases it can also be a pre-set item configured in the View to be used if the user has not added any data himself. If this view can have a list of items (more than one) then this contains the first item. To get all the items, see ToSic.Sxc.Code.Internal.IDynamicCode16.MyItems public ITypedItem MyItem { get; } Property Value ITypedItem MyItems List of all Items belonging to this Template/Module. This data is edited by the user directly on this specific module. In some cases it can also be a pre-set item configured in the View to be used if the user has not added any data himself. If this view is configured to only have one item, then this list will only contain one item. Otherwise, it will have as many items as the editor added. public IEnumerable MyItems { get; } Property Value IEnumerable MyModel Data passed to this Razor template by a caller. This is typical for Razor components which are re-used, and called from other Razor templates using @Html.Partial(\"filename.cshtml\", new { thing = 7 }). public ITypedModel MyModel { get; } Property Value ITypedModel MyPage Information about the current Page (called Tab in DNN). It's especially useful to get current URL Parameters. public ICmsPage MyPage { get; } Property Value ICmsPage MyUser Information about the current user. It's especially useful to see if the user has any kind of Admin privileges. public ICmsUser MyUser { get; } Property Value ICmsUser MyView View-information such as the view Name, Identity or Edition. public ICmsView MyView { get; } Property Value ICmsView Remarks New in v12.02 UniqueKey A unique, random key for the current module. It's recommended for giving DOM elements a unique id for scripts to then access them. It's generated for every content-block, and more reliable than Module.Id since that sometimes results in duplicate keys, if the many blocks are used inside each other. It's generated using a GUID and converted/shortened. In the current version it's 8 characters long, so it has 10^14 combinations, making collisions extremely unlikely. (currently 8 characters) Tip To get a unique key which is based on additional objects such as Entities, use the UniqueKeyWith(params object[]) method. public string UniqueKey { get; } Property Value string Remarks If you get a fresh IKeyService it will also create a new UniqueKey. So your code should usually use the built-in property UniqueKey which comes from the shared ServiceKit Key. Methods AsEntity(ICanBeEntity) Unwraps a dynamic entity or ITypedItem back into the underlying IEntity public IEntity AsEntity(ICanBeEntity thing) Parameters thing ICanBeEntity Returns IEntity A normal IEntity AsItem(object, NoParamOrder, bool?, bool?) Convert something to a ITypedItem. This works for all kinds of IEntitys, IDynamicEntitys as well as Lists/IEnumerables of those. Will always return a single item. If a list is provided, it will return the first item in the list. If null was provided, it will return null. public ITypedItem AsItem(object data, NoParamOrder noParamOrder = default, bool? propsRequired = null, bool? mock = null) Parameters data object An original object which can be converted to a TypedItem, such as a IEntity . noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true mock bool? Specify that the data is fake/mock data, which should pretend to be an Item. Default is false Returns ITypedItem Remarks New in v16.02 AsItems(object, NoParamOrder, bool?) Convert an object containing a list of Entities or similar to a list of ITypedItems. public IEnumerable AsItems(object list, NoParamOrder noParamOrder = default, bool? propsRequired = null) Parameters list object The original list which is usually a list of IEntity objects. noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true Returns IEnumerable Remarks New in v16.01 AsList(object, NoParamOrder, bool) Convert a list of Entities or TypedItems into a strongly typed list. Typically, the type will be from your AppCode.Data. public IEnumerable AsList(object source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, ICanWrapData Parameters source object the source object - a List/Enumerable of IEntity or ITypedItem protector NoParamOrder see Convention: Named Parameters nullIfNull bool if true will return null when source is null - otherwise a wrapper item with empty-contents Returns IEnumerable Type Parameters T the target type Remarks Release in v17.05 AsStack(params object[]) Create a typed object which will provide all the properties of the things wrapped inside it. The priority is first-object first, so if multiple items have the property, the first in the list will be returned. public ITypedStack AsStack(params object[] items) Parameters items object[] objects to stack together Returns ITypedStack AsStack(params object[]) Create a custom-typed object which will provide all the properties of the things wrapped inside it. The priority is first-object first, so if multiple items have the property, the first in the list will be returned. public T AsStack(params object[] items) where T : class, ICanWrapData, new() Parameters items object[] objects to stack together Returns T Item of the custom type Type Parameters T Remarks New in 17.07 AsTyped(object, NoParamOrder, bool?) Creates a typed object to read the original passed into this function. This is usually used to process objects which the compiler can't know, such as anonymous objects returned from helper code etc. If you have an array of such objects, use AsTypedList(object, NoParamOrder, bool?). public ITyped AsTyped(object original, NoParamOrder noParamOrder = default, bool? propsRequired = null) Parameters original object noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true Returns ITyped AsTypedList(object, NoParamOrder, bool?) Create a list public IEnumerable AsTypedList(object list, NoParamOrder noParamOrder = default, bool? propsRequired = null) Parameters list object List/Enumerable object containing a bunch of items to make typed noParamOrder NoParamOrder see Convention: Named Parameters propsRequired bool? make the resulting object strict, default true Returns IEnumerable As(object, NoParamOrder, bool) Convert an Entity or TypedItem into a strongly typed object. Typically, the type will be from your AppCode.Data. public T As(object source, NoParamOrder protector = default, bool mock = false) where T : class, ICanWrapData Parameters source object the source object - an IEntity or ITypedItem protector NoParamOrder see Convention: Named Parameters mock bool if true will return a fake when source is null - otherwise a wrapper item with empty-contents Returns T Type Parameters T the target type Remarks Released v17.05 GetCode(string, NoParamOrder, string) Create an instance of a class in a .cs code file. Note that the class name in the file must match the file name, so MyHelpers.cs must have a MyHelpers class. public dynamic GetCode(string path, NoParamOrder noParamOrder = default, string className = null) Parameters path string The path, like Helper.cs, ./helper.cs, ../../Helper.cs or /SomeFolderInApp/Helper.cs (new 16.05) noParamOrder NoParamOrder see Convention: Named Parameters className string Optional class name, if it doesn't match the file name (new 16.03) Returns dynamic , Remarks Created in 16.02 className added in 16.03 Ability to give a path beginning with / as app-root in 16.05 In older code there was a similar CreateInstance method GetService() Get a service from the Dependency Injection. The service can come from 2sxc, EAV or the underlying platform (Dnn, Oqtane). public TService GetService() where TService : class Returns TService An object of the type or interface requested, or null if not found in the DI. Type Parameters TService Interface (preferred) or Class which is needed" }, "api/dot-net/Custom.Hybrid.html": { "href": "api/dot-net/Custom.Hybrid.html", @@ -2167,12 +2167,12 @@ "api/dot-net/ToSic.Sxc.Apps.IAppDataTyped.html": { "href": "api/dot-net/ToSic.Sxc.Apps.IAppDataTyped.html", "title": "Interface IAppDataTyped | 2sxc 19 for Dnn and Oqtane", - "keywords": "Interface IAppDataTyped Namespace ToSic.Sxc.Apps Assembly ToSic.Sxc.dll Data object of an App in Typed mode [PublicApi] public interface IAppDataTyped : IDataSource, IDataSourceLinkable, IAppIdentity, IZoneIdentity, IAppIdentityLight, ICacheKey, ICacheExpiring, ITimestamped, IHasLog Inherited Members IDataSource.Out IDataSource.this[string] IDataSource.GetStream(string, NoParamOrder, bool, bool) IDataSource.List IDataSource.In IDataSource.Configuration IDataSource.Error IDataSource.Immutable IDataSourceLinkable.Link IZoneIdentity.ZoneId IAppIdentityLight.AppId ICacheExpiring.CacheChanged(long) ITimestamped.CacheTimestamp IHasLog.Log Remarks Added v17 Methods Create(string, Dictionary, string, ITarget) Create a new entity in the storage. IEntity Create(string contentTypeName, Dictionary values, string userName = null, ITarget target = null) Parameters contentTypeName string The type name values Dictionary a dictionary of values to be stored userName string the current user name - will be logged as the author target ITarget information if this new item is to be metadata for something Returns IEntity Remarks Changed in 2sxc 10.30 - now returns the id of the created items Create(string, IEnumerable>, string) Create a bunch of new entities in one single call (much faster, because cache doesn't need to repopulate in the mean time). IEnumerable Create(string contentTypeName, IEnumerable> multiValues, string userName = null) Parameters contentTypeName string The type name multiValues IEnumerable> many dictionaries, each will become an own item when stored userName string the current user name - will be logged as the author Returns IEnumerable Remarks You can't create items which are metadata with this, for that, please use the Create-one overload Changed in 2sxc 10.30 - now returns the id of the created items Delete(int, string) Delete an existing item void Delete(int entityId, string userName = null) Parameters entityId int The item ID userName string the current user name - will be logged as the author of the change GetAll(NoParamOrder, string, bool) Get all data from the app of the specified type. It will detect the expected Content-Type based on the name of the class used. So in most cases you will not add any parameters except for the type parameter T. This is usually a type of your AppCode.Data namespace. IEnumerable GetAll(NoParamOrder protector = default, string typeName = null, bool nullIfNotFound = false) where T : class, IDataModel, new() Parameters protector NoParamOrder see Convention: Named Parameters typeName string optional type name which is used as the stream name when retrieving the data, as each stream contains entities of one type. nullIfNotFound bool if set, will return null if the type doesn't exist - default is empty list. Returns IEnumerable Type Parameters T The type to get and convert to - usually inheriting CustomItem Remarks Released in v17.03. GetContentType(string) Get a single content type by name (display name or NameId). IContentType GetContentType(string name) Parameters name string the name, either the normal name or the NameId which looks like a GUID Returns IContentType Remarks Added v17 GetContentTypes() All content types of the app. IEnumerable GetContentTypes() Returns IEnumerable Remarks Added v17 GetOne(Guid, NoParamOrder, bool) Get a single item from the app of the specified type. T GetOne(Guid id, NoParamOrder protector = default, bool skipTypeCheck = false) where T : class, IDataModel, new() Parameters id Guid the ID as GUID protector NoParamOrder see Convention: Named Parameters skipTypeCheck bool allow get even if the Content-Type of the item with the ID doesn't match the type specified in the parameter T Returns T Type Parameters T The type to get and convert to - usually inheriting CustomItem Remarks Released in v17.03. GetOne(int, NoParamOrder, bool) Get a single item from the app of the specified type. T GetOne(int id, NoParamOrder protector = default, bool skipTypeCheck = false) where T : class, IDataModel, new() Parameters id int the ID as an int protector NoParamOrder see Convention: Named Parameters skipTypeCheck bool allow get even if the Content-Type of the item with the ID doesn't match the type specified in the parameter T Returns T Type Parameters T The type to get and convert to - usually inheriting CustomItem Remarks Released in v17.03. Update(int, Dictionary, string) Update an existing item. void Update(int entityId, Dictionary values, string userName = null) Parameters entityId int The item ID values Dictionary a dictionary of values to be updated userName string the current user name - will be logged as the author of the change" + "keywords": "Interface IAppDataTyped Namespace ToSic.Sxc.Apps Assembly ToSic.Sxc.dll Data object of an App in Typed mode [PublicApi] public interface IAppDataTyped : IDataSource, IDataSourceLinkable, IAppIdentity, IZoneIdentity, IAppIdentityLight, ICacheKey, ICacheExpiring, ITimestamped, IHasLog Inherited Members IDataSource.Out IDataSource.this[string] IDataSource.GetStream(string, NoParamOrder, bool, bool) IDataSource.List IDataSource.In IDataSource.Configuration IDataSource.Error IDataSource.Immutable IDataSourceLinkable.Link IZoneIdentity.ZoneId IAppIdentityLight.AppId ICacheExpiring.CacheChanged(long) ITimestamped.CacheTimestamp IHasLog.Log Remarks Added v17 Methods Create(string, Dictionary, string, ITarget) Create a new entity in the storage. IEntity Create(string contentTypeName, Dictionary values, string userName = null, ITarget target = null) Parameters contentTypeName string The type name values Dictionary a dictionary of values to be stored userName string the current user name - will be logged as the author target ITarget information if this new item is to be metadata for something Returns IEntity Remarks Changed in 2sxc 10.30 - now returns the id of the created items Create(string, IEnumerable>, string) Create a bunch of new entities in one single call (much faster, because cache doesn't need to repopulate in the mean time). IEnumerable Create(string contentTypeName, IEnumerable> multiValues, string userName = null) Parameters contentTypeName string The type name multiValues IEnumerable> many dictionaries, each will become an own item when stored userName string the current user name - will be logged as the author Returns IEnumerable Remarks You can't create items which are metadata with this, for that, please use the Create-one overload Changed in 2sxc 10.30 - now returns the id of the created items Delete(int, string) Delete an existing item void Delete(int entityId, string userName = null) Parameters entityId int The item ID userName string the current user name - will be logged as the author of the change GetAll(NoParamOrder, string, bool) Get all data from the app of the specified type. It will detect the expected Content-Type based on the name of the class used. So in most cases you will not add any parameters except for the type parameter T. This is usually a type of your AppCode.Data namespace. IEnumerable GetAll(NoParamOrder protector = default, string typeName = null, bool nullIfNotFound = false) where T : class, ICanWrapData, new() Parameters protector NoParamOrder see Convention: Named Parameters typeName string optional type name which is used as the stream name when retrieving the data, as each stream contains entities of one type. nullIfNotFound bool if set, will return null if the type doesn't exist - default is empty list. Returns IEnumerable Type Parameters T The type to get and convert to - usually inheriting CustomItem Remarks Released in v17.03. GetContentType(string) Get a single content type by name (display name or NameId). IContentType GetContentType(string name) Parameters name string the name, either the normal name or the NameId which looks like a GUID Returns IContentType Remarks Added v17 GetContentTypes() All content types of the app. IEnumerable GetContentTypes() Returns IEnumerable Remarks Added v17 GetOne(Guid, NoParamOrder, bool) Get a single item from the app of the specified type. T GetOne(Guid id, NoParamOrder protector = default, bool skipTypeCheck = false) where T : class, ICanWrapData, new() Parameters id Guid the ID as GUID protector NoParamOrder see Convention: Named Parameters skipTypeCheck bool allow get even if the Content-Type of the item with the ID doesn't match the type specified in the parameter T Returns T Type Parameters T The type to get and convert to - usually inheriting CustomItem Remarks Released in v17.03. GetOne(int, NoParamOrder, bool) Get a single item from the app of the specified type. T GetOne(int id, NoParamOrder protector = default, bool skipTypeCheck = false) where T : class, ICanWrapData, new() Parameters id int the ID as an int protector NoParamOrder see Convention: Named Parameters skipTypeCheck bool allow get even if the Content-Type of the item with the ID doesn't match the type specified in the parameter T Returns T Type Parameters T The type to get and convert to - usually inheriting CustomItem Remarks Released in v17.03. Update(int, Dictionary, string) Update an existing item. void Update(int entityId, Dictionary values, string userName = null) Parameters entityId int The item ID values Dictionary a dictionary of values to be updated userName string the current user name - will be logged as the author of the change" }, "api/dot-net/ToSic.Sxc.Apps.IAppTyped-2.html": { "href": "api/dot-net/ToSic.Sxc.Apps.IAppTyped-2.html", "title": "Interface IAppTyped | 2sxc 19 for Dnn and Oqtane", - "keywords": "Interface IAppTyped Namespace ToSic.Sxc.Apps Assembly ToSic.Sxc.dll A strongly typed app, which has settings and resources as strongly typed objects. [PublicApi] public interface IAppTyped : IAppTyped, IAppIdentity, IZoneIdentity, IAppIdentityLight where TSettings : class, IDataModel, new() where TResources : class, IDataModel, new() Type Parameters TSettings Custom class for Settings TResources Custom class for Resources Inherited Members IAppTyped.Name IAppTyped.Data IAppTyped.GetQuery(string, NoParamOrder, IDataSourceLinkable, object) IAppTyped.Configuration IAppTyped.Folder IAppTyped.FolderAdvanced(NoParamOrder, string) IAppTyped.Thumbnail IZoneIdentity.ZoneId IAppIdentityLight.AppId Remarks New v17.03 Properties Resources All the app resources (usually used for multi-language labels etc.). /// These are typed - typically to AppCode.Data.AppResources TResources Resources { get; } Property Value TResources Settings All the app settings which are custom for each app. These are typed - typically to AppCode.Data.AppSettings TSettings Settings { get; } Property Value TSettings" + "keywords": "Interface IAppTyped Namespace ToSic.Sxc.Apps Assembly ToSic.Sxc.dll A strongly typed app, which has settings and resources as strongly typed objects. [PublicApi] public interface IAppTyped : IAppTyped, IAppIdentity, IZoneIdentity, IAppIdentityLight where TSettings : class, ICanWrapData, new() where TResources : class, ICanWrapData, new() Type Parameters TSettings Custom class for Settings TResources Custom class for Resources Inherited Members IAppTyped.Name IAppTyped.Data IAppTyped.GetQuery(string, NoParamOrder, IDataSourceLinkable, object) IAppTyped.Configuration IAppTyped.Folder IAppTyped.FolderAdvanced(NoParamOrder, string) IAppTyped.Thumbnail IZoneIdentity.ZoneId IAppIdentityLight.AppId Remarks New v17.03 Properties Resources All the app resources (usually used for multi-language labels etc.). /// These are typed - typically to AppCode.Data.AppResources TResources Resources { get; } Property Value TResources Settings All the app settings which are custom for each app. These are typed - typically to AppCode.Data.AppSettings TSettings Settings { get; } Property Value TSettings" }, "api/dot-net/ToSic.Sxc.Apps.IAppTyped.html": { "href": "api/dot-net/ToSic.Sxc.Apps.IAppTyped.html", @@ -2252,7 +2252,7 @@ "api/dot-net/ToSic.Sxc.Code.ICodeCustomizer.html": { "href": "api/dot-net/ToSic.Sxc.Code.ICodeCustomizer.html", "title": "Interface ICodeCustomizer | 2sxc 19 for Dnn and Oqtane", - "keywords": "Interface ICodeCustomizer Namespace ToSic.Sxc.Code Assembly ToSic.Sxc.dll Helper object to use on Razor, Code, APIs to create more app-specific helper objects. Like the App object, View object etc. It will usually be provided on a protected Customize property on RazorTyped etc. [PublicApi] public interface ICodeCustomizer Remarks New v17.03 (BETA!) Methods App() Create (and cache for reuse) a strongly typed App instance for the App object. IAppTyped App() where TSettings : class, IDataModel, new() where TResources : class, IDataModel, new() Returns IAppTyped Type Parameters TSettings Type to use for Settings. TResources Type to use for Resources MyHeader() Create (and cache for reuse) a strongly typed Header instance for the MyHeader object. TCustomType MyHeader() where TCustomType : class, IDataModel, new() Returns TCustomType Type Parameters TCustomType Type to use for MyHeader. MyItem() Create (and cache for reuse) a strongly typed Item instance for the MyItem object. TCustomType MyItem() where TCustomType : class, IDataModel, new() Returns TCustomType Type Parameters TCustomType Type to use for MyItem. MyItems() Create (and cache for reuse) a strongly typed Items instance for the MyItems object. IEnumerable MyItems() where TCustomType : class, IDataModel, new() Returns IEnumerable Type Parameters TCustomType Type to use for MyItems. MyView() Create (and cache for reuse) a strongly typed View instance for the MyView object. ICmsView MyView() where TSettings : class, IDataModel, new() where TResources : class, IDataModel, new() Returns ICmsView Type Parameters TSettings Type to use for Settings. TResources Type to use for Resources" + "keywords": "Interface ICodeCustomizer Namespace ToSic.Sxc.Code Assembly ToSic.Sxc.dll Helper object to use on Razor, Code, APIs to create more app-specific helper objects. Like the App object, View object etc. It will usually be provided on a protected Customize property on RazorTyped etc. [PublicApi] public interface ICodeCustomizer Remarks New v17.03 (BETA!) Methods App() Create (and cache for reuse) a strongly typed App instance for the App object. IAppTyped App() where TSettings : class, ICanWrapData, new() where TResources : class, ICanWrapData, new() Returns IAppTyped Type Parameters TSettings Type to use for Settings. TResources Type to use for Resources MyHeader() Create (and cache for reuse) a strongly typed Header instance for the MyHeader object. TCustomType MyHeader() where TCustomType : class, ICanWrapData, new() Returns TCustomType Type Parameters TCustomType Type to use for MyHeader. MyItem() Create (and cache for reuse) a strongly typed Item instance for the MyItem object. TCustomType MyItem() where TCustomType : class, ICanWrapData, new() Returns TCustomType Type Parameters TCustomType Type to use for MyItem. MyItems() Create (and cache for reuse) a strongly typed Items instance for the MyItems object. IEnumerable MyItems() where TCustomType : class, ICanWrapData, new() Returns IEnumerable Type Parameters TCustomType Type to use for MyItems. MyView() Create (and cache for reuse) a strongly typed View instance for the MyView object. ICmsView MyView() where TSettings : class, ICanWrapData, new() where TResources : class, ICanWrapData, new() Returns ICmsView Type Parameters TSettings Type to use for Settings. TResources Type to use for Resources" }, "api/dot-net/ToSic.Sxc.Code.ICodeLog.html": { "href": "api/dot-net/ToSic.Sxc.Code.ICodeLog.html", @@ -2317,7 +2317,7 @@ "api/dot-net/ToSic.Sxc.Context.ICmsView-2.html": { "href": "api/dot-net/ToSic.Sxc.Context.ICmsView-2.html", "title": "Interface ICmsView | 2sxc 19 for Dnn and Oqtane", - "keywords": "Interface ICmsView Namespace ToSic.Sxc.Context Assembly ToSic.Sxc.dll Special Views for strongly typed code. It supplies the Settings and Resources as strongly typed objects. [PublicApi] public interface ICmsView : ICmsView, IHasMetadata where TSettings : class, IDataModel, new() where TResources : class, IDataModel, new() Type Parameters TSettings Custom class for Settings TResources Custom class for Resources Inherited Members ICmsView.Id ICmsView.Name ICmsView.Identifier ICmsView.Edition ICmsView.Metadata ICmsView.Folder Remarks New v17.03 Properties Resources All the app resources (usually used for multi-language labels etc.). /// These are typed - typically to AppCode.Data.AppResources TResources Resources { get; } Property Value TResources Settings All the app settings which are custom for each app. These are typed - typically to AppCode.Data.AppSettings TSettings Settings { get; } Property Value TSettings" + "keywords": "Interface ICmsView Namespace ToSic.Sxc.Context Assembly ToSic.Sxc.dll Special Views for strongly typed code. It supplies the Settings and Resources as strongly typed objects. [PublicApi] public interface ICmsView : ICmsView, IHasMetadata where TSettings : class, ICanWrapData, new() where TResources : class, ICanWrapData, new() Type Parameters TSettings Custom class for Settings TResources Custom class for Resources Inherited Members ICmsView.Id ICmsView.Name ICmsView.Identifier ICmsView.Edition ICmsView.Metadata ICmsView.Folder Remarks New v17.03 Properties Resources All the app resources (usually used for multi-language labels etc.). /// These are typed - typically to AppCode.Data.AppResources TResources Resources { get; } Property Value TResources Settings All the app settings which are custom for each app. These are typed - typically to AppCode.Data.AppSettings TSettings Settings { get; } Property Value TSettings" }, "api/dot-net/ToSic.Sxc.Context.ICmsView.html": { "href": "api/dot-net/ToSic.Sxc.Context.ICmsView.html", @@ -2339,6 +2339,16 @@ "title": "Namespace ToSic.Sxc.Context | 2sxc 19 for Dnn and Oqtane", "keywords": "Namespace ToSic.Sxc.Context Context information for the current request / scenario. The Context gives your code information about the page / site / module etc. it's currently running in. All your code (Razor, WebApi) will have a property CmsContext which is of type ICmsContext. Note Your code will always have these objects, but they may sometimes be referencing unknown information. For example, if the current context doesn't have a known Module (like in API scenarios) then CmsContext.Module will return a valid object, but the ID will be < 0. Interfaces ICmsBlock Information about the block - similar to a module. The block is the 2sxc-internal definition of a unit of content. In most cases each module has one block, but there are edge cases such as: modules which show the same block - different module-id, same block-id modules showing multiple blocks such as inner-content. ICmsContext This is the runtime context of your code in the CMS. It can tell you about the site, page, module etc. that you're on. Note that it it Platform Agnostic so it's the same on Dnn, Oqtane etc. \uD83E\uDE92 In Dynamic Razor it's found on CmsContext \uD83E\uDE92 In Typed Razor it's found on MyContext, but many objects are directly available, like MyPage ICmsCulture Information about the cultures/languages used. \uD83E\uDE92 In Dynamic Razor it's found on CmsContext.Culture \uD83E\uDE92 In Typed Razor it's found on MyContext.Culture ICmsModule Information about the module context the code is running in. \uD83E\uDE92 In Dynamic Razor it's found on CmsContext.Module \uD83E\uDE92 In Typed Razor it's found on MyContext.Module ICmsPage Information about the page which is the context for the currently running code. \uD83E\uDE92 In Dynamic Razor it's found on CmsContext.Page \uD83E\uDE92 In Typed Razor it's found on MyPage ICmsPlatform General platform information \uD83E\uDE92 In Dynamic Razor it's found on CmsContext.Platform \uD83E\uDE92 In Typed Razor it's found on MyContext.Platform ICmsSite The site context of the code - so basically which website / portal it's running on. \uD83E\uDE92 In Dynamic Razor it's found on CmsContext.Site \uD83E\uDE92 In Typed Razor it's found on MyContext.Site ICmsUser The user context of your code - so it's information about the user your code is using. ICmsView View context information. \uD83E\uDE92 In Dynamic Razor it's found on CmsContext.View \uD83E\uDE92 In Typed Razor it's found on MyView ICmsView Special Views for strongly typed code. It supplies the Settings and Resources as strongly typed objects. IParameters Collection of url parameters of the current page Note: Has a special ToString() implementation, which gives you the parameters for re-use in other scenarios. \uD83E\uDE92 In Dynamic Razor it's found on CmsContext.Page.Parameters \uD83E\uDE92 In Typed Razor it's found on MyPage.Parameters Enums PlatformType The types of platforms which 2sxc could be running on" }, + "api/dot-net/ToSic.Sxc.Data.ICanWrap-1.html": { + "href": "api/dot-net/ToSic.Sxc.Data.ICanWrap-1.html", + "title": "Interface ICanWrap | 2sxc 19 for Dnn and Oqtane", + "keywords": "Interface ICanWrap Namespace ToSic.Sxc.Data Assembly ToSic.Sxc.dll Marks objects such as custom items or data models, which can receive a specific data-type (entity or typed item) and wrap it. [InternalApi_DoNotUse_MayChangeWithoutNotice(\"may change or rename at any time\")] public interface ICanWrap : ICanWrapData Type Parameters TData The data type which can be accepted. Must be IEntity or ITypedItem (other types not supported for now). Remarks This is more specific than the ICanWrapData, since that is just a marker interface. This one specifies that the object has the necessary Setup() method to receive the data of the expected type. Typical use is for custom data such as classes inheriting from CustomItem which takes an entity and then provides a strongly typed wrapper around it. History Introduced in v17.02 under a slightly different name Made visible in the docs for better understanding in v19.01 The Setup() method is still internal, as the signature may still change" + }, + "api/dot-net/ToSic.Sxc.Data.ICanWrapData.html": { + "href": "api/dot-net/ToSic.Sxc.Data.ICanWrapData.html", + "title": "Interface ICanWrapData | 2sxc 19 for Dnn and Oqtane", + "keywords": "Interface ICanWrapData Namespace ToSic.Sxc.Data Assembly ToSic.Sxc.dll Marks objects such as custom items or data models, which can wrap data (usually Entities or TypedItems). [InternalApi_DoNotUse_MayChangeWithoutNotice(\"may change or rename at any time\")] public interface ICanWrapData Remarks Most 2sxc base classes such as Razor files or WebApi files have some methods which will return a typed data model. This is usually As() or AsList(). To help the developer understand what is allowed for TModel we must mark all objects which are supported, and this is done with this interface. So any class which is meant to wrap data from an IEntity or ITypedItem should implement this interface. Typical use is for custom data such as classes inheriting from CustomItem which takes an entity and then provides a strongly typed wrapper around it. History Made visible in the docs for better understanding in v19.01" + }, "api/dot-net/ToSic.Sxc.Data.IDataModel.html": { "href": "api/dot-net/ToSic.Sxc.Data.IDataModel.html", "title": "Interface IDataModel | 2sxc 19 for Dnn and Oqtane", @@ -2349,6 +2359,16 @@ "title": "Interface IDataModelOf | 2sxc 19 for Dnn and Oqtane", "keywords": "Interface IDataModelOf Namespace ToSic.Sxc.Data Assembly ToSic.Sxc.dll Interface to mark objects which can receive ITypedItem objects and wrap them. Typical use is for custom data such as classes inheriting from CustomItem which takes an entity and then provides a strongly typed wrapper around it. [InternalApi_DoNotUse_MayChangeWithoutNotice(\"may change or rename at any time\")] public interface IDataModelOf : IDataModel Type Parameters TContents Remarks Introduced in v17.02 under a slightly different name Made visible in the docs for better understanding in v19.01 The Setup() method is still internal, as the signature may still change" }, + "api/dot-net/ToSic.Sxc.Data.IDataWrapper-1.html": { + "href": "api/dot-net/ToSic.Sxc.Data.IDataWrapper-1.html", + "title": "Interface IDataWrapper | 2sxc 19 for Dnn and Oqtane", + "keywords": "Interface IDataWrapper Namespace ToSic.Sxc.Data Assembly ToSic.Sxc.dll Marks objects such as custom items or data models, which can receive a specific data-object and wrap it. [InternalApi_DoNotUse_MayChangeWithoutNotice(\"may change or rename at any time\")] public interface IDataWrapper : IDataWrapper Type Parameters TModel Remarks This is more specific than the IDataWrapper, since that is just a marker interface. This one specifies that the object has the necessary Setup() method to receive the data of the expected type. Typical use is for custom data such as classes inheriting from CustomItem which takes an entity and then provides a strongly typed wrapper around it. History Introduced in v17.02 under a slightly different name Made visible in the docs for better understanding in v19.01 The Setup() method is still internal, as the signature may still change" + }, + "api/dot-net/ToSic.Sxc.Data.IDataWrapper.html": { + "href": "api/dot-net/ToSic.Sxc.Data.IDataWrapper.html", + "title": "Interface IDataWrapper | 2sxc 19 for Dnn and Oqtane", + "keywords": "Interface IDataWrapper Namespace ToSic.Sxc.Data Assembly ToSic.Sxc.dll Marks objects such as custom items or data models, which can wrap data (usually Entities or TypedItems). [InternalApi_DoNotUse_MayChangeWithoutNotice(\"may change or rename at any time\")] public interface IDataWrapper Remarks Most 2sxc base classes such as Razor files or WebApi files have some methods which will return a typed data model. This is usually As() or AsList(). To help the developer understand what is allowed for TModel we must mark all objects which are supported, and this is done with this interface. So any class which is meant to wrap data from an IEntity or ITypedItem should implement this interface. Typical use is for custom data such as classes inheriting from CustomItem which takes an entity and then provides a strongly typed wrapper around it. History Made visible in the docs for better understanding in v19.01" + }, "api/dot-net/ToSic.Sxc.Data.IDataWrapperForType.html": { "href": "api/dot-net/ToSic.Sxc.Data.IDataWrapperForType.html", "title": "Interface IDataWrapperForType | 2sxc 19 for Dnn and Oqtane", @@ -2357,22 +2377,22 @@ "api/dot-net/ToSic.Sxc.Data.IDynamicEntity.html": { "href": "api/dot-net/ToSic.Sxc.Data.IDynamicEntity.html", "title": "Interface IDynamicEntity | 2sxc 19 for Dnn and Oqtane", - "keywords": "Interface IDynamicEntity Namespace ToSic.Sxc.Data Assembly ToSic.Sxc.dll This is a wrapper for IEntity objects. It provides nicer access to underlying properties and automatically handles things like multi-language etc. The underlying IEntity IEntity is in the Entity property. Normally you will use it without caring about these internals. Please check @HowTo.DynamicCode.DynamicEntity [PublicApi] public interface IDynamicEntity : IHasDecorators, ICanDebug Inherited Members IHasDecorators.Decorators ICanDebug.Debug Properties AnyProperty A Dynamic Entity always contains an item of your data - a book, person, blog-post or a piece of content. Since the object is dynamic, you can just use .IsFemale or whatever other property your item has. It is treated as a dynamic so you can just output it, or cast it to the expected type. dynamic AnyProperty { get; } Property Value dynamic EntityGuid The guid of the underlying entity. Guid EntityGuid { get; } Property Value Guid Remarks If the entity doesn't exist, it will return an empty guid EntityId The ID of the underlying entity. Use it for edit-functionality or just to have a unique number for this item. int EntityId { get; } Property Value int Remarks If the entity doesn't exist, it will return 0 EntityTitle The title of this item. This is always available no matter what the underlying field for the title is. string EntityTitle { get; } Property Value string The title of the underlying entity. In rare cases where no title-field is known, it can be null. It can also be null if there is no underlying entity. Remarks This returns a string which is usually what's expected. In previous versions (before v15) 2sxc it returned an object. EntityType The type name of the current entity. This provides the nice name like \"Person\" and not the technical internal StaticName string EntityType { get; } Property Value string IsDemoItem Many templates show demo data. If the template code must know if it's the demo item or real data, use .IsDemoItem. bool IsDemoItem { get; } Property Value bool True if this is the item configured in the view-settings, false if not. Remarks New in 10.07 on IDynamicEntity, new in 16.02 on ITypedEntity IsPublished Tells us if this data item is published or still draft. Default is true. bool IsPublished { get; } Property Value bool Metadata The type name of the current entity. This provides the nice name like \"Person\" and not the technical internal StaticName IMetadata Metadata { get; } Property Value IMetadata Remarks Added in v13 Changed type name to IMetadata from IDynamicMetadata in 16.02; same type, different type name Presentation Contains presentation settings for an item - if they exist. This is a functionality of the CMS, where an instance of an item can be configured to show in a specific way. Normally it's used when something like an address has various show-settings (like how the map should visualize this address). The presentation-info is therefor not-null IF the content belongs to this module instance the view-configuration of this module is configured to have presentation items there is either a default presentation configured in the view, or the user has manually edited the presentation settings dynamic Presentation { get; } Property Value dynamic An IDynamicEntity with the presentation item (or the demo-presentation), otherwise null. Methods Children(string, string) A dynamic list of sub-items. Important for LINQ style querying or just working with various lists. Note that for getting child items of this item you can just use the properties, like content.Authors. But using Children(\"Authors\", typeName) gives you the ability to restrict to a type. Please check the tutorials on 2sxc.org/dnn-tutorials/ for more info. List Children(string field = null, string type = null) Parameters field string Optional field filter - would only return items that point to the current item in a specific field name. type string Optional type filter - would only return items of this type. Returns List A list of all items pointing here (filtered), converted to DynamicEntity for convenience. Remarks New in 10.21.00 - note also that the parameter-order is reversed to the Parents() Field(string) Get a Field-object of a property of this entity, to use with services like the IImageService which also need more information like the metadata. IField Field(string name) Parameters name string Returns IField Remarks History: Added in v13.10 Get(string) Get a value of the entity. Usually you will prefer the quick access like @content.FirstName - which will give you the same things as content.Get(\"FirstName\"). There are two cases to use this: when you dynamically assemble the field name in your code, like when using App.Resources or similar use cases. to access a field which has a conflicting name with this object, like Get(\"Parents\") dynamic Get(string name) Parameters name string Returns dynamic An object which can be either a string, number, boolean or List, depending on the field type. Will return null if the field was not found. Get(string, NoParamOrder, string, bool, bool?) dynamic Get(string name, NoParamOrder noParamOrder = default, string language = null, bool convertLinks = true, bool? debug = null) Parameters name string noParamOrder NoParamOrder language string convertLinks bool debug bool? Returns dynamic GetDraft() Get the draft item of this item if this is a content-item which is published, and has a draft. dynamic GetDraft() Returns dynamic Returns a dynamic entity if there is a draft, or null if there is no draft. GetPublished() Get the published item of this item if this is a content-item which is draft, and has a published. dynamic GetPublished() Returns dynamic Returns a dynamic entity if there is a draft, or null if there is no draft. Get(string) Get a value using the name - and cast it to the expected strong type. For example to get an int even though it's stored as decimal. TValue Get(string name) Parameters name string the property name like Image - or path like Author.Name (new v15) Returns TValue The typed value, or the default like null or 0 if casting isn't possible. Type Parameters TValue The expected type, like string, int, etc. Remarks Added in v15 Get(string, NoParamOrder, TValue) TValue Get(string name, NoParamOrder noParamOrder = default, TValue fallback = default) Parameters name string noParamOrder NoParamOrder fallback TValue Returns TValue Type Parameters TValue Html(string, NoParamOrder, object, bool?, object, bool) Show a field in the expected / best possible way. As of now it's meant for WYSIWYG fields with Very-Rich Text. See DynamicEntity / TypedItem .Html(...) Method new v16.01 IHtmlTag Html(string name, NoParamOrder noParamOrder = default, object container = null, bool? toolbar = null, object imageSettings = null, bool debug = false) Parameters name string the field name noParamOrder NoParamOrder see Convention: Named Parameters container object A wrapper tag for the result. It's either a RazorBlade tag such as Kit.HtmlTag.Div(), a string such as span or an empty string `` to indicate no container. If not set it will default to to a div-tag. See docs toolbar bool? Override default toolbar behavior on this field. See docs imageSettings object Settings for resizing. Default is Wysiwyg but it can also be Content or a settings object. debug bool Activate debug visualization to better see alignments and such. Returns IHtmlTag Remarks Added in 2sxc 16.01 Only works on Razor files inheriting from Hybrid14 or newer Parents(string, string) A dynamic list of entities which point to this item. Important for LINQ style querying or just working with various lists. Note that for getting child items of this item you can just use the properties, like content.Authors. Please check the tutorials on 2sxc.org/dnn-tutorials/ for more info. List Parents(string type = null, string field = null) Parameters type string Optional type filter - would only return items of this type. field string Optional field filter - would only return items that point to the current item in a specific field name. Returns List A list of all items pointing here (filtered), converted to DynamicEntity for convenience. Remarks New in 9.42 - note also that the parameter-order is reversed to the Children()" + "keywords": "Interface IDynamicEntity Namespace ToSic.Sxc.Data Assembly ToSic.Sxc.dll This is an older dynamic wrapper for IEntity objects. It provides dynamic access to underlying properties. [PublicApi] public interface IDynamicEntity : IHasDecorators, ICanDebug Inherited Members IHasDecorators.Decorators ICanDebug.Debug Remarks It provides nicer access to underlying properties and automatically handles things like multi-language etc. The underlying IEntity IEntity is in the Entity property. This is an older way to work with entities and not recommended anymore. You should use a newer base class such as `RazorTyped`, there Dynamic objects are not used anymore. Normally you will use it without caring about these internals. Please check @HowTo.DynamicCode.DynamicEntity Properties AnyProperty A Dynamic Entity always contains an item of your data - a book, person, blog-post or a piece of content. Since the object is dynamic, you can just use .IsFemale or whatever other property your item has. It is treated as a dynamic so you can just output it, or cast it to the expected type. dynamic AnyProperty { get; } Property Value dynamic EntityGuid The guid of the underlying entity. Guid EntityGuid { get; } Property Value Guid Remarks If the entity doesn't exist, it will return an empty guid EntityId The ID of the underlying entity. Use it for edit-functionality or just to have a unique number for this item. int EntityId { get; } Property Value int Remarks If the entity doesn't exist, it will return 0 EntityTitle The title of this item. This is always available no matter what the underlying field for the title is. string EntityTitle { get; } Property Value string The title of the underlying entity. In rare cases where no title-field is known, it can be null. It can also be null if there is no underlying entity. Remarks This returns a string which is usually what's expected. In previous versions (before v15) 2sxc it returned an object. EntityType The type name of the current entity. This provides the nice name like \"Person\" and not the technical internal StaticName string EntityType { get; } Property Value string IsDemoItem Many templates show demo data. If the template code must know if it's the demo item or real data, use .IsDemoItem. bool IsDemoItem { get; } Property Value bool True if this is the item configured in the view-settings, false if not. Remarks New in 10.07 on IDynamicEntity, new in 16.02 on ITypedEntity IsPublished Tells us if this data item is published or still draft. Default is true. bool IsPublished { get; } Property Value bool Metadata The type name of the current entity. This provides the nice name like \"Person\" and not the technical internal StaticName IMetadata Metadata { get; } Property Value IMetadata Remarks Added in v13 Changed type name to IMetadata from IDynamicMetadata in 16.02; same type, different type name Presentation Contains presentation settings for an item - if they exist. This is a functionality of the CMS, where an instance of an item can be configured to show in a specific way. Normally it's used when something like an address has various show-settings (like how the map should visualize this address). The presentation-info is therefor not-null IF the content belongs to this module instance the view-configuration of this module is configured to have presentation items there is either a default presentation configured in the view, or the user has manually edited the presentation settings dynamic Presentation { get; } Property Value dynamic An IDynamicEntity with the presentation item (or the demo-presentation), otherwise null. Methods Children(string, string) A dynamic list of sub-items. Important for LINQ style querying or just working with various lists. Note that for getting child items of this item you can just use the properties, like content.Authors. But using Children(\"Authors\", typeName) gives you the ability to restrict to a type. Please check the tutorials on 2sxc.org/dnn-tutorials/ for more info. List Children(string field = null, string type = null) Parameters field string Optional field filter - would only return items that point to the current item in a specific field name. type string Optional type filter - would only return items of this type. Returns List A list of all items pointing here (filtered), converted to DynamicEntity for convenience. Remarks New in 10.21.00 - note also that the parameter-order is reversed to the Parents() Field(string) Get a Field-object of a property of this entity, to use with services like the IImageService which also need more information like the metadata. IField Field(string name) Parameters name string Returns IField Remarks History: Added in v13.10 Get(string) Get a value of the entity. Usually you will prefer the quick access like @content.FirstName - which will give you the same things as content.Get(\"FirstName\"). There are two cases to use this: when you dynamically assemble the field name in your code, like when using App.Resources or similar use cases. to access a field which has a conflicting name with this object, like Get(\"Parents\") dynamic Get(string name) Parameters name string Returns dynamic An object which can be either a string, number, boolean or List, depending on the field type. Will return null if the field was not found. Get(string, NoParamOrder, string, bool, bool?) dynamic Get(string name, NoParamOrder noParamOrder = default, string language = null, bool convertLinks = true, bool? debug = null) Parameters name string noParamOrder NoParamOrder language string convertLinks bool debug bool? Returns dynamic GetDraft() Get the draft item of this item if this is a content-item which is published, and has a draft. dynamic GetDraft() Returns dynamic Returns a dynamic entity if there is a draft, or null if there is no draft. GetPublished() Get the published item of this item if this is a content-item which is draft, and has a published. dynamic GetPublished() Returns dynamic Returns a dynamic entity if there is a draft, or null if there is no draft. Get(string) Get a value using the name - and cast it to the expected strong type. For example to get an int even though it's stored as decimal. TValue Get(string name) Parameters name string the property name like Image - or path like Author.Name (new v15) Returns TValue The typed value, or the default like null or 0 if casting isn't possible. Type Parameters TValue The expected type, like string, int, etc. Remarks Added in v15 Get(string, NoParamOrder, TValue) TValue Get(string name, NoParamOrder noParamOrder = default, TValue fallback = default) Parameters name string noParamOrder NoParamOrder fallback TValue Returns TValue Type Parameters TValue Html(string, NoParamOrder, object, bool?, object, bool) Show a field in the expected / best possible way. As of now it's meant for WYSIWYG fields with Very-Rich Text. See DynamicEntity / TypedItem .Html(...) Method new v16.01 IHtmlTag Html(string name, NoParamOrder noParamOrder = default, object container = null, bool? toolbar = null, object imageSettings = null, bool debug = false) Parameters name string the field name noParamOrder NoParamOrder see Convention: Named Parameters container object A wrapper tag for the result. It's either a RazorBlade tag such as Kit.HtmlTag.Div(), a string such as span or an empty string `` to indicate no container. If not set it will default to to a div-tag. See docs toolbar bool? Override default toolbar behavior on this field. See docs imageSettings object Settings for resizing. Default is Wysiwyg but it can also be Content or a settings object. debug bool Activate debug visualization to better see alignments and such. Returns IHtmlTag Remarks Added in 2sxc 16.01 Only works on Razor files inheriting from Hybrid14 or newer Parents(string, string) A dynamic list of entities which point to this item. Important for LINQ style querying or just working with various lists. Note that for getting child items of this item you can just use the properties, like content.Authors. Please check the tutorials on 2sxc.org/dnn-tutorials/ for more info. List Parents(string type = null, string field = null) Parameters type string Optional type filter - would only return items of this type. field string Optional field filter - would only return items that point to the current item in a specific field name. Returns List A list of all items pointing here (filtered), converted to DynamicEntity for convenience. Remarks New in 9.42 - note also that the parameter-order is reversed to the Children()" }, "api/dot-net/ToSic.Sxc.Data.IDynamicStack.html": { "href": "api/dot-net/ToSic.Sxc.Data.IDynamicStack.html", "title": "Interface IDynamicStack | 2sxc 19 for Dnn and Oqtane", - "keywords": "Interface IDynamicStack Namespace ToSic.Sxc.Data Assembly ToSic.Sxc.dll This is a dynamic object which contains multiple dynamic objects (Sources). It will try to find a value inside each source in the order the Sources are managed. [PublicApi] public interface IDynamicStack : ICanDebug Inherited Members ICanDebug.Debug Remarks New in 12.02 Properties AnyProperty A Dynamic Entity always contains an item of your data - a book, person, blog-post or a piece of content. Since the object is dynamic, you can just use .IsFemale or whatever other property your item has. It is treated as a dynamic so you can just output it, or cast it to the expected type. dynamic AnyProperty { get; } Property Value dynamic Methods Get(string) Get a value of the entity. Usually you will prefer the quick access like @content.FirstName - which will give you the same things as content.Get(\"FirstName\"). There are two cases to use this: when you dynamically assemble the field name in your code, like when using App.Resources or similar use cases. to access a field which has a conflicting name with this object, like Get(\"Parents\") dynamic Get(string name) Parameters name string Returns dynamic An object which can be either a string, number, boolean or List, depending on the field type. Will return null if the field was not found. Get(string, NoParamOrder, string, bool, bool?) Get a property using the string name. Only needed in special situations, as most cases can use the object.name directly dynamic Get(string name, NoParamOrder noParamOrder = default, string language = null, bool convertLinks = true, bool? debug = null) Parameters name string the property name like Image - or path like Author.Name (new v15) noParamOrder NoParamOrder see Convention: Named Parameters language string Optional language code - like \"de-ch\" to prioritize that language convertLinks bool Optionally turn off if links like file:72 are looked up to a real link. Default is true. debug bool? Set true to see more details in Insights how the value was retrieved. Returns dynamic a dynamically typed result, can be string, bool, etc. Get(string) Get a value using the name - and cast it to the expected strong type. For example to get an int even though it's stored as decimal. TValue Get(string name) Parameters name string the property name like Image - or path like Author.Name (new v15) Returns TValue The typed value, or the default like null or 0 if casting isn't possible. Type Parameters TValue The expected type, like string, int, etc. Remarks Added in v15 Get(string, NoParamOrder, TValue) Get a value using the name - and cast it to the expected strong type. For example to get an int even though it's stored as decimal. Since the parameter fallback determines the type TValue you can just write this like `Content.Get(\"Title\", fallback: \"no title\") TValue Get(string name, NoParamOrder noParamOrder = default, TValue fallback = default) Parameters name string the property name like Image - or path like Author.Name (new v15) noParamOrder NoParamOrder see Convention: Named Parameters fallback TValue the fallback value to provide if not found Returns TValue The typed value, or the default like null or 0 if casting isn't possible. Type Parameters TValue The expected type, like string, int, etc. Note that you don't need to specify it, if you specify the fallback property. Remarks Added in v15" + "keywords": "Interface IDynamicStack Namespace ToSic.Sxc.Data Assembly ToSic.Sxc.dll This is a dynamic object which contains multiple dynamic objects (Sources). [PublicApi] public interface IDynamicStack : ICanDebug Inherited Members ICanDebug.Debug Remarks It will try to find a value inside each source in the order of the provided Sources. History: Introduced in 12.02 Properties AnyProperty A Dynamic Entity always contains an item of your data - a book, person, blog-post or a piece of content. Since the object is dynamic, you can just use .IsFemale or whatever other property your item has. It is treated as a dynamic so you can just output it, or cast it to the expected type. dynamic AnyProperty { get; } Property Value dynamic Methods Get(string) Get a value of the entity. Usually you will prefer the quick access like @content.FirstName - which will give you the same things as content.Get(\"FirstName\"). There are two cases to use this: when you dynamically assemble the field name in your code, like when using App.Resources or similar use cases. to access a field which has a conflicting name with this object, like Get(\"Parents\") dynamic Get(string name) Parameters name string Returns dynamic An object which can be either a string, number, boolean or List, depending on the field type. Will return null if the field was not found. Get(string, NoParamOrder, string, bool, bool?) Get a property using the string name. Only needed in special situations, as most cases can use the object.name directly dynamic Get(string name, NoParamOrder noParamOrder = default, string language = null, bool convertLinks = true, bool? debug = null) Parameters name string the property name like Image - or path like Author.Name (new v15) noParamOrder NoParamOrder see Convention: Named Parameters language string Optional language code - like \"de-ch\" to prioritize that language convertLinks bool Optionally turn off if links like file:72 are looked up to a real link. Default is true. debug bool? Set true to see more details in Insights how the value was retrieved. Returns dynamic a dynamically typed result, can be string, bool, etc. Get(string) Get a value using the name - and cast it to the expected strong type. For example to get an int even though it's stored as decimal. TValue Get(string name) Parameters name string the property name like Image - or path like Author.Name (new v15) Returns TValue The typed value, or the default like null or 0 if casting isn't possible. Type Parameters TValue The expected type, like string, int, etc. Remarks Added in v15 Get(string, NoParamOrder, TValue) Get a value using the name - and cast it to the expected strong type. For example to get an int even though it's stored as decimal. Since the parameter fallback determines the type TValue you can just write this like `Content.Get(\"Title\", fallback: \"no title\") TValue Get(string name, NoParamOrder noParamOrder = default, TValue fallback = default) Parameters name string the property name like Image - or path like Author.Name (new v15) noParamOrder NoParamOrder see Convention: Named Parameters fallback TValue the fallback value to provide if not found Returns TValue The typed value, or the default like null or 0 if casting isn't possible. Type Parameters TValue The expected type, like string, int, etc. Note that you don't need to specify it, if you specify the fallback property. Remarks Added in v15" }, "api/dot-net/ToSic.Sxc.Data.IField.html": { "href": "api/dot-net/ToSic.Sxc.Data.IField.html", "title": "Interface IField | 2sxc 19 for Dnn and Oqtane", - "keywords": "Interface IField Namespace ToSic.Sxc.Data Assembly ToSic.Sxc.dll This describes a field-property of an item/entity. It's used for APIs which can need to know more about the field holding an item, like: The field name and parent reference The values in raw and converted Any metadata of the field [InternalApi_DoNotUse_MayChangeWithoutNotice(\"This is just FYI so you see how it works; you shouldn't use any of these properties in your code\")] public interface IField : IHasMetadata Remarks Created in v13.10 In v16.02 renamed from IDynamicField to IField as it's not dynamic any more Kind of a breaking change, but shouldn't affect any code out there as the type name is not used In 16.02 changed types of Value and Raw to object - previously dynamic Properties Metadata Metadata of the thing in the field - if it has such metadata. The object will never be null, but it can of course not have any data if there is no metadata. IMetadata Metadata { get; } Property Value IMetadata Name The field name string Name { get; } Property Value string Parent The parent object of this field ITypedItem Parent { get; } Property Value ITypedItem" + "keywords": "Interface IField Namespace ToSic.Sxc.Data Assembly ToSic.Sxc.dll This describes a field-property of an item/entity. [InternalApi_DoNotUse_MayChangeWithoutNotice(\"This is just FYI so you see how it works; you shouldn't use any of these properties in your code\")] public interface IField : IHasMetadata Remarks It's used for APIs which can need to know more about the field holding an item, like: The field name and parent reference The values in raw and converted Any metadata of the field History Created in v13.10, originally as IDynamicField In v16.02 renamed IField as it's not dynamic, and published In 16.02 changed types of Value and Raw to object - previously dynamic Properties Metadata Metadata of the thing in the field - if it has such metadata. The object will never be null, but it can of course not have any data if there is no metadata. IMetadata Metadata { get; } Property Value IMetadata Name The field name string Name { get; } Property Value string Parent The parent object of this field ITypedItem Parent { get; } Property Value ITypedItem" }, "api/dot-net/ToSic.Sxc.Data.IMetadata.html": { "href": "api/dot-net/ToSic.Sxc.Data.IMetadata.html", "title": "Interface IMetadata | 2sxc 19 for Dnn and Oqtane", - "keywords": "Interface IMetadata Namespace ToSic.Sxc.Data Assembly ToSic.Sxc.dll Metadata on Dynamic Objects - like IDynamicEntity or IAsset (files/folders). Behaves like a normal DynamicEntity, but has additional commands to detect if specific Metadata exists. [PublicApi] public interface IMetadata : IHasMetadata, ITypedItem, ITyped, IEquatable, ICanDebug, IHasDecorators Inherited Members IHasMetadata.Metadata ITypedItem.Dyn ITypedItem.Presentation ITypedItem.Field(string, NoParamOrder, bool?) ITypedItem.Folder(string, NoParamOrder, bool?) ITypedItem.File(string, NoParamOrder, bool?) ITypedItem.Child(string, NoParamOrder, bool?) ITypedItem.Children(string, NoParamOrder, string, bool?) ITypedItem.Parent(NoParamOrder, bool?, string, string) ITypedItem.Parents(NoParamOrder, string, string) ITypedItem.Child(string, NoParamOrder, bool?) ITypedItem.Children(string, NoParamOrder, string, bool?) ITypedItem.Parent(NoParamOrder, bool?, string, string) ITypedItem.Parents(NoParamOrder, string, string) ITypedItem.IsPublished ITypedItem.Publishing ITypedItem.IsDemoItem ITypedItem.Html(string, NoParamOrder, object, bool?, object, bool?, bool, Func, ITweakInput>) ITypedItem.Picture(string, NoParamOrder, Func, object, object, object, string, string, string, object, string, object, object, object) ITypedItem.Img(string, NoParamOrder, Func, object, object, object, string, string, string, object, object, object) ITypedItem.Gps(string, NoParamOrder, bool?) ITypedItem.Id ITypedItem.Guid ITypedItem.Title ITypedItem.Type ITyped.Bool(string, NoParamOrder, bool, bool?) ITyped.DateTime(string, NoParamOrder, DateTime, bool?) ITyped.String(string, NoParamOrder, string, bool?, object) ITyped.Int(string, NoParamOrder, int, bool?) ITyped.Long(string, NoParamOrder, long, bool?) ITyped.Float(string, NoParamOrder, float, bool?) ITyped.Decimal(string, NoParamOrder, decimal, bool?) ITyped.Double(string, NoParamOrder, double, bool?) ITyped.Url(string, NoParamOrder, string, bool?) ITyped.Attribute(string, NoParamOrder, string, bool?) ITyped.ContainsKey(string) ITyped.IsEmpty(string, NoParamOrder, string) ITyped.IsNotEmpty(string, NoParamOrder, string) ITyped.Keys(NoParamOrder, IEnumerable) ITyped.Get(string, NoParamOrder, bool?, string) ITyped.Get(string, NoParamOrder, TValue, bool?, string) IEquatable.Equals(ITypedItem) ICanDebug.Debug IHasDecorators.Decorators Remarks Added in v13 Made compatible to ITypedItem in 16.02 to allow typed commands such as .String(...) Renamed in v16.02 from IDynamicMetadata to IMetadata since it's not necessarily dynamic any more (but still supports dynamic where needed) Note that this is a breaking change, but we believe the type is never directly mentioned in any code Methods HasType(string) Ask if there is metadata of the type specified. This is important in scenarios where an item could have a lot of metadata, but we only want one specific type to look at. bool HasType(string type) Parameters type string Returns bool true if metadata of that type exists OfType(string) Get all the metadata Entities of a specific type. IEnumerable OfType(string type) Parameters type string Returns IEnumerable" + "keywords": "Interface IMetadata Namespace ToSic.Sxc.Data Assembly ToSic.Sxc.dll Metadata on Dynamic Objects - like IDynamicEntity or IAsset (files/folders). [PublicApi] public interface IMetadata : IHasMetadata, ITypedItem, ITyped, IEquatable, ICanDebug, IHasDecorators Inherited Members IHasMetadata.Metadata ITypedItem.Dyn ITypedItem.Presentation ITypedItem.Field(string, NoParamOrder, bool?) ITypedItem.Folder(string, NoParamOrder, bool?) ITypedItem.File(string, NoParamOrder, bool?) ITypedItem.Child(string, NoParamOrder, bool?) ITypedItem.Children(string, NoParamOrder, string, bool?) ITypedItem.Parent(NoParamOrder, bool?, string, string) ITypedItem.Parents(NoParamOrder, string, string) ITypedItem.Child(string, NoParamOrder, bool?) ITypedItem.Children(string, NoParamOrder, string, bool?) ITypedItem.Parent(NoParamOrder, bool?, string, string) ITypedItem.Parents(NoParamOrder, string, string) ITypedItem.IsPublished ITypedItem.Publishing ITypedItem.IsDemoItem ITypedItem.Html(string, NoParamOrder, object, bool?, object, bool?, bool, Func, ITweakInput>) ITypedItem.Picture(string, NoParamOrder, Func, object, object, object, string, string, string, object, string, object, object, object) ITypedItem.Img(string, NoParamOrder, Func, object, object, object, string, string, string, object, object, object) ITypedItem.Gps(string, NoParamOrder, bool?) ITypedItem.Id ITypedItem.Guid ITypedItem.Title ITypedItem.Type ITyped.Bool(string, NoParamOrder, bool, bool?) ITyped.DateTime(string, NoParamOrder, DateTime, bool?) ITyped.String(string, NoParamOrder, string, bool?, object) ITyped.Int(string, NoParamOrder, int, bool?) ITyped.Long(string, NoParamOrder, long, bool?) ITyped.Float(string, NoParamOrder, float, bool?) ITyped.Decimal(string, NoParamOrder, decimal, bool?) ITyped.Double(string, NoParamOrder, double, bool?) ITyped.Url(string, NoParamOrder, string, bool?) ITyped.Attribute(string, NoParamOrder, string, bool?) ITyped.ContainsKey(string) ITyped.IsEmpty(string, NoParamOrder, string) ITyped.IsNotEmpty(string, NoParamOrder, string) ITyped.Keys(NoParamOrder, IEnumerable) ITyped.Get(string, NoParamOrder, bool?, string) ITyped.Get(string, NoParamOrder, TValue, bool?, string) IEquatable.Equals(ITypedItem) ICanDebug.Debug IHasDecorators.Decorators Remarks Behaves like a normal DynamicEntity, but has additional commands to detect if specific Metadata exists. History: Added in v13 Made compatible to ITypedItem in 16.02 to allow typed commands such as .String(...) Renamed in v16.02 from IDynamicMetadata to IMetadata since it's not necessarily dynamic any more (but still supports dynamic where needed) Note that this is a breaking change, but we believe the type is never directly mentioned in any code Methods HasType(string) Ask if there is metadata of the type specified. This is important in scenarios where an item could have a lot of metadata, but we only want one specific type to look at. bool HasType(string type) Parameters type string Returns bool true if metadata of that type exists OfType(string) Get all the metadata Entities of a specific type. IEnumerable OfType(string type) Parameters type string Returns IEnumerable" }, "api/dot-net/ToSic.Sxc.Data.IPublishing.html": { "href": "api/dot-net/ToSic.Sxc.Data.IPublishing.html", @@ -2381,18 +2401,18 @@ }, "api/dot-net/ToSic.Sxc.Data.ISecureData-1.html": { "href": "api/dot-net/ToSic.Sxc.Data.ISecureData-1.html", - "title": "Interface ISecureData | 2sxc 19 for Dnn and Oqtane", - "keywords": "Interface ISecureData Namespace ToSic.Sxc.Data Assembly ToSic.Sxc.dll This object contains decrypted data (if it was encrypted originally) and tells you if the data was encrypted, signed etc. It's still very basic, and will grow in functionality to assist in handling secure / encrypted / signed data. [PublicApi] public interface ISecureData Type Parameters T Type of this secure data - as of now it's always a string Remarks Introduced in 2sxc 12.05 Properties IsSecured Determines if the data is secure data, so it's either encrypted or signed bool IsSecured { get; } Property Value bool Remarks made public in v17.01 Value The value returned by the secure data - usually a string. T Value { get; } Property Value T Methods IsSecuredBy(string) Determines what authority secured this secure data. This is to figure out what certificate or source verified the decryption / signing As of 2sxc 12.05, it can only be \"preset\", other keys are currently not handled yet bool IsSecuredBy(string authorityName) Parameters authorityName string Returns bool ToString() This object explicitly has a ToString, so you can use the result in string concatenation like \"key:\" + secureResult string ToString() Returns string" + "title": "Interface ISecureData | 2sxc 19 for Dnn and Oqtane", + "keywords": "Interface ISecureData Namespace ToSic.Sxc.Data Assembly ToSic.Sxc.dll Objects which contain secure/encrypted data and can be decrypted / verified. [PublicApi] public interface ISecureData Type Parameters TValue Type of the value in this secure data. As of now it's always a string. Remarks This object contains decrypted data (if it was encrypted originally) and tells you if the data was encrypted, signed etc. It's still very basic, and will grow in functionality to assist in handling secure / encrypted / signed data. History: Introduced in 2sxc 12.05 Properties IsSecured Determines if the data is secure data, so it's either encrypted or signed bool IsSecured { get; } Property Value bool Remarks made public in v17.01 Value The value returned by the secure data - usually a string. TValue Value { get; } Property Value TValue Methods IsSecuredBy(string) Determines what authority secured this secure data. This is to figure out what certificate or source verified the decryption / signing As of 2sxc 12.05, it can only be \"preset\", other keys are currently not handled yet bool IsSecuredBy(string authorityName) Parameters authorityName string Returns bool ToString() This object explicitly has a ToString, so you can use the result in string concatenation like \"key:\" + secureResult string ToString() Returns string" }, "api/dot-net/ToSic.Sxc.Data.ITyped.html": { "href": "api/dot-net/ToSic.Sxc.Data.ITyped.html", "title": "Interface ITyped | 2sxc 19 for Dnn and Oqtane", - "keywords": "Interface ITyped Namespace ToSic.Sxc.Data Assembly ToSic.Sxc.dll This describes objects which usually wrap other objects to provide strictly typed access to properties. have typed Methods to read properties like .String(propName). It's usually the result of a AsTyped(something) or AsItem(...) command. It's meant to help Razor etc. access unknown or dynamic objects in a typed way. [PublicApi] [JsonConverter(typeof(DynamicJsonConverter))] public interface ITyped Remarks New in 16.02. Methods Attribute(string, NoParamOrder, string, bool?) Return a value as a raw HTML string for using inside an attribute. Usage like title='@item.Attribute(\"Title\")' It will do a few things such as: Ensure dates are in the ISO format Ensure numbers are in a neutral format such as 14.27 and never 14,27 Html encode any characters which would cause trouble such as quotes IRawHtmlString Attribute(string name, NoParamOrder noParamOrder = default, string fallback = null, bool? required = null) Parameters name string Name of the property noParamOrder NoParamOrder see Convention: Named Parameters fallback string Value to use if the property specified by name doesn't exist required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IRawHtmlString Bool(string, NoParamOrder, bool, bool?) Get a property and return the value as a bool. If conversion fails, will return default false or what is specified in the fallback. bool Bool(string name, NoParamOrder noParamOrder = default, bool fallback = false, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback bool optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns bool Value as bool ContainsKey(string) Check if this typed object has a property of this specified name. It's case-insensitive. bool ContainsKey(string name) Parameters name string the name like Image; some objects also support path to sub-property like Author.Name Returns bool Remarks Adding in 16.03 (WIP) DateTime(string, NoParamOrder, DateTime, bool?) Get a property and return the value as a DateTime. If conversion fails, will return default 0001-01-01 or what is specified in the fallback. DateTime DateTime(string name, NoParamOrder noParamOrder = default, DateTime fallback = default, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback DateTime optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns DateTime Value as DateTime Decimal(string, NoParamOrder, decimal, bool?) Get a property and return the value as a decimal. If conversion fails, will return default 0 or what is specified in the fallback. decimal Decimal(string name, NoParamOrder noParamOrder = default, decimal fallback = 0, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback decimal optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns decimal Value as decimal Double(string, NoParamOrder, double, bool?) Get a property and return the value as a double. If conversion fails, will return default 0 or what is specified in the fallback. double Double(string name, NoParamOrder noParamOrder = default, double fallback = 0, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback double optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns double Value as double Float(string, NoParamOrder, float, bool?) Get a property and return the value as a float. If conversion fails, will return default 0 or what is specified in the fallback. float Float(string name, NoParamOrder noParamOrder = default, float fallback = 0, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback float optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns float Value as float Get(string, NoParamOrder, bool?, string) Get a property. object Get(string name, NoParamOrder noParamOrder = default, bool? required = null, string language = null) Parameters name string the property name like Image - or path to sub-property like Author.Name (new v15) noParamOrder NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks language string Optional language like de, de-ch or de,en to determine which values to check. Will ignore languages not in the data model. On items that don't have ML data it will be ignored. new v17.10 Returns object The result if found or null; or error if the object is in strict mode Remarks parameter languages added in 17.10 Get(string, NoParamOrder, TValue, bool?, string) Get a value using the name - and cast it to the expected strong type. For example to get an int even though it's stored as decimal. Since the parameter fallback determines the type TValue you can just write this like `something.Get(\"Title\", fallback: \"no title\") TValue Get(string name, NoParamOrder noParamOrder = default, TValue fallback = default, bool? required = null, string language = null) Parameters name string the property name like Image - or path to sub-property like Author.Name (new v15) noParamOrder NoParamOrder see Convention: Named Parameters fallback TValue the fallback value to provide if not found required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks language string Optional language like de, de-ch or de,en to determine which values to check. Will ignore languages not in the data model. On items that don't have ML data it will be ignored. new v17.10 Returns TValue The typed value, or the default like null or 0 if casting isn't possible. Type Parameters TValue The expected type, like string, int, etc. Note that you don't need to specify it, if you specify the fallback property. Remarks Added in v15 parameter languages added in 17.10 Int(string, NoParamOrder, int, bool?) Get a property and return the value as a int. If conversion fails, will return default 0 or what is specified in the fallback. int Int(string name, NoParamOrder noParamOrder = default, int fallback = 0, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback int optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns int Value as int IsEmpty(string, NoParamOrder, string) Check if this typed object has a property of this specified name, and has real data. The opposite version of this is IsNotEmpty(...) Important This method is optimized for use in Razor-like scenarios. It's behavior is super-useful but maybe not always expected. If the value is a string, and is empty or only contains whitespace (even  ) it is regarded as empty. If the returned value is an empty list (e.g. a field containing relationships, without any items in it) it is regarded as empty. If you need a different kind of check, just .Get(...) the value and perform the checks in your code. bool IsEmpty(string name, NoParamOrder noParamOrder = default, string language = null) Parameters name string the property name like Image; some objects also support path to sub-property like Author.Name noParamOrder NoParamOrder see Convention: Named Parameters language string Optional language like de, de-ch or de,en to determine which values to check. Will ignore languages not in the data model. On items that don't have ML data it will be ignored. new v17.10 Returns bool true if the property exists and has a real value. If it returned an empty list, it will also return false Remarks Added in 16.03 language parameter added in 17.10 IsNotEmpty(string, NoParamOrder, string) Check if this typed object has a property of this specified name, and has real data. The opposite version of this is IsEmpty(...) Important This method is optimized for use in Razor-like scenarios. It's behavior is super-useful but maybe not always expected. If the value is a string, and is empty or only contains whitespace (even  ) it is regarded as empty. If the returned value is an empty list (e.g. a field containing relationships, without any items in it) it is regarded as empty. If you need a different kind of check, just .Get(...) the value and perform the checks in your code. bool IsNotEmpty(string name, NoParamOrder noParamOrder = default, string language = null) Parameters name string the property name like Image; some objects also support path to sub-property like Author.Name noParamOrder NoParamOrder see Convention: Named Parameters language string Optional language like de, de-ch or de,en to determine which values to check. Will ignore languages not in the data model. On items that don't have ML data it will be ignored. new v17.10 Returns bool true if the property exists and has a real value. If it returned an empty list, it will also return false Remarks Added in 16.03 language parameter added in 17.10 Keys(NoParamOrder, IEnumerable) Get all the keys available in this Model (all the parameters passed in). This is used to sometimes run early checks if all the expected parameters have been provided. IEnumerable Keys(NoParamOrder noParamOrder = default, IEnumerable only = null) Parameters noParamOrder NoParamOrder see Convention: Named Parameters only IEnumerable Only return the keys specified here, if found. Typical use: only: new [] { \"Key1\", \"Key2\" }. Useful to check if all or any specific keys exist. Returns IEnumerable Remarks Added in 16.03 Long(string, NoParamOrder, long, bool?) Get a property and return the value as a long. If conversion fails, will return default 0 or what is specified in the fallback. long Long(string name, NoParamOrder noParamOrder = default, long fallback = 0, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback long optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns long Value as long String(string, NoParamOrder, string, bool?, object) Get a property and return the value as a string. If conversion fails, will return default null or what is specified in the fallback. string String(string name, NoParamOrder noParamOrder = default, string fallback = null, bool? required = null, object scrubHtml = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback string optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks scrubHtml object If true, will remove all HTML tags from the string. If p will remove all p tags, if div,span will remove these tags. This is the same as using Kit.Scrub.All(...) or .Only(...). For more detailed scrubbing, use the Kit.Scrub` Returns string Value as string Url(string, NoParamOrder, string, bool?) Get a url from a field. It will do sanitation / url-corrections for special characters etc. On TypedItems it will also auto-convert values such as file:72 or page:14. string Url(string name, NoParamOrder noParamOrder = default, string fallback = null, bool? required = null) Parameters name string The field name. noParamOrder NoParamOrder see Convention: Named Parameters fallback string optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns string A url converted if possible. If the field contains anything else such as hello then it will not be modified." + "keywords": "Interface ITyped Namespace ToSic.Sxc.Data Assembly ToSic.Sxc.dll Objects which usually wrap other objects to provide strictly typed access to properties. [PublicApi] [JsonConverter(typeof(DynamicJsonConverter))] public interface ITyped Remarks The object will have typed Methods to read properties like .String(propName). It is usually the result of a AsTyped(something) or AsItem(...) command. It is meant to help Razor etc. access Entity and/or dynamic objects in a typed way. History: Introduced in 16.02. Methods Attribute(string, NoParamOrder, string, bool?) Return a value as a raw HTML string for using inside an attribute. Usage like title='@item.Attribute(\"Title\")' It will do a few things such as: Ensure dates are in the ISO format Ensure numbers are in a neutral format such as 14.27 and never 14,27 Html encode any characters which would cause trouble such as quotes IRawHtmlString Attribute(string name, NoParamOrder noParamOrder = default, string fallback = null, bool? required = null) Parameters name string Name of the property noParamOrder NoParamOrder see Convention: Named Parameters fallback string Value to use if the property specified by name doesn't exist required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IRawHtmlString Bool(string, NoParamOrder, bool, bool?) Get a property and return the value as a bool. If conversion fails, will return default false or what is specified in the fallback. bool Bool(string name, NoParamOrder noParamOrder = default, bool fallback = false, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback bool optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns bool Value as bool ContainsKey(string) Check if this typed object has a property of this specified name. It's case-insensitive. bool ContainsKey(string name) Parameters name string the name like Image; some objects also support path to sub-property like Author.Name Returns bool Remarks Adding in 16.03 (WIP) DateTime(string, NoParamOrder, DateTime, bool?) Get a property and return the value as a DateTime. If conversion fails, will return default 0001-01-01 or what is specified in the fallback. DateTime DateTime(string name, NoParamOrder noParamOrder = default, DateTime fallback = default, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback DateTime optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns DateTime Value as DateTime Decimal(string, NoParamOrder, decimal, bool?) Get a property and return the value as a decimal. If conversion fails, will return default 0 or what is specified in the fallback. decimal Decimal(string name, NoParamOrder noParamOrder = default, decimal fallback = 0, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback decimal optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns decimal Value as decimal Double(string, NoParamOrder, double, bool?) Get a property and return the value as a double. If conversion fails, will return default 0 or what is specified in the fallback. double Double(string name, NoParamOrder noParamOrder = default, double fallback = 0, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback double optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns double Value as double Float(string, NoParamOrder, float, bool?) Get a property and return the value as a float. If conversion fails, will return default 0 or what is specified in the fallback. float Float(string name, NoParamOrder noParamOrder = default, float fallback = 0, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback float optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns float Value as float Get(string, NoParamOrder, bool?, string) Get a property. object Get(string name, NoParamOrder noParamOrder = default, bool? required = null, string language = null) Parameters name string the property name like Image - or path to sub-property like Author.Name (new v15) noParamOrder NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks language string Optional language like de, de-ch or de,en to determine which values to check. Will ignore languages not in the data model. On items that don't have ML data it will be ignored. new v17.10 Returns object The result if found or null; or error if the object is in strict mode Remarks parameter languages added in 17.10 Get(string, NoParamOrder, TValue, bool?, string) Get a value using the name - and cast it to the expected strong type. For example to get an int even though it's stored as decimal. Since the parameter fallback determines the type TValue you can just write this like `something.Get(\"Title\", fallback: \"no title\") TValue Get(string name, NoParamOrder noParamOrder = default, TValue fallback = default, bool? required = null, string language = null) Parameters name string the property name like Image - or path to sub-property like Author.Name (new v15) noParamOrder NoParamOrder see Convention: Named Parameters fallback TValue the fallback value to provide if not found required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks language string Optional language like de, de-ch or de,en to determine which values to check. Will ignore languages not in the data model. On items that don't have ML data it will be ignored. new v17.10 Returns TValue The typed value, or the default like null or 0 if casting isn't possible. Type Parameters TValue The expected type, like string, int, etc. Note that you don't need to specify it, if you specify the fallback property. Remarks Added in v15 parameter languages added in 17.10 Int(string, NoParamOrder, int, bool?) Get a property and return the value as a int. If conversion fails, will return default 0 or what is specified in the fallback. int Int(string name, NoParamOrder noParamOrder = default, int fallback = 0, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback int optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns int Value as int IsEmpty(string, NoParamOrder, string) Check if this typed object has a property of this specified name, and has real data. The opposite version of this is IsNotEmpty(...) Important This method is optimized for use in Razor-like scenarios. It's behavior is super-useful but maybe not always expected. If the value is a string, and is empty or only contains whitespace (even  ) it is regarded as empty. If the returned value is an empty list (e.g. a field containing relationships, without any items in it) it is regarded as empty. If you need a different kind of check, just .Get(...) the value and perform the checks in your code. bool IsEmpty(string name, NoParamOrder noParamOrder = default, string language = null) Parameters name string the property name like Image; some objects also support path to sub-property like Author.Name noParamOrder NoParamOrder see Convention: Named Parameters language string Optional language like de, de-ch or de,en to determine which values to check. Will ignore languages not in the data model. On items that don't have ML data it will be ignored. new v17.10 Returns bool true if the property exists and has a real value. If it returned an empty list, it will also return false Remarks Added in 16.03 language parameter added in 17.10 IsNotEmpty(string, NoParamOrder, string) Check if this typed object has a property of this specified name, and has real data. The opposite version of this is IsEmpty(...) Important This method is optimized for use in Razor-like scenarios. It's behavior is super-useful but maybe not always expected. If the value is a string, and is empty or only contains whitespace (even  ) it is regarded as empty. If the returned value is an empty list (e.g. a field containing relationships, without any items in it) it is regarded as empty. If you need a different kind of check, just .Get(...) the value and perform the checks in your code. bool IsNotEmpty(string name, NoParamOrder noParamOrder = default, string language = null) Parameters name string the property name like Image; some objects also support path to sub-property like Author.Name noParamOrder NoParamOrder see Convention: Named Parameters language string Optional language like de, de-ch or de,en to determine which values to check. Will ignore languages not in the data model. On items that don't have ML data it will be ignored. new v17.10 Returns bool true if the property exists and has a real value. If it returned an empty list, it will also return false Remarks Added in 16.03 language parameter added in 17.10 Keys(NoParamOrder, IEnumerable) Get all the keys available in this Model (all the parameters passed in). This is used to sometimes run early checks if all the expected parameters have been provided. IEnumerable Keys(NoParamOrder noParamOrder = default, IEnumerable only = null) Parameters noParamOrder NoParamOrder see Convention: Named Parameters only IEnumerable Only return the keys specified here, if found. Typical use: only: new [] { \"Key1\", \"Key2\" }. Useful to check if all or any specific keys exist. Returns IEnumerable Remarks Added in 16.03 Long(string, NoParamOrder, long, bool?) Get a property and return the value as a long. If conversion fails, will return default 0 or what is specified in the fallback. long Long(string name, NoParamOrder noParamOrder = default, long fallback = 0, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback long optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns long Value as long String(string, NoParamOrder, string, bool?, object) Get a property and return the value as a string. If conversion fails, will return default null or what is specified in the fallback. string String(string name, NoParamOrder noParamOrder = default, string fallback = null, bool? required = null, object scrubHtml = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters fallback string optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks scrubHtml object If true, will remove all HTML tags from the string. If p will remove all p tags, if div,span will remove these tags. This is the same as using Kit.Scrub.All(...) or .Only(...). For more detailed scrubbing, use the Kit.Scrub` Returns string Value as string Url(string, NoParamOrder, string, bool?) Get a url from a field. It will do sanitation / url-corrections for special characters etc. On TypedItems it will also auto-convert values such as file:72 or page:14. string Url(string name, NoParamOrder noParamOrder = default, string fallback = null, bool? required = null) Parameters name string The field name. noParamOrder NoParamOrder see Convention: Named Parameters fallback string optional fallback if conversion fails required bool? throw error if the name doesn't exist, see Convention: Property Required Name Checks Returns string A url converted if possible. If the field contains anything else such as hello then it will not be modified." }, "api/dot-net/ToSic.Sxc.Data.ITypedItem.html": { "href": "api/dot-net/ToSic.Sxc.Data.ITypedItem.html", "title": "Interface ITypedItem | 2sxc 19 for Dnn and Oqtane", - "keywords": "Interface ITypedItem Namespace ToSic.Sxc.Data Assembly ToSic.Sxc.dll A typed object to access data. Previously Razor code always used dynamic IDynamicEntity objects. This had some disadvantages when working with LINQ or advanced toolbars. [PublicApi] [JsonConverter(typeof(DynamicJsonConverter))] public interface ITypedItem : ITyped, IEquatable Inherited Members ITyped.Bool(string, NoParamOrder, bool, bool?) ITyped.DateTime(string, NoParamOrder, DateTime, bool?) ITyped.String(string, NoParamOrder, string, bool?, object) ITyped.Int(string, NoParamOrder, int, bool?) ITyped.Long(string, NoParamOrder, long, bool?) ITyped.Float(string, NoParamOrder, float, bool?) ITyped.Decimal(string, NoParamOrder, decimal, bool?) ITyped.Double(string, NoParamOrder, double, bool?) ITyped.Url(string, NoParamOrder, string, bool?) ITyped.Attribute(string, NoParamOrder, string, bool?) ITyped.ContainsKey(string) ITyped.IsEmpty(string, NoParamOrder, string) ITyped.IsNotEmpty(string, NoParamOrder, string) ITyped.Keys(NoParamOrder, IEnumerable) ITyped.Get(string, NoParamOrder, bool?, string) ITyped.Get(string, NoParamOrder, TValue, bool?, string) IEquatable.Equals(ITypedItem) Remarks Introduced in 2sxc 16.01 Properties Dyn A dynamic accessor for properties, to quickly get values when you don't care about type safety. This is often (but not always) a IDynamicEntity. Example: Dyn.FirstName might just work - and return the first name or null if not found. [InternalApi_DoNotUse_MayChangeWithoutNotice(\"This should be avoided\")] [JsonIgnore] dynamic Dyn { get; } Property Value dynamic Guid The guid of the underlying entity. Guid Guid { get; } Property Value Guid Remarks If the entity doesn't exist, it will return an empty guid Id The ID of the underlying entity. Use it for edit-functionality or just to have a unique number for this item. int Id { get; } Property Value int Remarks If the entity doesn't exist, it will return 0 IsDemoItem Many templates show demo data. If the template code must know if it's the demo item or real data, use .IsDemoItem. bool IsDemoItem { get; } Property Value bool True if this is the item configured in the view-settings, false if not. IsPublished True if this item version is published. This means that the item can exist as published, or published-with-draft, showing the published version. Note that by default, end-users only see the published version and don't see any draft version. bool IsPublished { get; } Property Value bool Remarks New in v17, see also Publishing Metadata Metadata of the current item, with special features. [JsonIgnore] IMetadata Metadata { get; } Property Value IMetadata Remarks Added in 16.02 Presentation The presentation item or null if it doesn't exist. [JsonIgnore] ITypedItem Presentation { get; } Property Value ITypedItem Publishing IPublishing Publishing { get; } Property Value IPublishing Title The title of this item. This is always available no matter what the underlying field for the title is. string Title { get; } Property Value string The title of the underlying entity. In rare cases where no title-field is known, it can be null. It can also be null if there is no underlying entity. Remarks This returns a string which is usually what's expected. In previous versions (before v15) 2sxc it returned an object. Type The Content-Type of the current entity. IContentType Type { get; } Property Value IContentType Methods Child(string, NoParamOrder, bool?) A single item from a field. ITypedItem Child(string name, NoParamOrder noParamOrder = default, bool? required = null) Parameters name string Name of the field noParamOrder NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns ITypedItem The ITypedItem. If the field doesn't exist or is empty, will return null. Child(string, NoParamOrder, bool?) Get a child and return with specified custom type. T Child(string name = null, NoParamOrder protector = default, bool? required = null) where T : class, IDataModel, new() Parameters name string Name of the field protector NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns T Type Parameters T Remarks New v17.05 Children(string, NoParamOrder, string, bool?) A typed list of sub-items. Important for LINQ style querying or just working with various lists. Note that for getting child items of this item you can just use the properties, like content.Authors. But using Children(\"Authors\", type: typeName) gives you the ability to restrict to a type. Please check the tutorials on 2sxc.org/dnn-tutorials/ for more info. IEnumerable Children(string field = null, NoParamOrder noParamOrder = default, string type = null, bool? required = null) Parameters field string Optional field filter - would only return items that point to the current item in a specific field name. noParamOrder NoParamOrder see Convention: Named Parameters type string Optional type filter - would only return items of this type. required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IEnumerable A list of all items pointing here (filtered), converted to DynamicEntity for convenience. Remarks Note that the parameter-order is reversed to the Parents() Children(string, NoParamOrder, string, bool?) A strongly typed list of sub-items. Important for LINQ style querying or just working with various lists. Note that for getting child items of this item you can just use the properties, like content.Authors. But using Children(\"Authors\", type: typeName) gives you the ability to restrict to a type. Please check the tutorials on 2sxc.org/dnn-tutorials/ for more info. IEnumerable Children(string field = null, NoParamOrder protector = default, string type = null, bool? required = null) where T : class, IDataModel, new() Parameters field string Name of the field protector NoParamOrder see Convention: Named Parameters type string Optional type filter - would only return items of this type. required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IEnumerable Type Parameters T Remarks New v17.05 Field(string, NoParamOrder, bool?) Get a special info-object describing a specific field in this item. This is a rich object used by other operations which need a lot of context about the item and the field. IField Field(string name, NoParamOrder noParamOrder = default, bool? required = null) Parameters name string Name of the property noParamOrder NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IField File(string, NoParamOrder, bool?) Get the file of the current field. There are a few scenarios: If it's a file/hyperlink field pointing to a file such as file:27 it will retrieve the file itself. If it's a file/hyperlink field pointing to a url such as http://xyz it will return null. If it's a library field, it will just take the first file, as there is no value referencing a specific field If it's any other field, will return null IFile File(string name, NoParamOrder noParamOrder = default, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IFile Remarks Added in 16.02 Folder(string, NoParamOrder, bool?) Get the ADAM (Automatic Digital Asset Manager) for this field. This is a folder which contains all the files and possibly folders which are uploaded on exactly this field. IFolder Folder(string name, NoParamOrder noParamOrder = default, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IFolder The Folder object Remarks Added in 16.02 Gps(string, NoParamOrder, bool?) Get the GPS coordinates of a GPS field as a typed object. GpsCoordinates Gps(string name, NoParamOrder protector = default, bool? required = null) Parameters name string Name of a field protector NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns GpsCoordinates Remarks New in v17.03 Html(string, NoParamOrder, object, bool?, object, bool?, bool, Func, ITweakInput>) Show a field in the expected / best possible way. As of now it's meant for WYSIWYG fields with Very-Rich Text. See DynamicEntity / TypedItem .Html(...) Method new v16.01 IHtmlTag Html(string name, NoParamOrder noParamOrder = default, object container = null, bool? toolbar = null, object imageSettings = null, bool? required = null, bool debug = false, Func, ITweakInput> tweak = null) Parameters name string the field name noParamOrder NoParamOrder see Convention: Named Parameters container object A wrapper tag for the result. It's either a RazorBlade tag such as Kit.HtmlTag.Div(), a string such as span or an empty string `` to indicate no container. If not set it will default to to a div-tag. See docs toolbar bool? Override default toolbar behavior on this field. See docs imageSettings object Settings for resizing. Default is Wysiwyg but it can also be Content or a settings object. required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks debug bool Activate debug visualization to better see alignments and such. tweak Func, ITweakInput> tweak behavior - ATM modify the input before it's processed new in v17 Returns IHtmlTag Remarks Added in 2sxc 16.01 Added tweak in v17 Only works on Razor files inheriting from Hybrid14 or newer Img(string, NoParamOrder, Func, object, object, object, string, string, string, object, object, object) Get a Responsive Picture object which you can then either just show, or use to construct a more customized output as you need it. The resulting object can just be added to the html, like @pic or you can work with sub-properties as specified in the IResponsivePicture. Important: This call only allows you to set the most common parameters factor and width. For other parameters like height, aspectRatio, quality etc. create typed Settings Settings(object, NoParamOrder, Func, object, object, object, object, string, string, string, object, string, object) and pass them in. Note This is the similar as using the Picture(object, object, NoParamOrder, Func, object, object, string, string, string, object, string, object, object, object) just a bit simpler. An important difference is that it returns null if the field does not exist or is empty, allowing you to just show nothing or use ...Picture(...) ?? someFallback; IResponsiveImage Img(string name, NoParamOrder noParamOrder = default, Func tweak = null, object settings = null, object factor = null, object width = null, string imgAlt = null, string imgAltFallback = null, string imgClass = null, object imgAttributes = null, object toolbar = null, object recipe = null) Parameters name string Name of a field noParamOrder NoParamOrder see Convention: Named Parameters tweak Func Tweak API to configure everything (new v18.03). This is recommended above using parameter names and all newer parameters will only be available on this. settings object The name of a settings configuration, like \"Content\", \"Screen\", \"Square\", etc. A standardized Image-Settings object like Settings.Child(\"Images.Content\") - see https://go.2sxc.org/settings A dynamic object containing settings properties (this can also be a merged custom + standard settings) A strictly typed IResizeSettings object containing all settings created using ResizeSettings factor object An optional multiplier, usually used to create urls which resize to a part of the default content-size. Like 0.5. width object An optional, fixed width of the image imgAlt string Optional alt attribute on the created img tag for SEO etc. If supplied, it takes precedence to the alt-description in the image metadata which the editor added themselves. If you want to provide a fallback value (in case the metadata has no alt), use imgAltFallback imgAltFallback string Optional alt attribute which is only used if the imgAlt or the alt-text in the metadata are empty. imgClass string Optional class attribute on the created img tag imgAttributes object Optional additional attributes - as anonymous object like new { style = \"padding: 10px\" } or Dictionary (new 16.07) toolbar object Provide a custom toolbar or false to not show a toolbar recipe object Optional recipe = instructions how to create the various variants of this link. Can be any one of these: string containing variants Rule object TODO: DOCS not quite ready Returns IResponsiveImage A IResponsivePicture object which can be rendered directly. See Responsive Images API in .net If the field does not exist, it will return null If the field exists, but is empty, it will return null Remarks Added to ITypedItem in v17.04 (previously only Picture was available) tweak added in 18.03 Parent(NoParamOrder, bool?, string, string) Get either the current parent or the first parent which would be found on .Parents(...). ITypedItem Parent(NoParamOrder noParamOrder = default, bool? current = null, string type = null, string field = null) Parameters noParamOrder NoParamOrder see Convention: Named Parameters current bool? if set to true, will get the Item which created the current item (the parent) which called .Child(...) or .Children(...) type string Optional type filter - would only return items of this type. field string Optional field filter - would only return items that point to the current item in a specific field name. Returns ITypedItem either the current parent or the first parent returned by the same .Parents(...) call. Parent(NoParamOrder, bool?, string, string) Get either the current parent or the first parent which would be found on .Parents(...) as strongly typed. T Parent(NoParamOrder protector = default, bool? current = null, string type = null, string field = null) where T : class, IDataModel, new() Parameters protector NoParamOrder see Convention: Named Parameters current bool? if set to true, will get the Item which created the current item (the parent) which called .Child(...) or .Children(...) type string Optional type filter - would only return items of this type. field string Optional field filter - would only return items that point to the current item in a specific field name. Returns T either the current parent or the first parent returned by the same .Parents(...) call. Type Parameters T Remarks New v17.06 Parents(NoParamOrder, string, string) A typed list of entities which point to this item. Important for LINQ style querying or just working with various lists. Note that for getting child items of this item you can just use the properties, like content.Authors. Please check the tutorials on 2sxc.org/dnn-tutorials/ for more info. IEnumerable Parents(NoParamOrder noParamOrder = default, string type = null, string field = null) Parameters noParamOrder NoParamOrder see Convention: Named Parameters type string Optional type filter - would only return items of this type. field string Optional field filter - would only return items that point to the current item in a specific field name. Returns IEnumerable A list of all items pointing here (filtered), converted to DynamicEntity for convenience. Remarks Note that the parameter-order is reversed to the Children() Parents(NoParamOrder, string, string) A typed list of entities which point to this item. Important for LINQ style querying or just working with various lists. Note that for getting child items of this item you can just use the properties, like content.Authors. Please check the tutorials on 2sxc.org/dnn-tutorials/ for more info. IEnumerable Parents(NoParamOrder protector = default, string type = null, string field = null) where T : class, IDataModel, new() Parameters protector NoParamOrder see Convention: Named Parameters type string Optional type filter - would only return items of this type. If not specified (null) will use the name of T. field string Optional field filter - would only return items that point to the current item in a specific field name. Returns IEnumerable A list of all items pointing here (filtered), converted to DynamicEntity for convenience. Type Parameters T Remarks Note that the parameter-order is reversed to the Children() Picture(string, NoParamOrder, Func, object, object, object, string, string, string, object, string, object, object, object) Get a Responsive Picture object which you can then either just show, or use to construct a more customized output as you need it. The resulting object can just be added to the html, like @pic or you can work with sub-properties as specified in the IResponsivePicture. Important: This call only allows you to set the most common parameters factor and width. For other parameters like height, aspectRatio, quality etc. create typed Settings Settings(object, NoParamOrder, Func, object, object, object, object, string, string, string, object, string, object) and pass them in. Note This is the similar as using the Picture(object, object, NoParamOrder, Func, object, object, string, string, string, object, string, object, object, object) just a bit simpler. An important difference is that it returns null if the field does not exist or is empty, allowing you to just show nothing or use ...Picture(...) ?? someFallback; IResponsivePicture Picture(string name, NoParamOrder noParamOrder = default, Func tweak = null, object settings = null, object factor = null, object width = null, string imgAlt = null, string imgAltFallback = null, string imgClass = null, object imgAttributes = null, string pictureClass = null, object pictureAttributes = null, object toolbar = null, object recipe = null) Parameters name string Name of a field noParamOrder NoParamOrder see Convention: Named Parameters tweak Func Tweak API to configure everything (new v18.03). This is recommended above using parameter names and all newer parameters will only be available on this. settings object The name of a settings configuration, like \"Content\", \"Screen\", \"Square\", etc. A standardized Image-Settings object like Settings.Child(\"Images.Content\") - see https://go.2sxc.org/settings A dynamic object containing settings properties (this can also be a merged custom + standard settings) A strictly typed IResizeSettings object containing all settings created using ResizeSettings factor object An optional multiplier, usually used to create urls which resize to a part of the default content-size. Like 0.5. width object An optional, fixed width of the image imgAlt string Optional alt attribute on the created img tag for SEO etc. If supplied, it takes precedence to the alt-description in the image metadata which the editor added themselves. If you want to provide a fallback value (in case the metadata has no alt), use imgAltFallback imgAltFallback string Optional alt attribute which is only used if the imgAlt or the alt-text in the metadata are empty. imgClass string Optional class attribute on the created img tag imgAttributes object Optional additional attributes - as anonymous object like new { style = \"padding: 10px\" } or Dictionary (new 16.07) pictureClass string Optional class attribute on the created picture tag pictureAttributes object Optional additional attributes - as anonymous object like new { style = \"padding: 10px\" } or Dictionary (new 16.07) toolbar object Provide a custom toolbar or false to not show a toolbar recipe object Optional recipe = instructions how to create the various variants of this link. Can be any one of these: string containing variants Rule object TODO: DOCS not quite ready Returns IResponsivePicture A IResponsivePicture object which can be rendered directly. See Responsive Images API in .net If the field does not exist, it will return null If the field exists, but is empty, it will return null Remarks Added to ITypedItem in v16.03 imgAttributes, picClass and picAttributes added in 16.07 tweak added in 18.03" + "keywords": "Interface ITypedItem Namespace ToSic.Sxc.Data Assembly ToSic.Sxc.dll A typed item to access IEntity data in a strongly typed way. [PublicApi] [JsonConverter(typeof(DynamicJsonConverter))] public interface ITypedItem : ITyped, IEquatable Inherited Members ITyped.Bool(string, NoParamOrder, bool, bool?) ITyped.DateTime(string, NoParamOrder, DateTime, bool?) ITyped.String(string, NoParamOrder, string, bool?, object) ITyped.Int(string, NoParamOrder, int, bool?) ITyped.Long(string, NoParamOrder, long, bool?) ITyped.Float(string, NoParamOrder, float, bool?) ITyped.Decimal(string, NoParamOrder, decimal, bool?) ITyped.Double(string, NoParamOrder, double, bool?) ITyped.Url(string, NoParamOrder, string, bool?) ITyped.Attribute(string, NoParamOrder, string, bool?) ITyped.ContainsKey(string) ITyped.IsEmpty(string, NoParamOrder, string) ITyped.IsNotEmpty(string, NoParamOrder, string) ITyped.Keys(NoParamOrder, IEnumerable) ITyped.Get(string, NoParamOrder, bool?, string) ITyped.Get(string, NoParamOrder, TValue, bool?, string) IEquatable.Equals(ITypedItem) Remarks Previously Razor code always used dynamic IDynamicEntity objects. This had some disadvantages when working with LINQ or advanced toolbars. History: Introduced in 2sxc 16.01 Properties Dyn A dynamic accessor for properties, to quickly get values when you don't care about type safety. This is often (but not always) a IDynamicEntity. Example: Dyn.FirstName might just work - and return the first name or null if not found. [InternalApi_DoNotUse_MayChangeWithoutNotice(\"This should be avoided\")] [JsonIgnore] dynamic Dyn { get; } Property Value dynamic Guid The guid of the underlying entity. Guid Guid { get; } Property Value Guid Remarks If the entity doesn't exist, it will return an empty guid Id The ID of the underlying entity. Use it for edit-functionality or just to have a unique number for this item. int Id { get; } Property Value int Remarks If the entity doesn't exist, it will return 0 IsDemoItem Many templates show demo data. If the template code must know if it's the demo item or real data, use .IsDemoItem. bool IsDemoItem { get; } Property Value bool True if this is the item configured in the view-settings, false if not. IsPublished True if this item version is published. This means that the item can exist as published, or published-with-draft, showing the published version. Note that by default, end-users only see the published version and don't see any draft version. bool IsPublished { get; } Property Value bool Remarks New in v17, see also Publishing Metadata Metadata of the current item, with special features. [JsonIgnore] IMetadata Metadata { get; } Property Value IMetadata Remarks Added in 16.02 Presentation The presentation item or null if it doesn't exist. [JsonIgnore] ITypedItem Presentation { get; } Property Value ITypedItem Publishing IPublishing Publishing { get; } Property Value IPublishing Title The title of this item. This is always available no matter what the underlying field for the title is. string Title { get; } Property Value string The title of the underlying entity. In rare cases where no title-field is known, it can be null. It can also be null if there is no underlying entity. Remarks This returns a string which is usually what's expected. In previous versions (before v15) 2sxc it returned an object. Type The Content-Type of the current entity. IContentType Type { get; } Property Value IContentType Methods Child(string, NoParamOrder, bool?) A single item from a field. ITypedItem Child(string name, NoParamOrder noParamOrder = default, bool? required = null) Parameters name string Name of the field noParamOrder NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns ITypedItem The ITypedItem. If the field doesn't exist or is empty, will return null. Child(string, NoParamOrder, bool?) Get a child and return with specified custom type. T Child(string name = null, NoParamOrder protector = default, bool? required = null) where T : class, ICanWrapData, new() Parameters name string Name of the field protector NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns T Type Parameters T Remarks New v17.05 Children(string, NoParamOrder, string, bool?) A typed list of sub-items. Important for LINQ style querying or just working with various lists. Note that for getting child items of this item you can just use the properties, like content.Authors. But using Children(\"Authors\", type: typeName) gives you the ability to restrict to a type. Please check the tutorials on 2sxc.org/dnn-tutorials/ for more info. IEnumerable Children(string field = null, NoParamOrder noParamOrder = default, string type = null, bool? required = null) Parameters field string Optional field filter - would only return items that point to the current item in a specific field name. noParamOrder NoParamOrder see Convention: Named Parameters type string Optional type filter - would only return items of this type. required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IEnumerable A list of all items pointing here (filtered), converted to DynamicEntity for convenience. Remarks Note that the parameter-order is reversed to the Parents() Children(string, NoParamOrder, string, bool?) A strongly typed list of sub-items. Important for LINQ style querying or just working with various lists. Note that for getting child items of this item you can just use the properties, like content.Authors. But using Children(\"Authors\", type: typeName) gives you the ability to restrict to a type. Please check the tutorials on 2sxc.org/dnn-tutorials/ for more info. IEnumerable Children(string field = null, NoParamOrder protector = default, string type = null, bool? required = null) where T : class, ICanWrapData, new() Parameters field string Name of the field protector NoParamOrder see Convention: Named Parameters type string Optional type filter - would only return items of this type. required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IEnumerable Type Parameters T Remarks New v17.05 Field(string, NoParamOrder, bool?) Get a special info-object describing a specific field in this item. This is a rich object used by other operations which need a lot of context about the item and the field. IField Field(string name, NoParamOrder noParamOrder = default, bool? required = null) Parameters name string Name of the property noParamOrder NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IField File(string, NoParamOrder, bool?) Get the file of the current field. There are a few scenarios: If it's a file/hyperlink field pointing to a file such as file:27 it will retrieve the file itself. If it's a file/hyperlink field pointing to a url such as http://xyz it will return null. If it's a library field, it will just take the first file, as there is no value referencing a specific field If it's any other field, will return null IFile File(string name, NoParamOrder noParamOrder = default, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IFile Remarks Added in 16.02 Folder(string, NoParamOrder, bool?) Get the ADAM (Automatic Digital Asset Manager) for this field. This is a folder which contains all the files and possibly folders which are uploaded on exactly this field. IFolder Folder(string name, NoParamOrder noParamOrder = default, bool? required = null) Parameters name string property name noParamOrder NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns IFolder The Folder object Remarks Added in 16.02 Gps(string, NoParamOrder, bool?) Get the GPS coordinates of a GPS field as a typed object. GpsCoordinates Gps(string name, NoParamOrder protector = default, bool? required = null) Parameters name string Name of a field protector NoParamOrder see Convention: Named Parameters required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks Returns GpsCoordinates Remarks New in v17.03 Html(string, NoParamOrder, object, bool?, object, bool?, bool, Func, ITweakInput>) Show a field in the expected / best possible way. As of now it's meant for WYSIWYG fields with Very-Rich Text. See DynamicEntity / TypedItem .Html(...) Method new v16.01 IHtmlTag Html(string name, NoParamOrder noParamOrder = default, object container = null, bool? toolbar = null, object imageSettings = null, bool? required = null, bool debug = false, Func, ITweakInput> tweak = null) Parameters name string the field name noParamOrder NoParamOrder see Convention: Named Parameters container object A wrapper tag for the result. It's either a RazorBlade tag such as Kit.HtmlTag.Div(), a string such as span or an empty string `` to indicate no container. If not set it will default to to a div-tag. See docs toolbar bool? Override default toolbar behavior on this field. See docs imageSettings object Settings for resizing. Default is Wysiwyg but it can also be Content or a settings object. required bool? throw error if name doesn't exist, see Convention: Property Required Name Checks debug bool Activate debug visualization to better see alignments and such. tweak Func, ITweakInput> tweak behavior - ATM modify the input before it's processed new in v17 Returns IHtmlTag Remarks Added in 2sxc 16.01 Added tweak in v17 Only works on Razor files inheriting from Hybrid14 or newer Img(string, NoParamOrder, Func, object, object, object, string, string, string, object, object, object) Get a Responsive Picture object which you can then either just show, or use to construct a more customized output as you need it. The resulting object can just be added to the html, like @pic or you can work with sub-properties as specified in the IResponsivePicture. Important: This call only allows you to set the most common parameters factor and width. For other parameters like height, aspectRatio, quality etc. create typed Settings Settings(object, NoParamOrder, Func, object, object, object, object, string, string, string, object, string, object) and pass them in. Note This is the similar as using the Picture(object, object, NoParamOrder, Func, object, object, string, string, string, object, string, object, object, object) just a bit simpler. An important difference is that it returns null if the field does not exist or is empty, allowing you to just show nothing or use ...Picture(...) ?? someFallback; IResponsiveImage Img(string name, NoParamOrder noParamOrder = default, Func tweak = null, object settings = null, object factor = null, object width = null, string imgAlt = null, string imgAltFallback = null, string imgClass = null, object imgAttributes = null, object toolbar = null, object recipe = null) Parameters name string Name of a field noParamOrder NoParamOrder see Convention: Named Parameters tweak Func Tweak API to configure everything (new v18.03). This is recommended above using parameter names and all newer parameters will only be available on this. settings object The name of a settings configuration, like \"Content\", \"Screen\", \"Square\", etc. A standardized Image-Settings object like Settings.Child(\"Images.Content\") - see https://go.2sxc.org/settings A dynamic object containing settings properties (this can also be a merged custom + standard settings) A strictly typed IResizeSettings object containing all settings created using ResizeSettings factor object An optional multiplier, usually used to create urls which resize to a part of the default content-size. Like 0.5. width object An optional, fixed width of the image imgAlt string Optional alt attribute on the created img tag for SEO etc. If supplied, it takes precedence to the alt-description in the image metadata which the editor added themselves. If you want to provide a fallback value (in case the metadata has no alt), use imgAltFallback imgAltFallback string Optional alt attribute which is only used if the imgAlt or the alt-text in the metadata are empty. imgClass string Optional class attribute on the created img tag imgAttributes object Optional additional attributes - as anonymous object like new { style = \"padding: 10px\" } or Dictionary (new 16.07) toolbar object Provide a custom toolbar or false to not show a toolbar recipe object Optional recipe = instructions how to create the various variants of this link. Can be any one of these: string containing variants Rule object TODO: DOCS not quite ready Returns IResponsiveImage A IResponsivePicture object which can be rendered directly. See Responsive Images API in .net If the field does not exist, it will return null If the field exists, but is empty, it will return null Remarks Added to ITypedItem in v17.04 (previously only Picture was available) tweak added in 18.03 Parent(NoParamOrder, bool?, string, string) Get either the current parent or the first parent which would be found on .Parents(...). ITypedItem Parent(NoParamOrder noParamOrder = default, bool? current = null, string type = null, string field = null) Parameters noParamOrder NoParamOrder see Convention: Named Parameters current bool? if set to true, will get the Item which created the current item (the parent) which called .Child(...) or .Children(...) type string Optional type filter - would only return items of this type. field string Optional field filter - would only return items that point to the current item in a specific field name. Returns ITypedItem either the current parent or the first parent returned by the same .Parents(...) call. Parent(NoParamOrder, bool?, string, string) Get either the current parent or the first parent which would be found on .Parents(...) as strongly typed. T Parent(NoParamOrder protector = default, bool? current = null, string type = null, string field = null) where T : class, ICanWrapData, new() Parameters protector NoParamOrder see Convention: Named Parameters current bool? if set to true, will get the Item which created the current item (the parent) which called .Child(...) or .Children(...) type string Optional type filter - would only return items of this type. field string Optional field filter - would only return items that point to the current item in a specific field name. Returns T either the current parent or the first parent returned by the same .Parents(...) call. Type Parameters T Remarks New v17.06 Parents(NoParamOrder, string, string) A typed list of entities which point to this item. Important for LINQ style querying or just working with various lists. Note that for getting child items of this item you can just use the properties, like content.Authors. Please check the tutorials on 2sxc.org/dnn-tutorials/ for more info. IEnumerable Parents(NoParamOrder noParamOrder = default, string type = null, string field = null) Parameters noParamOrder NoParamOrder see Convention: Named Parameters type string Optional type filter - would only return items of this type. field string Optional field filter - would only return items that point to the current item in a specific field name. Returns IEnumerable A list of all items pointing here (filtered), converted to DynamicEntity for convenience. Remarks Note that the parameter-order is reversed to the Children() Parents(NoParamOrder, string, string) A typed list of entities which point to this item. Important for LINQ style querying or just working with various lists. Note that for getting child items of this item you can just use the properties, like content.Authors. Please check the tutorials on 2sxc.org/dnn-tutorials/ for more info. IEnumerable Parents(NoParamOrder protector = default, string type = null, string field = null) where T : class, ICanWrapData, new() Parameters protector NoParamOrder see Convention: Named Parameters type string Optional type filter - would only return items of this type. If not specified (null) will use the name of T. field string Optional field filter - would only return items that point to the current item in a specific field name. Returns IEnumerable A list of all items pointing here (filtered), converted to DynamicEntity for convenience. Type Parameters T Remarks Note that the parameter-order is reversed to the Children() Picture(string, NoParamOrder, Func, object, object, object, string, string, string, object, string, object, object, object) Get a Responsive Picture object which you can then either just show, or use to construct a more customized output as you need it. The resulting object can just be added to the html, like @pic or you can work with sub-properties as specified in the IResponsivePicture. Important: This call only allows you to set the most common parameters factor and width. For other parameters like height, aspectRatio, quality etc. create typed Settings Settings(object, NoParamOrder, Func, object, object, object, object, string, string, string, object, string, object) and pass them in. Note This is the similar as using the Picture(object, object, NoParamOrder, Func, object, object, string, string, string, object, string, object, object, object) just a bit simpler. An important difference is that it returns null if the field does not exist or is empty, allowing you to just show nothing or use ...Picture(...) ?? someFallback; IResponsivePicture Picture(string name, NoParamOrder noParamOrder = default, Func tweak = null, object settings = null, object factor = null, object width = null, string imgAlt = null, string imgAltFallback = null, string imgClass = null, object imgAttributes = null, string pictureClass = null, object pictureAttributes = null, object toolbar = null, object recipe = null) Parameters name string Name of a field noParamOrder NoParamOrder see Convention: Named Parameters tweak Func Tweak API to configure everything (new v18.03). This is recommended above using parameter names and all newer parameters will only be available on this. settings object The name of a settings configuration, like \"Content\", \"Screen\", \"Square\", etc. A standardized Image-Settings object like Settings.Child(\"Images.Content\") - see https://go.2sxc.org/settings A dynamic object containing settings properties (this can also be a merged custom + standard settings) A strictly typed IResizeSettings object containing all settings created using ResizeSettings factor object An optional multiplier, usually used to create urls which resize to a part of the default content-size. Like 0.5. width object An optional, fixed width of the image imgAlt string Optional alt attribute on the created img tag for SEO etc. If supplied, it takes precedence to the alt-description in the image metadata which the editor added themselves. If you want to provide a fallback value (in case the metadata has no alt), use imgAltFallback imgAltFallback string Optional alt attribute which is only used if the imgAlt or the alt-text in the metadata are empty. imgClass string Optional class attribute on the created img tag imgAttributes object Optional additional attributes - as anonymous object like new { style = \"padding: 10px\" } or Dictionary (new 16.07) pictureClass string Optional class attribute on the created picture tag pictureAttributes object Optional additional attributes - as anonymous object like new { style = \"padding: 10px\" } or Dictionary (new 16.07) toolbar object Provide a custom toolbar or false to not show a toolbar recipe object Optional recipe = instructions how to create the various variants of this link. Can be any one of these: string containing variants Rule object TODO: DOCS not quite ready Returns IResponsivePicture A IResponsivePicture object which can be rendered directly. See Responsive Images API in .net If the field does not exist, it will return null If the field exists, but is empty, it will return null Remarks Added to ITypedItem in v16.03 imgAttributes, picClass and picAttributes added in 16.07 tweak added in 18.03" }, "api/dot-net/ToSic.Sxc.Data.ITypedItemWrapper.html": { "href": "api/dot-net/ToSic.Sxc.Data.ITypedItemWrapper.html", @@ -2407,22 +2427,22 @@ "api/dot-net/ToSic.Sxc.Data.Model.DataModel.html": { "href": "api/dot-net/ToSic.Sxc.Data.Model.DataModel.html", "title": "Class DataModel | 2sxc 19 for Dnn and Oqtane", - "keywords": "Class DataModel Namespace ToSic.Sxc.Data.Model Assembly ToSic.Sxc.dll Base class for plain custom data models and can be used in Razor Components. It wraps a IEntity and provides a simple way to access the data. [InternalApi_DoNotUse_MayChangeWithoutNotice(\"Still beta, name may change to DataModelWithEntity or something\")] public abstract class DataModel : IDataModelOf, IDataModel, IEquatable Inheritance object DataModel Implements IDataModelOf IDataModel IEquatable Examples Usage ca. like this: A custom data model in AppCode.Data which inherits from this class (usually generated by 2sxc Copilot) Razor code which uses it to convert typed items into this custom data model Example trivial custom plain data model: namespace AppCode.Data { class MyPerson : DataModel { public string Name => _entity.Get (\"Name\"); } } Example usage in Razor: @inherits Custom.Hybrid.RazorTyped @using AppCode.Data @{ var person = As(MyItem); } @person.Name Remarks This is much lighter than the CustomItem which also wraps data, as it doesn't have any predefined properties and doesn't have the ITypedItem APIs. History Released in v19.01 (BETA) Properties _entity The underlying entity - for inheriting classes to access. protected IEntity _entity { get; } Property Value IEntity Remarks this property is protected, not public, as it should only be used internally. this also prevents it from being serialized in JSON, which is good. it uses an unusual name _entity to avoid naming conflicts with properties generated in inheriting classes. Methods AsList(object, NoParamOrder, bool) Convert a list of Entities or TypedItems into a strongly typed list. Typically, the type will be from your AppCode.Data. protected IEnumerable AsList(object source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, IDataModel Parameters source object protector NoParamOrder nullIfNull bool Returns IEnumerable Type Parameters T As(object) Convert an Entity or TypedItem into a strongly typed object. Typically, the type will be from your AppCode.Data. protected T As(object item) where T : class, IDataModel, new() Parameters item object Returns T Type Parameters T Equals(object) Ensure that the equality check is done correctly. If two objects wrap the same item, they will be considered equal. public override bool Equals(object b) Parameters b object Returns bool ToString() Override ToString to give more information about the current object public override string ToString() Returns string Operators operator ==(DataModel, DataModel) Ensure that the equality check is done correctly. If two objects wrap the same item, they will be considered equal. public static bool operator ==(DataModel item1, DataModel item2) Parameters item1 DataModel first item to compare item2 DataModel second item to compare Returns bool true, if both wrappers are the same type and wrap the same entity operator !=(DataModel, DataModel) Ensure that the equality check is done correctly. If two objects wrap the same item, they will be considered equal. public static bool operator !=(DataModel item1, DataModel item2) Parameters item1 DataModel first item to compare item2 DataModel second item to compare Returns bool false, if both wrappers are the same type and wrap the same entity" + "keywords": "Class DataModel Namespace ToSic.Sxc.Data.Model Assembly ToSic.Sxc.dll BETA / WIP: Base class for plain custom data models and can be used in Razor Components. It wraps a IEntity and provides a simple way to access the data. [InternalApi_DoNotUse_MayChangeWithoutNotice(\"Still beta, name may change to CustomModelOfItem or something\")] public abstract class DataModel : ICanWrap, ICanWrapData, IEquatable Inheritance object DataModel Implements ICanWrap ICanWrapData IEquatable Examples Usage ca. like this: A custom data model in AppCode.Data which inherits from this class (usually generated by 2sxc Copilot) Razor code which uses it to convert typed items into this custom data model Example trivial custom plain data model: namespace AppCode.Data { class MyPerson : DataModel { public string Name => _entity.Get (\"Name\"); } } Example usage in Razor: @inherits Custom.Hybrid.RazorTyped @using AppCode.Data @{ var person = As(MyItem); } @person.Name Remarks This is much lighter than the CustomItem which also wraps data, as it doesn't have any predefined properties and doesn't have the ITypedItem APIs. History Released in v19.01 (BETA) Properties _entity The underlying entity - for inheriting classes to access. protected IEntity _entity { get; } Property Value IEntity Remarks this property is protected, not public, as it should only be used internally. this also prevents it from being serialized in JSON, which is good. it uses an unusual name _entity to avoid naming conflicts with properties generated in inheriting classes. Methods AsList(object, NoParamOrder, bool) Convert a list of Entities or TypedItems into a strongly typed list. Typically, the type will be from your AppCode.Data. protected IEnumerable AsList(object source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, ICanWrapData Parameters source object protector NoParamOrder nullIfNull bool Returns IEnumerable Type Parameters T As(object) Convert an Entity or TypedItem into a strongly typed object. Typically, the type will be from your AppCode.Data. protected T As(object item) where T : class, ICanWrapData Parameters item object Returns T Type Parameters T Equals(object) Ensure that the equality check is done correctly. If two objects wrap the same item, they will be considered equal. public override bool Equals(object b) Parameters b object Returns bool ToString() Override ToString to give more information about the current object public override string ToString() Returns string Operators operator ==(DataModel, DataModel) Ensure that the equality check is done correctly. If two objects wrap the same item, they will be considered equal. public static bool operator ==(DataModel item1, DataModel item2) Parameters item1 DataModel first item to compare item2 DataModel second item to compare Returns bool true, if both wrappers are the same type and wrap the same entity operator !=(DataModel, DataModel) Ensure that the equality check is done correctly. If two objects wrap the same item, they will be considered equal. public static bool operator !=(DataModel item1, DataModel item2) Parameters item1 DataModel first item to compare item2 DataModel second item to compare Returns bool false, if both wrappers are the same type and wrap the same entity" }, "api/dot-net/ToSic.Sxc.Data.Model.DataModelAttribute.html": { "href": "api/dot-net/ToSic.Sxc.Data.Model.DataModelAttribute.html", "title": "Class DataModelAttribute | 2sxc 19 for Dnn and Oqtane", - "keywords": "Class DataModelAttribute Namespace ToSic.Sxc.Data.Model Assembly ToSic.Sxc.dll Mark DataModel objects/interfaces and specify what ContentType they are for. [InternalApi_DoNotUse_MayChangeWithoutNotice(\"may change or rename at any time\")] public class DataModelAttribute : Attribute Inheritance object Attribute DataModelAttribute Remarks Typical use is for custom data such as classes inheriting from CustomItem which takes an entity and then provides a strongly typed wrapper around it. History: New / WIP in v19.01 Fields ForAnyContentType public const string ForAnyContentType = \"*\" Field Value string Properties ForContentTypes Determines which content-type names are expected when converting to this data model. public string ForContentTypes { get; init; } Property Value string Remarks Usually this is checked when converting Entities to the custom data model. If it doesn't match, will then throw an error. Typically just one value, such as \"Article\" or \"Product\". But it will also support \"*\" for anything, or a comma-separated list of content-type names. History: WIP 19.01 Remarks Just custom remarks, no technical functionality. public string Remarks { get; init; } Property Value string StreamNames public string StreamNames { get; init; } Property Value string" + "keywords": "Class DataModelAttribute Namespace ToSic.Sxc.Data.Model Assembly ToSic.Sxc.dll BETA / WIP: Mark DataModel objects/interfaces and specify what ContentType they are for. [InternalApi_DoNotUse_MayChangeWithoutNotice(\"may change or rename at any time\")] public class DataModelAttribute : Attribute Inheritance object Attribute DataModelAttribute Remarks Typical use is for custom data such as classes inheriting from CustomItem which takes an entity and then provides a strongly typed wrapper around it. History: New / WIP in v19.01 Fields ForAnyContentType public const string ForAnyContentType = \"*\" Field Value string Properties ForContentTypes Determines which content-type names are expected when converting to this data model. public string ForContentTypes { get; init; } Property Value string Remarks Usually this is checked when converting Entities to the custom data model. If it doesn't match, will then throw an error. Typically just one value, such as \"Article\" or \"Product\". But it will also support \"*\" for anything, or a comma-separated list of content-type names. History: WIP 19.01 Remarks Just custom remarks, no technical functionality. public string Remarks { get; init; } Property Value string StreamNames public string StreamNames { get; init; } Property Value string" }, "api/dot-net/ToSic.Sxc.Data.Model.DataModelConversion.html": { "href": "api/dot-net/ToSic.Sxc.Data.Model.DataModelConversion.html", "title": "Class DataModelConversion | 2sxc 19 for Dnn and Oqtane", - "keywords": "Class DataModelConversion Namespace ToSic.Sxc.Data.Model Assembly ToSic.Sxc.dll Attribute to decorate interfaces which should be used to retrieve a data model. [AttributeUsage(AttributeTargets.Class|AttributeTargets.Interface, AllowMultiple = false)] [InternalApi_DoNotUse_MayChangeWithoutNotice] public class DataModelConversion : Attribute Inheritance object Attribute DataModelConversion Remarks It's primary property is the Map, which is an array of types that should be used to map the data model to. Properties Map public Type[] Map { get; init; } Property Value Type[]" + "keywords": "Class DataModelConversion Namespace ToSic.Sxc.Data.Model Assembly ToSic.Sxc.dll BETA / WIP: Attribute to decorate interfaces which should be used to retrieve a data model. [AttributeUsage(AttributeTargets.Class|AttributeTargets.Interface, AllowMultiple = false)] [InternalApi_DoNotUse_MayChangeWithoutNotice] public class DataModelConversion : Attribute Inheritance object Attribute DataModelConversion Remarks It's primary property is the Map, which is an array of types that should be used to map the data model to. Properties Map public Type[] Map { get; init; } Property Value Type[]" }, "api/dot-net/ToSic.Sxc.Data.Model.DataModelOfItem.html": { "href": "api/dot-net/ToSic.Sxc.Data.Model.DataModelOfItem.html", "title": "Class DataModelOfItem | 2sxc 19 for Dnn and Oqtane", - "keywords": "Class DataModelOfItem Namespace ToSic.Sxc.Data.Model Assembly ToSic.Sxc.dll Base class for plain custom data models and can be used in Razor Components. It wraps a ITypedItem and provides a simple way to access the data. [InternalApi_DoNotUse_MayChangeWithoutNotice(\"Still beta, name may change to DataModelWithItem or something\")] public abstract class DataModelOfItem : IDataModelOf, IDataModel, IEquatable Inheritance object DataModelOfItem Implements IDataModelOf IDataModel IEquatable Examples Usage ca. like this: A custom data model in AppCode.Data which inherits from this class (usually generated by 2sxc Copilot) Razor code which uses it to convert typed items into this custom data model Example trivial custom plain data model: namespace AppCode.Data { class MyPerson : DataModelOfItem { public string Name => _item.String(\"Name\"); } } Example usage in Razor: @inherits Custom.Hybrid.RazorTyped @using AppCode.Data @{ var person = As(MyItem); } @person.Name Remarks This is much lighter than the CustomItem which also wraps data, as it doesn't have any predefined properties and doesn't have the ITypedItem APIs. History Released in v19.01 (BETA) Properties _item The underlying item - for inheriting classes to access. protected ITypedItem _item { get; } Property Value ITypedItem Remarks this property is protected, not public, as it should only be used internally. this also prevents it from being serialized in JSON, which is good. it uses an unusual name _item to avoid naming conflicts with properties generated in inheriting classes. Methods AsList(object, NoParamOrder, bool) Convert a list of Entities or TypedItems into a strongly typed list. Typically, the type will be from your AppCode.Data. protected IEnumerable AsList(object source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, IDataModel Parameters source object protector NoParamOrder nullIfNull bool Returns IEnumerable Type Parameters T As(object) Convert an Entity or TypedItem into a strongly typed object. Typically, the type will be from your AppCode.Data. protected T As(object item) where T : class, IDataModel, new() Parameters item object Returns T Type Parameters T Equals(object) Ensure that the equality check is done correctly. If two objects wrap the same item, they will be considered equal. public override bool Equals(object b) Parameters b object Returns bool ToString() Override ToString to give more information about the current object public override string ToString() Returns string Operators operator ==(DataModelOfItem, DataModelOfItem) Ensure that the equality check is done correctly. If two objects wrap the same item, they will be considered equal. public static bool operator ==(DataModelOfItem item1, DataModelOfItem item2) Parameters item1 DataModelOfItem first item to compare item2 DataModelOfItem second item to compare Returns bool true, if both wrappers are the same type and wrap the same entity operator !=(DataModelOfItem, DataModelOfItem) Ensure that the equality check is done correctly. If two objects wrap the same item, they will be considered equal. public static bool operator !=(DataModelOfItem item1, DataModelOfItem item2) Parameters item1 DataModelOfItem first item to compare item2 DataModelOfItem second item to compare Returns bool false, if both wrappers are the same type and wrap the same entity" + "keywords": "Class DataModelOfItem Namespace ToSic.Sxc.Data.Model Assembly ToSic.Sxc.dll BETA / WIP: Base class for plain custom data models and can be used in Razor Components. It wraps a ITypedItem and provides a simple way to access the data. [InternalApi_DoNotUse_MayChangeWithoutNotice(\"Still beta, name may change to DataModelWithItem or something\")] public abstract class DataModelOfItem : ICanWrap, ICanWrapData, IEquatable Inheritance object DataModelOfItem Implements ICanWrap ICanWrapData IEquatable Examples Usage ca. like this: A custom data model in AppCode.Data which inherits from this class (usually generated by 2sxc Copilot) Razor code which uses it to convert typed items into this custom data model Example trivial custom plain data model: namespace AppCode.Data { class MyPerson : DataModelOfItem { public string Name => _item.String(\"Name\"); } } Example usage in Razor: @inherits Custom.Hybrid.RazorTyped @using AppCode.Data @{ var person = As(MyItem); } @person.Name Remarks This is much lighter than the CustomItem which also wraps data, as it doesn't have any predefined properties and doesn't have the ITypedItem APIs. History Released in v19.01 (BETA) Properties _item The underlying item - for inheriting classes to access. protected ITypedItem _item { get; } Property Value ITypedItem Remarks this property is protected, not public, as it should only be used internally. this also prevents it from being serialized in JSON, which is good. it uses an unusual name _item to avoid naming conflicts with properties generated in inheriting classes. Methods AsList(object, NoParamOrder, bool) Convert a list of Entities or TypedItems into a strongly typed list. Typically, the type will be from your AppCode.Data. protected IEnumerable AsList(object source, NoParamOrder protector = default, bool nullIfNull = false) where T : class, ICanWrapData Parameters source object protector NoParamOrder nullIfNull bool Returns IEnumerable Type Parameters T As(object) Convert an Entity or TypedItem into a strongly typed object. Typically, the type will be from your AppCode.Data. protected T As(object item) where T : class, ICanWrapData Parameters item object Returns T Type Parameters T Equals(object) Ensure that the equality check is done correctly. If two objects wrap the same item, they will be considered equal. public override bool Equals(object b) Parameters b object Returns bool ToString() Override ToString to give more information about the current object public override string ToString() Returns string Operators operator ==(DataModelOfItem, DataModelOfItem) Ensure that the equality check is done correctly. If two objects wrap the same item, they will be considered equal. public static bool operator ==(DataModelOfItem item1, DataModelOfItem item2) Parameters item1 DataModelOfItem first item to compare item2 DataModelOfItem second item to compare Returns bool true, if both wrappers are the same type and wrap the same entity operator !=(DataModelOfItem, DataModelOfItem) Ensure that the equality check is done correctly. If two objects wrap the same item, they will be considered equal. public static bool operator !=(DataModelOfItem item1, DataModelOfItem item2) Parameters item1 DataModelOfItem first item to compare item2 DataModelOfItem second item to compare Returns bool false, if both wrappers are the same type and wrap the same entity" }, "api/dot-net/ToSic.Sxc.Data.Model.IDataModel.html": { "href": "api/dot-net/ToSic.Sxc.Data.Model.IDataModel.html", @@ -2437,7 +2457,7 @@ "api/dot-net/ToSic.Sxc.Data.Model.html": { "href": "api/dot-net/ToSic.Sxc.Data.Model.html", "title": "Namespace ToSic.Sxc.Data.Model | 2sxc 19 for Dnn and Oqtane", - "keywords": "Namespace ToSic.Sxc.Data.Model Classes DataModel Base class for plain custom data models and can be used in Razor Components. It wraps a IEntity and provides a simple way to access the data. DataModelAttribute Mark DataModel objects/interfaces and specify what ContentType they are for. DataModelConversion Attribute to decorate interfaces which should be used to retrieve a data model. DataModelOfItem Base class for plain custom data models and can be used in Razor Components. It wraps a ITypedItem and provides a simple way to access the data. Interfaces IDataModel Interface to mark objects which can receive data such as IEntity or ITypedItem objects and wrap them, usually into a strongly typed model. IDataModelOf Interface to mark objects which can receive ITypedItem objects and wrap them." + "keywords": "Namespace ToSic.Sxc.Data.Model Classes DataModel BETA / WIP: Base class for plain custom data models and can be used in Razor Components. It wraps a IEntity and provides a simple way to access the data. DataModelAttribute BETA / WIP: Mark DataModel objects/interfaces and specify what ContentType they are for. DataModelConversion BETA / WIP: Attribute to decorate interfaces which should be used to retrieve a data model. DataModelOfItem BETA / WIP: Base class for plain custom data models and can be used in Razor Components. It wraps a ITypedItem and provides a simple way to access the data." }, "api/dot-net/ToSic.Sxc.Data.Sys.FileTyped.html": { "href": "api/dot-net/ToSic.Sxc.Data.Sys.FileTyped.html", @@ -2457,7 +2477,7 @@ "api/dot-net/ToSic.Sxc.Data.html": { "href": "api/dot-net/ToSic.Sxc.Data.html", "title": "Namespace ToSic.Sxc.Data | 2sxc 19 for Dnn and Oqtane", - "keywords": "Namespace ToSic.Sxc.Data The dynamic data system used in 2sxc. It's primary purpose is to ensure that you can easily use dynamic objects to write templates, tokens and more. we have two different topics covered: Dynamic Entities to simplify code using IEntity objects - IDynamicEntity and Dynamic Jackets to simplify code using JSON - ToSic.Sxc.Data.DynamicJackets and ToSic.Sxc.Data.DynamicJacketLists Namespaces ToSic.Sxc.Data.Model Interfaces IDynamicEntity This is a wrapper for IEntity objects. It provides nicer access to underlying properties and automatically handles things like multi-language etc. The underlying IEntity IEntity is in the Entity property. Normally you will use it without caring about these internals. Please check @HowTo.DynamicCode.DynamicEntity IDynamicStack This is a dynamic object which contains multiple dynamic objects (Sources). It will try to find a value inside each source in the order the Sources are managed. IField This describes a field-property of an item/entity. It's used for APIs which can need to know more about the field holding an item, like: The field name and parent reference The values in raw and converted Any metadata of the field IMetadata Metadata on Dynamic Objects - like IDynamicEntity or IAsset (files/folders). Behaves like a normal DynamicEntity, but has additional commands to detect if specific Metadata exists. IPublishing Publishing Information for ITypedItems. ISecureData This object contains decrypted data (if it was encrypted originally) and tells you if the data was encrypted, signed etc. It's still very basic, and will grow in functionality to assist in handling secure / encrypted / signed data. ITyped This describes objects which usually wrap other objects to provide strictly typed access to properties. have typed Methods to read properties like .String(propName). It's usually the result of a AsTyped(something) or AsItem(...) command. It's meant to help Razor etc. access unknown or dynamic objects in a typed way. ITypedItem A typed object to access data. Previously Razor code always used dynamic IDynamicEntity objects. This had some disadvantages when working with LINQ or advanced toolbars. ITypedStack The stack as typed object." + "keywords": "Namespace ToSic.Sxc.Data The dynamic data system used in 2sxc. It's primary purpose is to ensure that you can easily use dynamic objects to write templates, tokens and more. we have two different topics covered: Dynamic Entities to simplify code using IEntity objects - IDynamicEntity and Dynamic Jackets to simplify code using JSON - ToSic.Sxc.Data.DynamicJackets and ToSic.Sxc.Data.DynamicJacketLists Namespaces ToSic.Sxc.Data.Model Interfaces ICanWrapData Marks objects such as custom items or data models, which can wrap data (usually Entities or TypedItems). ICanWrap Marks objects such as custom items or data models, which can receive a specific data-type (entity or typed item) and wrap it. IDynamicEntity This is an older dynamic wrapper for IEntity objects. It provides dynamic access to underlying properties. IDynamicStack This is a dynamic object which contains multiple dynamic objects (Sources). IField This describes a field-property of an item/entity. IMetadata Metadata on Dynamic Objects - like IDynamicEntity or IAsset (files/folders). IPublishing Publishing Information for ITypedItems. ISecureData Objects which contain secure/encrypted data and can be decrypted / verified. ITyped Objects which usually wrap other objects to provide strictly typed access to properties. ITypedItem A typed item to access IEntity data in a strongly typed way. ITypedStack The stack as typed object." }, "api/dot-net/ToSic.Sxc.DataSources.AppAssets.html": { "href": "api/dot-net/ToSic.Sxc.DataSources.AppAssets.html", @@ -2717,32 +2737,32 @@ "api/dot-net/ToSic.Sxc.Models.IFileModel.html": { "href": "api/dot-net/ToSic.Sxc.Models.IFileModel.html", "title": "Interface IFileModel | 2sxc 19 for Dnn and Oqtane", - "keywords": "Interface IFileModel Namespace ToSic.Sxc.Models Assembly ToSic.Sxc.dll A File Model which describes a file as returned by the AppAssets DataSource. [InternalApi_DoNotUse_MayChangeWithoutNotice(\"Still tweaking details and naming v19.0x\")] public interface IFileModel : IDataModel Remarks History Introduced (BETA) in v19.00 for the AppAssets DataSource. Not to be seen as final, since we may rename this type when we also This is similar to the IFile but still a bit different. For example, it has a Folder property which is different from the Folder property. Properties Created When the file/folder was created. DateTime Created { get; } Property Value DateTime Extension The file name extension, without any dot. Purpose is to do switching between extensions. If you want to have a safe, merged file name, just take the FullName. string Extension { get; } Property Value string Folder Reference to the folder this file is in. Returns null on the root folder. IFolderModel Folder { get; } Property Value IFolderModel FullName The full name with extension. If it's a folder or there is no extension, then it's identical to the ToSic.Sxc.Models.Internal.IFileModelSync.Name string FullName { get; } Property Value string Modified When the file/folder was modified. DateTime Modified { get; } Property Value DateTime Name The file name without extension. string Name { get; } Property Value string Path Starting in the App-Root string Path { get; } Property Value string Size The size in bytes. int Size { get; } Property Value int SizeInfo ISizeInfo SizeInfo { get; } Property Value ISizeInfo Url The full url starting at the root of the site. Absolute but without protocol/domain. string Url { get; } Property Value string" + "keywords": "Interface IFileModel Namespace ToSic.Sxc.Models Assembly ToSic.Sxc.dll A File Model which describes a file as returned by the AppAssets DataSource. [InternalApi_DoNotUse_MayChangeWithoutNotice(\"Still tweaking details and naming v19.0x\")] public interface IFileModel : ICanWrapData Remarks History Introduced (BETA) in v19.00 for the AppAssets DataSource. Not to be seen as final, since we may rename this type when we also This is similar to the IFile but still a bit different. For example, it has a Folder property which is different from the Folder property. Properties Created When the file/folder was created. DateTime Created { get; } Property Value DateTime Extension The file name extension, without any dot. Purpose is to do switching between extensions. If you want to have a safe, merged file name, just take the FullName. string Extension { get; } Property Value string Folder Reference to the folder this file is in. Returns null on the root folder. IFolderModel Folder { get; } Property Value IFolderModel FullName The full name with extension. If it's a folder or there is no extension, then it's identical to the ToSic.Sxc.Models.Internal.IFileModelSync.Name string FullName { get; } Property Value string Modified When the file/folder was modified. DateTime Modified { get; } Property Value DateTime Name The file name without extension. string Name { get; } Property Value string Path Starting in the App-Root string Path { get; } Property Value string Size The size in bytes. int Size { get; } Property Value int SizeInfo ISizeInfo SizeInfo { get; } Property Value ISizeInfo Url The full url starting at the root of the site. Absolute but without protocol/domain. string Url { get; } Property Value string" }, "api/dot-net/ToSic.Sxc.Models.IFolderModel.html": { "href": "api/dot-net/ToSic.Sxc.Models.IFolderModel.html", "title": "Interface IFolderModel | 2sxc 19 for Dnn and Oqtane", - "keywords": "Interface IFolderModel Namespace ToSic.Sxc.Models Assembly ToSic.Sxc.dll A Folder Model which describes a folder as returned by the AppAssets DataSource. [InternalApi_DoNotUse_MayChangeWithoutNotice(\"Still tweaking details and naming v19.0x\")] public interface IFolderModel : IDataModel Remarks History Introduced (BETA) in v19.01 for the AppAssets DataSource. Not to be seen as final, since we may rename this type when we also This is similar to the IFolder but still a bit different. For example, it has a Folder property. Properties Created When the file/folder was created. DateTime Created { get; } Property Value DateTime Files All files in this folder. IEnumerable Files { get; } Property Value IEnumerable Folder Reference to the parent folder. Returns null on the root folder. IFolderModel Folder { get; } Property Value IFolderModel Folders All sub folders in this folder. IEnumerable Folders { get; } Property Value IEnumerable FullName The full name with extension. If it's a folder or there is no extension, then it's identical to the Name string FullName { get; } Property Value string Modified When the file/folder was modified. DateTime Modified { get; } Property Value DateTime Name The folder name - or blank when it's the root. string Name { get; } Property Value string Path Starting in the App-Root string Path { get; } Property Value string Url The full url starting at the root of the site. Absolute but without protocol/domain. string Url { get; } Property Value string" + "keywords": "Interface IFolderModel Namespace ToSic.Sxc.Models Assembly ToSic.Sxc.dll A Folder Model which describes a folder as returned by the AppAssets DataSource. [InternalApi_DoNotUse_MayChangeWithoutNotice(\"Still tweaking details and naming v19.0x\")] public interface IFolderModel : ICanWrapData Remarks History Introduced (BETA) in v19.01 for the AppAssets DataSource. Not to be seen as final, since we may rename this type when we also This is similar to the IFolder but still a bit different. For example, it has a Folder property. Properties Created When the file/folder was created. DateTime Created { get; } Property Value DateTime Files All files in this folder. IEnumerable Files { get; } Property Value IEnumerable Folder Reference to the parent folder. Returns null on the root folder. IFolderModel Folder { get; } Property Value IFolderModel Folders All sub folders in this folder. IEnumerable Folders { get; } Property Value IEnumerable FullName The full name with extension. If it's a folder or there is no extension, then it's identical to the Name string FullName { get; } Property Value string Modified When the file/folder was modified. DateTime Modified { get; } Property Value DateTime Name The folder name - or blank when it's the root. string Name { get; } Property Value string Path Starting in the App-Root string Path { get; } Property Value string Url The full url starting at the root of the site. Absolute but without protocol/domain. string Url { get; } Property Value string" }, "api/dot-net/ToSic.Sxc.Models.IPageModel.html": { "href": "api/dot-net/ToSic.Sxc.Models.IPageModel.html", "title": "Interface IPageModel | 2sxc 19 for Dnn and Oqtane", - "keywords": "Interface IPageModel Namespace ToSic.Sxc.Models Assembly ToSic.Sxc.dll Data Model as is returned by the Pages DataSource. [InternalApi_DoNotUse_MayChangeWithoutNotice] public interface IPageModel : IDataModel Remarks For detailed documentation, check the docs of the underlying objects: Dnn TabInfo Oqtane Page History Released v19.01 the previous internal implementation had a property called Visible which we finalized to IsNavigation to better clarify it purpose. the previous internal implementation had a property called Clickable which we finalized to IsClickable to better clarify it purpose. Properties Children IEnumerable Children { get; } Property Value IEnumerable Created The page creation date/time. In Dnn it's from TabInfo.CreatedOnDate in Oqtane it's from Page.CreatedOn DateTime Created { get; } Property Value DateTime Guid The page GUID. In Dnn it's from TabInfo.UniqueId In Oqtane it's Guid.Empty as Oqtane doesn't have page GUIDs Guid Guid { get; } Property Value Guid HasChildren Info if the page has sub-pages. In Dnn it's from TabInfo.HasChildren in Oqtane it's from Page.HasChildren bool HasChildren { get; } Property Value bool Remarks Added in v15.01 Id The page ID. In Dnn it's from TabInfo.TabID In Oqtane it's Page.PageId int Id { get; } Property Value int IsClickable Determines if this item is clickable in the menu. In Dnn it's from !TabInfo.DisableLink in Oqtane it's from Page.IsClickable bool IsClickable { get; } Property Value bool Remarks Added in v15.01 IsDeleted The page delete-status. Normally you will only see not-deleted pages, so it should usually be false. In Dnn it's from TabInfo.IsDeleted in Oqtane it's from Page.IsDeleted bool IsDeleted { get; } Property Value bool Remarks Added in v15.01 IsNavigation The page visibility - if it should be shown in the menu. In Dnn it's from TabInfo.IsVisible in Oqtane it's from Page.IsNavigation bool IsNavigation { get; } Property Value bool Level How deep this page is in the breadcrumb. The number is 1 based, so the top level is 1. In Dnn it's from TabInfo.Level (+1) in Oqtane it's from Page.Level (+1) int Level { get; } Property Value int Remarks Added in v15.01 LinkTarget WIP In Dnn it's from TabInfo.TabSettings[\"LinkNewWindow\"]and will be either _blank or `` (empty string) In Oqtane it's not implemented an will be an empty string string LinkTarget { get; } Property Value string Remarks Added in v15.02 Modified The page modification date/time. In Dnn it's from TabInfo.LastModifiedOnDate in Oqtane it's from Page.ModifiedOn DateTime Modified { get; } Property Value DateTime Name The page name. In Dnn it's from TabInfo.Name in Oqtane it's from Page.Name string Name { get; } Property Value string Order Order of this item in a menu. It is 1 based, so the first item has Order 1. In Dnn it's from TabInfo.TabOrder in Oqtane it's from Page.Order int Order { get; } Property Value int Remarks Added in v15.01 ParentId The parent page ID. It's usually 0 if it's a top level page. In Dnn it's from TabInfo.ParentId in Oqtane it's from Page.ParentId int ParentId { get; } Property Value int Path The path with slashes to this page. In Dnn it's from TabInfo.TabPath in Oqtane it's from Page.Path string Path { get; } Property Value string Title The page title. In Dnn it's from TabInfo.Title in Oqtane it's from Page.Title string Title { get; } Property Value string Url The public url to this page (without any trailing slashes) In Dnn it's from TabInf.FullUrl (last slash removed) in Oqtane it's a combination of protocol, site-alias and path string Url { get; } Property Value string" + "keywords": "Interface IPageModel Namespace ToSic.Sxc.Models Assembly ToSic.Sxc.dll Data Model as is returned by the Pages DataSource. [InternalApi_DoNotUse_MayChangeWithoutNotice] public interface IPageModel : ICanWrapData Remarks For detailed documentation, check the docs of the underlying objects: Dnn TabInfo Oqtane Page History Released v19.01 the previous internal implementation had a property called Visible which we finalized to IsNavigation to better clarify it purpose. the previous internal implementation had a property called Clickable which we finalized to IsClickable to better clarify it purpose. Properties Children IEnumerable Children { get; } Property Value IEnumerable Created The page creation date/time. In Dnn it's from TabInfo.CreatedOnDate in Oqtane it's from Page.CreatedOn DateTime Created { get; } Property Value DateTime Guid The page GUID. In Dnn it's from TabInfo.UniqueId In Oqtane it's Guid.Empty as Oqtane doesn't have page GUIDs Guid Guid { get; } Property Value Guid HasChildren Info if the page has sub-pages. In Dnn it's from TabInfo.HasChildren in Oqtane it's from Page.HasChildren bool HasChildren { get; } Property Value bool Remarks Added in v15.01 Id The page ID. In Dnn it's from TabInfo.TabID In Oqtane it's Page.PageId int Id { get; } Property Value int IsClickable Determines if this item is clickable in the menu. In Dnn it's from !TabInfo.DisableLink in Oqtane it's from Page.IsClickable bool IsClickable { get; } Property Value bool Remarks Added in v15.01 IsDeleted The page delete-status. Normally you will only see not-deleted pages, so it should usually be false. In Dnn it's from TabInfo.IsDeleted in Oqtane it's from Page.IsDeleted bool IsDeleted { get; } Property Value bool Remarks Added in v15.01 IsNavigation The page visibility - if it should be shown in the menu. In Dnn it's from TabInfo.IsVisible in Oqtane it's from Page.IsNavigation bool IsNavigation { get; } Property Value bool Level How deep this page is in the breadcrumb. The number is 1 based, so the top level is 1. In Dnn it's from TabInfo.Level (+1) in Oqtane it's from Page.Level (+1) int Level { get; } Property Value int Remarks Added in v15.01 LinkTarget WIP In Dnn it's from TabInfo.TabSettings[\"LinkNewWindow\"]and will be either _blank or `` (empty string) In Oqtane it's not implemented an will be an empty string string LinkTarget { get; } Property Value string Remarks Added in v15.02 Modified The page modification date/time. In Dnn it's from TabInfo.LastModifiedOnDate in Oqtane it's from Page.ModifiedOn DateTime Modified { get; } Property Value DateTime Name The page name. In Dnn it's from TabInfo.Name in Oqtane it's from Page.Name string Name { get; } Property Value string Order Order of this item in a menu. It is 1 based, so the first item has Order 1. In Dnn it's from TabInfo.TabOrder in Oqtane it's from Page.Order int Order { get; } Property Value int Remarks Added in v15.01 ParentId The parent page ID. It's usually 0 if it's a top level page. In Dnn it's from TabInfo.ParentId in Oqtane it's from Page.ParentId int ParentId { get; } Property Value int Path The path with slashes to this page. In Dnn it's from TabInfo.TabPath in Oqtane it's from Page.Path string Path { get; } Property Value string Title The page title. In Dnn it's from TabInfo.Title in Oqtane it's from Page.Title string Title { get; } Property Value string Url The public url to this page (without any trailing slashes) In Dnn it's from TabInf.FullUrl (last slash removed) in Oqtane it's a combination of protocol, site-alias and path string Url { get; } Property Value string" }, "api/dot-net/ToSic.Sxc.Models.ISiteModel.html": { "href": "api/dot-net/ToSic.Sxc.Models.ISiteModel.html", "title": "Interface ISiteModel | 2sxc 19 for Dnn and Oqtane", - "keywords": "Interface ISiteModel Namespace ToSic.Sxc.Models Assembly ToSic.Sxc.dll Site model for entities returned by the Sites DataSource. [InternalApi_DoNotUse_MayChangeWithoutNotice] public interface ISiteModel : IDataModel Remarks For detailed documentation, check the docs of the underlying objects: Dnn Site Oqtane Site History Introduced in v19.01 Properties ContentAppId The Content App Id of this Site and Zone. int ContentAppId { get; } Property Value int Created The site creation date/time. In Dnn it's from PortalInfo.CreatedOnDate in Oqtane it's from Site.CreatedOn DateTime Created { get; } Property Value DateTime DefaultLanguage The site Culture Code. In Dnn it's from PortalInfo.CultureCode in Oqtane it's from Site.CultureCode string DefaultLanguage { get; } Property Value string Guid The site GUID. In Dnn it's from PortalInfo.GUID In Oqtane it's Guid.Empty as Oqtane doesn't have site GUIDs Guid Guid { get; } Property Value Guid Id The site ID. In Dnn it's from PortalInfo.PortalID In Oqtane it's Site.SiteId int Id { get; } Property Value int Languages The site languages, comma separated. Can be empty ever if a DefaultLanguage is set, if the site itself is not multi-language. string Languages { get; } Property Value string Modified The site modification date/time. In Dnn it's from PortalInfo.LastModifiedOnDate in Oqtane it's from Site.ModifiedOn DateTime Modified { get; } Property Value DateTime Name The site name. In Dnn it's from PageInfo.PortalName in Oqtane it's from Site.Name string Name { get; } Property Value string PrimaryAppId The (technical) primary App, which contains things such as site metadata. int PrimaryAppId { get; } Property Value int Url The public url to this site (without any trailing slashes) In Dnn it's from PortalAliasInfo.FullUrl (last slash removed) in Oqtane it's a combination of protocol, site-alias and path string Url { get; } Property Value string ZoneId The Zone ID, which is the ID of the 2sxc/EAV zone which applies to this site. It's usually different from the site ID, and in rare cases can be shared among multiple sites. int ZoneId { get; } Property Value int" + "keywords": "Interface ISiteModel Namespace ToSic.Sxc.Models Assembly ToSic.Sxc.dll Site model for entities returned by the Sites DataSource. [InternalApi_DoNotUse_MayChangeWithoutNotice] public interface ISiteModel : ICanWrapData Remarks For detailed documentation, check the docs of the underlying objects: Dnn Site Oqtane Site History Introduced in v19.01 Properties ContentAppId The Content App Id of this Site and Zone. int ContentAppId { get; } Property Value int Created The site creation date/time. In Dnn it's from PortalInfo.CreatedOnDate in Oqtane it's from Site.CreatedOn DateTime Created { get; } Property Value DateTime DefaultLanguage The site Culture Code. In Dnn it's from PortalInfo.CultureCode in Oqtane it's from Site.CultureCode string DefaultLanguage { get; } Property Value string Guid The site GUID. In Dnn it's from PortalInfo.GUID In Oqtane it's Guid.Empty as Oqtane doesn't have site GUIDs Guid Guid { get; } Property Value Guid Id The site ID. In Dnn it's from PortalInfo.PortalID In Oqtane it's Site.SiteId int Id { get; } Property Value int Languages The site languages, comma separated. Can be empty ever if a DefaultLanguage is set, if the site itself is not multi-language. string Languages { get; } Property Value string Modified The site modification date/time. In Dnn it's from PortalInfo.LastModifiedOnDate in Oqtane it's from Site.ModifiedOn DateTime Modified { get; } Property Value DateTime Name The site name. In Dnn it's from PageInfo.PortalName in Oqtane it's from Site.Name string Name { get; } Property Value string PrimaryAppId The (technical) primary App, which contains things such as site metadata. int PrimaryAppId { get; } Property Value int Url The public url to this site (without any trailing slashes) In Dnn it's from PortalAliasInfo.FullUrl (last slash removed) in Oqtane it's a combination of protocol, site-alias and path string Url { get; } Property Value string ZoneId The Zone ID, which is the ID of the 2sxc/EAV zone which applies to this site. It's usually different from the site ID, and in rare cases can be shared among multiple sites. int ZoneId { get; } Property Value int" }, "api/dot-net/ToSic.Sxc.Models.IUserModel.html": { "href": "api/dot-net/ToSic.Sxc.Models.IUserModel.html", "title": "Interface IUserModel | 2sxc 19 for Dnn and Oqtane", - "keywords": "Interface IUserModel Namespace ToSic.Sxc.Models Assembly ToSic.Sxc.dll User Model for data returned by the Users DataSource or other sources. [InternalApi_DoNotUse_MayChangeWithoutNotice] public interface IUserModel : IDataModel Remarks For detailed documentation, check the docs of the underlying objects: Dnn UserInfo Oqtane User History Introduced in v19.01 Properties Created When the user was first created. DateTime Created { get; } Property Value DateTime Email User E-Mail Address, aka PreferredEmail string Email { get; } Property Value string Guid An optional user GUID. On systems which don't give the user a unique guid, it will be Guid.Empty. Guid Guid { get; } Property Value Guid Id User Id as int. Works in DNN and Oqtane int Id { get; } Property Value int IsAnonymous True if the user is anonymous / not logged in. bool IsAnonymous { get; } Property Value bool IsContentAdmin True if the user is a content admin / editor. If the user only has this role, then he/she can only edit pages and content, but not users. bool IsContentAdmin { get; } Property Value bool IsContentEditor Determines if the user is a content editor. In DNN 10, ContentEditors cannot publish pages (unless they are also ContentAdmins). bool IsContentEditor { get; } Property Value bool IsSiteAdmin True if the user is admin - allowing full content-management and user-management. bool IsSiteAdmin { get; } Property Value bool IsSiteDeveloper True if a user is in the SxcDesigners group. Such a person can actually do a lot more, like access the advanced toolbars. bool IsSiteDeveloper { get; } Property Value bool IsSystemAdmin True if the user has super-user rights. This kind of user can do everything, incl. create apps. bool IsSystemAdmin { get; } Property Value bool Modified When the user was last modified. DateTime Modified { get; } Property Value DateTime Name Nice name aka DisplayName. string Name { get; } Property Value string NameId string NameId { get; } Property Value string Roles Roles of the user. IEnumerable Roles { get; } Property Value IEnumerable Username UserName used for login. string Username { get; } Property Value string" + "keywords": "Interface IUserModel Namespace ToSic.Sxc.Models Assembly ToSic.Sxc.dll User Model for data returned by the Users DataSource or other sources. [InternalApi_DoNotUse_MayChangeWithoutNotice] public interface IUserModel : ICanWrapData Remarks For detailed documentation, check the docs of the underlying objects: Dnn UserInfo Oqtane User History Introduced in v19.01 Properties Created When the user was first created. DateTime Created { get; } Property Value DateTime Email User E-Mail Address, aka PreferredEmail string Email { get; } Property Value string Guid An optional user GUID. On systems which don't give the user a unique guid, it will be Guid.Empty. Guid Guid { get; } Property Value Guid Id User Id as int. Works in DNN and Oqtane int Id { get; } Property Value int IsAnonymous True if the user is anonymous / not logged in. bool IsAnonymous { get; } Property Value bool IsContentAdmin True if the user is a content admin / editor. If the user only has this role, then he/she can only edit pages and content, but not users. bool IsContentAdmin { get; } Property Value bool IsContentEditor Determines if the user is a content editor. In DNN 10, ContentEditors cannot publish pages (unless they are also ContentAdmins). bool IsContentEditor { get; } Property Value bool IsSiteAdmin True if the user is admin - allowing full content-management and user-management. bool IsSiteAdmin { get; } Property Value bool IsSiteDeveloper True if a user is in the SxcDesigners group. Such a person can actually do a lot more, like access the advanced toolbars. bool IsSiteDeveloper { get; } Property Value bool IsSystemAdmin True if the user has super-user rights. This kind of user can do everything, incl. create apps. bool IsSystemAdmin { get; } Property Value bool Modified When the user was last modified. DateTime Modified { get; } Property Value DateTime Name Nice name aka DisplayName. string Name { get; } Property Value string NameId string NameId { get; } Property Value string Roles Roles of the user. IEnumerable Roles { get; } Property Value IEnumerable Username UserName used for login. string Username { get; } Property Value string" }, "api/dot-net/ToSic.Sxc.Models.IUserRoleModel.html": { "href": "api/dot-net/ToSic.Sxc.Models.IUserRoleModel.html", "title": "Interface IUserRoleModel | 2sxc 19 for Dnn and Oqtane", - "keywords": "Interface IUserRoleModel Namespace ToSic.Sxc.Models Assembly ToSic.Sxc.dll Model to return role information as provided by the UserRoles DataSource. [InternalApi_DoNotUse_MayChangeWithoutNotice] public interface IUserRoleModel : IDataModel Remarks For detailed documentation, check the docs of the underlying objects: Dnn RoleInfo Oqtane UserRole History Introduced in v19.01 Properties Created When the user role was first created. DateTime Created { get; } Property Value DateTime Id The Role ID in the database. int Id { get; } Property Value int Modified When the user role was last modified. DateTime Modified { get; } Property Value DateTime Name The Role Name as it is displayed everywhere. string Name { get; } Property Value string" + "keywords": "Interface IUserRoleModel Namespace ToSic.Sxc.Models Assembly ToSic.Sxc.dll Model to return role information as provided by the UserRoles DataSource. [InternalApi_DoNotUse_MayChangeWithoutNotice] public interface IUserRoleModel : ICanWrapData Remarks For detailed documentation, check the docs of the underlying objects: Dnn RoleInfo Oqtane UserRole History Introduced in v19.01 Properties Created When the user role was first created. DateTime Created { get; } Property Value DateTime Id The Role ID in the database. int Id { get; } Property Value int Modified When the user role was last modified. DateTime Modified { get; } Property Value DateTime Name The Role Name as it is displayed everywhere. string Name { get; } Property Value string" }, "api/dot-net/ToSic.Sxc.Models.PageModel.html": { "href": "api/dot-net/ToSic.Sxc.Models.PageModel.html", diff --git a/docs/manifest.json b/docs/manifest.json index 910603759..712f17d1e 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -3060,6 +3060,26 @@ }, "version": "" }, + { + "type": "ManagedReference", + "source_relative_path": "api-generated/api/dot-net/ToSic.Sxc.Data.ICanWrap-1.yml", + "output": { + ".html": { + "relative_path": "api/dot-net/ToSic.Sxc.Data.ICanWrap-1.html" + } + }, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api-generated/api/dot-net/ToSic.Sxc.Data.ICanWrapData.yml", + "output": { + ".html": { + "relative_path": "api/dot-net/ToSic.Sxc.Data.ICanWrapData.html" + } + }, + "version": "" + }, { "type": "ManagedReference", "source_relative_path": "api-generated/api/dot-net/ToSic.Sxc.Data.IDataModel.yml", @@ -3080,6 +3100,26 @@ }, "version": "" }, + { + "type": "ManagedReference", + "source_relative_path": "api-generated/api/dot-net/ToSic.Sxc.Data.IDataWrapper-1.yml", + "output": { + ".html": { + "relative_path": "api/dot-net/ToSic.Sxc.Data.IDataWrapper-1.html" + } + }, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api-generated/api/dot-net/ToSic.Sxc.Data.IDataWrapper.yml", + "output": { + ".html": { + "relative_path": "api/dot-net/ToSic.Sxc.Data.IDataWrapper.html" + } + }, + "version": "" + }, { "type": "ManagedReference", "source_relative_path": "api-generated/api/dot-net/ToSic.Sxc.Data.IDataWrapperForType.yml", diff --git a/docs/xrefmap.yml b/docs/xrefmap.yml index 66ef1108a..b061a900d 100644 --- a/docs/xrefmap.yml +++ b/docs/xrefmap.yml @@ -19769,6 +19769,21 @@ references: commentId: N:ToSic.Sxc.Data fullName: ToSic.Sxc.Data nameWithType: ToSic.Sxc.Data +- uid: ToSic.Sxc.Data.ICanWrapData + name: ICanWrapData + href: api/dot-net/ToSic.Sxc.Data.ICanWrapData.html + commentId: T:ToSic.Sxc.Data.ICanWrapData + fullName: ToSic.Sxc.Data.ICanWrapData + nameWithType: ICanWrapData +- uid: ToSic.Sxc.Data.ICanWrap`1 + name: ICanWrap + href: api/dot-net/ToSic.Sxc.Data.ICanWrap-1.html + commentId: T:ToSic.Sxc.Data.ICanWrap`1 + name.vb: ICanWrap(Of TData) + fullName: ToSic.Sxc.Data.ICanWrap + fullName.vb: ToSic.Sxc.Data.ICanWrap(Of TData) + nameWithType: ICanWrap + nameWithType.vb: ICanWrap(Of TData) - uid: ToSic.Sxc.Data.IDataModel name: IDataModel href: api/dot-net/ToSic.Sxc.Data.IDataModel.html @@ -19784,12 +19799,27 @@ references: fullName.vb: ToSic.Sxc.Data.IDataModelOf(Of TContents) nameWithType: IDataModelOf nameWithType.vb: IDataModelOf(Of TContents) +- uid: ToSic.Sxc.Data.IDataWrapper + name: IDataWrapper + href: api/dot-net/ToSic.Sxc.Data.IDataWrapper.html + commentId: T:ToSic.Sxc.Data.IDataWrapper + fullName: ToSic.Sxc.Data.IDataWrapper + nameWithType: IDataWrapper - uid: ToSic.Sxc.Data.IDataWrapperForType name: IDataWrapperForType href: api/dot-net/ToSic.Sxc.Data.IDataWrapperForType.html commentId: T:ToSic.Sxc.Data.IDataWrapperForType fullName: ToSic.Sxc.Data.IDataWrapperForType nameWithType: IDataWrapperForType +- uid: ToSic.Sxc.Data.IDataWrapper`1 + name: IDataWrapper + href: api/dot-net/ToSic.Sxc.Data.IDataWrapper-1.html + commentId: T:ToSic.Sxc.Data.IDataWrapper`1 + name.vb: IDataWrapper(Of TModel) + fullName: ToSic.Sxc.Data.IDataWrapper + fullName.vb: ToSic.Sxc.Data.IDataWrapper(Of TModel) + nameWithType: IDataWrapper + nameWithType.vb: IDataWrapper(Of TModel) - uid: ToSic.Sxc.Data.IDynamicEntity name: IDynamicEntity href: api/dot-net/ToSic.Sxc.Data.IDynamicEntity.html @@ -20289,83 +20319,83 @@ references: fullName: ToSic.Sxc.Data.IPublishing.IsSupported nameWithType: IPublishing.IsSupported - uid: ToSic.Sxc.Data.ISecureData`1 - name: ISecureData + name: ISecureData href: api/dot-net/ToSic.Sxc.Data.ISecureData-1.html commentId: T:ToSic.Sxc.Data.ISecureData`1 - name.vb: ISecureData(Of T) - fullName: ToSic.Sxc.Data.ISecureData - fullName.vb: ToSic.Sxc.Data.ISecureData(Of T) - nameWithType: ISecureData - nameWithType.vb: ISecureData(Of T) + name.vb: ISecureData(Of TValue) + fullName: ToSic.Sxc.Data.ISecureData + fullName.vb: ToSic.Sxc.Data.ISecureData(Of TValue) + nameWithType: ISecureData + nameWithType.vb: ISecureData(Of TValue) - uid: ToSic.Sxc.Data.ISecureData`1.IsSecured name: IsSecured href: api/dot-net/ToSic.Sxc.Data.ISecureData-1.html#ToSic_Sxc_Data_ISecureData_1_IsSecured commentId: P:ToSic.Sxc.Data.ISecureData`1.IsSecured - fullName: ToSic.Sxc.Data.ISecureData.IsSecured - fullName.vb: ToSic.Sxc.Data.ISecureData(Of T).IsSecured - nameWithType: ISecureData.IsSecured - nameWithType.vb: ISecureData(Of T).IsSecured + fullName: ToSic.Sxc.Data.ISecureData.IsSecured + fullName.vb: ToSic.Sxc.Data.ISecureData(Of TValue).IsSecured + nameWithType: ISecureData.IsSecured + nameWithType.vb: ISecureData(Of TValue).IsSecured - uid: ToSic.Sxc.Data.ISecureData`1.IsSecured* name: IsSecured href: api/dot-net/ToSic.Sxc.Data.ISecureData-1.html#ToSic_Sxc_Data_ISecureData_1_IsSecured_ commentId: Overload:ToSic.Sxc.Data.ISecureData`1.IsSecured isSpec: "True" - fullName: ToSic.Sxc.Data.ISecureData.IsSecured - fullName.vb: ToSic.Sxc.Data.ISecureData(Of T).IsSecured - nameWithType: ISecureData.IsSecured - nameWithType.vb: ISecureData(Of T).IsSecured + fullName: ToSic.Sxc.Data.ISecureData.IsSecured + fullName.vb: ToSic.Sxc.Data.ISecureData(Of TValue).IsSecured + nameWithType: ISecureData.IsSecured + nameWithType.vb: ISecureData(Of TValue).IsSecured - uid: ToSic.Sxc.Data.ISecureData`1.IsSecuredBy(System.String) name: IsSecuredBy(string) href: api/dot-net/ToSic.Sxc.Data.ISecureData-1.html#ToSic_Sxc_Data_ISecureData_1_IsSecuredBy_System_String_ commentId: M:ToSic.Sxc.Data.ISecureData`1.IsSecuredBy(System.String) name.vb: IsSecuredBy(String) - fullName: ToSic.Sxc.Data.ISecureData.IsSecuredBy(string) - fullName.vb: ToSic.Sxc.Data.ISecureData(Of T).IsSecuredBy(String) - nameWithType: ISecureData.IsSecuredBy(string) - nameWithType.vb: ISecureData(Of T).IsSecuredBy(String) + fullName: ToSic.Sxc.Data.ISecureData.IsSecuredBy(string) + fullName.vb: ToSic.Sxc.Data.ISecureData(Of TValue).IsSecuredBy(String) + nameWithType: ISecureData.IsSecuredBy(string) + nameWithType.vb: ISecureData(Of TValue).IsSecuredBy(String) - uid: ToSic.Sxc.Data.ISecureData`1.IsSecuredBy* name: IsSecuredBy href: api/dot-net/ToSic.Sxc.Data.ISecureData-1.html#ToSic_Sxc_Data_ISecureData_1_IsSecuredBy_ commentId: Overload:ToSic.Sxc.Data.ISecureData`1.IsSecuredBy isSpec: "True" - fullName: ToSic.Sxc.Data.ISecureData.IsSecuredBy - fullName.vb: ToSic.Sxc.Data.ISecureData(Of T).IsSecuredBy - nameWithType: ISecureData.IsSecuredBy - nameWithType.vb: ISecureData(Of T).IsSecuredBy + fullName: ToSic.Sxc.Data.ISecureData.IsSecuredBy + fullName.vb: ToSic.Sxc.Data.ISecureData(Of TValue).IsSecuredBy + nameWithType: ISecureData.IsSecuredBy + nameWithType.vb: ISecureData(Of TValue).IsSecuredBy - uid: ToSic.Sxc.Data.ISecureData`1.ToString name: ToString() href: api/dot-net/ToSic.Sxc.Data.ISecureData-1.html#ToSic_Sxc_Data_ISecureData_1_ToString commentId: M:ToSic.Sxc.Data.ISecureData`1.ToString - fullName: ToSic.Sxc.Data.ISecureData.ToString() - fullName.vb: ToSic.Sxc.Data.ISecureData(Of T).ToString() - nameWithType: ISecureData.ToString() - nameWithType.vb: ISecureData(Of T).ToString() + fullName: ToSic.Sxc.Data.ISecureData.ToString() + fullName.vb: ToSic.Sxc.Data.ISecureData(Of TValue).ToString() + nameWithType: ISecureData.ToString() + nameWithType.vb: ISecureData(Of TValue).ToString() - uid: ToSic.Sxc.Data.ISecureData`1.ToString* name: ToString href: api/dot-net/ToSic.Sxc.Data.ISecureData-1.html#ToSic_Sxc_Data_ISecureData_1_ToString_ commentId: Overload:ToSic.Sxc.Data.ISecureData`1.ToString isSpec: "True" - fullName: ToSic.Sxc.Data.ISecureData.ToString - fullName.vb: ToSic.Sxc.Data.ISecureData(Of T).ToString - nameWithType: ISecureData.ToString - nameWithType.vb: ISecureData(Of T).ToString + fullName: ToSic.Sxc.Data.ISecureData.ToString + fullName.vb: ToSic.Sxc.Data.ISecureData(Of TValue).ToString + nameWithType: ISecureData.ToString + nameWithType.vb: ISecureData(Of TValue).ToString - uid: ToSic.Sxc.Data.ISecureData`1.Value name: Value href: api/dot-net/ToSic.Sxc.Data.ISecureData-1.html#ToSic_Sxc_Data_ISecureData_1_Value commentId: P:ToSic.Sxc.Data.ISecureData`1.Value - fullName: ToSic.Sxc.Data.ISecureData.Value - fullName.vb: ToSic.Sxc.Data.ISecureData(Of T).Value - nameWithType: ISecureData.Value - nameWithType.vb: ISecureData(Of T).Value + fullName: ToSic.Sxc.Data.ISecureData.Value + fullName.vb: ToSic.Sxc.Data.ISecureData(Of TValue).Value + nameWithType: ISecureData.Value + nameWithType.vb: ISecureData(Of TValue).Value - uid: ToSic.Sxc.Data.ISecureData`1.Value* name: Value href: api/dot-net/ToSic.Sxc.Data.ISecureData-1.html#ToSic_Sxc_Data_ISecureData_1_Value_ commentId: Overload:ToSic.Sxc.Data.ISecureData`1.Value isSpec: "True" - fullName: ToSic.Sxc.Data.ISecureData.Value - fullName.vb: ToSic.Sxc.Data.ISecureData(Of T).Value - nameWithType: ISecureData.Value - nameWithType.vb: ISecureData(Of T).Value + fullName: ToSic.Sxc.Data.ISecureData.Value + fullName.vb: ToSic.Sxc.Data.ISecureData(Of TValue).Value + nameWithType: ISecureData.Value + nameWithType.vb: ISecureData(Of TValue).Value - uid: ToSic.Sxc.Data.ITyped name: ITyped href: api/dot-net/ToSic.Sxc.Data.ITyped.html