• No results found

Errors on self-joins with @Prompt

7 Working with projects

7.4 About project synchronization

Synchronizing a project starts with comparing the resources in a project in the Local Projects View with an associated shared project on the repository server. Synchronization detects added resources, deleted resources, and differences between the resources. Based on the differences detected, you can update the local and shared resources.

Use the Project Synchronization View to synchronize a project. The view displays synchronization information in two panes:

● The Shared Project pane lists the resources in the shared project on the server. A lock icon appears next to the resource if it is locked. Other information about the resources on the server is given: the user who last modified the resource and on what date, the user who locked the resource and on what date.

● The Synchronization Status pane lists the status of each resource. The status is determined by comparing the resources in the local and shared projects.

The different synchronization statuses and what they mean are listed in the table.

Status Description

Added Locally The resource was added in the local project, but not in the shared project.

Changed Locally The resource was changed in the local project, but not in the shared project since the last synchronization.

Deleted Locally The resource was deleted in the local project but still exists in the shared project.

Added on Server The resource is not in the local project but exists in the shared project.

Changed on Server The resource was changed in the shared project, but not in the local project since the last synchronization.

Deleted on Server The resource exists in the local project, but was deleted in the shared project.

Conflicting Any of the following situations creates a conflicting status:

● The resource was changed in both the local and shared projects with different changes since the last synchronization.

● A resource with the same name was added both in the local and shared projects since the last synchronization.

● The resource was changed in the local project, but deleted from the shared project.

● The resource was changed in the shared project, but deleted from the local project.

Synchronized The resources are identical.

Three commands allow you to synchronize resources. When you select the resources to be synchronized, you can select individual resources or folders. The following table summarizes the possible synchronization actions.

Icon Command Synchronization Action Get Changes from Server For the selected resources:

If the status is Added on Server, the resource is added to the local project.

If the status is Changed on Server, the resource is up­

dated in the local project.

If the status is Deleted on Server, the resource is de­

leted from the local project.

If the status is Conflicting, the resource on the server (whether it is changed, added, or deleted) is copied to the local project, regardless of the change made in the local project.

For all other statuses, no action is taken.

Note

You may want to review the changes made on the server before updating them in the local project. For more information, see the related topic on merging changes in shared resources.

Save Changes on Server For the selected resources:

● If the status is Added Locally, the resource is added to the shared project on the server.

● If the status is Changed Locally, the resource is up­

dated in the shared project on the server.

● If the status is Deleted Locally, the resource is deleted from the shared project on the server.

● If the status is Conflicting, the resource in the local project (whether it is changed, added, or deleted) is copied to the shared project, regardless of the change made in the shared project.

Note

If a resource is locked by another user, an error mes­

sage displays and the changes and deletions are not made on the server.

For all other statuses, no action is taken.

Icon Command Synchronization Action

Revert Changes For the selected resources, the local project is updated with the shared project on the server, regardless of the status.

Note

Revert Changes updates the local project in the same way as Get Changes from Server with the exception that if a resource has been created in the local project and has not yet been saved on the server, Revert Changes deletes the new local resource, whereas Get Changes from Server preserves the new local resource.

The list of resources in the Synchronization Status pane can be filtered on status using the icons in the pane's tool bar:

Shows all resources. This clears the filters and lists all resources regardless of their status.

Shows/Hides the resources with a status of Synchronized.

Shows/Hides the resources in the local project that have changed with respect to the server.

Shows/Hides the resources with a status of Conflicting.

Shows/Hides the resources on the server that have changed with respect to the local project.

Related Information

Synchronizing a project [page 85]

Locking a resource [page 86]

Unlocking a resource [page 87]

Merging changes to shared resources [page 87]

7.4.1 Opening the Project Synchronization View

1. To open the Project Synchronization View, from the main menu, select Window Project Synchronization .

2. Click the Change Session icon in the Project Synchronization View to open a session on the repository system where the shared projects are saved.

After entering your authentication information, you can manage shared projects, and select a project to synchronize in the Shared Project list.

Related Information

Opening a session [page 91]

About project synchronization [page 82]

7.4.2 Synchronizing a project

To synchronize a project, the project must be shared.

