Class DataExporter

Export pages to ziped XML format.

Inheritance
System.Object
DataExporter
Inherited Members
System.Object.ToString()
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
Namespace: EPiServer.Enterprise
Assembly: EPiServer.Enterprise.dll
Version: 9.12.2
Syntax
[ServiceConfiguration]
[ServiceConfiguration(typeof(IDataExporter), Lifecycle = ServiceInstanceScope.Transient)]
public class DataExporter : ExportImportBase, ITransferContext, IContentTransferContext, ITransferHandlerContext, IDataExporter, IDisposable
Examples

Example that demonstrates how to export a page to a file

Constructors

DataExporter()

Initializes a new instance of the DataExporter

Declaration
public DataExporter()

DataExporter(PropertyContentReferenceListTransform, PropertyJsonTransform)

Initializes the DataExporter class. And set up the default property transform event handlers for export.

Declaration
[Obsolete("Use alternative constructor")]
public DataExporter(PropertyContentReferenceListTransform propertyContentReferenceListTransform, PropertyJsonTransform propertyJsonTransform)
Parameters
Type Name Description
PropertyContentReferenceListTransform propertyContentReferenceListTransform
PropertyJsonTransform propertyJsonTransform

DataExporter(IDataExportEventsRaiser, IDataExportEvents, IVisitorGroupRepository, RawContentRetriever, IContentRepository, IPermanentLinkMapper, IContentTypeRepository, IContentProviderManager, ContentTypeAvailabilityService, IAvailableSettingsRepository, IContentTransfer)

Unsupported INTERNAL API! Not covered by semantic versioning; might change without notice. Initializes the DataExporter class. And set up the default property transform event handlers for export.

Declaration
public DataExporter(IDataExportEventsRaiser eventRegister, IDataExportEvents exportEvents, IVisitorGroupRepository visitorGroupRepository, RawContentRetriever rawContentRetriever, IContentRepository contentRepository, IPermanentLinkMapper permanentLinkMapper, IContentTypeRepository contentTypeRepository, IContentProviderManager contentProviderManager, ContentTypeAvailabilityService contentTypeAvailabilityService, IAvailableSettingsRepository availableSettingsRepository, IContentTransfer contentTransfer)
Parameters
Type Name Description
IDataExportEventsRaiser eventRegister
IDataExportEvents exportEvents
EPiServer.Personalization.VisitorGroups.IVisitorGroupRepository visitorGroupRepository
RawContentRetriever rawContentRetriever
IContentRepository contentRepository
IPermanentLinkMapper permanentLinkMapper
IContentTypeRepository contentTypeRepository
IContentProviderManager contentProviderManager
ContentTypeAvailabilityService contentTypeAvailabilityService
IAvailableSettingsRepository availableSettingsRepository
IContentTransfer contentTransfer

Fields

CategoryKey

Declaration
public const string CategoryKey = "Category"
Field Value
Type Description
System.String

ContentLanguageKey

Declaration
public const string ContentLanguageKey = "ContentLanguage"
Field Value
Type Description
System.String

ContentTypeKey

Declaration
public const string ContentTypeKey = "ContentType"
Field Value
Type Description
System.String

DynamicPropertyKey

Declaration
public const string DynamicPropertyKey = "DynamicProperty"
Field Value
Type Description
System.String

ExporterVersion

The exported file version.

Declaration
public const int ExporterVersion = 4
Field Value
Type Description
System.Int32

FrameKey

Declaration
public const string FrameKey = "Frame"
Field Value
Type Description
System.String

TabDefinitionKey

Declaration
public const string TabDefinitionKey = "TabDefinition"
Field Value
Type Description
System.String

VisitorGroupKey

Declaration
public const string VisitorGroupKey = "VisitorGroup"
Field Value
Type Description
System.String

Properties

Culture

Gets or sets the culture to use.

Declaration
public CultureInfo Culture { get; set; }
Property Value
Type Description
System.Globalization.CultureInfo

The culture.

ExportableItems

