Skip to content

Instantly share code, notes, and snippets.

View martinrayenglish's full-sized avatar

Martin English martinrayenglish

View GitHub Profile
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:set="http://www.sitecore.net/xmlconfig/set/" xmlns:role="http://www.sitecore.net/xmlconfig/role/">
<sitecore role:require="Standalone or ContentDelivery or ContentManagement">
<dataAdapterManager>
<providers>
<add name="xconnect" type="MyProject.Analytics.XConnect.DataAccess.CustomXConnectDataAdapterProvider, MyProject.Analytics">
<FilteringEnabled>true</FilteringEnabled>
<IncludeGoals>true</IncludeGoals>
<filterEvents hint="raw:AddFilterEvents" patch:source="Sitecore.ContentTesting.config">
<PageEventDefinitionId Id="{1AD8EBEB-24E3-46F1-9EDD-2295C5219C5E}" description="Email Opened"/>
using System.Collections.Generic;
using System.Threading.Tasks;
using Sitecore.Xdb.Collection;
using Sitecore.Xdb.Collection.Indexing;
using Sitecore.Xdb.Collection.Model;
namespace Test.SCExtensions.Xdb.Collection.Search.Solr
{
public sealed class IndexRebuilderFilterDecorator : IIndexRebuilder
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Sitecore.Framework.Conditions;
using Sitecore.Xdb.Collection.Indexing;
using Sitecore.Xdb.Collection.Model;
namespace Test.SCExtensions.Xdb.Collection.Search.Solr
{
<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:role="http://www.sitecore.net/xmlconfig/role/" >
<sitecore>
<httpRequestBegin role:require="ContentDelivery">
<processor type="Sitecore.Pipelines.HttpRequest.BeginDiagnostics, Sitecore.Kernel" >
<patch:delete />
</processor>
</httpRequestBegin>
</pipelines>
</sitecore>
@martinrayenglish
martinrayenglish / ThreadPoolSizeMonitor.cs
Created September 20, 2020 12:45
Sitecore Thread Pool Size Monitor
using Sitecore.Abstractions;
using Sitecore.Framework.Conditions;
using System;
using System.Threading;
namespace Sitecore.Analytics
{
internal class ThreadPoolSizeMonitor : IThreadPoolSizeMonitor, IDisposable
{
private readonly int _accelerationRate;
@martinrayenglish
martinrayenglish / BrokenLinksEraser.aspx
Last active September 28, 2020 12:41
Improved Version of Sitecore Broken Links Removal tool
<%@ Page Language="c#" EnableEventValidation="false" AutoEventWireup="true" EnableViewState="false" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="Sitecore.Links" %>
<%@ Import Namespace="Sitecore.SecurityModel" %>
<%@ Import Namespace="Sitecore.StringExtensions" %>
<%@ Import Namespace="Sitecore.Collections" %>
<%@ Import Namespace="Sitecore.Configuration" %>
<%@ Import Namespace="Sitecore.Data" %>
<%@ Import Namespace="Sitecore.Data.DataProviders.Sql" %>
<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/" xmlns:set="http://www.sitecore.net/xmlconfig/set/" xmlns:role="http://www.sitecore.net/xmlconfig/role/" >
<sitecore>
<pipelines role:require="ContentDelivery">
<initialize>
<processor type="Sitecore.Analytics.Pipelines.Loader.StartThreadPoolSizeMonitor, Sitecore.Analytics">
<param desc="accelerationRate">200</param>
<param desc="decelerationRate">10</param>
<param desc="updateInterval">00:00:00.250</param>
</processor>
/// <summary>
/// Gets the access control type for an item from its ancestors.
/// </summary>
/// <param name="item">The item.</param>
/// <param name="account">The account.</param>
/// <param name="accessRight">The desired access right.</param>
/// <param name="propagationType">Type of propagation.</param>
/// <returns></returns>
protected virtual AccessResult GetAncestorAccess(
Item item,
public override void Flush()
{
var numArray = _internalStream.ToArray();
if (numArray.Length == 0)
{
return;
}
if (HttpContext.Current?.Server.GetLastError() != null)
public class RemoveNonEditingHtmlElements : HttpRequestProcessor
{
public override void Process(HttpRequestArgs args)
{
if (args.HttpContext.Response.HeadersWritten ||
Context.Site == null ||
Context.Site.Name == "shell" ||
Context.Item == null)
{
return;