1. A method, comprising: receiving a request to modify a data file by an application program at a client device; determining a file type for the data file where the file type is one of an immutable file type, a locking required file type, and a locking preferred file type; accessing a set of file access rules based on the file type; and determining whether the application program has permission to modify the data file based on the file access rules, wherein the file access rules require a network connection to a locking server for editing when the file type is the locking required file type, the file access rules do not require the network connection to the locking server for editing when the file type is the immutable file type, and the file access rules for the locking preferred file type only require the network connection to the locking server for editing when the network connection to the locking server is available, wherein a lock is granted to the application program if the file type is the locking preferred file type and the network connection to the locking server is not available.
1. A method, comprising: receiving a request to modify a data file by an application program at a client device; determining a file type for the data file where the file type is one of an immutable file type, a locking required file type, and a locking preferred file type; accessing a set of file access rules based on the file type; and determining whether the application program has permission to modify the data file based on the file access rules, wherein the file access rules require a network connection to a locking server for editing when the file type is the locking required file type, the file access rules do not require the network connection to the locking server for editing when the file type is the immutable file type, and the file access rules for the locking preferred file type only require the network connection to the locking server for editing when the network connection to the locking server is available, wherein a lock is granted to the application program if the file type is the locking preferred file type and the network connection to the locking server is not available. 4. The method of claim 1 , comprising: determining the file type is a locking required file type; determining whether a network connection to a locking server is available; sending a lock request to lock the data file to the locking server when the network connection is available; and granting permission to modify the file when the lock request is granted by the locking server.