A DataSource that merges all streams on the
In into one
How to use with the VisualQuery
When using the VisualQuery you can just drag it into your query. This is what it usually looks like:
The above example shows two filters finding items and delivering them on the same stream.
Example Using ItemFilterDuplicates
A common scenario will also combine this using the ItemFilterDuplicates, in case various in-streams deliver the same item:
The StreamMerge DataSource has no settings to configure.
Note that it will automatically merge the streams in A-Z order of the In-Stream names.
Programming With The StreamMerge DataSource
Demo App and further links
You should find some examples in this demo App
- Introduced in EAV 4.x, 2sxc 9.10
[PublicApi_Stable_ForUseInYourCode] [VisualQuery(NiceName = "Merge Stream", UiHint = "Combine multiple streams into one", Icon = "merge_type", Type = DataSourceType.Logic, GlobalName = "ToSic.Eav.DataSources.StreamMerge, ToSic.Eav.DataSources", DynamicOut = false, DynamicIn = true, HelpLink = "https://r.2sxc.org/DsStreamMerge")] public sealed class StreamMerge : DataSourceBase, IDataSource, IAppIdentity, IZoneIdentity, IAppIdentityLight, ICacheInfo, ICacheKey, ICacheExpiring, ITimestamped, ICanPurgeListCache, IHasLog, IDataTarget, IDataPartShared
Technically many things could just identify the app they belong to, and let the system look up the zone. But this would be inefficient, so for optimization, many items identify themselves with both the app and zone Ids