Patent ID: 7698280

Claim:
A computer-implemented method for utilizing, in a client-server computer system, an active cache to share server-based project files with a client that does not have access to a project management server for editing in a project management application program, comprising: receiving, on a client having access to a project management server, a copy of a project file of the project management server; storing, in an active cache of the client having access to the project management server, the copy of the project of the project management server, wherein the active cache is in communication with the project management server; saving the copy of the project file of the active cache as an offline share file for sharing with the client that does not have access to the project management server; causing read-only access, on a client having access to a project management server, for the project file in the active cache upon saving the project file as an offline share file; sending via electronic mail, from the client having access to the project server, the offline share file to the client that does not have access to the project management server; receiving via electronic mail, on the client having access to the project server, a modified file from the client that does not have access to the project management server; determining whether a metadata identifier of the received modified file matches a metadata identifier of the copy of the project file on the active cache of the client having access to the project management server; when the metadata identifier of the received modified file matches a metadata identifier of the copy of the project file on the active cache of the client having access to the project management server: saving the modified file to the active cache as a modified project file, wherein saving the modified file to the active cache as a modified project file, comprises: determining whether the project file in the active cache is currently in a share state, wherein the share state identifies the project file as having the read-only access, when the project file is in the share state, then copying the modified project file into the active cache, when it is determined that the copy of the project file in the active cache is not currently in a share state then saving the modified file as a new project file in the active cache; and updating the project file on the server with the modified project file, wherein updating the project file on the server with the modified project file comprises: causing the active cache to communicate with the project management server to determine a current checkout status for the project file of the project management server, when the project file of the project management server is currently checked out, then causing the active cache to publish the modified project file to the server, when the project file of the project management server is not currently checked out, then restricting the save of the modified project file to the project management server.