Class OwnerFilter
- Namespace
- ToSic.Eav.DataSources
- Assembly
- ToSic.Eav.DataSources.dll
The base class for all DataSources, especially custom DataSources. It must always be inherited. It provides a lot of core functionality to get configurations, ensure caching and more.
Important: in most cases you will inherit the CustomDataSource DataSource for custom data sources.
The OwnerFilter DataSource is part of the Standard EAV Data Sources. It will only let items pass through, which a specific user (often the current one) has created initially.
You will typically use the OwnerFilter in scenarios where users create their own data, and should only see/edit items which they own (usually in combination with security settings, which only allow the owner to modify their own items).
How to use with the VisualQuery
When using the VisualQuery you can just drag it into your query. You must then edit the settings once - and usually you will use the recommended prefilled-form. But you can also do something different. This is what it usually looks like:
The above example shows:
- a content-type filter limiting the items to type Company
- an owner-filter which receives 5 items, but only lets 3 pass, because the Test Settings have a demo-value of the user who only created 3 of the 5 items.
Programming With The OwnerFilter DataSource
We recommend to use the VisualQuery where possible, as it's easier to understand and is identical for C# and JavaScript. It's also better because it separates data-retrieval from visualization.
Read also
Demo App and further links
You should find some examples in this demo App
History
- Introduced in EAV 3.x, 2sxc ?
API Documentation
[PublicApi]
[VisualQuery(NiceName = "Owner Filter", UiHint = "Keep only item created by a specified user", Icon = "attribution", Type = DataSourceType.Security, NameId = "ToSic.Eav.DataSources.OwnerFilter, ToSic.Eav.DataSources", DynamicOut = false, In = new string[] { "Default*" }, ConfigurationType = "|Config ToSic.Eav.DataSources.OwnerFilter", HelpLink = "https://go.2sxc.org/DsOwnerFilter")]
public class OwnerFilter : DataSourceBase, IDataSource, IAppIdentity, IZoneIdentity, IAppIdentityLight, ICacheKey, ICacheExpiring, ITimestamped, IHasLog, IDataSourceLinkable
- Inheritance
-
OwnerFilter
- Implements
- Inherited Members
Remarks
Had a major, breaking update in v15. Consult the guide to upgrade your custom data sources.
Properties
Identity
The identity of the user to filter by. Uses the Identity-token convention like dnn:1 is the user #1 in the DNN DB
[Configuration(Field = "IdentityCode")]
public string Identity { get; set; }