# SharePoint migration connector

Migrates documents from source SharePoint sites to target SharePoint sites with full content type, permission, and metadata preservation.

DLL: Epona.Migrate.Sharepoint.dll

# What it does

  • Site-to-site transfer — copies documents from source to target SharePoint environments
  • Folder structure mapping — reorganizes content during migration
  • Content type mapping — converts source content types to target types
  • Permission migration — transfers folder and document-level permissions
  • Version preservation — optionally migrates document version history
  • Metadata mapping — maps source fields to target column names
  • Date filtering — migrates only documents matching date ranges
  • Error recovery — detailed logging for troubleshooting migration issues

# Prerequisites

  • Source SharePoint site collection configured in Epona.Sharepoint configuration
  • Target SharePoint site collection provisioned with document libraries
  • Administrator credentials for both source and target environments
  • Content types pre-configured in target SharePoint

# Deployment

  1. Copy Epona.Migrate.Sharepoint.dll to the Epona.Migrate application directory
  2. Restart Epona.Migrate or reload connectors
  3. Configure source and target SharePoint settings in the migration UI

# Configuration

# Global settings

# Name

  • Type: string
  • Required: Yes
  • Description: Unique name for this migration configuration

# SourceSharepointConfigName

  • Type: string
  • Required: Yes
  • Description: Name of the source SharePoint configuration to migrate from

# Debug

  • Type: boolean
  • Required:
  • Description: Enable debug logging

# Matter/code mapping

# ClientMatterSeparator

  • Type: char
  • Default: @
  • Description: Character separating client and matter codes in folder paths

# CombineClientAndMatterCodeToMatterCode

  • Type: string
  • Default:
  • Description: If set, combine client and matter into single code using this pattern

# Folder and content filtering

# ImportEmptyFolder

  • Type: boolean
  • Default: false
  • Description: Import folders containing no documents

# CreateEmptyDirectories

  • Type: boolean
  • Default: false
  • Description: Create empty folders in target

# Permission migration

# ImportFolderPermissions

  • Type: boolean
  • Default: false
  • Description: Migrate folder-level permissions to target

# ImportDocumentPermissions

  • Type: boolean
  • Default: false
  • Description: Migrate document-level permissions to target

# Document version handling

# ImportOnlyLatestVersion

  • Type: boolean
  • Default: false
  • Description: Import only latest version of documents (skip version history)

# ImportDocumentMinimalDateTime

  • Type: DateTime
  • Default:
  • Description: Only import documents created or modified after this date

# ImportDocumentMinimalDateTimeUseModifyDate

  • Type: boolean
  • Default: false
  • Description: Use modified date instead of created date for filtering

# Search and content type mapping

# UseSearchToFetchFolders

  • Type: boolean
  • Default: false
  • Description: Use SharePoint Search API to enumerate folders (slower but may work better in large sites)

# ReplaceContentTypes

  • Type: string
  • Default: Document=DMS Document
  • Description: Maps source content types to target types (format: source=target;)

# Folder and path mapping

# ReplaceFolders

  • Type: string
  • Description: Path mapping for folder reorganization (format: oldpath=newpath;)

# Metadata column mapping

# DocumentNumber

  • Type: string
  • Description: SharePoint column name for document number (without version)

# DocumentNumberVersion

  • Type: string
  • Description: SharePoint column name for document number with version

# DocumentVersion

  • Type: string
  • Description: SharePoint column name for version number only

# FieldMapping

  • Type: string
  • Description: Maps source fields to target column names (format: sourceField=targetField;)

# FieldValueMapping

  • Type: FieldValues (list)
  • Description: Maps field values from source to target (e.g., status values, codes)

# Migration workflow

  1. Connect — authenticate to source and target SharePoint
  2. Enumerate — scan source folder structure and documents
  3. Filter — apply date range, folder, and content type rules
  4. Validate — verify content type mappings and folder mappings
  5. Plan — review scope, permissions, and metadata mapping
  6. Execute — transfer documents with versions, metadata, and permissions
  7. Verify — validate completeness and permission accuracy

# SharePoint specific features

# Source site configuration

The source SharePoint environment must be configured in the main Epona.Sharepoint configuration:

  • Specify the source site collection URL
  • Configure authentication method
  • Set up the source as a separate SharePoint configuration entry

# Content type mapping

Source content types must be mapped to target content types:

  • Default mapping: Document=DMS Document
  • Custom types require explicit mapping
  • Unmapped documents use default mapping
  • All target content types must pre-exist in target site

# Folder organization

The migration connector can reorganize documents during transfer:

  • Existing folder structure can be preserved
  • Folder paths can be renamed or reorganized
  • Empty folders may be created or skipped
  • Matter hierarchy can be imposed during migration

# Permission transfer

SharePoint permissions are preserved from source to target:

  • Folder-level permissions break inheritance
  • Document-level permissions preserved where needed
  • Permission translation handles role differences
  • Broken inheritance is maintained in target

# Metadata mapping

Source fields are mapped to target columns:

  • Field name mapping translates column names
  • Field value mapping translates option values
  • Built-in columns (Author, Created, Modified) preserved automatically
  • Custom fields require explicit mapping

# Date-based filtering

Documents can be filtered by creation or modification date:

  • Useful for phased migrations
  • Can exclude recent documents during pilot
  • Helpful for large migrations

# Troubleshooting

# Common issues

# Cannot connect to source

  • Cause: Wrong configuration name
  • Resolution: Verify SourceSharepointConfigName matches exactly

# Content type mapping fails

  • Cause: Content type missing in target
  • Resolution: Create missing content types in target before migration

# Permissions not transferred

  • Cause: ImportFolderPermissions/ImportDocumentPermissions disabled
  • Resolution: Enable permission options in configuration

# Slow enumeration

  • Cause: Large site or UseSearchToFetchFolders=false
  • Resolution: Enable Search API option or increase timeout settings

# Field mapping not working

  • Cause: Column names mismatch
  • Resolution: Verify exact column names in both source and target
Last Updated: 4/20/2026, 12:54:05 PM