Skip to content

Instantly share code, notes, and snippets.

View jraps20's full-sized avatar

John Rappel jraps20

View GitHub Profile
var pipelineItem = Factory.GetDatabase("master").GetItem("/sitecore/content/My Pipeline");
var pipelineArgs = new PipelineArgs();
Pipeline.Start(pipelineItem, pipelineArgs);
var customData = pipelineArgs.CustomData;
public class Step1
{
public void Process(PipelineArgs args)
{
var processorItem = args.ProcessorItem;
var customField = processorItem.InnerItem["Custom Referenced Item"];
var referencedItem = processorItem.InnerItem.Database.GetItem(new ID(customField));
public static Processor Parse(ProcessorItem item)
{
Sitecore.Diagnostics.Assert.ArgumentNotNull((object) item, nameof (item));
if (item.Disabled || item.Type.Trim().Length == 0)
return (Processor) null;
return new Processor(item);
}
WorkflowPipelineArgs workflowPipelineArgs = new WorkflowPipelineArgs(item, null, null);
Pipeline pipeline = Pipeline.Start(stateItem, workflowPipelineArgs);
if (pipeline != null)
{
WorkflowCounters.ActionsExecuted.IncrementBy(pipeline.Processors.Count);
}
@jraps20
jraps20 / DictionaryValidator.cs
Created April 24, 2018 19:07
TDS Validator to ensure all uses of Translate.Text("some text") have a corresponding item defined in /sitecore/system/dictionary.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
using System.Xml.Linq;
using HedgehogDevelopment.SitecoreProject.Tasks;
using HedgehogDevelopment.SitecoreProject.Tasks.ProjectAnalysis;
namespace TDS.Validators
[Validator("Language Fallback Invalid", Status.Error, Description = "Validates all fields support language fallback. Add new properties to ignore templates that start with a particular path.")]
public class LanguageFallbackValidator : UserConfigurableValidator
{
private static readonly Guid Template = new Guid("{AB86861A-6030-46C5-B394-E8F99E8B87DB}");
public override IEnumerable<Problem> Validate(Dictionary<Guid, SitecoreDeployInfo> projectItems, XDocument scprojDocument)
{
var list = new List<Problem>();
foreach (var projectItem in projectItems)
{
<indexableRenderings>
<rendering name="RichText" id="{4F8942FF-C4E4-408A-B3D5-4657EE5050CA}" />
</indexableRenderings>
@jraps20
jraps20 / GetDatasourceDependencies.cs
Last active January 12, 2018 22:17
Full set of classes and config changes required to index modular content in Sitecore, i.e. content that is added to the page as a separate rendering with a datasource. Configured to only index certain renderings based on config, to disallow indexing of renderings that may be "Related Items" or other types of renderings that are shared and not pe…
using System.Linq;
using Sitecore;
using Sitecore.ContentSearch;
using Sitecore.ContentSearch.Pipelines.GetDependencies;
using Sitecore.Data;
using Sitecore.Data.Items;
using Sitecore.Diagnostics;
namespace Common.Sitecore.Search.GetDependencies
{
var remoteEvent = new LogMessageRemoteEvent(Sitecore.Configuration.Settings.InstanceName, "logMessage:remote");
Sitecore.Eventing.EventManager.QueueEvent<LogMessageRemoteEvent>(remoteEvent);
<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<events>
<event name="logMessage:remote">
<handler type="MyNamespace.LogMessageRemote, MyDll" method="LogInstanceName" />
</event>
</events>
</sitecore>
</configuration>