Try our conversational search powered by Generative AI!

Yauheni Butsko
Jan 6, 2017
  4280
(1 votes)

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
{
    [InitializableModule]
    [ModuleDependency(typeof(EPiServer.Web.InitializationModule))]
    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)
                        continue;

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

Comments

Jan 10, 2017 11:22 AM

That might be useful for addons. Thanks!

Please login to comment.
Latest blogs
Azure AI Language – Sentiment Analysis in Optimizely CMS

In the following article, I showcase how sentiment analysis, which is part of the Azure AI Language service, can be used to detect the sentiment of...

Anil Patel | May 15, 2024 | Syndicated blog

Optimizely Data Platform Visitor Groups now supports multiple instances

The module V2.0 now supports multiple Optimizely Data Platform instances, allowing personalized content based on real-time segments and profile dat...

Andrew Markham | May 15, 2024 | Syndicated blog

IP block for edit and admin in DXP

Why IP-blocking edit/admin? A hacker can try to guess user names and passwords to gain access to your site. This risk can be minimized in a couple ...

Daniel Ovaska | May 15, 2024

Do not upgrade to EPiServer.CMS.Core 12.21.4 without reading this!

Todays update of EPiServer.CMS.Core 12.21.4 alters default sort order in an unexpected way, when you are working with muligple languages and have...

Tomas Hensrud Gulla | May 14, 2024 | Syndicated blog