public override void Process(GetDependenciesArgs context) { Assert.IsNotNull(context.IndexedItem, "indexed item"); Assert.IsNotNull(context.Dependencies, "dependencies"); var item = (Item)(context.IndexedItem as SitecoreIndexableItem); if (item == null) { return; } bool Func(ItemUri uri) => (uri != null) && uri != item.Uri; var source = ( from l in Globals.LinkDatabase.GetReferrers(item, FieldIDs.LayoutField) select l.GetSourceItem().Uri) .Where(Func) .ToList(); source.AddRange( ( from l in Globals.LinkDatabase.GetReferrers(item, FieldIDs.FinalLayoutField) select l.GetSourceItem().Uri) .Where(Func) ); source = source.DistinctBy(i => i.ItemID).ToList(); context.Dependencies.AddRange(source.Select(x => (SitecoreItemUniqueId)x)); }
public override void Process(GetDependenciesArgs context) { Assert.IsNotNull(context.Dependencies, "Dependencies is null"); Item item = context.IndexedItem as SitecoreIndexableItem; if (item == null) return; if (item.IsLocalDatasourceItem()) this.AddLocalDatasourceParentDependency(item, context.Dependencies); }
public override void Process(GetDependenciesArgs context) { Assert.IsNotNull(context.Dependencies, "Dependencies is null"); Item item = context.IndexedItem as SitecoreIndexableItem; if (item == null) { return; } if (item.IsLocalDatasourceItem()) { this.AddLocalDatasourceParentDependency(item, context.Dependencies); } }
public override void Process(GetDependenciesArgs args) { Assert.IsNotNull(args.IndexedItem, "indexed item"); Assert.IsNotNull(args.Dependencies, "dependencies"); Item item = (Item)(args.IndexedItem as SitecoreIndexableItem); if (item != null && item.Paths.IsContentItem) { var linkedItems = Globals.LinkDatabase.GetReferrers(item).Select(it => it.GetSourceItem()).Where(uri => uri.Uri != null && (uri.Uri != item.Uri)) .Select(o => o.Uri).Distinct<ItemUri>().Select(z => (SitecoreItemUniqueId)z); args.Dependencies.AddRange(linkedItems); } }
public override void Process(GetDependenciesArgs context) { Func<ItemUri, bool> func = null; Assert.IsNotNull(context.IndexedItem, "indexed item"); Assert.IsNotNull(context.Dependencies, "dependencies"); Item item = (Item)(context.IndexedItem as SitecoreIndexableItem); if (item != null) { if (func == null) { func = uri => (bool)((uri != null) && ((bool)(uri != item.Uri))); } var source = Enumerable.Where<ItemUri>(from l in Globals.LinkDatabase.GetReferrers(item, FieldIDs.LayoutField) select l.GetSourceItem().Uri, func).Distinct<ItemUri>(); context.Dependencies.AddRange(source.Select(x => (SitecoreItemUniqueId)x)); } }
public override void Process(GetDependenciesArgs context) { Assert.IsNotNull(context.IndexedItem, "indexed item"); Assert.IsNotNull(context.Dependencies, "dependencies"); var item = (Item)(context.IndexedItem as SitecoreIndexableItem); if (item == null) { return; } var itemUri = (SitecoreItemUniqueId)item.Uri; if (itemUri == null) { return; } if (context.Dependencies.Contains(itemUri)) { return; } var source = Globals.LinkDatabase.GetReferrers(item, FieldIDs.LayoutField) .Concat(Globals.LinkDatabase.GetReferrers(item, FieldIDs.FinalLayoutField)) .Select(link => link.GetSourceItem().Uri) .Where((uri, i) => uri != null && uri != item.Uri) .Distinct(); foreach (var sourceItemUri in source) { var candidate = (SitecoreItemUniqueId)sourceItemUri; if (candidate == null) { continue; } if (context.Dependencies.Contains(candidate)) { continue; } context.Dependencies.Add(candidate); } }
public override void Process(GetDependenciesArgs context) { Func <ItemUri, bool> func = null; Assert.IsNotNull(context.IndexedItem, "Indexed item is null"); Assert.IsNotNull(context.Dependencies, "Dependencies not found"); Item item = (Item)(context.IndexedItem as SitecoreIndexableItem); if (item != null) { if (func == null) { func = uri => (bool)((uri != null) && ((bool)(uri != item.Uri))); } System.Collections.Generic.IEnumerable <ItemUri> source = Enumerable.Where <ItemUri>(from l in Globals.LinkDatabase.GetReferrers(item, FieldIDs.LayoutField) select l.GetSourceItem().Uri, func).Distinct <ItemUri>(); context.Dependencies.AddRange(source.Select(x => (SitecoreItemUniqueId)x)); } }
public override void Process(GetDependenciesArgs args) { //var items = args.IndexedItem; Assert.IsNotNull(args.IndexedItem, "indexed item"); Assert.IsNotNull(args.Dependencies, "dependencies"); Func<ItemUri, bool> func = null; Item item = (Item)(args.IndexedItem as SitecoreIndexableItem); if (item != null) { if (item.Paths.IsContentItem) { if (func == null) { func = uri => (bool)((uri != null) && ((bool)(uri != item.Uri))); } System.Collections.Generic.IEnumerable<ItemUri> source = Enumerable.Where<ItemUri>(from l in Globals.LinkDatabase.GetReferrers(item) select l.GetSourceItem().Uri, func).Distinct<ItemUri>(); args.Dependencies.AddRange(source.Select(x => (SitecoreItemUniqueId)x)); } } // if (item != null) // { // //We are in the content // if (item.Paths.IsContentItem) // { // // Item does not have a Layout ... so we suppose it's a datasource item // // Maybe do somethings else for that (pipeline like in content usage tools) // if (item.Visualization.Layout == null) // { // var linkedItems = Globals.LinkDatabase.GetReferrers(item); // foreach (var linkedItem in linkedItems) // { // var itemLinked = (SitecoreIndexableItem)linkedItem.GetSourceItem(); // ContentSearchManager.GetIndex("sitecore_master_index").Update(itemLinked.UniqueId); // } // } // } // } //} }
public override void Process(GetDependenciesArgs args) { Assert.IsNotNull(args.IndexedItem, "indexed item"); Assert.IsNotNull(args.Dependencies, "dependencies"); Func<ItemUri, bool> func = null; Item item = (Item)(args.IndexedItem as SitecoreIndexableItem); if (item != null) { if (func == null) { func = uri => (bool)((uri != null) && ((bool)(uri != item.Uri))); } System.Collections.Generic.IEnumerable<ItemUri> source = Enumerable.Where<ItemUri>( from l in Globals.LinkDatabase.GetReferrers(item) select l.GetSourceItem().Uri, func) .Distinct<ItemUri>(); args.Dependencies.AddRange(source.Select(x => (SitecoreItemUniqueId)x)); } }
public override void Process(GetDependenciesArgs args) { string job = Sitecore.Context.Job.Name; ExecuteProcess(args); }
public abstract void ExecuteProcess(GetDependenciesArgs args);