Discovery Hub supports multiple developers working on the same project at the same time. Version notes enable developers to share details about their changes to the project and work items allows developers to see which objects other team members are working on to prevent them from modifying the same objects simultaneously.
When collaborating on a project, developers should avoid working on the same object on the same time. If this happens, the outcome depends on the type of change made:
- If multiple team members add or modify different sub-objects (such as fields) within the same object (such as a table), then Discovery Hub will save these changes and display them the next time that Discovery Hub is opened. For example, if one team member adds two fields to a table, and another team member adds another two fields to the same table, all four fields will be visible to all team members the next time they close and re-open the project.
- If multiple team members modify the same sub-object at the same time (for instance renaming a field), the changes deployed and executed last will take precedence, and the project will reflect those changes.
The team development feature of Discovery Hub depends on the developers to take care when working together as the feature itself does not prevent developers from making conflicting changes.
Follow the rules below to ensure that the project stays consistent:
- Never work on the same object - table, dimension or cube - as someone else.
- Always create work items before making any changes to an object.
- If anyone else has the item marked for their use, wait for them to release the work item.
- Once you are done working on an object, save the project and release the work item.
- Keep the work items window open when working.
- Do not rename tables, cubes or dimensions. The only exceptions are if you just created the table and have not saved yet or if nobody else has the project open. You can see who has a project open in the work items dialog.
- Always save and reload (Ctrl+F5) before you start a new development task. This ensures that you have the latest version of all objects before you start taking over the work of somebody else.
- Immediately before creating a new table, always save and reload.
Enabling the Team Development Environment
You need to enable Team Development for any project you want to use the feature in.
- On the Tools menu, click Repository Administration.
- On the Projects tab, right-click the relevant project and click Enable Team Development.
- Close the window. Multiple users can now access the project concurrently.
Work items allow the team to know what its users are working on. This will give a visual indication as to what areas of the project are currently under development. Work items are meant to be created immediately prior to starting work on a set of objects and can be either manually deleted or removed during deployment of the object. Work items can be added to the following objects:
- Data Warehouse
- Data Warehouse table
- Staging Database
- Staging Database table
- Data Source Table
- OLAP Database
Adding Work Items
To add a work item, follow the steps below.
- Right-click the relevant object and click Add Work Item.
If the object that the user is adding the work item to already has a work item created by another user, it will display Add Work Item in red and identify the other user below. This allows users to know if other users are modifying the same object in order to facilitate collaboration.
Otherwise, the Create Work Item window appears.
- In Descriptiontype a short description of the work item, e.g. what task the work item is a part of, and click Create Work Item.
- Click Create Work Item.
Viewing Existing Work Items
To view existing work items, follow the steps below.
- On the Tools menu, click Work Items.
- The Work Item window opens. It contains a list of your own work items, My work items, and a list of Other users work items.
Each list displays the following information:
Column Description Object Type The type of object the work item is associated with (project, database, table, or cube) Object Name The name of the project, database, table, or cube associated with the work item User The user name of the person who created the work item
The machine that the work item was created on Description Descriptive text defined by the user for the work item
Work items can have three colors depending on their status:
- Black: A work item that is only flagged by a single user.
- Red: Work items that share the same Object Name for different users. This tells you that some collaboration will be needed regarding which user is accessing the data. While Team Development allows multiple users to modify the project concurrently, these users should not modify the same object at the same time.
- Green: Work items that have been completed by another user who has saved or deployed and marked the work item as completed.
In the Active Users pane, all users currently accessing the project are shown.
Editing a Work Item
Work items can only be edited by the user that created the work item. To edit a work item, follow the steps below:
- On the Tools menu, click Work Items.
- In My Work Items, right-click the work item to edit and select Edit Work Item.
- Update the work item description and clickUpdate Work Item to save the changes.
Deleting Work Items
Work items can only be edited by the user that created the Work item. You can delete a work item in three different ways:
- Right click the relevant object and click Delete Work Item
- On the Tools menu, click Repository Administration. On the Work items tab, click a work item an click Delete.
- On the Tools menu, click Work Items.
In My work items, right-click the relevant work item to edit and click Delete Work Item. Discovery Hub will ask you to confirm the deletion. Click Yes.
Work items can also be removed when adding version notes, which is discussed below.
Version notes enables you to add comments about changes that you have made to a project. These comments can then be viewed in the future to reference changes that were made.
Adding Version Notes
- To ensure version notes are enabled, click Options on the Tools menu. The Options window appears.
- Under Prompt for version details, make sure one of the following options is selected:
- Every time the project is saved: You will be prompted to enter a version note when you deploy an object or when you click the Save button.
- Every time the project is saved during deployment: You will only be prompted to enter a version note when you deploy an object.
- When you deploy an object in the project, the Version Details window will appear just before the deployment begins.
You can type in any details you want to include in the version note. If relevant, you can also select one of your existing work items to associate with the version note. Selecting a work item will also remove the work item from the list of existing work items. If you want to associate a work item with the version note, but not remove the work item, select Keep Associated Work Items. If you do not want to save a version note for this deployment, you can click Close.This will close the window without saving a version note.
Viewing Version Notes
Viewing version notes can be useful when you would like to look back and see when particular changes were made. Follow the steps below to see the list of project versions and associated version notes.
- On the Tools menu, click Repository Administration. The Repository Administration window appears.
- Right click the relevant project and click Show Project Versions. The Project Versions window appears.
- If a notepad icon is displayed in the Note column, a version note is available for the version. Hover over the notepad icon to see a quick description of the note.
- Click the notepad icon to see the full version note as well as any work items associated with the version note.