blog

Welcome to my blog! Feel free to message me if you have any questions, or comments that you do not want to post on the articles. I typically respond to comments on posts within 24 hours.

Bug Found when Trying to Filter Items Displayed in Treelists by Template ID in Sitecore 8.1
by Zachary Kniebel
Nov 15, 2016   Sitecore bug found in Sitecore 8.1 Update 2 when trying to use IDs with the IncludeTemplatesForDisplay and ExcludeTemplatesForDisplay Treelist field parameters.
(0) Comments
Creating a Preview Environment for your Content Authors in Sitecore
by Zachary Kniebel
Aug 23, 2016   It's not always easy for Content Authors to check their work using the Experience Editor or Sitecore's Preview feature, especially when using workflow. Sometimes, there's just no substitute for seeing the content on the site, itself. In this post, I will show you how you can easily set up a Preview environment for your Content Authors in a way that doesn't require any additional licensing and given the client the ability to even preview items not in the final workflow state.
(0) Comments
Controlling Sitecore HTML Caching Variance with the Rules Engine
by Zachary Kniebel
Jul 31, 2016   In my last post, Getting Started with Sitecore's HTML Caching (Part 2), I showed you how to use HTML Caching and went over the various OOTB options that you have for controlling it in your solution. In this third and final post in the series, I will be going over how you can extend Sitecore's HTML caching to support my favorite feature in all of Sitecore: the Rules Engine.
(0) Comments
Getting Started with Sitecore's HTML Caching
by Zachary Kniebel
Jul 21, 2016   In my last post, The Underworld of Sitecore Caching (Part 1), I went over each of the different Sitecore Caches, what they do and how they work. In this post, I will be going over HTML Caching, its use and the various OOTB options that you have for controlling it in your solution.
(0) Comments
The Underworld of Sitecore Caching: An Overview of Sitecore Caches
by Zachary Kniebel
Jul 13, 2016   While working on a connector for a third-party integration, I was forced to take a nice, long stroll through the underworld of Sitecore Caching. As I progressed, the hardest part to keep straight was what the different caches are for and what the caching lifecycle actually looks like. In this post, I will summarize the notes that I found online and the observations that I made from the code itself on the different Sitecore Caches.
(0) Comments
Using the Sitecore LinkManager for Creating Site-Aware Logic
by Zachary Kniebel
Jul 07, 2016   One of the biggest challenges that I've faced on multi-site Sitecore solutions is creating site-aware features in contexts that are not site-aware, by default. Sitecore 8 has a lot of improvements for site-awareness, in components like Preview and the Experience Editors, but what about older versions, like Sitecore 7? Well, it turns out that the solution may be much easier than you think!
(0) Comments
Fixing an Issue with Add To Placeholder Flag Not Displaying in the Sitecore Experience Editor
by Zachary Kniebel
Jun 28, 2016   Over the last couple of weeks, several of my developers have come to me for help with figuring out why the "Add to Placeholder" flag was missing on some of their placeholders, in the Sitecore Experience Editor. In this post, I will show the setting in Sitecore that fixes the issue.
(0) Comments
Creating a Custom Sitecore WFFM Field Rule Action
by Zachary Kniebel
Jun 17, 2016   Sitecore's Web Forms for Marketers module (WFFM) ships with OOTB support for field-based rules. They include actions for setting default field values from a User Profile field, a visitor tag and a querystring, but what if we want to make our own that can retrieve a different value? Today, I will show you how to write a generic and flexible WFFM Field Action that will enable you to set a field's default value to the value of any property on the User Profile.
(0) Comments
Creating a Multi-Root Treelist Field in Sitecore
by Zachary Kniebel
Jun 06, 2016   Sitecore's Treelist field is an excellent way to select items that live under a common root node, but what if we want to select items from multiple root nodes? Moreover, what if we want to be able to use datasource parameters with our Sitecore queries? This post will provide you will a custom field type that you can use to do just that.
(1) Comment
How to Copy Sitecore Presentation Details from Shared to Final Layout
by Zachary Kniebel
May 20, 2016   Sitecore includes support for copying presentation details from one item to another, but what about copying an item's Shared Layout to its Final Layout? In this post, I will share a quick tip that will enable you to do just that.
(0) Comments
Avoiding jQuery Version Conflicts when Working with Siteore WFFM
by Zachary Kniebel
May 03, 2016   If you have ever used Sitecore's WFFM module, you are probably aware that it ships with a version of jQuery that cannot be upgraded and is probably incompatible with your own. Fortunately, there is a solution! In this post, I will go over the solution and two different ways to use it, depending on your implementation.
(2) Comments
Running Custom Logic When User Is Added to a Role
by Zachary Kniebel
Apr 13, 2016   A coworker recently asked me how he could fire off some custom logic when a user is added to a particular role. In this post, I will discuss the events that you will want to tap into in order to do this.
(0) Comments
Using Sitecore's New AddFromTemplate Item Provider Pipeline
by Zachary Kniebel
Mar 30, 2016   With the release of SXP 8, Sitecore included a new set of item provider pipelines that are incredibly useful. Today, I will show you how you can write a processor for the new <addFromTemplate> pipeline.
(0) Comments
Hiding Sitecore Items from the Content Author without Modifying Securities
by Zachary Kniebel
Feb 11, 2016   Have you ever wanted to hide an item from your Content Authors for sake of their convenience? In this post, I will show you how you can do just that without modifying Sitecore securities!
(0) Comments
Improving the Authoring Experience with Sitecore Field Label Decorators
by Zachary Kniebel
Jan 19, 2016   On any Sitecore project, one of the greatest challenges that architects and developers face is keeping things simple for the Content Author. Today, I will show you how to provide your Content Authors with helpful guidance displayed for each field in the editor, itself, using OOTB features.
(0) Comments
Evenly Spacing Columns with Only CSS
by Zachary Kniebel
Feb 24, 2015  