Can be used to add instances to the export package

Declaration
public IDictionary<string, IList> ExportableItems { get; }
Property Value
Type Description
System.Collections.Generic.IDictionary<System.String, System.Collections.IList>

A collection that instances can be added to

Remarks

Supported key/types are ContentType/ContentType, Category/Category, VisistorGroup/EPiServer.Personalization.VisitorGroups.VisitorGroup, TabDefinition/TabDefinition, Frame/Frame and ContentLanguages/System.Globalization.CultureInfo.

NumberOfExportedCategories

Declaration
public int NumberOfExportedCategories { get; }
Property Value
Type Description
System.Int32

NumberOfExportedContentTypes

Declaration
public int NumberOfExportedContentTypes { get; }
Property Value
Type Description
System.Int32

NumberOfExportedDynamicProperties

Declaration
public int NumberOfExportedDynamicProperties { get; }
Property Value
Type Description
System.Int32

NumberOfExportedFrames

Declaration
public int NumberOfExportedFrames { get; }
Property Value
Type Description
System.Int32

NumberOfExportedTabs

Declaration
public int NumberOfExportedTabs { get; }
Property Value
Type Description
System.Int32

NumberOfExportedVisitorGroup

Gets or sets the number of exported visitor group.

Declaration
public int NumberOfExportedVisitorGroup { get; }
Property Value
Type Description
System.Int32

The number of exported visitor group.

RequiredSourceAccess

Gets or sets the required access level for page exporting.

Declaration
public AccessLevel RequiredSourceAccess { get; set; }
Property Value
Type Description
AccessLevel

The required source access.

Status

Gets status information about the ongoing export job

Declaration
public IExportStatus Status { get; }
Property Value
Type Description
IExportStatus

Methods

Close()

Closes the under laying XML writer.

Declaration
public void Close()

Dispose()

Disposes the exporter and close the under laying XML writer.

Declaration
public void Dispose()

Export()

Starting the export. The export can be done several times to empty the exporter.

Declaration
public void Export()

Export(Stream, IEnumerable<ExportSource>, ExportOptions)

Export the specified data to an export package specified by System.IO.Stream

Declaration
public ITransferLog Export(Stream stream, IEnumerable<ExportSource> sourceRoots, ExportOptions options)
Parameters
Type Name Description
System.IO.Stream stream

The stream to where the export packages is saved

System.Collections.Generic.IEnumerable<ExportSource> sourceRoots

The list of content roots to export

ExportOptions options

Specify settings for how the export should be done

Returns
Type Description
ITransferLog
Remarks

Potential errors and warnings are logged to returned logger

Continuous progress can be retreieved from Status.

ExportContent(XmlTextWriter, ContentReference, IContentTransferContext, ITransferContentData)

Exports one content item to the XML writer.

Declaration
protected virtual void ExportContent(XmlTextWriter xml, ContentReference contentToExport, IContentTransferContext context, ITransferContentData transferContent)
Parameters
Type Name Description
System.Xml.XmlTextWriter xml

The XML.

ContentReference contentToExport

The content to export.

IContentTransferContext context

The context.

ITransferContentData transferContent

Content of the transfer.

Finalize()

Declaration
protected void Finalize()

GetRawContentInfo(ContentReference)

Gets the RawContentInfo corresponding to the referenced content

Declaration
protected RawContentInfo GetRawContentInfo(ContentReference contentLink)
Parameters
Type Name Description
ContentReference contentLink

The content link.

Returns
Type Description
RawContentInfo

A RawPageInfo instance

GetRawPageInfo(PageReference)

Declaration
[Obsolete("Use GetRawContentInfo instead")]
protected RawPageInfo GetRawPageInfo(PageReference pageLink)
Parameters
Type Name Description
PageReference pageLink
Returns
Type Description
RawPageInfo

NotifyDynamicPropertiesExporting(IList<PropertyDefinition>)

Notifies the transfer handlers about transfering of dynamic properties.

