menu_book User Guide

Migration Control Center

Complete reference for every feature, workflow, and function in the MCC platform β€” from first login through final archive. Use the sidebar to jump to any section.

lock_open 1. Login & Authentication

MCC is secured by Microsoft Entra ID (formerly Azure AD). No account creation is required β€” your Harris Computer Microsoft account is your identity.

MCC Login Screen

The authentication gate is shown before the app shell is rendered.

  1. 1Navigate to the MCC application URL in your browser.
  2. 2The app checks your session immediately. If you are not authenticated, the Sign In Required overlay appears automatically β€” the full application layout is hidden until authentication is confirmed.
  3. 3Click "Sign In with Microsoft". This triggers an MSAL (Microsoft Authentication Library) popup or redirect to the Microsoft login page.
  4. 4Enter your Microsoft credentials and, if required, approve the sign-in via Microsoft Authenticator or SMS MFA.
  5. 5MCC requests the following Graph API permission scopes: User.Read, Sites.ReadWrite.All, and AuditLog.Read.All. You may be asked to consent on first login.
  6. 6Once authenticated, the auth gate fades and the main Dashboard is rendered. Your display name appears in the top-right corner.
info Your login session is cached by MSAL in the browser's session storage. Closing and reopening the tab within the same browser session will restore your login without re-prompting.

dashboard 2. The Dashboard

The Dashboard is your command center. It aggregates live data from SharePoint and gives you immediate visibility into all active migration projects.

Dashboard Overview

The dashboard loads project cards directly from SharePoint via the Microsoft Graph API.

menuLeft Sidebar Navigation

Dashboard
The home view. Shows the project card carousel with statistics. Navigating here clears the active project context and stops any background polling.
Advanced Reporting
Opens the global audit log table. Loads all migration log entries across all projects from SharePoint on demand.
FLY Platform
External link to fly.avepointonlineservices.com β€” the AvePoint FLY migration tool. Opens in a new tab so your MCC session is preserved.
Archived Projects
Filters the project card list to show only projects with a status of Archived. The same dashboard view is used β€” only the filter changes.

bar_chartStatistics Cards

The five counters at the top of the dashboard are computed live from the full project dataset as it loads from SharePoint:

folder_openActive Projects

Count of project cards whose ProjectStatus field is not Archived.

groupsTotal Objects

Sum of all rows in the Migration Master list across every active project.

personUsers

Objects where ObjectType is User, UserMailbox, or MailUser.

inboxShared Mailboxes

Objects where ObjectType is SharedMailbox.

group_workGroups & DLs

Objects where ObjectType is DistributionList or SecurityGroup.

buildQuick Actions Toolbar

Search Projects
Filters project cards in real time by project name, customer name, or target domain. Matching is case-insensitive. A clear (Γ—) button appears when a query is active.
New Project
Opens the New Project wizard modal. Creates a new item in the SharePoint Projects list. See Section 3 for full details.
Convert Excel to Master CSV
Opens a file picker for Excel files. Parses all sheets, auto-maps columns with confidence scoring, and provides a preview. See Section 9 for full details.
Download Template
Downloads a blank Master CSV file with all required column headers pre-filled so you can populate it manually. The template is the authoritative schema reference.
Refresh
Forces a full reload of projects and migration objects from SharePoint. Useful after another team member has made changes.

add_circle 3. Creating a New Project

Each migration engagement lives in its own project container. The project defines the namespace (suffix & domain) used for all auto-generated user accounts and UPNs.

New Project Modal

The project creation form β€” all four fields are required.

Field Example Purpose
Project Name Project Beta Human-readable label shown on the dashboard card. Also used as the Title key to link all migration objects to this project in SharePoint.
Customer Name Globex Inc. Shown on the project card and in generated reports. Purely informational.
Target Domain globex.com The final email domain for migrated users. Used by UPN generation to construct firstname.lastname@globex.com. Enter without the @ symbol.
Project Suffix gbx A short alphanumeric identifier (max 10 chars) appended to temporary UPNs during coexistence: firstname.lastname-gbx@globex.com. It is also stored on every migration object for filtering. Use lowercase letters and numbers only.
warning Choose the Project Suffix carefully β€” it cannot easily be changed after objects have been provisioned against it. It becomes part of the temporary UPN format across all accounts in this project.

