Comparing and Merging Spaces

The Compare and Merge Spaces feature allows granular differences in metadata to be moved from one space to another. This feature is useful for identifying differences between spaces and also enables distributed development across many spaces by allowing changes in one space to be moved to another. See Distributed Development Model for information about the workflow for a multiple developer environment.

This feature allows a Space Administrator to compare the currently active space to another space (to which the Space Administrator has access) and lists granular differences by object type. Individual differences for existing objects can be migrated from one space to another. Use this tool to compare data sources, hierarchies, custom measures, custom attributes, bucketed measures, variables, aggregates, and reports between spaces.

Birst can compare different versions of the current space. Each time a space is processed, a copy of the space’s primary metadata, its repository, is saved. This allows developers to compare the existing space to prior versions to get a sense of what has changed over time.

To compare metadata differences between spaces and merge specific changes into a space

1. On the Home page, select the space whose metadata you want to compare with another space's metadata, and potentially update with changes from the other space.
2. Go to Admin - Manage Space - Compare and Merge Spaces.
3. In the Compare To area in the upper left, select the space to compare with the current space. The name of the space, a description and the last modified date and time are provided.

Tip: You can select a different version of the same space to compare with the current version of the space. A copy of the space’s repository is saved each time the space is processed. The different versions are identified by load number and the date and time it was last modified.

4. Next, select the types of objects to compare between the two spaces using the check boxes in the upper right part of the screen. You can compare the following items:

Data sources—All aspects of a data source, including data source columns, types, names, targeting, and also configuration settings. This allows a developer to understand if there are any differences between a source in two different spaces.

Hierarchies—This includes hierarchy, level, and level key metadata.

Custom columns—This includes custom measures, custom attributes, and bucketed measures.

Catalog—All reports are compared. Note that report comparison is not done in a granular fashion. A report is either the same or different. Specifics about how a report is different from another one are not provided.

Variables—Repository and session variables.

Aggregates—Any aggregates that are defined.

5. Click the Compare button to compare the current space with the selected space or version. The results of the comparison will be displayed in the table at the bottom of the page. There are two main types of differences:

Existence—The object exists in one space but not the other.

Difference—The object exists in both spaces, but is different in each. The following information is provided for each difference discovered:

Item Name: This is the name of the object that is being compared. Depending on the object this may be its logical name (e.g., a column) or its path (e.g., a report).

Object Type: The type of object. For example: Hierarchy, Data Source, Variable, Report.

Description: A description of the difference between the object in the current space's repository and the comparison space's repository.

Current: A description of the current value of this object (if possible) from the current space.

Compare: A description of the comparison value of the object (if possible) from the “Compare To” space.

An example result is shown below:



In the example you can see the following differences:

The Customers data source was moved from the Customers hierarchy to the Order_Details hierarchy.

The Customers data source was repositioned on the data flow screen.

The column “ContactTitle” does not exist in the current space but does in the comparison space. Likewise, “Title” exists in the current space but not in the comparison. This likely occurred because the column was renamed.

The flag for processed dependencies is different between the two repositories for several hierarchies. This flag is an internal flag that is the result of creating certain implicit relationships during Automatic space creation. This flag difference is a result of converting a space from Automatic to Advanced.

Several repository variables have changed. As these variables relate to processing times, it appears that these spaces were processed at different times.

A report exists in the current version of the space, but not the other.

6. The tree view to the left of the table contains check boxes next to objects and object categories. Use the check boxes to filter the objects that are displayed in the table. In the example below, only the data source objects are selected, therefore only the data source objects are displayed in the table. If you intend to merge objects from the comparison space into the current space, check only the boxes of the objects you want to merge.

Tip: Use Check All to check all the boxes and Uncheck All to uncheck all boxes.

7. Once specific differences between two spaces have been identified, you can pull changes from one space into another—in effect partially merging these spaces. Click the Pull Differences Into Current Space button at the bottom to pull the objects that are selected (which are visible in the table) from the comparison space's repository into the current space's repository. Objects in the current space will be overwritten with the versions that exist in the comparison space.

Important: If a Live Access Source connection does not exist in the space you are comparing and attempting to pull changes into, Birst will return an error message indicating a Live Access source connection does not exist in the current space and will not pull that specific change into the space. The error message will look similar to the following:

"DEBUG - The source: 'ST_Orders' is from a live access connection: 'conn1' which is not present in the current space. Hence cannot pull the source."

See Also
Distributed Development Model
Creating a Data Model
Validating Your Data Model