Environment Migration

General Asset Migration

During the implementation process, you may want to migrate project assets from one environment to another. For example, from preview.threekit.com/o/staging to admin-fts.threekit.com/o/production. There are different types of migrations.

1. Assets Migration

A general assets migration only migrates the catalog items and the assets (scenes, models, textures, fonts, and any others that are listed in the org asset page.)

2. Full Migration

A Full migration includes all the assets plus rendered images, translations, etc. Below is a list of the current supported migration scopes:

  • assets
  • layers
  • orders
  • webhooks
  • configurations
  • apps
  • analytics
  • jobs
  • translations

3. Specific Assets Migration

Org-wide migrations are the most common, but when needed we can migrate specific assets or items. For example, you might only need to migrate a few new texture assets or material assets, which don't have complex asset references and are needed before other draft work is completed.

Org-wide migration is highly recommend for most cases.

Project Migration

Before project go-live, we need to migrate a project from a Preview environment to a Production environment. To achieve that, all the necessary assets are migrated from Preview to Admin-fts and then the assigned partner developer will switch the environment to Admin-fts in the code. Depending on the data needed in the target environment, we can do full migration or assets migration.

1. Determine What Assets Need to be Migrated

The type of project will determine what assets need to be migrated. A 3D configurator needs the assets and catalog items migrated, while a 2D configurator requires assets, catalog items, and rendered images. Please check the General Asset Migration section.

2. Open a Support Case

You should log into the Threekit support portal to open a new case and select the Migration Case type. You will need to provide the below information:

  • Source Organization Link or Org ID
  • Source Organization Token
    • This will be the token and associated permissions used to authorize the transfer from the source org
  • Target Org Link or Org ID
  • Target Org Token
    • This will be the token and associated permissions used to authorize the transfer to the target org

If you need a new org to be created you will also need to provide a name for the new org and indicate the org environment where it should be created (Preview, Admin FTS, etc.)

For example:

SOURCE_ENV=preview \
SOURCE_ORGID=xxx-xxx-xxx \
SOURCE_TOKEN=xxx-xxx-xxx \
DEST_ENV=fts \
DEST_ORGID=xxx-xxx-xxx \
DEST_TOKEN=xxx-xxx-xxx \
Shell
Copy

3. Org Updates

Once your migration case is completed, there are a few additional things that need to be updated. The implementor needs to check the environments and the embedding player documentation to understand the necessary steps to embedded the configurator in the new environment.

Generally, there are a few steps.

  1. The project needs to use the player.js from the new environment, for example player.js of admin-fts can be fetched from https://admin-fts.threekit.com/app/js/threekit-player.js
  2. Update the server-side api endpoint. For example, if you are using the asset api of preview in your code, https://preview.threekit.com/api/assets, and you need to switch to admin-fts, https://admin-fts.threekit.com/api/assets.
  3. The implementor needs to create a new public token for the front-side code and rotate the old token
  4. The implementor needs to create a new private token for the server-side code and rotate the old token
  5. The project needs to use the new org ID (the org ID is changed in the new environment)
    NOTE: The asset IDs are kept during migration, so no need to change the asset IDs in the code.

If there are any issues, please check with the team for solutions.

 

Data Transfer

📤 Data Transfer can be used to migrate all or some of your data in between Organization on the same or different environments. 

Data transfers will create data if it doesn't exist already or update it if it does. This is determined by the data's unique Threekit IDs as seen in the URL.

For new data:

  • You have a staging Organization in the Preview environment
  • You have added new Products and accompanying visuals in Preview
  • You use the Data Transfer feature to transfer the new Products and their visuals to Admin-FTS
  • The existing data on Admin-FTS will not be affected

For existing data:

  • You have a staging Organization in the Preview environment
  • You have update existing Products and accompanying visuals in Preview
  • You use the Data Transfer feature to transfer the modified Products and their visuals to Admin-FTS
  • The existing Products and their visuals on Admin-FTS will be updated to match Preview

Note that neither of these transfers can be undone and that access to the feature should be restricted accordingly.

Access to this feature can be restricted using the Roles and Permissions feature:

transfer-permissions.png

Data Transfer can be found in Settings > Data Transfer.

transfer-menu.png

To initiate a Data Transfer, you must:

  • Select the environment you want to transfer data to
  • Enter the Organization ID of the destination organization (this can be found on the Settings page)
  • A private token from the source organization (this can be created in Settings > Tokens if it does not exist)
  • A private token from the destination organization (this can be created in Settings > Tokens if it does not exist)

transfer-fields.png

You are able to select the type of data to transfer:

transfer-prod-data.png

Dependencies will automatically be selected. For example, transferring Orders requires transferring Production Data and Configurations.transfer-data-dependencies.png

If a Data Transfer is initiated successfully, you will see a record of it in the Jobs page:transfer-job.png

You can also see a history of all Data Transfers easily using the Data Transfer History button at the top right of the Data Transfer screen:

data-history-button.png

Share this