folder_open 4. Managing a Migration Project

Clicking any project card opens the Project Detail view β€” the core workspace where the migration lifecycle is executed step by step. The two columns of action buttons on the left represent the sequential migration workflow; the right column provides reporting and operational utilities.

Project Details View

Project detail view with Migration Actions (left) and Operations & Reporting (right).

checklistCheck Prerequisites

Step 1 of 5 β€” Diagnostic

Runs a live diagnostic across four checkpoints to confirm the environment is healthy before you begin. Results stream into the Terminal tab in real time.

CHECK 1 β€” Microsoft Graph API
Calls GET /me against the Graph API using your current access token. A successful response confirms that your token is valid, scopes are correctly consented, and the API endpoint is reachable. Failure here means authentication or network issues must be resolved first.
CHECK 2 β€” SharePoint Lists
Probes each configured SharePoint list (Projects, MigrationMasterV2, MigrationLogs, MasterFiles) with a light GET request. Each list is reported as accessible βœ“ or FAILED individually β€” this pinpoints permission gaps on specific lists.
CHECK 3 β€” Azure Functions API
Hits the /api/health endpoint of the deployed Azure Function App. A healthy response returns a JSON payload with status: "ok" and a runtime version. A failure here produces a Warning (not an Error) because some operations do not require the API β€” it may also be normal in local development.
CHECK 4 β€” Project Data Validation
Loads all migration objects for this specific project and validates: (a) Source UPN count β€” flags any blank Source fields; (b) Target UPN count β€” flags any missing Target UPNs; (c) Temporary UPN count β€” warns if Temp UPNs have not been generated yet; (d) Duplicate detection β€” checks the Source column for any repeated values which would cause provisioning conflicts; (e) Domain consistency β€” warns if Target UPNs do not all end with the project's configured Target Domain.
═══ Prerequisite Check β€” Project Beta ═══
CHECK 1: Microsoft Graph API
GET /me β†’ Jane Admin (jadmin@harris.eu) βœ“
CHECK 2: SharePoint Lists
Projects β†’ accessible βœ“
MigrationMasterV2 β†’ accessible βœ“
MigrationLogs β†’ accessible βœ“
CHECK 3: Azure Functions API
Azure Functions not reachable (may be normal in local dev)
CHECK 4: Project Data β€” "Project Beta"
142 objects loaded
Source UPNs: all present βœ“
Missing Temporary: 142 β€” run Prepare Objects first
No duplicates βœ“

upload_fileUpload Master CSV

Step 2 of 5 β€” Data Import

The Master CSV is the source of truth for a migration project. It defines every object (user, shared mailbox, group, etc.) to be migrated and the UPN mappings between source and target tenants.

CSV Schema β€” Required & Optional Fields

Field Required Description
Source βœ… Yes The current UPN or email of the object in the source tenant. E.g. john.smith@oldcorp.com
Temporary ⚠️ Auto-generated The coexistence UPN in the target tenant with the project suffix. E.g. john.smith-gbx@globex.com. Can be left blank β€” it will be generated by the Prepare Objects step.
Target ⚠️ Auto-generated The final UPN in the target tenant. E.g. john.smith@globex.com. Generated alongside Temporary if blank.
FirstName βœ… For users Used for UPN generation and display. German umlauts (Γ€β†’ae, ΓΆβ†’oe, ΓΌβ†’ue, ΓŸβ†’ss) are normalized automatically.
Surname βœ… For users Combined with FirstName to generate the firstname.lastname UPN local part.
DisplayName βœ… Yes Used for the mail nickname calculation and shown in all reports. Fallback for UPN generation when FirstName/Surname are absent.
ObjectType βœ… Yes Determines migration handling and FLY CSV export type. Valid values: User, UserMailbox, MailUser, SharedMailbox, DistributionList, SecurityGroup.
EmployeeType β—‹ Optional Contextual classification for users: Internal or External. Used in communications filtering (only Internal/User types receive migration emails).
MailNickname ⚠️ Auto-generated The Exchange alias, e.g. john.smith-gbx. Automatically derived from DisplayName + ProjectSuffix if not provided.
MigrationWave β—‹ Optional Batch grouping label (e.g. Wave1, Wave2). Useful for phased rollouts. Not yet used for automated filtering in the current release.
Aliases, SendAs, SendOnBehalf, FullAccess β—‹ Optional Delegation and permission data. Populated if available, used in future automation scripts.
Manager, JobTitle, Department, Company β—‹ Optional HR metadata fields. Included in the generated reports and passed through to the target account during provisioning.
info When a CSV is uploaded, each row is parsed by PapaParse and written individually to the MigrationMasterV2 SharePoint list. All objects are given a MigrationStatus of Pending on initial upload. The upload is streamed in configurable batches β€” the Terminal shows progress per row.
Pending Provisioned Processing Completed Migrated Error

