Configuration Manager SEDO (Serialized Editing of Distributed Objects) in the System Center 2012 Configuration Manager SDK provides a mechanism for assigning and unassigning locks to globally replicated SDK provider objects in the context of a site, computer and user. SEDO-enabled objects are globally replicated SDK provider objects that require the user to obtain a lock if that user wishes to edit and save that object. When the user obtains that lock, the lock will be assigned to that user, the user’s computer and the site in which the computer resides. While that lock is assigned, no other user or computer will be able to edit that object until the user releases the lock.
Only SEDO-enabled objects require users to obtain a lock before editing them. The SEDO-enabled objects are the following:
Implicit and Explicit Lock Requests
To prevent SEDO from breaking current SDK application functionalities, SEDO supports both implicit and explicit lock requests. In the case of implicit requests, if the lock is already assigned to the local site and the user attempts to edit a SEDO-enabled object, then SEDO will automatically attempt to retrieve the lock. If SEDO succeeds in obtaining the lock from the local site and the user edits the object, then that object will be saved at the user’s request, without having to make an explicit programmatic lock request.
However, if the lock is not assigned to the local site and a transfer of the lock from another site must be requested, a request must be sent to the remote site that contains the lock. This request must be made explicitly by the user.
For more information, and to learn how to explicitly request a lock, see How to Acquire a Lock on a SEDO-Enabled Object.
Implicit and Explicit Lock Releases
SEDO also supports both implicit and explicit lock releases. In the case of implicit releases, when a user saves an object using a Put() method, SEDO will attempt to automatically release the lock. Otherwise, the release must be explicitly made.
To learn how to explicitly and implicitly release a lock, see How to Release a Lock on a SEDO-Enabled Object.