Patent ID: 7349929

Claim:
A method for accessing a document, the method comprising: receiving a first request, from a first user, for access to a document for which there exists multiple different versions of the document, the first request including a reference address associated with the document and first user identity information associated with the first user requesting access to the document; in response to receiving the first request, accessing data associating the document with one or more users that are permitted to modify the document; comparing the first user identity information associated with the first user requesting access to the document with the data associating the document with one or more users that are permitted to modify the document; based on comparison results, determining that the first user requesting access to the document is permitted to modify the document; in response to determining that the first user requesting access to the document is permitted to modify the document: determining a second reference address operable to access a version of the document under revision, translating the received reference address associated with the requested document to the second reference address, and programmatically accessing, without user input, the version of the document under revision using the second reference address translated from the received reference address; receiving a second request, from a second user different than the first user, for access to the document, the second request including the same reference address associated with the document included in the first request and second user identity information associated with the second user requesting access to the document; in response to receiving the second request, accessing the data associating the document with one or more users that are permitted to modify the document; comparing the second user identity information associated with the second user requesting access to the document with the data associating the document with one or more users that are permitted to modify the document; based on comparison results, determining that the second user requesting access to the document is not permitted to modify the document; and in response to determining that the second user requesting access to the document is not permitted to modify the document: determining a third reference address operable to access a released version of the document not under revision, the third reference address being different than the second reference address, translating the received reference address associated with the requested document to the third reference address, and programmatically accessing, without user input, the released version of the document not under revision using the third reference address translated from the received reference address.