Migration status lifecycle β€” objects progress left to right as steps complete.

build_circlePrepare Objects

Step 3 of 5 β€” UPN Generation & Approval

Prepare Objects is the first computational step. It reads every row in your project's migration list, generates missing UPNs using a deterministic algorithm, deduplicates, then presents an approval queue for your review before any changes are committed to SharePoint.

UPN Generation Algorithm

The system generates Temporary and Target UPNs for any row where they are missing, using the following priority order:

  1. 1FirstName + Surname available: Local part = firstname.surname. E.g. Hans MΓΌller β†’ hans.mueller (umlauts normalized: Γ€β†’ae, ΓΆβ†’oe, ΓΌβ†’ue, ΓŸβ†’ss). Spaces become dots, special characters are stripped.
  2. 2DisplayName only: The display name is split on spaces; the first and last tokens are used: Maria A. Garcia β†’ maria.garcia.
  3. 3Temporary UPN: {local}-{projectSuffix}@{targetDomain} β€” e.g. hans.mueller-gbx@globex.com.
  4. 4Target UPN: {local}@{targetDomain} β€” e.g. hans.mueller@globex.com.
  5. 5Mail Nickname: Auto-derived as {local}-{projectSuffix} for user and shared mailbox types if not already present.
warning Collision detection: If two people have the same first.last combination, the system flags a conflict. You must resolve these manually β€” either by editing the CSV before re-upload or by manually adjusting the UPN in the approval queue.

The Approval Queue Modal

After UPN generation completes, the Review Provisioning Queue modal opens. It displays every object alongside its generated values:

check_circle_outlineReady

Both Temporary and Target UPNs are set. Object is ready to be provisioned in the next step.

warning_amberWarning

Object has some missing optional fields (e.g. no MigrationWave) but can still proceed.

error_outlineConflict / Error

Duplicate UPN detected or critical field missing. Must be resolved before confirming the queue.

Only after clicking "Confirm Provisioning" are the generated UPNs written back to SharePoint. The status of each processed object is updated from Pending to Provisioned.

cloud_uploadMigrate to Temp Domain

Step 4 of 5 β€” Phase 1 Migration

This step initiates Phase 1 of the two-phase migration model β€” the coexistence phase. All migration objects are created in the target tenant under their temporary UPN (firstname.lastname-suffix@domain), not their final UPN. This is intentional.

🏒 Source Tenant john@oldcorp.com
arrow_forward
πŸ”„ Temp UPN john-gbx@globex.com
arrow_forward
🏒 Target Tenant john@globex.com

Why a Temporary UPN?

During a tenant-to-tenant migration, both tenants must be active simultaneously while data is being copied by FLY. The target tenant cannot have a user account at john@globex.com until the source tenant's john@oldcorp.com is decommissioned, because the email routing would create conflicts in Exchange Online. The temp UPN (john-gbx@globex.com) sidesteps this by creating a functionally different address until the swap is ready.

