Understanding Object Check In and Check Out

You can check out an Object Librarian object that resides in your projects provided that the token for the object is either available or held by the project in which the object currently resides. Only one user at a time can check out an object. Checkout fails if the object is already checked out or if the token is unavailable. If the token is unavailable, you can join the token queue for the desired object. If you join the token queue, you will be notified when the token is available and your project will receive the token.

Check in an object when you want to upload its specifications to the server and make it publicly available. When you check in an object, the system records the project in which the object resides and ensures that only changes made under the current project are transferred when the project is advanced to a status that triggers a transfer. If you move an object from one project to another using the drag-and-drop method, the system tracks the change and records the new project for the object. However, consider the following scenario:

  1. You add an object to a project and check it out.

  2. You change the object and check it in.

  3. You use the right-facing arrow in the center column to remove the object from the project.

  4. You later add the object to a different project.

In this scenario, the system cannot track the object because it passes out of a project completely. Therefore, when you advance the second project, if the system needs to transfer the object as part of the advance, the transfer will fail because the object's last known check in project location and its current project location do not match.

When you drag-and-drop an object, the system updates its tables in such a way that the transfer can occur. This is not the case when you remove an object from a project and then add it to a different project later.

If an object is checked out, you can erase the checkout. When you erase a checkout, local changes are not uploaded to the server. Erasing the checkout for an object does not release its token, but it does enable other developers who are assigned to the same project to check out the object.