Avoid relinking media when collaborating with other editors

Scenario

Editors want to avoid relinking media in their projects when collaborating with fellow editors. Embedded links inside a project file contain local paths that work on the current user’s edit station. But, when a fellow editor opens the same project on another edit station, they will see offline media errors. The reason is that the paths to the media files on the new workstation do not line up with the paths the first editor had saved inside the shared project file. For example:

Editor: Roger
Workstation: Edit-R.mycomputer
Shared Network Drive: /Volume/ExternalStore
Working Copy: /Volume/ProjectStore/Roger
Shared Project file: /Volume/ProjectStore/Roger/Design Project/aShared.prproj
Portable Drive: /Volume/My Passport 1TB

Editor: Mary
Workstation: Edit-M.mycomputer
Shared Network Drive: /Volume/MediaStore
Working Copy: /Volume/ProjectStore/Mary
Working Copy: /Volume/ProjectStore/Mary/Design Project/aShared.prproj
Portable Drive: /Volume/G-Drive 4TB

If Roger wishes to link with media from his edit station, he has these choices:

  1. Create links with Zoom external assets (high-res) stored on a shared network folder (typically in an office setup). For e.g: /Volume/ExternalStore/Library/Stock Footage/enormous.mxf
  2. Create links with Zoom external assets (high-res) stored on a personal hard drive attached to the workstation (typically when working from home). For e.g. /Volume/My Passport 1TB/Design/media/video4K.mp4
  3. Create links with Zoom direct ingested assets (low-res proxies, images, etc), checked out to his working copy: /Volume/ProjectStore/Roger/Design Project/graphics/logo.psd
  4. Create links with local media on his computer. For e.g: /Users/Roger/Movies/Monday Night Shoot/vid-001.mov

As you can see, except for the links created using the #1 option, the rest of the links Roger embeds in his project file will be Roger’s storage-specific. If Mary were to open aShared.prproj file, she will see missing links for these files paths from Roger’s edit station:

  • /Volume/My Passport 1TB/Design/media/video4K.mp4
  • /Volume/ProjectStore/Roger/Design Project/graphics/logo.psd
  • /Users/Roger/Movies/Monday Night Shoot/vid-001.mov

Now, Mary has to manually relink all the offline files by finding the same media on her storages. Not a great option, if the project had say 2000 links.

Resolving links using Zoom’s link management

Zoom can address the above issues via its link management features. It uses a few Zoom constructs, that require a user or administrator to be familiar with the following concepts:

  1. Zoom Working Copy Root: also referred to as the Server Checkout Location. This is configured on the client desktop from Z > Settings > Server/WC Settings:
  1. Shared Third Party Mount Points (TPM): these are paths to shared network storage managed by Zoom ingest service (VideoLX or VideoFX).
  2. Personal Third Party Mount Points TPM): these are paths to an editor’s personal storage such as a portable drive that is managed by Zoom also.
  3. USAN Mount points: Applicable only if VideoFX is set up with an Ingest Service in an on-premises deployment.

The Resolve Links feature is built-into all our Adobe CC plugins. As long as project links are in the storage space managed by Zoom, the link management features in Zoom will help an editor resolve broken or offline links. Before editing a checked out shared project, the editor must use the Resolve Links menu option to have Zoom automatically fix broken links, as long as these links are being managed by Zoom.

Please note the issue with this workflow is that if the editor forgets to invoke Resolve Links prior to editing and instead, tries to use Resolve Links from the plugin later, it will not work.

Another simpler solution is to ensure all the Zoom managed storage spaces have a common mount path or prefix on every editor’s workstation, without needing to explicitly invoke the Zoom’s Resolve Links option. So, for instance, if Joe & Mary had the following setup on their computer:

Storage spaceOld PathNew PathZoom SettingsNotes
Roger’s Working Copy/Volume/ProjectStore/Roger/Volume/ZoomProjectStoreWorking Copy RootAdmin must ensure all users have the same working copy root configured for direct ingested assets that will be checked-out to the user’s computer
Mary’s Working Copy/Volume/ProjectStore/Mary/Volume/ZoomProjectStoreWorking Copy RootAdmin must ensure all users have the same working copy root configured for direct ingested assets that will be checked-out to the user’s computer
Roger’s Personal High-res Media Store/Volume/My Passport 1TB/Volume/ZoomPortableExternalStoreTPMPortable drive used to store high-res media can be mounted to an agreed-upon mount path by all editors
Mary’s Personal High-res Media Store/Volume/G-Drive 4TB/Volume/ZoomPortableExternalStoreTPMPortable drive used to store high-res media can be mounted to an agreed-upon mount path by all editors
Roger’s Shared Network Drive mount/Volume/ExternalStore/Volume/ZoomSharedExternalStoreTPMShared NAS/SAN on an office network with shared footages, media files for multiple editors to link to
Mary’s Shared Network Drive mount/Volume/MediaStore/Volume/ZoomSharedExternalStoreTPMShared NAS/SAN on an office network with shared footages, media files for multiple editors to link to

