Deploying Ingest Project and the methods in which we can configure it.
Ingesting Adobe Projects is a pretty important method of getting content from editors that have been worked on recently or in the past. This KB article will cover how we can configure a system to Ingest a Project file using Curator Connect, and what options we have with regards to the way in which we ingest them and their associated files within the projects.
Note that Project Connect is a sold addition to Curator, so ensure that the Client you are installing for has purchased before starting the deployment.
Key things to know:
If the assets within a project file are offline - can't be found on storage - we can't work with them, so they will remain offline and not be ingested properly.
We can ingest projects and either COPY, MOVE, LEAVE INPLACE the assets within the project while also ingesting them into the Curator system. This allows for specific scenarios per customer but also can facilitate legacy projects to be ingested without breaking the asset links to the physical media.
This workflow configuration is only meant for Premiere Pro Project ingests, it will not work with After Effects (.aep) or Adobe Illustrator files.
Workflows Required:
With the release of 3.1 we package the project ingest workflows with the Edit & Publish module, currently, the following workflows are required for project ingest to correctly work:
- Plug-in - Curator Connect v2.5.1
Plug-in - Curator Connect v1.6.3
Plug-in - Curator Connect v1.1.4
Spawn - Import File - Spawn by Type v1.7.4 (14-Dec-2021 - ID - Removed asset.hirespathmetadatakey for Image and Other asset types to avoid storing essence blob on asset creation WD-2982.)
Spawn - Ingest File v2.15.7
Spawn - Generic Metadata Import v2.5.1
Spawn - Ingest Project File v1.5.4
Spawn - Analyse Asset v2.2.1
- Spawn - Update Ingest Status v1.1.2
Spawn - Process Premiere Project v1.1.2
If you need any of the above workflows, please feel free to reach out to IPV support via Zendesk
MediaStores Required:
This will vary depending on what you want to do, first, we can configure the Curator Connect and Watchfolder Ingest mediastores to work with project connect ingest:
Curator Connect:
By default, the following mediastore will default to use the mediastore REGISTERASSETS-PROJECT unless SPECIFICALLY set not to. By default, the Key to change this default behavior is NOT set.
Below is an example of a working configuration from end to end from a customer site.
The first mediastore is the ingest mediastore, you do not need to keep the naming convention used here.
CURATORCONNECT-INGEST <AudioIngestMediaStore> CURATORCONNECT-HI-RES-AUDIO <AWSConfigStore> AWS <AWSDownloadManifestProfile> AWS S3 <C300IngestMediaStore> CURATORCONNECT-C300-CARD <DeviceGroup> <DPXIngestMediaStore> CURATORCONNECT-DPX-CARD <EmailNotificationToUser> <FileTagMetadata> <FS7IngestMediaStore> CURATORCONNECT-FS7-CARD <ImageIngestMediaStore> CURATORCONNECT-HI-RES-IMAGES <IngestPrefixSwap> place your ingest swap here for files coming from Mac to Windows when using storage devices for ingest locations <MaximumParallelProcess> 6 MediaStoreDescriptionThe MediaStore used by the Curator Connect application to manage the ingest of the selected source Hi-Res files. <MediaStoreTemplate> CuratorConnect-Control <ObjectStorageIngestMediaStore> CURATORCONNECT-PLACEHOLDER <OtherIngestMediaStore> CURATORCONNECT-HI-RES-OTHER <P2IngestMediaStore> CURATORCONNECT-P2-CARD <ProjectIngestMediaStore> REGISTERASSETS-PROJECT <R3DIngestMediaStore> CURATORCONNECT-RED-CARD <ResolveMediaStoreXML> This key is used to send assets to specific mediastores based on a resolve <RootToFTPUpload> <ValidateChecksumMediaStore> CHECKSUM (only use this key if transfer back for verification is enabled on ingest) <VideoIngestMediaStore> CURATORCONNECT-HI-RES-VIDEO
The above mediastore should be referenced in your CSA configuration as well, the screenshot below shows where to place your mediastore.
- The display name is what the customer will see in the Curator Connect UI when selecting their destination, this can contain whatever friendly name the Partner or Customer chooses.
- The metadata view contains the required or optional metadata selections that will be presented to the Customer.
- The Media Store is the destination for the Project ingests, configured in the above step.
Below is the configuration needed specifically for the REGISTERASSETS-PROJECT mediastore.
Few things to note here:
- We're using Update for the asset modes so as to not overwrite the current assets in the system if the customer is bringing in a project with assets that already exist in Curator.
- The Ingest mediastores configured here will only be used if the assets ingested in the project are new (they weren't previously ingested into Curator, the customer added them to the project after checking the project out)
- If the customer is ingesting new assets these assets must be saved to the storage device so that the Curator services can access them. I recommend setting up a central location for customers to save both their projects and assets to.
- The project to be ingested must also be located on the storage device, it cannot be ingested from their desktops, this is a common mistake made by customers and partners alike.
- Customers are able to ingest a mix of Curator and non-Curator assets so long as the follow the above. As stated earlier, if the customer is ingesting assets with their project that will be unmanaged (the assets within the project will NOT be brought into Curator) they should expect to see the assets as "Offline" after the project ingest completes.
REGISTERASSETS-PROJECT <AudioAssetMode> Update <AudioIngestMediastore> CURATORCONNECT-HI-RES-AUDIO <CopyMetadata> True <CuratorFolderPattern> (This is to be used for your project ingest assets to follow a specific location within the Virtual Folder path i.e Library\{CustomerDefinedMetadata}\{ETC}\{ETC}) <ExcludeFileRegex> .*\.aep (This will exclude any After Effects ingested files) <FolderPattern> (This is to be used for your project ingest assets to be saved to a specific path on-disk) <ImagesAssetMode> Update <ImagesIngestMediaStore> CURATORCONNECT-HI-RES-IMAGES <IngestPrefixSwap> (Used to swap from Mac to Windows) <IngestProcess> Spawn - Import File - Spawn by Type <IngestWorkflow> Spawn - Ingest Project File <MediaStoreDescription> Used by the Register Assets plug-in to register project files. <MediaStoreTemplate> RegisterAssets-FileIngest <OriginalPathMetadataKey> OriginalPath <OtherAssetMode> Update <OtherIngestMediaStore> CURATORCONNECT-HI-RES-OTHER <Path> (This is used to set the Hi-Res path on the project itself and is useful when utilizing prefix swaps so that Mac devices can translate utilizing whatever prefix swaps you've put in place. You will want this to reference the Windows path you've set for Hi-Res assets in your system) <PathMetadataKey> HiResPath <PlaceholderMediaStore> FILEINGEST-METADATAIMPORT <PlaceholderProcess> Spawn - Generic Metadata Import <ProjectFolderPattern> (This is used to place the project file itself in a specific folder pattern on disk) <ProjectLocationTransform> (This is used to point to your project transform file, if you have one) <ProjectPathMetadataKey> HiResPath <VideoAssetMode> Update <VideoIngestMediaStore> CURATORCONNECT-HI-RES-VIDEO
Here is an example of a transform file for a project, this is used to derive the Curator Virtual folder path based on the metadata from the Project. Please do not use this for your build, it's here as a reference only so that you can get an idea of what it looks like and how to read them.
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes"/> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="/assets/asset"> <xsl:element name="asset"> <xsl:apply-templates select="@*|node()[not (self::asset.folder_path)]"/> <asset.folder_path> <xsl:text>WIP</xsl:text> <xsl:if test="shoAccessLevel != ''"> <xsl:value-of select="concat('\',shoAccessLevel)"/> </xsl:if> <xsl:if test="shoPromoType != ''"> <xsl:value-of select="concat('\',shoPromoType)"/> </xsl:if> <xsl:if test="shoPromoNumber != ''"> <xsl:value-of select="concat('\',shoPromoNumber)"/> </xsl:if> <xsl:if test="shoProductionType != ''"> <xsl:value-of select="concat('\',shoProductionType)"/> </xsl:if> </asset.folder_path> </xsl:element> </xsl:template> </xsl:stylesheet>
The above transform would place the project into System>WIP> then the value for each of the metadata names listed. You may need to consult IPV support if your build requires a transform file for your project ingests, typically these are only necessary when placing projects in folders that contain customer-created metadata, static paths will not need a transform file.
This concludes the configuration section of project connect, please now go ahead and try ingest via Curator Connect with your project files.
Below is an example of a Premiere Project that has been successfully ingested via Curator Connect
Once ingested you should have a collection/production within your Curator system, which should also be placed within the defined location as part of your config or transform file.
Below is an example of a Premiere Project that has been successfully ingested via Curator Connect showing the metadata which is available on the collection asset.
(You may need to zoom in to see the specifics discussed below)
- The above shows the Folder Structure which contains the asset id's stored within the project, projects are saved as blobs in the database so you won't see the assets themselves when opening a project outside of Premiere.
- The Hi-Res Path listed as "Hi-Res Path (IPV)" references the Hi-Res location used by Premiere.
- Our ingest mediastore is referenced as well, this is useful for tracking down the location to which the customer ingested the project.
- Outside of Premiere, the project will not show the Adobe Premiere icon and will display as shown below.