Skip to content

Instantly share code, notes, and snippets.

@Vapok
Vapok / ExternalField.cs
Last active December 2, 2016 15:22
Sitecore Complex Processor Example - This adds a processor to the EXM redirectURL pipeline, so that when a URL is redirected out of an email, additional URL query params, such as UTM tags can be captured. -- This is an example of created a complex processor with multiple types of fields representing different actions.
public class ExternalField : RedirectUrlPipelineExternalField
{
public const string NameAttributeLabel = "name";
public const string CarryoverAttributeLabel = "carryover";
public const string TypeAttributeLabel = "type";
public override string Key { get; set; }
public override string Value { get; set; }
public override string KeyRef { get; set; }
public override bool CarryoverValue { get; set; }
@Vapok
Vapok / 0.ContactProcessingProvider.cs
Last active December 15, 2016 19:07
Pipelined Contact Processing Provider
/*
NOTE THAT THIS IS THE DECOMPILED ContactProcessingProvider
This is actually exposing a bug in the ContactProcessingProvider.
The ContactProcessingProvider is used when a CSV File is uploaded through List Manager.
The bug is that the MapContact() method is the meeting point between the uploaded CSV data,
and the existing contact record. Looking at the original method, you'll see that the existing
contact information is completely disregard, and the contact template created from the CSV file
is utilized. This overwrites any and all data in Mongo for that contact record, including
OTHER facet fields that might have been previously populated, but not part of the CSV file.
@Vapok
Vapok / 0.bounce.json
Created April 8, 2019 15:49
SUGCON EU 2019 - The Wheels on the Rebus go Queue, Queue, Queue
[
{
"campaign_id": "1234",
"contact_identifier": "1234",
"email": "pnavarra65456@connectivedx.com",
"email_address_history_entry_id": "1234",
"event": "bounce",
"instance_id": "1234",
"ip": "167.89.106.58",
"message_id": "1234",