During this phase, the action:

  1. 1Reads all objects with status Provisioned from this project.
  2. 2For each object, triggers the provisioning runbook via a Power Automate webhook (CONFIG.flows.prepareObjects), passing the Temporary UPN, DisplayName, temp password, ObjectType, and project metadata.
  3. 3The runbook creates the account in the target tenant under the Temp UPN and sets the initial password (TempPW).
  4. 4On success, the object's MigrationStatus is updated to Completed and a History log entry is appended with a timestamp.
  5. 5The progress bar in the Terminal tracks completion in real time (N / Total).
info At this point, the user has a working account in the target tenant with their temp credentials. FLY can now begin copying their mailbox, OneDrive, and Teams data in parallel.

task_altPost Migration Script

Step 5 of 5 β€” Phase 2 Domain Swap

Once data migration via FLY is complete and users have signed in and confirmed their data, this step executes the domain swap β€” changing each user's UPN from the temporary address to their final target address.

πŸ”„ Current (Temp) john-gbx@globex.com
swap_horiz
βœ… Final (Target) john@globex.com

What happens during the swap:

  1. 1The system loads all objects in the project with a Completed status (i.e., those that were successfully migrated to the temp domain).
  2. 2For each object, the PowerShell runbook (PostMigrationSwap.ps1) is triggered via a Power Automate webhook. It calls Set-MsolUserPrincipalName (or Graph API equivalent) to change the UPN from Temporary to Target on the account in the target tenant.
  3. 3The user's primary SMTP address is also updated to match their new Target UPN.
  4. 4Old source-tenant email addresses are removed, and the target alias is promoted to primary.
  5. 5On success, the object's status is updated to Migrated and a final history entry is written.
error This action is irreversible. Once the UPN swap has been executed and FLY has fully cut over mailbox data, rolling back requires significant manual work. Confirm with the customer that data validation is complete before triggering this step.

terminalLive Terminal

Every major action (Prerequisites, Prepare, Migrate, Post-Migration, Communications) streams its output to the Terminal tab in real time. The terminal uses a colour-coded log system:

Live Terminal

The live terminal during an active provisioning job.

settingsSYSTEM (grey)

Structural messages β€” job start/end banners, step headers, summary lines.

infoINFO (blue)

Per-object progress lines showing what is being processed: UPN, DisplayName, status codes.

check_circleSUCCESS (green)

Confirmation that an action completed cleanly β€” object provisioned, email sent, check passed.

warningWARNING (amber)

Non-fatal issues β€” optional fields missing, Azure Functions offline, missing temp UPNs. Job continues.

errorERROR (red)

Fatal per-object failure β€” API error, HTTP non-2xx, or network exception. Error count is tracked.

The terminal also provides a progress bar (N / Total processed) and a Cancel button that gracefully aborts the current loop after the in-flight request completes. A red badge on the Terminal tab shows the count of errors from the last run.

table_chartData Table β€” Migration Pipeline

The Data tab (shown by default) renders the full migration pipeline for the project as a paginated table (50 rows per page). Each row represents one migration object.

downloadExport CSV

Downloads the current project's full dataset as a CSV with UTF-8 BOM (so Excel opens it correctly). Includes all 10 core fields.

articleDownload Log

Fetches the latest provisioning .log file for this project from the SharePoint MasterFiles document library and downloads it.

open_in_newEdit in SharePoint

Opens the MigrationMasterV2 SharePoint list directly in a new tab, allowing manual row edits for edge cases.

person_searchUser Report (double-click)

Double-clicking any row opens a per-user detail modal showing all field values, migration history entries, and current status for that specific object.

mail_outline 5. Communications

The Communications feature sends templated migration notification emails to all users in the project via Microsoft Graph from a backend Azure Function (/api/send-mail) β€” no Power Automate. Emails are sent as the shared mailbox it-support@harriscomputer.eu. It supports three distinct notification stages and four languages, with a per-recipient review & preview window before sending. See docs/EMAIL_SENDING.md for full setup.

Recipient Review & Preview

