Card on file sharing migration as a permissions and links problem. File sharing migration is a permissions problem, not a copying one
Image: Productivity Software Reviews

Rules

Part of A file sharing service is really selling you its permission model

File sharing migration is a permissions problem, not a copying one

File sharing migration is a permissions and links problem, not a copying problem. What survives, what to clean up first, and how to reconcile it.

Moving files between two storage products is not a data problem. The bytes copy reliably and quickly. What does not copy reliably is everything around the bytes: who could see them, where the old links pointed, and which version was the one people trusted.

Plan the move around permissions and links, treat the copy as the easy part, and you will avoid the two failure modes that make these projects memorable.

What to take away

  • Permissions are the migration. Budget most of your time there, not on transfer speed.
  • Every link ever sent is a pointer into the old system. Decide what happens to them before cutover, not after.
  • Run the whole thing twice on a subset before running it once on everything.
  • Finish with a reconciliation that counts, rather than a walkthrough that feels fine.

What survives the copy, and what does not

What survives the copy

ElementUsually survivesUsually needs rebuilding
File content and folder treeYesOnly where path length or characters break
Modified datesSometimes, and sometimes replaced with the migration dateCheck early; it changes how sorting and retention behave
Version historyRarely in full, often as the latest version onlyDecide whether any of it is genuinely needed
Permissions on foldersPartly, where both sides use similar modelsAnything granted to an individual rather than a group
Shared links to outsidersNoEvery one of them, or a redirect strategy
Comments and annotationsNoUsually accepted as a loss, but say so out loud
Locks and checkout stateNoClear them before you start
Automated jobs writing into foldersNoRebuild and retest each one

The two rows that cause trouble later are the ones about permissions granted to individuals and links sent to outsiders. Both are invisible in a folder listing and both fail after cutover rather than during it.

What Survives Migration

Element

File content
Yes
Modified dates
Sometimes
Version history
Rarely full
Folder permissions
Partly
External links
No
Comments
No
Locks
No
Automated jobs
No

Survives

File content
Path breaks only
Modified dates
Check early
Version history
Decide need
Folder permissions
Individual grants
External links
All of them
Comments
Accept loss
Locks
Clear first
Automated jobs
Rebuild, retest

Needs Rebuilding

File content
Modified dates
Version history
Folder permissions
External links
Comments
Locks
Automated jobs

Inventory before you schedule

Do not commit to a date until you can answer these with counts rather than impressions.

Inventory Before Scheduling

  • Count files, folders, deepest tree depth
  • Count items over destination size limit
  • Count filenames with differing characters
  • Count permission grants, individual vs group
  • Count active external shares, no expiry
  • List automated writers and owners
  • Measure estate unopened in two years

Question seven is the one that changes the plan. If a third of the estate is dormant, moving it live is wasted effort and wasted money, and an archive that is restorable on request is usually the better answer. Deciding what not to move is the single largest lever available.

Clean up first, and only once

Every hour spent tidying before the move saves several after it. Three tasks are worth doing in this order.

Clean Up Before Moving

  1. Convert individual grants to group grants
  2. Expire or revoke unneeded external links
  3. Retire automated jobs with no owner

Convert individual grants to group grants. This is tedious and it is the thing that makes the destination maintainable. A permission attached to a person is a permission that has to be found again the day that person changes role.

Expire or revoke external links that nobody needs. You will find some that were created for a single meeting years ago and never closed. The category overview explains why these outlive their purpose so reliably.

Retire the automated jobs nobody can name an owner for. If nothing breaks in two weeks, they were not needed, and if something does break you have found the owner.

Sequence, with the copy in the middle

A workable order looks like this, and the first and last steps take longer than the middle one.

Migration Sequence

  1. 1
    Freeze structural change in source
  2. 2
    Build and prove empty destination
  3. 3
    Copy dormant material out of hours
  4. 4
    Copy active material, run delta pass
  5. 5
    Cut over to destination writable
  6. 6
    Keep source readable but frozen
  7. 7
    Reconcile, then decommission

Step six is not optional. Somebody will need a file that did not come across, and a frozen source is the difference between a five minute answer and a restore from backup. Give the period a date and hold it.

Links, and their afterlife

Old links live in mail archives, in work items, in documents, and in systems nobody remembers wiring up. You cannot find all of them, so decide the policy instead.

Old Link Policy

What happens to old links at cutover?

Yes

Leave source readable at old addresses

No

Break at cutover and communicate loudly

Three approaches are honest. Leave the source readable at the old addresses for a long period. That is gentlest and costs the most.

Break them at cutover and communicate loudly. That is cheapest and generates the most noise in week one.

Replace the most consequential ones deliberately: search your own mail and work items for the old domain, then reissue those.

Whichever you pick, say it in advance. The failure people remember is not a broken link; it is a broken link nobody warned them about.

Reconcile with numbers

A migration is finished when the counts agree, not when the project meeting says so.

Reconcile With Numbers

  • Compare item counts and size per space
  • Investigate every difference, not a percentage
  • List failed items in full, decide each
  • Sample permissions as real accounts
  • Include one external account in sample
  • Test the fallback reversal

Compare item counts and total size for each top-level space, source against destination, and investigate every difference, not a percentage. List the failed items in full, and decide each one rather than reporting a success rate.

Then check a sample of permissions by signing in as real accounts, including one external account. Confirm that what they can reach matches what the plan said.

This is also the moment to test the fallback. If the reconciliation is bad enough to reverse the decision, you need to know that you can, which is the ordinary discipline of any contingency plan: the plan is not real until it has been exercised.

Once the frozen period ends and the source is decommissioned, remove it properly rather than leaving it dormant. Storage that nobody administers is storage that nobody patches, and the guidance on disposing of data is worth reading before you decide that switching off a service counts as deleting its contents.

Where this sits

The migration overview covers the general sequence, freeze window, and rollback question for any category. The permission and link problems here are storage-specific.

If mail moves at the same time, do not run both cutovers in one weekend. The mail move has its own failure modes and its own week of noise. Lifecycle belongs with the administration console.

Common questions

Can we migrate without any downtime?

Usually you can avoid downtime and not avoid confusion. A period where both sides are writable produces divergent copies, which is worse than an hour of read-only. Prefer a short freeze that people are warned about.

Should we bring the version history?

Only if you can name the situation where you would use it. For most estates the answer is no, and saying so at the start prevents a slow argument in week three.

How long should the source stay readable?

Long enough to cover one full cycle of your work, which for many organizations means a quarter. Set the date, tell people, and remind them a fortnight before it passes.

What is the most common thing that gets missed?

An automated job writing into a folder that nobody realized existed. It fails silently, and it is usually noticed a month later when a report is empty.

More in Rules

Latest from Method Desk