Archive 2017

Synthesis Solr Support Now Available (Beta)

Published at December 27, 2017 ·  2 min read

Solr Support is Finally Here! History Three years ago, Jeff Darchuk set out with a mission: Add Solr Support to Synthesis. It was nearly finished, but the pull request never made it in. It’s been a requested feature for quite some time, and I’m happy to announce it’s finally here! What’s the Deal? I’m releasing support for Solr in Synthesis 8.2.7. It’s up on NuGet as a new package: Synthesis.Solr. I am planning on leaving it in beta for about a month....


Synthesis: The Road Ahead

Published at November 19, 2017 ·  3 min read

A couple months ago, Kam Figy joined a team of elite superheros known as the “The X Factor.” Wait… actually I think it’s “The X Team”? “X-Files”? I’m not sure. Go ask him. All I know is he’s off to do amazing things that will advance Sitecore in unimaginable ways in some super secret bunker in Cheyenne Mountain. Anyway, alongside that announcement, he mentioned that he was entrusting ownership of two of his most cherished, most famous, and most widely used repositories to me....


Checking for Experience Explorer Context in Sitecore 9

Published at November 3, 2017 ·  1 min read

With the release of Sitecore 9, a underappreciated DLL was removed: Sitecore.ExperienceExplorer.Business.dll. I’ve honestly never paid much attention to that DLL. The one thing I used it for, however, was determining if the current context was Experience Explorer. Synthesis made use of this: public class SitecoreRenderingContext : IRenderingContext { ... public bool IsExperienceExplorer => Sitecore.ExperienceExplorer.Business.Managers.ModuleManager.IsExpViewModeActive; ... } The new way of handling this is via the IsExplorerMode method in the ExplorerContext class....


Creating Custom Server Roles in Sitecore 9

Published at October 26, 2017 ·  2 min read

Sitecore 9 brings about a new feature: Server Roles. This is actually one of the features I was most excited about. What is a Server Role? Sitecore 9 ships with 5 server roles: ContentManagement, ContentDelivery, Processing, Reporting, Standalone. You can read more about what each role is used for from their documentation page. Using these server roles, you can conditionally load sections of configuration based off the server role. Rob Ahnemann wrote a more in-depth blog post that you should check out if you want more information on what you can do with server roles....


Autowiring XConnect Models

Published at October 24, 2017 ·  3 min read

I’ve been playing around with XConnect for the last few weeks and so far I like what I see. While playing around with custom models, I noticed that model schemas need to be manually registered. While not actually a big deal, this is an additional step that can be forgotten. I prefer to eliminate these “forgettable” tasks. I sought to determine a way of automatically wiring in these models. I’m pretty handy with reflection and figured if I could tag these models with an attribute, I could figure something out....


Tips and Tricks: Git Check-Ignore

Published at July 25, 2017 ·  1 min read

Have you ever found yourself wondering “why in the world is git ignoring this file!?” Have you spent countless minutes combing over every line of a .gitignore to try to determine what obscure rule is preventing your file from being committed? I have something that can help! It’s called git check-ignore and it will CHANGE. YOUR. LIFE! (your results may vary)If you haven’t heard about the git check-ignore command, you’re missing out on an underappreciated git command....


Get to Know a Pipeline: GetMediaCreatorOptions

Published at May 31, 2017 ·  2 min read

Background I was building a feature the other day that involved overriding something in the Sitecore file watcher. I needed to set some custom behavior in the MediaCreator to watch for a specific file being dropped into the /upload folder. Small disclaimer: I ultimately didn’t end up using this at all, but I still learned a bit about a pipeline that I thought was kinda neat. Discovery The file watcher calls MediaCreator's FileCreated method at some point in the process....


What Helix is NOT

Published at March 31, 2017 ·  3 min read

Last week I had the pleasure of attending a workshop on Helix, presented by Derek Correia. The mindset I had going into this was “I’ve seen the presentations, I’ve been working with Helix a bit, this will be nothing new.” I was pleasantly surprised to be wrong. If you’re not already aware, Helix is Sitecore’s recommended set of design principles. You can see a live example of Helix by checking out the Habitat demo....


Octopus: Build Once, Deploy Many

Published at February 20, 2017 ·  4 min read

The Problem I had to setup a production environment for a client who had a development environment, a QA CM, two QA CD’s, a production CM, and 2 production CD’s. These machines are behind all sorts of firewalls and on different subnets. The normal robocopy procedure wouldn’t have been easy. On top of that, the build in Jenkins takes about 10 minutes to complete. Simple math: 10 minutes x 7 targets = 70 minutes....