Skip to content

Value mappers

Value Mappers control the mapping of content property values in and out of Umbraco.


For most properties we don't need to map values but occasionaly a value might contain an internal ID or something else that need to be turned into something more generic.


A far more common requirement is to get a list of dependencies for a property. Dependencies are used by uSync.Exporter and uSync.Publisher when calculating what additional items to include for syncing content.


All value mappers need to implement the ISyncMapper interface

    public interface ISyncMapper
        string Name { get; }
        string[] Editors {get;}

        bool IsMapper(PropertyType propertyType);

        string GetExportValue(object value, string editorAlias);
        string GetImportValue(string value, string editorAlias);

        IEnumerable<uSyncDependency> GetDependencies(
            object value, 
            string editorAlias, 
            DependencyFlags flags);
Value Note
Name Name for the Mapper, will appear in logs to aid debugging
Editors Collection of EditorAliases for the DataTypes that the mapper handles
IsMapper Confirms that this Mapper will map the propertyType supplied


To aid with ValueMapper implimentation, you should use the SyncValueMapperBase Class from the uSync.ContentMapper assembly. This base class handles some of the repetitvie elements and has helpers for dependency checks.


See the uSync Mappers Source for examples of how mappers can be implimented