Might be a newbie question.
We have a case that there will be many blocks that is similar.
Eg. block 1 is a subset of block 2.
I wonder if anyone have tried to copy content from one block to another?
Maybe you could try to prepare generic extension methods responsible for copying one content another. The code could look like this (I didn't tested it - it's just a draft):
public static class BlockExtensions
public static T Copy<T>(this IContentRepository contentRepository, IContent sourceContent) where T : IContentData
var targetContent = contentRepository.GetDefault<T>(sourceContent.ParentLink);
public static void Copy(IContent sourceContent, IContentData targetContent)
foreach (var targetProperty in targetContent.Property)
var type = MetaDataProperties.GetInterfaceForPageDataMetaDataProperty(targetProperty.Name);
if (type == null || type == typeof (ILegacyResourceable))
var sourceProp = sourceContent.Property[targetProperty.Name];
if (sourceProp != null)
targetProperty.Value = sourceProp.Value;
The method will copy all properties except version specific values (like id, guid, language, etc.)
Cant you use one block as master of all content and them user partials to present them differently, with this approach its easier to structure your content an minimize the amount of blocks?
Pär, by partials you mean to use tagging instructing EPiServer to pick anoter template in different cases?
Yes that was my thought.