I do work on MODx projects with other people. Everyone is a different user.
We do separate presentation/logic/etc. as we can, but often we need to work on the same files.
What we need is that in the MODx manager, whatever we can access, read and write there (so every page, template, chunck, snippet, file, etc.) should have a
"block this!" button, and a
"release" button.
E.g. if
"coder A" wants to modify a page, he goes there in the manager and try "Edit"; let’s say
"coder B" has blocked that page, so A can just access that page with no write ability, that is he cannot do any change.
Instead, if the page is not blocked, and he wants to make changes, and knows that someone is logged in the manager and could eventually be interested in changing the very same page, in order to avoid any concurrent edits should press on that
"block this!" button, and eventually that page will be blocked, so
A and only
A will be able to edit that resource until he "releases" it.
"Coder B" will have to wait A to release the page to make any changes to it.
This applies on everything in the MODx manager; nice it has also a file manager, so this feature can be added to block/release every single file too, and internal guidelines for the team will be to always check in the file manager if a file is free or blocked before trying to edit it (I’m assuming files are normally managed via an FTP connection... if they are managed only with the MODx filemanager, there is no need for any guideline, it will just work out of the box).
Of course if
"coder A" edits a page and clicks on the
"block it!" button, MODx has to check if someone, meanwhile (after
coder A clicking edit on that page), has eventually blocked it, in that case the page will reload on
coder A side and editing functions will be disabled.
I’d also like to know how you there can work in team without this kind of feature, maybe someone here can suggest some elegant solution I could try