Skip to content

Instantly share code, notes, and snippets.


Darren Ferguson darrenferguson

View GitHub Profile
View VortoPropertyIndexer
using System.Collections.Generic;
using Moriyama.Library.Architecture;
using Newtonsoft.Json;
namespace Application.Search
public class VortoPropertyIndexer
// Somewhere in startup
//ExamineManager.Instance.IndexProviderCollection["ExternalIndexer"].GatheringNodeData += MoriyamaApplicationEventHandlerGatheringNodeData;
View gist:1a94ed6b374a46e2df86
using RestSharp;
void ContentServicePublished(IPublishingStrategy sender, PublishEventArgs<IContent> e)
foreach (var entity in e.PublishedEntities)
var umbracoHelper = new UmbracoHelper(UmbracoContext.Current);
var url = umbracoHelper.Url(entity.Id, UrlProviderMode.Relative);
var urls = string.Format("{0} or{0}", url);
View gist:837adee568fd268a92ac
catch (Exception ex)
// Dunno why Current equals null on import but this skips the error
View gist:c6c13c7be26057b01d1d
using System.Configuration;
using Umbraco.Core;
using System.Data.SqlClient;
using System.Diagnostics;
using System.Reflection;
using System.Web.Configuration;
using Newtonsoft.Json;
using Umbraco.Core.Persistence;
using Umbraco.Core.Persistence.SqlSyntax;
View gist:b18e62e9809846059be2
class Program
static void Main(string[] args)
string json =
View gist:6be53533f6b4d614702b2f0bcfa04737
public static void Archive(this IContent content)
var h = new UmbracoHelper(UmbracoContext.Current);
var c = h.TypedContent(content.Id);
if (c != null)
var u = c.Url;
var xml = content.ToXml();
View Archive.cs
public class Archive
public int Id { get; set; }
public string Url { get; set; }
public string Xml { get; set; }
public static class PublishedContentExtensions
public static void Archive(this IContent content)
View ArchiveContentFinder.cs
public class ArchiveContentFinder : IContentFinder
public bool TryFindContent(PublishedContentRequest contentRequest)
var path = contentRequest.Uri.GetAbsolutePathDecoded();
var db = ApplicationContext.Current.DatabaseContext.Database;
var archived = db.SingleOrDefault<Archive>("select * from archive where Url = @0 or Url = @1", path, path + "/");
View gist:f5c39a986435a64373fa38c3126a0262
### Keybase proof
I hereby claim:
* I am darrenferguson on github.
* I am darrenferguson ( on keybase.
* I have a public key whose fingerprint is 138F 786D 6C5D 3EE4 5429 94B1 3E81 F7EC F93D 9E48
To claim this, I am signing this object:
View MyPublishedContent.cs
public class MyPublishedContent : PublishedContentBase
public MyPublishedContent(string xml)
var doc = new XmlDocument();
_xmlNode = doc.DocumentElement;
private readonly XmlNode _xmlNode;