As responsive, tile and grid-driven design continue to dominate the modern web, evenly spacing elements in a fluid layout with maximum cross-browser support is a must. In this post, I will show how this can be achieved using nothing but HTML and CSS (LESS version included, as well, in reusable mixin form), using a technique that is supported by IE6+ and all major browsers!

(1) Comment
The Item Property of Sitecore Web Controls
by Zachary Kniebel
Aug 21, 2014  

In today's Sitecore Tip of the Day I will discuss the Item property of Sitecore web controls, including what it is, how to use it, and how it works by default.

(150) Comments
Configuring the Custom Item Generator to Support the Multilist with Search Field Type
by Zachary Kniebel
Aug 08, 2014  

In today's Sitecore Tip of the Day I will discuss how to configure the Custom Item Generator to correctly map the Multilist with Search field type.

(0) Comments
Ensuring Valid Item Names When Programmatically Creating Items
by Zachary Kniebel
Aug 06, 2014  

In today's Sitecore Tip of the Day, I will discuss the ItemUtil.ProposeValidItemName() method for creating Sitecore items with valid names.

(0) Comments
The Difference Between jQuery '.data()' and '.attr()' for Data Attributes
by Zachary Kniebel
Jul 24, 2014  

Have you ever noticed that when you retrieve data-attribute values with jQuery's .data() call, sometimes the values returned are not the current values of the attribute? Today I will discuss the strengths and pitfalls of jQuery's .data() call and .attr() call, as well as when each should be used.

(1) Comment
Bug Found with Filtering by Template Name in Sitecore 7.0's Multilist with Search Field
by Zachary Kniebel
Jul 16, 2014  

In today's Sitecore Tip of the Day, I will discuss the bug found with Sitecore 7.0's _templatename filter parameter for the Multilist with Search field, as well as a couple of workarounds provided by Sitecore support.

(1) Comment
Treelist with Search Deprecated in Sitecore 7.2
by Zachary Kniebel
Jul 15, 2014  

In today's Sitecore Tip of the Day, I discuss what to do now that the new Treelist with Search field type has been deprecated in Sitecore 7.2.

(0) Comments
Constraining the Sitecore 7 Multilist and Treelist Fields with and without Search
by Zachary Kniebel
Jun 26, 2014  

In today's Sitecore Tip of the Day I will go over the new parameters for the Multilist with Search and Treelist with Search fields that were added in Sitecore 7.

