ImpulseSync™ User Manual
HomePricingContact Us
  • Introduction
    • What is Impulse?
  • Crash Course of ImpulseSync
    • Overview Of ImpulseSync
    • Step 1: Endpoints
      • Endpoint Configuration
    • Step 2: Jobs
      • Job Configuration
      • Step 2a: Content manipulators
      • Step 2b: Content mapper
    • Step 3: Syncing
  • Getting Started
    • Core Concepts
    • Creating Endpoints
    • Creating Jobs
    • Starting a Transaction
    • Transaction Reports
    • Automating Jobs with Pipelines
    • Scripting Post Sync
    • Scheduling Jobs and Pipelines
    • Dashboard
    • Managing Jobs/Pipelines
    • Content Mapper
      • Aligning Mismatched Content
      • Connector Matrix
      • Locked Fields
      • Content Aligner
      • Aligning Content Challenges
  • Reports
    • Reports Screen
    • Debug Report
    • Messages
  • Connectors
    • Common Job Options
    • All Connectors List
    • Source Connectors
      • Contentful
      • Contentstack
      • dotCMS
      • Drupal v7
      • Drupal v9
      • GitHub
      • GraphQL
      • MS Teams
      • SCP
      • Snapshot
      • Strapi v3
      • Strapi v4
    • Destination Connectors
      • Contentful
      • Contentstack
      • dotCMS
      • SCP
      • Strapi v3
      • Strapi v4
  • Content Manipulators
    • Common Manipulator Options
    • Add Replace Field
    • AI(Artificial intelligence)
    • Change ID Manipulator
    • CSV Store Manipulator
    • Dynamic Job Store Manipulator
    • File to Text
    • Folder Manipulator
    • Get and Set Field
    • Language
    • Liquid Field
      • Liquid On the Quick
      • Basics
        • Impulse Values
        • Impulse Variables
        • Operators
        • Truthy and falsy
        • Types
        • Whitespace control
      • Tags
        • Control flow
        • Impulse Content Objects
        • Iteration
        • Utility
        • Variable
      • Filters
        • abs
        • append
        • capitalize
        • ceil
        • compact
        • concat
        • date
        • date_str
        • default
        • divided_by
        • downcase
        • escape
        • escape_once
        • first
        • floor
        • getStoredValue
        • htmlQuery
        • htmlReplace
        • idMap
        • join
        • jq
        • json
        • last
        • lstrip
        • map
        • minus
        • modulo
        • newline_to_br
        • plus
        • prepend
        • remove
        • remove_first
        • replace
        • replace_first
        • reverse
        • round
        • rstrip
        • section
        • sections
        • size
        • slice
        • sort
        • sort_natural
        • split
        • str_to_date
        • strip
        • strip_html
        • strip_newlines
        • times
        • truncate
        • truncatewords
        • type
        • uniq
        • upcase
        • utl_decode
        • url_encode
      • Liquid Playground
    • Markdown
    • Regex
    • Relationship
    • Store Field
    • Tidy
  • Time Machine
    • Snapshot
    • Viewing Snapshots
    • Delivery from Snapshots
  • Cookbook Recipes
    • Adding Fields
    • Aligning Content between Endpoints
    • Avoid overriding Fields
    • Avoid syncing Content Types
    • Combing Fields
    • Default Field Value
    • File (.doc) to Structured Content
    • File (.docx) to Structured Content - Expanded
    • HTML to Structured Content
    • Language (Locale) mismatch between endpoints
    • Paths/IDs Changed
    • Reference to Value
    • Single Content Type to Multiple
    • Splitting Content with Reference
    • Syncing Content with Languages
    • Text Select to Boolean
    • Text to Reference
    • Text to Reference - liquid
    • Two Sources to One Destination
    • Changing a folder path
    • Combining data between content types
    • Converting HTML Sections
    • JSON object to reference
    • Use CSV to convert values
    • Storing fields with Store field motator
  • Troubleshooting
    • What to do if I run into a Job Problem
    • Troubleshooting via UI
    • Submitting a ticket
  • Using Impulse Headlessly
    • Getting Started with cURL
      • Creating Endpoints
      • Creating Jobs
      • Starting a Transaction
      • Transaction Reports
      • Automating Jobs with Pipelines
      • Scheduling Jobs and Pipelines
      • Aligning Mismatched Content
      • Scripting Post Sync
  • Organization Tier Restrictions
  • Content Storage Options
Powered by GitBook
On this page
  • Case
  • Solution
  1. Cookbook Recipes

Combining data between content types

PreviousChanging a folder pathNextConverting HTML Sections

Last updated 1 year ago

Case

During IA changes, there may be times when data from one content type needs to merged with another content type. I.e. The name of a referenced content needs to be set as a text field instead of a reference. Or a the content ID needs to be retrieved based on a text value.

Solution

This can be solved with ImpulseSync using the and the either the or (using getStoredValue filter) manipulators.

Using these manipulators requires the proper storage. To permanently save the stored data you must be subscribed to an appropriate plan and additional charges may occur. To permanently save the data, use the storeContent job option in the endpoints that should use permanent storage.

Otherwise, any jobs that will be using these manipulators must be in the same pipeline. All jobs in a pipeline will use the same temporary storage which will be deleted once the pipeline is finished.

The first step is to run a job with the store-field manipulator configured. This will allow data picked up by the job to be stored.

The manipulator can be configured to store a field using the endpoint ID, language ID, and field ID with config similar to the following.

Or you can use liquid templates to use a different key and/or choose the stored value.

Once the job(s) to store data are configured you can then create a job to retrieve the stored data. Data can be retreived with either the get-set-field manipulator or the liquid-field manipulator using the getStoredValue filter.

The config for get-set-field manipulator would be similiar to the following.

The above config would get the field image previously stored with the first store-field config.

Alternatively, you can use a liquid template to create the key to retrieve a value from storage with.

The above config creates a key using a parsed value from the source content to search for the data previously stored with the second store-field config where a key was created using a liquid template.

This config uses a liquid template to again create a key using a parsed value from the source content to search for the data previously stored with the second store-field config where a key was created using a liquid template. It retrieves the value by using the getStoredValue filter in the liquid template.

But instead of simply retrieving the field and setting it in the content, the liquid template creates a relationship field to deliver with the stored data as the related content's ID.

Source vs. Destination

Using these options allows for changing a text value from the source to a relationship at the destination.

Or remove a reference in the middle of a 3 chain reference.

As well as many other use cases for merging or adjusting contents between content types.

The liquid-field manipulator can also directly retrieve a field value from storage. This can be done using the .

getStoredValue filter
store-field manipulator
get-set-field
liquid-field
Source text value
Destination reference value
Source 3 chain reference
Destination 2 chain reference