Paths/IDs Changed
Last updated
Last updated
Assume the content being synced is an article. In the body of the article there are images being set by via url.
To fully sync this article to another system, both the image and the article need to be synced. However, when the image is synced, the ID and URL of the images changes to match the values of the destination system.
We need to be able to
Sync the image
Sync the article
Update the image URL in the article's body to the new image URL
First, we create a job to sync the image. When this job runs the image asset will sync from the source to the destination.
But as previously stated the URL to the destination asset is different from the source asset.
Next we'll create a second job to sync the article content type and add a regex manipulator to the job.
This job will sync the article content from the source to the destination.
The regex manipulator we'll set up as seen below.
To understand how the regex config should be written we first need to understand the image URL. In this example the image url can be broken down as follows:
Domain (https://eu-images.contentstack.com
)
API path (v3/assets
)
Source system ID (blt66983808af36a8ef
)
Content ID (blt17604d8fa654cda2
)
Content Version ID (613f09322f7bb50798050a4c
)
File Name (chess-1314359_1280.jpg
)
In the replace
field, groups 1, 3, 5, and 7 are all kept as is. However, group 2 captures the source system ID and replaces it with the static destination system value.
Group 4 captures the content ID value and is used to search for a mapped content.id
value by taking the content ID in group 4 and using it to search against Impulse's ID maps. Similarly, group 5 captures the content version ID value and is used to search for a mapped content.version.id
value.
Finally, a pipeline can be created that runs both jobs in order.
After running this pipeline, the destination article now has the synced image
ImpulseSync can solve this with a couple jobs and the .
In the config for the regex manipulator, we see the regex
field is broken into groups that capture parts of the URL. Each group is created with parentheses and can either be replaced, kept, or used to search for a mapped ID value. ()