(3) Comments
Automatically Casting the DataSource in Sublayouts when Using CIG
by Zachary Kniebel
Jun 25, 2014  

In today's Sitecore Tip of the Day, I will show you how to use Reflection to extend the BaseSublayout so that it will automatically cast your DataSource to its CustomItem type.

(0) Comments
Controlling the Maximum Number of Items in a Sitecore Query Result Set
by Zachary Kniebel
Jun 24, 2014  

In today's Sitecore Tip of the Day I discuss how to control the limit on the number of items in a query result set.

(0) Comments
Supporting the Page Editor When Using CIG
by Zachary Kniebel
Jun 23, 2014  

Here's my quick Sitecore Tip of the Day to help you when using the Custom Item Generator Module. Have you ever had trouble supporting the Sitecore Page Editor when using CIG?

(0) Comments
Troubleshooting Missing Data from Page in Sitecore
by Zachary Kniebel
Jun 21, 2014  

While there is a lot of readily available information to help teach novice Sitecore developers the possible ways to debug and troubleshoot issues, I have not seen much information explicitly aimed at suggesting a troubleshooting process. Of course, this is some what opinion-based I have found that having a basic troubleshooting process to start from reduces troubleshooting time and effort, as well as provides newer developers with a quick reference for finding and resolving common mistakes.

(0) Comments
jQuery Mobile Collapsible Widget Events - Mistake in Documentation
by Zachary Kniebel
Jun 18, 2014  

There is a mistake in the documentation for jQuery Mobile 1.3.1 for the Collapsible Widget. The documentation states that the collapsiblecollapse and collapsibleexpand events are fired when "collapsible" content is collapsed or expanded, respectively. However, the actual events that are fired are collapse and expand, respectively.

(0) Comments
Dynamic Form Fields in 6 Steps in WFFM
by Zachary Kniebel
Jun 04, 2014  

Learn how to leverage the Web Forms for Marketers Module's use of Sitecore's Rules Engine to make dynamic form fields, customizing validation and visibility of controls based on another control's value, in just 6 simple steps!

(2) Comments
Resolve Run32dll Missing Error
by Zachary Kniebel
Jan 15, 2014  

Recently, I experienced an issue involving a missing Run32dll error, missing or broken taskbar icons, new application launch failures, and more, after installing a new program on my computer. If you are having any some or all of these issues, this post may be of some help.

(0) Comments
Maximizing Image Quality on Retina Displays
by Zachary Kniebel
Jul 23, 2013  

As the number of requests for sites designed for maximum compatibility with the extreme High Definition of the Retina Display, web designers and front-end developers are forced to load high-quality images onto their sites at double the normal size, and adjust their display dimensions to render correctly on both Retina and non-Retina displays. This article describes this technique in detail, and seeks to provide designers and developers with the information needed to fully understand the difference between designing for Retina and non-Retina displays.

(0) Comments
Solving the C# Bug When Recursively Deleting Directories
by Zachary Kniebel
Jun 21, 2013  

C# has a bug in which it sometimes throws an IOException (Message: "The directory is not empty") when attempting to delete a directory with the recursive option set to True . This post lists some of the causes of this issue and provides a workaround for it.

(2) Comments
Using jQuery Colorbox with Images Stored in Sitecore
by Zachary Kniebel
May 20, 2013  

Sitecore's use of an 'ashx' handler to get images can be a problem for the Colorbox plugin, which uses a RegEx to determine the image's type, from the URL. There is, however, both a Sitecore and a Colorbox solution to this issue.

(2) Comments
Sitecore FieldRenderer - Images and the CssClass Bug
by Zachary Kniebel
May 03, 2013  

I just came across an interesting bug in Sitecore, in which the CssClass property of the FieldRenderer does not work when rendering an image.

(1) Comment
CSS @font-face in Internet Explorer
by Zachary Kniebel
Feb 11, 2013  

When embedding fonts, IE will occasionally complain that the OpenType Embedding Permissions Check failed. This typically occurs with licensed fonts, and is Microsoft's way of preventing you from using a protected font. The problem is that this sometimes occurs when you do have the necessary license, permission, etc.

(6) Comments