Choosing an email type opens a Recipient Review window listing every eligible user with checkboxes. Clicking a recipient shows a live HTML preview of their exact email (their temp UPN and password substituted, in the selected language). Send to only the selected users, or use Send to All. Users already sent this email are greyed out and skipped (idempotency) unless Force resend is enabled.

1. Start Migration Notice
Sent before the migration begins. Informs users that their account will be migrated to a new tenant on a given date. Includes the temporary login credentials they will use for the coexistence period (Temporary UPN and TempPW). Action key: MailStart.
2. Mid-Migration Update
Sent during the data migration phase to keep users informed of progress. Confirms that their accounts are active and data synchronisation is underway. Useful for long-running migrations spanning multiple days. Action key: MailMid.
3. Final Completion Notice
Sent after the Post Migration Script has run. Notifies users that migration is complete, their final UPN is now active, and they should log in with their permanent credentials. Action key: MailFinal.

Language Selection

Choose the notification language from the dropdown in the review window. The selected language is passed to the /api/send-mail Function, which renders the matching localized template. Available: German, English, French, Spanish.

Throttling, Retries & Object Filtering

The communications engine only emails user-type objects (User, UserMailbox, MailUser) that have a Source address. Shared mailboxes, distribution lists, and security groups are automatically excluded.

info Throttling & retries: Sends are paced at ~2000ms (β‰ˆ30/min) to stay within Exchange Online's Graph sendMail limits. If Graph returns 429/503, the engine honours the Retry-After header and retries the same user (up to 4 attempts with exponential backoff). For 500 users, expect roughly 17 minutes; keep the tab open (a Cancel button is available). After a run, any failures can be re-sent via Retry Failed or exported as a Failures CSV.

Payload Sent to /api/send-mail

Field Value
toEmail User's Source address (the delivery/recipient address)
displayName User's full name for email personalisation
upn Temporary UPN (Temporary) the user should use to log in
password Initial temporary password (TempPW)
language Selected language (German / English / French / Spanish)
actionType MailStart, MailMid, or MailFinal
projectName Project title (for logging)

Every final result is written to the MigrationLogs SharePoint list β€” SENT on success or FAILED with the reason β€” providing an auditable, idempotent record per project + action.

manage_accounts 6. Activity Report

The Activity Report queries Microsoft Graph's signInActivity data to determine which migrated users have actually logged in to their new account and changed their password β€” the two key post-migration success indicators.

How It Works

  1. 1Select which UPN set to check: Temp UPNs (to verify users have logged in to their coexistence account) or Target UPNs (to verify post-swap success).
  2. 2The system collects all relevant UPNs from the project's migration objects. Only UPNs with a non-empty value in the selected column are included.
  3. 3For each UPN, MCC calls the Microsoft Graph beta/users endpoint with a $filter=userPrincipalName eq '...' query, requesting: displayName, userPrincipalName, signInActivity, lastPasswordChangeDateTime, and createdDateTime.
  4. 4Requests are throttled at 250ms intervals. If a 429 Too Many Requests response is received, the system reads the Retry-After header and waits that duration plus a 500ms buffer before retrying (up to 3 retries per UPN).
  5. 5The results are downloaded as a CSV file.

Output CSV Columns

Column Meaning
SearchUPN The UPN that was queried
DisplayName User's display name as found in Entra ID
HasSignedIn TRUE if lastSuccessfulSignInDateTime is populated in Graph
HasChangedPassword TRUE if lastPasswordChangeDateTime is more than 5 minutes after createdDateTime β€” indicating the user actively changed it (not just an admin reset)
LastSuccessfulSignInDateTime Timestamp of the most recent successful login
LastPasswordChangeDateTime Timestamp of the most recent password change
Status Success, User not found, or an error message
warning The signInActivity property requires either the Reports Reader or Global Administrator role in the target tenant. If the report shows empty sign-in data for all users, verify that your account has the appropriate Graph API permissions (AuditLog.Read.All).

flight_takeoff 7. FLY CSVs

The FLY CSV export generates mapping files in the exact format required by the AvePoint FLY migration tool. FLY uses these CSVs to understand which source objects map to which destination objects β€” critical for mailbox, OneDrive, and Teams migrations.