Declaration
protected virtual void NotifyDynamicPropertiesExporting(IList<PropertyDefinition> propertyDefinitions)
Parameters
Type Name Description
System.Collections.Generic.IList<PropertyDefinition> propertyDefinitions

The property definitions.

NotifyExportHandlers(ITransferContentData)

Notifies the transfer handlers about transfering of page.

Declaration
protected virtual void NotifyExportHandlers(ITransferContentData transferContent)
Parameters
Type Name Description
ITransferContentData transferContent

The transfer page.

NotifyExportHandlers(IEnumerable<ContentType>)

Notifies the transfer handlers about transfering of blocktypes.

Declaration
protected virtual void NotifyExportHandlers(IEnumerable<ContentType> conentTypes)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<ContentType> conentTypes

The blocktypes.

OnExportProperty(TransformPropertyEventArgs)

Raises the ExportPropertyEvent event.

Declaration
public override void OnExportProperty(TransformPropertyEventArgs e)
Parameters
Type Name Description
TransformPropertyEventArgs e

The TransformPropertyEventArgs instance containing the event data to export a property.

Overrides

Events

ContentExported

Occurs after a file has been exported

Declaration
[Obsolete("Use IDataExporterEvents to register to event handlers")]
public static event ContentExportedEventHandler ContentExported
Event Type
Type Description
ContentExportedEventHandler

ContentExporting

Occurs before a content item is exported

Declaration
[Obsolete("Use IDataExporterEvents to register to event handlers")]
public static event ContentExportingEventHandler ContentExporting
Event Type
Type Description
ContentExportingEventHandler

Exporting

Occurs before an export action is triggered.

Declaration
[Obsolete("Use IDataExporterEvents to register to event handlers")]
public static event EventHandler Exporting
Event Type
Type Description
System.EventHandler

ExportPropertyEvent

Event to handle the export of properties. To add an export transformation for for a property you have to add a event handler for it:

ExportPropertyEvent += new EventHandler<TransformPropertyEventArgs>(MyProperty.ExportEventHandler);
public static void ExportEventHandler(object sender, TransformPropertyEventArgs e)

{ IContentTransferContext transferContext = sender as IPageTransferContext; if (transferContext == null // The transfer context should not be null || e == null // The event args shuld exists
|| e.IsHandled // and not be handled by another handler || e.PropertySource == null // and the property type should be the correct type. || e.PropertySource.TypeName == null || e.PropertySource.TypeName.CompareTo("Development.MyProperty") != 0) { return; }

//TODO: Write export transformation code for MyProperty

e.IsHandled = true; // Signal that its handled to all other Export event handlers. }

Declaration
[Obsolete("Use IDataExporterEvents to register to event handlers")]
public static event EventHandler<TransformPropertyEventArgs> ExportPropertyEvent
Event Type
Type Description
System.EventHandler<TransformPropertyEventArgs>

FileExported

Occurs after a file has been exported

Declaration
[Obsolete("Use IDataExporterEvents to register to event handlers")]
public static event FileExportedEventHandler FileExported
Event Type
Type Description
FileExportedEventHandler

FileExporting

Occurs before a file is exported

Declaration
[Obsolete("Use IDataExporterEvents to register to event handlers")]
public static event FileExportingEventHandler FileExporting
Event Type
Type Description
FileExportingEventHandler

PageExported

Occurs after a page has been exported

Declaration
[Obsolete("Use ContentExported instead")]
public static event PageExportedEventHandler PageExported
Event Type
Type Description
PageExportedEventHandler

PageExporting

Occurs before a page is exported

Declaration
[Obsolete("Use ContentExporting instead")]
public static event PageExportingEventHandler PageExporting
Event Type
Type Description
PageExportingEventHandler

ParsingUrl

Occurs every time a relative URL is found in a property.

Declaration
public static event ParseUrlEventHandler ParsingUrl
Event Type
Type Description
ParseUrlEventHandler
Remarks

The source of this event may not always be a DataExporter class, it is also used during a HTML mirroring.

Implements

System.IDisposable

Extension Methods