Michael:
Locking was a core enhancement in the 2.1 Community RC1 release. Although you may have only just noticed in the 7/13 nightly build, this
was the actual behavior enforced on your install of 2.1 RC1 (which is
why the revert of the nightly build didn't change anything).
Our support for locking is has two phases: first, to support business users creating, editing, and publishing content; second, for technical users (designers and developers) building out entirely new websites and application services.
In Phase One for business users, 2.1 locking eliminates the possibility of concurrent edits and potential override and loss of data on submission to staging.
In 2.0.1E and 2.0.0C, modified assets had a special flag set at submit time to disable Edit and Undo operations. The intent of this was to (a) minimize the window of time where any two users could simultaneously edit and make conflicting changes to an asset each in their own sandbox and (b) prevent business users from modifying an older version of the asset in their sandbox that could be re-submitted and override the previously submitted mods (this because the promoted asset from User Sandbox A was now in review, but not yet committed to Staging, meaning User B in their own sandbox made a second update to the asset, since their view was based on Staging (User A's changes hadn't been approved), User B's changes would effectively override User A's changes.
In 2.0.1E and 2.0.0C, we did not however eliminate the possibility of conflicting edits. Prior to User A submitting and setting the flag, User B could independently modify the same resource, and, if submitted and get approved after User A, once again effectively overwrite their changes.
In 2.1.0 Community RC1, we address this gap with locking. Any business user, whenever they create or modify an asset, automatically takes a lock on the resource, disabling anyone else's ability to update until submitted, approved, committed to Staging (which releases the lock), and made available via layers to all others in the Web Project. Aside from Submit, Undo also has the effect of auto-releasing the lock to make the resource again available to other users for modification.
It is important to note that the Content Manager, as overseer of the Web Project, does have some special capabilities. They are dual-lock-holders of all locked resources in the Web Project. This means that a Content Manager can choose to Edit, Submit, or Undo any user's changes, which is important if someone is out sick, no longer a employee, etc.
Now, mandatory enforcement of exclusive locks is good for business users who don't understand concepts of conflicting edits and merging. It is not necessary good for technical users, who indeed may want to work on multiple versions of the same asset at the same time, for example, ,for parallel development (the 1.2 version of the site versus the 1.1 version) or collaborative development (designer modifies pages layout while developer modifies client-side Javascript code).
Server-side, locking is both optional and optimistic. The web client enforces specific locking behavior based on role in 2.1.0 Community RC1. In future release, we look to expose more functionality for technical users from the core server (which already support more functionality than is currently surfaced in the web client), by enabling features like branching, merging, automatic conflicts detection and resolution, and optional, discretionary locking and unlocking.
Now, because locks are indeed be taken in the GUI, it is important to note two things:
1. Individual and bulk operations via the GUI do take longer. This is because each asset is grabbing a lock. The difference is of marginal notice for individual assets, but particularly for large bulk operations (Bulk Import), the cumulative effect can be noticeable.
2. Because locking behavior is enforced in the GUI, and because the WCM CIFS mount is really an interface for technical users * (business users don't like browsing the website directory structure, and tend to create and modify content via forms; developer-types, however, love CIFS and the regular directory structure and support for their tool of choice), locking *is not* enforced via CIFS. This is exceptional important, because developer *can still* experiment with two different versions of the same sites using different sandboxes in the same web projects without worrying about the effect of locks. This is equally important for large bulk uploads; beyond a certain threshold (say, uploading more than a few thousand assets), CIFS will be a better interface for such large-scale operations.
* NOTE: The CIFS mount for ECM spaces, however, is designed for business users; in fact, that and our new Office interface is the best and most productive environment for them to work in in most cases. This is because the actual resources and directory structure are logically and sensable to them (they control it). Websites, however, have lots of resources that can be confusing and overwhelming for the business users, and the directory structure - which they do not control - in almost all cases always confusing and overwhelming (even in smallish sites).
Please let me know if you have more questions.
Kevin