Wednesday, February 15, 2012

Sitecore Data Reuse Talk

Here's my talk today on Sitecore data reuse options:

The slides can be viewed or downloaded here.

Tuesday, February 14, 2012

Sitecore Data Reuse Links

I will be presenting a talk on Data Reuse for the Sitecore Users Virtual Group tomorrow, Wednesday February 15 at Noon Eastern time. I'll be reviewing the options that Sitecore offers for data reuse: aliases, proxies, clones, wildcards, and pipeline handlers. I'll post a link to a video when it is available; in the meantime, I thought it would be useful to post the "Further Reading" links here:

Saturday, February 11, 2012

Some validation weirdness with Office Core

This one had me stumped for a bit.  I'm putting together some walkthroughs with Office Core on Sitecore 6.4.1 build 5, and whenever I tried to publish, I would get stopped in my tracks by the following validation error:

Sunday, February 5, 2012

Clones, Versions, and Shared Fields

In Sitecore's release notes for 6.4.1 build 3 (110720), there's an interesting, if somewhat cryptic, announcement:
Clones are now treated as a whole instead of version-by-version, meaning that all versions on the cloned item must refer to the same source item. It is no longer supported that different versions on the cloned item point to different source items or that some versions on a clone do not refer to any source item. This restriction removes potential confusion about which items clones are referencing, and ensures that the value of shared fields is well-defined. If any existing clones in a solution reference different source items, the behavior of shared fields is undefined for these clones.
So, what does this mean? It's clear why shared fields could be a thorny issue for clones.  Unlike a proxy, which is a  copy of the original item in all regards except ID and path, the clone is an independent item with special  rules for the interpretation of null fields.

The Problem
The connection between a clone and its source is defined through the "__Source" field.  Basically, when the source field points to another item, Sitecore uses this item, rather than Standard Values, to pull default values for fields. The problem is that "__Source" is a versioned field, so there is nothing to prevent different versions of a clone from pointing to different objects, or having one version be uncloned.