Need simple locking to be able to handle multiprocess Apache servers
This should be done with a view to handling distributed servers (although that also needs a synchronise-and-resolve-conflicts approach)
Helpful to bear in mind that the whole process is distributed already if you include the web client
client requests page with translation units, user edits and makes changes
client sends changes back to server
between the above two steps, someone else could have made changes on the server
we therefore should be able to work out whether such a conflict has occurred anyway
may be useful to have a ‘queue of changes’ that contains both the original version and the changed version
the locking can then make sure each change is processed atomically, and that only one process tries to write to the file
revision control etc should all go through this mechanism
need to document all the basic change operations we expect