Two Migration Phases

When you click FLY CSVs, you are first asked to select a phase:

arrow_forwardSource β†’ Temp

Phase 1 CSVs. Source column = Source UPN, Destination column = Temporary UPN. Used while FLY copies data from the old tenant to the new tenant's coexistence accounts.

arrow_forwardTemp β†’ Target

Phase 2 CSVs. Source column = Temporary UPN, Destination column = Target UPN. Used after the domain swap to remap FLY jobs to the final addresses.

Four Export Types

EXO CSV β€” Exchange Online
Maps all objects (users, shared mailboxes, distribution lists, groups) with their FLY-specific type labels. Object types are translated:
MCC ObjectType FLY Type Label
User, UserMailbox, MailUser Mailbox
SharedMailbox SharedMailbox
DistributionList DistributionGroup
SecurityGroup MailEnabledSecurityGroup
Columns: Source, Source type, Destination, Destination type.
TEAMS Chat CSV
Maps individual user chat histories. Only user-type objects are included (User, UserMailbox, MailUser). Shared mailboxes, DLs, and groups are excluded β€” they do not have personal Teams chats. Columns: Source user, Destination user.
TEAMS Rooms CSVs
Maps Microsoft Teams team channels. Uses the DisplayName for team names and the Source/Target (or Temporary) UPN for the team's email address. The channel mapping columns (Source channel name, Destination channel name, Destination channel type) are left blank β€” they must be filled in manually for Teams migrations with custom channel structures. Columns: Source team name, Source team email address, Destination team name, Destination team email address, Channel mappings, Source channel name, Destination channel name, Destination channel type.
ONEDRIVE CSVs
Maps individual user OneDrive libraries. Like Teams Chat, only user-type objects are included. Shared mailboxes and groups do not have OneDrive libraries. Columns: Source user, Destination user.
info All exported CSVs include a UTF-8 BOM character at the start so they open correctly in Microsoft Excel without character encoding issues. File names include the project title and today's date, e.g. Project_Beta_EXO_2026-05-13.csv.

description 8. Create Project Summary

Generates a self-contained HTML report that captures the complete state of a migration project at the time of generation. The report opens in a new browser tab and can be printed or saved as a PDF using your browser's print function.

Lessons Learned

Before the report is generated, a Lessons Learned modal appears. You can type free-form notes about the migration β€” challenges encountered, workarounds used, customer-specific quirks. These notes are embedded verbatim in the final report. Click Skip if no notes are needed.

Report Contents

bar_chartSummary Statistics

Five key metrics: Total Objects, Completed, Provisioned, Errors, and Pending. Plus a visual progress bar showing the overall completion percentage.

categoryBreakdown by Object Type

A table showing totals, completions, and errors separated by ObjectType (User, SharedMailbox, DistributionList, SecurityGroup). Completion % is calculated per type.

error_outlineError Detail Table

A full list of all objects with Error status, showing DisplayName, Source UPN, ObjectType, and the full History log for each failed object.

replayRetry Detection

Objects that have more than one History entry (indicating they were retried) are flagged in a separate table with their final status and full history chain.

schoolLessons Learned

The free-text notes entered in the Lessons Learned modal, rendered in a highlighted yellow panel.

auto_fix_high 9. Convert Excel to Master CSV

When source migration data arrives in a customer-formatted Excel file rather than the MCC schema, this tool bridges the gap. It reads any .xlsx or .xls file and intelligently maps its columns to the MCC schema using a four-tier confidence algorithm.

Excel to CSV Converter

The Smart Column Mapper showing auto-detected column mappings with confidence indicators.

tabMulti-Sheet Support

If the uploaded workbook contains multiple sheets, all non-empty sheets are parsed simultaneously. Sheet selector tabs appear at the top of the mapping modal β€” each sheet's columns are mapped independently, allowing you to map the correct sheet for export or direct import.

insightsConfidence Scoring System

The column mapper uses four matching methods, listed from highest to lowest confidence:

Method Badge How It Works Example
Exact Exact 100% The Excel column name matches a schema field name or known alias character-for-character (case-insensitive). Source β†’ Source, UPN β†’ Source
Alias Alias 95% The column name matches a predefined alternative name for a schema field in the built-in alias dictionary. Email Address β†’ Source, Last Name β†’ Surname
Fuzzy High Fuzzy 70% A fuzzy string similarity score above 0.6. Letters don't have to be in exactly the same format but are clearly similar. SourceUPN β†’ Source, GivenName β†’ FirstName
Fuzzy Low / None Unmapped 0% No confident match found. The dropdown defaults to "β€” Skip β€”" and the row is highlighted in red. You must map it manually or skip it. Col_A, X_LEGACY_FIELD

An overall confidence percentage is shown in a banner at the top of the modal: β‰₯75% = High (green), 40–74% = Medium (amber), <40% = Low (red).

previewData Preview

Below the mapping table, a live data preview (first 5 rows) updates in real time as you change mappings. Only columns with an assigned schema field are shown β€” this gives you a clear picture of what the final output will look like before committing.

psychologyAI Fallback (Power Automate)

If the local column mapper cannot produce a satisfactory result, the Ask AI button (shown when configured) sends the first 3 rows of the active sheet to a Power Automate flow. The AI service analyses the data semantically and returns either enhanced column mapping suggestions or a fully converted CSV β€” the result depends on how the flow is configured in CONFIG.flows.convertCsv.

get_appExport Options

downloadDownload CSV

Exports the mapped data as a MasterCSV_{date}.csv file using the MCC schema column names. Suitable for manual review, sending to a colleague, or uploading to another project later.

cloud_uploadImport to SharePoint

Directly imports the mapped rows into the active project's SharePoint list (available only when a project is open). Rows are written in batches of 5 with a progress indicator. After import, the project data table refreshes automatically.

assessment 10. Advanced Reporting

Advanced Reporting provides a global, cross-project audit log β€” a chronological record of every action executed through the MCC platform, written by every user.

Advanced Reporting

The Advanced Reporting log table β€” a global view across all projects.

Log entries are written to the MigrationLogs SharePoint list by the following events: any Migration Action button (Prepare, Migrate, Post-Migration), each individual communication send, and project creation/deletion. Each row in the log contains:

Column Description
Timestamp Exact date and time the action occurred (UTC, displayed in your local time).
Project The project title the action belongs to.
Action The action type, e.g. MailStart, PrepareObjects, PostMigrationSwap.
UPN The specific user/object the log entry refers to. For project-level actions, this shows the executor's UPN.
Status Colour-coded: βœ“ Success (green), ⚠ Warning (amber), βœ— Error (red).
Details Expandable description of the event β€” particularly useful for debugging failed actions, showing HTTP error codes or exception messages.
info Use the search bar above the log table to filter by project name, UPN, or status keyword. Logs are loaded on demand β€” click "Refresh Logs" to pull the latest entries from SharePoint.

inventory_2 11. Archiving Projects

Once a migration is complete, archiving removes the project from the active Dashboard view without deleting any of its data. Archived projects are permanently preserved as read-only references.

Archived Projects

The Archived Projects view β€” completed projects moved out of the active Dashboard.

  1. 1On the Dashboard, locate the completed project card.
  2. 2Click the Archive button on the card. MCC updates the project's ProjectStatus field in SharePoint from Active to Archived.
  3. 3The project card disappears from the main Dashboard (which shows only Active projects).
  4. 4To view archived projects, click Archived Projects in the left sidebar. The dashboard re-renders showing only Archived cards.
  5. 5Archived projects are read-only β€” their data, terminal history, and migration logs remain accessible but no actions can be triggered against them.
info Archiving is non-destructive. All migration objects, logs, and provisioning history are retained in SharePoint indefinitely. If you ever need to revisit a project's data or re-generate its report, you can do so from the Archived Projects view.

End of User Guide  Β·  Migration Control Center  Β·  Harris Computer Germany

For technical support, contact your system administrator.