Synchronize a project when you want do the following tasks:

● Update local resources with changes stored in the shared project.

● Save in the shared project the changes you made to local resources.

● Revert local resources to the copy stored in the shared project.

● Create a local copy of a shared project.

1. Open the Project Synchronization View with a session on the repository system where the shared project is saved.

2. Select the shared project from the Shared Project list.

3. To see the latest synchronization status of the resources in the project, in the pane labeled Synchronization status (Local Project Compared to Shared Project), expand the project and click the refresh icon . For more information about synchronization status and possible actions, see the related topic about project synchronization.

4. Synchronize the project:

○ To update the local project with resources that have changed in the shared project, select the resources in the list and click the Get Changes from Server icon .

If no project exists in the Local Projects View with the name of the shared project, a local project is created.

Note

You may want to review the changes made on the server before updating them in the local project. For more information, see the related topic on merging changes in shared resources.

○ To update the shared project with changes made locally, select the resources in the list and click the Save Changes on Server icon. .

Note

Resources that are locked by another user cannot be updated on the server. However, if needed, any user can unlock the resource.

If you are updating the server with resources that you have locked, synchronizing updates the resources, but does not unlock them. You must explicitly unlock the resources on the server.

○ To revert resources in the local project to the copy stored on the server, select the resources and click the Revert Changes icon .

Related Information

About project synchronization [page 82]

Opening the Project Synchronization View [page 84]

Locking a resource [page 86]

Unlocking a resource [page 87]

Merging changes to shared resources [page 87]

7.4.3 Locking a resource

To lock a resource, the resource must be in a shared project.

Lock a resource when you want to inform other designers that you are working on the resource when they open the Project Synchronization View.

1. Open the Project Synchronization View with a session on the repository system where the shared project is saved.

2. Select the shared project from the Shared Project list.

3. In the Shared Project pane, expand the project.

4. Right-click the resource and select Lock.

Note

The lock action does not update the resource contents in either the local or shared project. To save any changes, synchronize the resource.

Related Information

Opening the Project Synchronization View [page 84]

About project synchronization [page 82]

7.4.4 Unlocking a resource

Unlock a resource once you have updated your changes on the server and you want to inform other designers that you have finished. Once you have unlocked the resource, other designers can lock it and/or update the server version with changes.

Note

If necessary, you can unlock a resource locked by another user.

1. Open the Project Synchronization View with a session on the repository system where the shared project is saved.

2. Select the shared project from the Shared Project list.

3. In the Shared Project pane, expand the project.

4. Right-click the resource and select Unlock.

Note

The unlock action does not update the resource on the server with any changes made in the local project.

To save any changes, synchronize the resource.

Related Information

Opening the Project Synchronization View [page 84]

About project synchronization [page 82]

7.4.5 Merging changes to shared resources

When synchronizing a shared resource, before getting changes from the server, you may want to review the changes and decide which changes to apply to the local resource. This procedure presents a way to manually merge changes between differing resources.

For example, you are working on a resource called NewDatafoundation in a local project. This project is shared in a repository. When you synchronize the project, NewDatafoundation has a synchronization status of Changed on Server, or Conflicting.

To review and manually merge the changes:

1. In the local project, right-click NewDatafoundation and select Copy.

2. Right-click again (in the local project) and select Paste.

A copy of NewDatafoundation is saved in the local project.

3. In the Project Synchronization View, select NewDatafoundation and synchronize by selecting Get Changes from Server.

4. Open both NewDatafoundation and Copy of NewDatafoundation in the Data Foundation Editor by double-clicking each resource name in the local project.

Each copy will open in a separate tab of the editor.

5. Compare the changes from the server in NewDatafoundation to your local changes in Copy of NewDatafoundation.

6. In the editor tab with NewDatafoundation open, delete any server changes you do not want to keep, and add any changes that you made locally that you want to keep.

7. Save the changes to NewDatafoundation in the editor.

8. In the Project Synchronization View, refresh the synchronization. Update the server by selecting NewDatafoundation and then selecting Save Changes on Server.

Eventually, once you have verified the merged changes, you can delete Copy of NewDatafoundation from the local project.