With the Team Development feature in TimeXtender, it is possible for multiple users to work together on the same project. By utilizing and respecting the work items you can ensure that only one person is changing a single object at a time and avoid corrupting the project.
Follow the rules below to ensure that the project stays consistent:
- Never work on the same object as anyone else. An object is defined as a table, dimension, or cube
- To avoid this, always create work items before making any changes to an object. (Right-click the object, then click Create Work Item)
- Create work items on associated objects that may be impacted by your changes. This should be any other object(s) that will be marked "dirty" (label shown in red and with a * in the tree) when your change is made. Examples:
- When creating a conditional lookup. This updates the indexes on the source table and it will be marked as dirty. So both the source & target tables should be marked as work items.
- Deleting a field that is mapped to a data warehouse will cause the data warehouse table to be marked as dirty. Create work items on both the source & target tables.
- Updating a project variable will mark all objects where the variable is used as dirty. Create work items on all objects where the variable is used.
- Modifying a script action and updating items where the script action is used. All objects that are updated should be marked as work items.
- 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 and Reload (keyboard shortcut: Ctrl+ F5) to release the work item.
- Keep the Work Items window open when working and be aware of other users' work items.
- Do not rename tables, cubes, dimensions.
- The only exceptions are if you just created the table and have not saved it yet or if nobody else has the project open. You can see who has a project open in the Work Items window.
- Always Save and Reload before you start a new development task. This ensures that you get the latest version of all objects before you start taking over somebody else's work.
- Configure a daily (or more frequent) backup of the project repository. This can be used if a conflict and subsequent corruption occur.