With the above schema for the storage space, editors working from home or office on different computers will have all their links stay within the New Path storage spaces and the links will work across multiple computers or edit stations. For instance, on Roger or Mary’s edit station, there would be two TPM settings in their $HOME/.zm/zoom.properties file, these can be automatically pushed from the Zoom server using Server-side Zoom Properties to all users in a specific location:

THIRD_PARTY_MOUNT_POINT=/Volume/ZoomPortableExternalStore
THIRD_PARTY_MOUNT_POINT1=/Volume/ZoomSharedExternalStore

Thus, in the above scenario, Roger’s project file aShared.prproj file will link with these paths:

  • /Volume/ZoomSharedExternalStore/Library/Stock Footage/enormous.mxf
  • /Volume/ZoomPortableExternalStore/Design/media/video4K.mp4
  • /Volume/ZoomProjectStore//Design Project/graphics/logo.psd
  • /Users/Roger/Movies/Monday Night Shoot/vid-001.mov

The file, vid-001.mov, upon ingest into Zoom, will be copied into the configured TPM for Roger or Mary’s location. If that is set to /Volume/ZoomSharedExternalStore, then after a successful ingest/check-in, Roger’s links will be:

  • /Volume/ZoomSharedExternalStore/Library/Stock Footage/enormous.mxf
  • /Volume/ZoomPortableExternalStore/Design/media/video4K.mp4
  • /Volume/ZoomProjectStore/Design Project/graphics/logo.psd
  • /Volume/ZoomSharedExternalStore/Monday Night Shoot/vid-001.mov

Now, if Mary opens the aShared.prproj file, all the links will be resolved automatically. If a high-res file does not exist on Mary’s portable drive, such as /Volume/ZoomSharedExternalStore/Monday Night Shoot/vid-001.mov, she can trigger a Restore operation from within the Zoom Adobe CC plugin or the Asset Browser and have the missing file copied into her portable drive (assuming that’s her default TPM) and the link will go from offline to online without manually replacing the link in the project file.

The major advantage of unifying the mount path prefixes is that the admins do not need to configure a per-user mount point for shared network drives or portable drives. Zoom allows the admins to add as many TPMs for a location as needed.

Changing the mount point prefix on macOS

Here is an example of how to manually rename the portable drive from /Volumes/My Passport 1TB to /Volumes/ZoomPortableExternalStore on a Mac:

Here is an example of how an administrator can automate SMB share mount path prefix using a script that invokes a command line. For example:

mount_smbfs -W workgroup //user@SERVER/folder ./mntpoint

The above script could be invoked by a login item pushed from a remote configuration tool.

Using USAN workspaces with common USAN mount prefix

Using Zoom’s VideoFX module, admins can set up an Ingest Service that is responsible for copying files from a user’s USAN (user working copy storage) workspace to the PSAN (protected storage). The USAN workspaces are user/editor specific. That leads to a naming schema such as:

\\nasserver\usan\roger\ => /Volumes/USAN/Roger/
\\nasserver\usan\mary\ => /Volumes/USAN/Mary/

This causes the same problems as the above scenario outlined, whereby, files in Roger’s USAN workspace will have links with ‘Roger’ in the folder name, such as: /Volumes/USAN/Roger/Monday Night Shoot/vid-001.mov.

To avoid it, admin can apply the same schema as above and have user’s working copy be mounted with a logical path such as:

\\nasserver\usan\roger\ => /Volume/ZoomProjectStore
\\nasserver\usan\mary\ => /Volume/ZoomProjectStore

On the Zoom Ingest server, however the USAN paths for each user needs needs to be distinct, the server needs read & write access the user’s USAN workspace folders :

\\nasserver\usan\ => /mnt/usan/
ls /mnt/usan/
Mary Roger

To correctly translate the USAN workspace path prefix from user’s computer to the Ingest server, $USER environment variable can be used to do this translation:

With this setup, Zoom Ingest server will automatically translate a user’s logical USAN workspace to the actual user specific folder on the NAS or SAN:

User NameUser’s USAN WorkspaceIngest Server USAN Folder translation
Roger/Volume/ZoomProjectStore/mnt/usan/Roger
Mary/Volume/ZoomProjectStore/mnt/usan/Mary