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
  • How it works
  • What does "sync" mean?
  • What's a connector?
  • What's an endpoint?
  • What's a job?
  • What's a transaction?
  • How content is sync?
  • What is motation?
  1. Getting Started

Core Concepts

How it works

Simply put, Impulse syncs content. A sync requires a job. A job requires endpoints. Endpoints connect to a system.

Once a job exists and has endpoints with configs, a sync can be started.

What does "sync" mean?

A "sync" is Impulse's primary function. Sync means moving content from a source to a destination. Sources or destinations can be files systems, databases, content management systems, version control sites, and more. These sources and destinations are connected to via Impulse endpoints.

What's a connector?

A connector is an extension point of Impulse that allows Impulse to retrieve and/or save content to a system. Connectors have 3 levels.

  1. Destination connector only

    • Can only sync from motation

    • The endpoint will not pick up and save content into Impulse's motation standard

    • The endpoint will not save content into Impulse

  2. Source connector only

    • Can only sync to motation

  3. Both source and destination connector

    • Can sync to motation and from motation

What's an endpoint?

Endpoints are the connection to a source or destination. An endpoint declares a repository for data. Repositories could be GitHub, dotCMS, Strapi, a file system and more. These repos are a location that data is stored at so data can be either synced to or from that site. Endpoints require configuration based on their connector to sync data.

Endpoints are used by both sources and destinations. Endpoints contain the information required to connect to a source or destination. Each endpoint tells what system the repo is and the configures the location and authentication needed.

What's a job?

Jobs are how impulse starts a sync. They are used to declare the source(s) content should sync from and the destination(s) content should sync to. Jobs also configure what data to sync and special rules for saving it. A job uses endpoints to access systems and sync their data.

Jobs use endpoints to access systems and determines which are sources or destinations. A job has a list of endpoints which declare if an endpoint is a source or destination. A job also includes details for each endpoint which determine what data should be synced from source endpoints and how it should be synced in destination endpoints.

What's a transaction?

When a job is used to start a sync it creates a transaction. A transaction is the detailed process of a sync. When a sync starts a transaction starts. Once the transaction is finished the sync is done.

A transaction has reports which provide details on the process of the sync, differences found between repositories in a sync, and more.

How content is sync?

Using the search criteria configured in the Job Options for each endpoint, impulse will request to the configured source endpoint and each destination endpoint the contents matching that criteria (not the whole content but just some details used on the impulse comparison), those contents will be compared between the source and each destination endpoints and depending on the result of the comparison impulse decides whether a content needs to be sync or not.

Impulse has the concept of Local Ids, a local id is a unique identifier for each content in each system, the comparison described above is made using those local ids, and it means that if the content does not change the local id won't change either allowing us to use to compare, if the local id for a given content changed over time we can infer the content also changed and needs to be sync.

What is motation?

Motation is short for "Motiv Notation". This is the storage type that Impulse stores all content as. Many of Impulse's functions use motation as the standard. The functions that use motation as the standard will be unable to function without the proper connector level and config.

For instance, the diff report will not work without the destination endpoint using a level 3 connector and having both source and destination configs.

PreviousGetting StartedNextCreating Endpoints

Last updated 1 year ago