On Mar 20, 2007, at 8:13 AM, Jacob Burkhart wrote: > Jacob Burkhart wrote: >> Don't know if this is a good idea, just throwing it out there... >> >> Some CMSs use the concept of "checked out" and "checked in" >> content. As >> soon as a user starts editing a page it becomes "checked out" and >> nobody >> else can edit it. You can even save your changes without checking-in >> the file. Then, you can display in the tree view who has what files >> "checked out". And, perhaps an admin would have the ability to >> "force >> check in" for a page.
As a developer who has used multiple SCMs that have that "feature"... Oh please no. Dear god, that's horrid. Having that kind of locking is a huge mess and tends to create more problems than it solves. Not the least of which is "how does the admin know if he should force the check in". > Or, Maybe it's time to consider addding versioning and history > tracking. > If we detect a simulatneous edit, we simply save both versions.. > one of > those versions is the later version and one of them is the earlier > version. The User saving the later version would be notified of the > conflict and be able to use the history and rollback functionality to > resolve the conflict... Yes. True version control is probably the way to do. Attempting a three-way merge and showing conflicts (at least on page parts, a la Wikipedia) is even better than simply notifying of the issue. Version control is non-trivial, but extremely useful. I believe there are functions to find the differences between objects in ActiveRecord, which could help, although I don't know how to make a good API for that to the user. We also do run into issues with extensions adding fields and possibly new associations. Blarg. ~~ Brian _______________________________________________ Radiant mailing list Post: Radiant@lists.radiantcms.org Search: http://radiantcms.org/mailing-list/search/ Site: http://lists.radiantcms.org/mailman/listinfo/radiant