Migrate Selected Objects between Workspaces
Sometimes, you may need to migrate selected objects from one workspace to another. For example, you may need to migrate dashboards or other metadata from your development workspace into one or more production workspaces.
Alternatively, you can clone a whole workspace. For more information, see Clone a Workspace.
What You Can Migrate Between Workspaces
You can migrate the following objects between workspaces:
- Metrics, attributes, facts
- Reports
- Dashboards
If you migrate a report or dashboard that contains computed attributes, the migration will fail with the following error:
Can't find %s with identifier %s
To migrate an object with computed attributes, see Use Computed Attributes.
Prerequisites
Before you start, make sure that the following prerequisites are met:
- You are a workspace administrator in both workspaces.
- You use the same account to access the workspaces.
- The workspaces have the same logical data model.
Migrate Objects between Workspaces
To migrate objects between workspaces, complete the following steps:
- Acquire the workspace ID.
- Acquire the object URI.
- Choose the migration method:
In GoodData, terms workspace and project denote the same entity. For example, project ID is exactly the same as workspace ID. Find the Workspace ID.
Acquire the Workspace ID
Find the ID of the both source and target workspaces.
Acquire the Object URI
In the source workspace, acquire the URI of the object that you want to migrate.
You can find the object URI via the GoodData Portal or via the gray pages.
Find the Object URI via the GoodData Portal
The following procedures assume that you access your workspaces at https://secure.gooddata.com/.
If you are a white-labeled customer, replace secure.gooddata.com
with your white-labeled domain in the procedure steps when needed.
Steps:
Log in to the source workspace in the GoodData Portal at https://secure.gooddata.com/.
Navigate to the object that you want to migrate.
Check the URL in the browser address bar. For example, the URL for a report would look similar to the following:
https://secure.gooddata.com/#s=/gdc/projects/e863ii0azrnng2zt4fuu81ifgqtyeoj21|analysisPage|head|/gdc/md/e863ii0azrnng2zt4fuu81ifgqtyeoj21/obj/2579
The object URI is the string that follows the
analysisPage|head|
segment. In this case, the object URI is/gdc/md/e863ii0azrnng2zt4fuu81ifgqtyeoj21/obj/2579
.
Find the Object URI via the Gray Pages
Steps:
In the source workspace, go to the gray page for reviewing metadata resources:
https://secure.gooddata.com/gdc/md/{source_workspace_id}/query
The metadata resource page opens.
Navigate the object hierarchy to locate and select the object by its title.
On the object detail page, locate the keyword
URI
. The value of this keyword is the object URI. Example:/gdc/md/e863ii0azrnng2zt4fuu81ifgqtyeoj21/obj/2579
Migrate Objects via Gray Pages
This procedure alternates between two workspaces: source and target. It may be helpful to use a text editor for staging the code that you copy and paste.
This procedure assumes that you access your workspaces at https://secure.gooddata.com/.
If you are a white-labeled customer, replace secure.gooddata.com
with your white-labeled domain in the procedure steps when needed.
Steps:
In the source workspace, go to the gray page for workspace maintenance actions:
https://secure.gooddata.com/gdc/md/{source_workspace_id}/maintenance
The workspace maintenance page opens.
Click partial-md-export. The partial export page opens.
Depending on your requirements, select some or all export options to apply during the export.
In the text box, enter the URI of the object to migrate.
Click submit. The export process starts. When the export is generated, the response similar to the following is displayed:
Copy the value of the
token
keyword and save it for later. You are going to use it when importing the generated partial export to the target workspace.In the target workspace, go to the gray page for workspace maintenance actions:
https://secure.gooddata.com/gdc/md/{target_workspace_id}/maintenance
The workspace maintenance page opens.
Click partial-md-import. The partial import page opens.
In the Import token field, paste or enter the value of the token that was generated during the export.
Make sure that the checkbox for overwriting newer objects in the workspace is selected.
Depending on your requirements, select other options to apply during the import.
If the imported object forces changes into the logical data model, you can choose to overwrite the logical data model. However, making changes to the logical data model may have cascading effects throughout the workspace, including the unexpected deletion of workspace data. We do not recommend that you select this option unless you have thoroughly tested the impacts of this overwrite first.Click submit. The import process starts. Depending on the size of the imported object, this process may take a while. When the import completes, the OK status of the import task is returned. The object has been imported.
Log in to the target workspace, and verify that the migrated object is available there.
Migrate Objects via API
This method is typically used for migrating an object from a single source workspace to multiple target workspaces.
Steps:
- Perform partial export from the source workspace. See API: Export part of a project.
- Perform partial import into the target workspace. See API: Import part of a project.
- Log in to the target workspace, and verify that the migrated object is available there.