Views: 2918
Number of votes: 1
Average rating:

How to export/import DDS items

Episerver has functionality for export/import DDS items and use it for export/import property settings.

This code shows how to export custom DDS types. You don't need to do anything for import.

using System;
using System.Linq;
using EPiServer.Core.Transfer;
using EPiServer.Data;
using EPiServer.Data.Dynamic;
using EPiServer.Enterprise;
using EPiServer.Framework;
using EPiServer.Framework.Initialization;

namespace DDSExport
    public class DDSExportInitialization : IInitializableModule
        private readonly Type[] _typesToExport =
            typeof(StoreType1), typeof(StoreType2)

        public void Initialize(InitializationEngine context)
            context.Locate.Advanced.GetInstance<IDataExportEvents>().ContentExporting += OnExporting;

        public void Uninitialize(InitializationEngine context)
            context.Locate.Advanced.GetInstance<IDataExportEvents>().ContentExporting -= OnExporting;

        private void OnExporting(object sender, EventArgs e)
            var exporter = (DataExporter) sender;
            if (exporter.TransferType == TypeOfTransfer.Exporting)
                var ddsHandler = exporter.TransferHandlers.OfType<DynamicDataTransferHandler>().Single();

                foreach (var type in _typesToExport)
                    var store = type.GetStore();
                    if (store == null)

                    foreach (var item in store.Items())
                        ddsHandler.AddToExport(item.GetIdentity().ExternalId, store.Name);
Jan 06, 2017

( 1/10/2017 11:22:02 AM)

That might be useful for addons. Thanks!

Please login to comment.