Claims
- 1. A method for propagating changes from a local workspace that is accessible by a client to
a remote workspace that is accessible by a server, comprising: generating a request from the client to the server to create a temporary workspace; obtaining selected data from the local workspace and requesting the server to store the selected data in the temporary workspace; and updating the remote workspace with the data in the temporary workspace.
- 2. The method of claim 2, wherein at least one servlet parses requests sent to the server and delegates processing of the requests to an appropriate server object in the server.
- 3. The method of claim 3, wherein the remote workspace is stored in a repository.
- 4. The method of claim 4, wherein a server object implements an interface having a set of methods that can be invoked to access the repository and the remote workspace.
- 5. The method of claim 1, wherein the client communicates with the server using HTTP protocol.
- 6. The method of claim 1, wherein the client communicates with the server using HTTPS protocol.
- 7. The method of claim 1, wherein obtaining selected data from the local workspace comprises determining a set of different files between the local and remote workspaces.
- 8. The method of claim 7, wherein determining the set of different files comprises the client sending a request to the server for filenames and checksums in the remote workspace.
- 9. The method of claim 8, wherein determining the set of different files further comprises the client comparing the filenames and checksums in the remote workspace with filenames and checksums in the local workspace.
- 10. The method of claim 9, wherein comparing the filenames and checksums comprises including a filename in the local workspace having a checksum that differs from that of a corresponding filename in the remote workspace in the set of different files.
- 11. The method of claim 10, wherein comparing the filenames and checksums further comprises including a filename that appears in the local workspace but not in the remote workspace in the set of different files.
- 12. The method of claim 1, further comprising checking for physical existence of the local workspace and requesting the server to check for physical existence of remote workspace prior to requesting the server to create the temporary workspace.
- 13. The method of claim 1, further comprising requesting the server to lock the remote workspace prior to updating the remote workspace with the data in the temporary workspace.
- 14. The method of claim 1, further comprising requesting the server to update history of transactions in the remote workspace after the remote workspace is updated.
- 15. The method of claim 1, further comprising updating history of transactions in the local workspace after the remote workspace is updated.
- 16. The method of claim 1, further comprising deleting the temporary workspace after the remote workspace is updated.
- 17. A method for propagating changes from a remote workspace that is accessible by a server to a local workspace that is accessible by a client, comprising: p1 creating a temporary workspace that is accessible by the client; p1 requesting the server to send selected data from the remote workspace; p1 storing the selected data in the temporary workspace; and p1 updating the local workspace with the selected data in the temporary workspace.
- 18. The method of claim 17, further comprising the server authenticating the client prior to sending the selected data to the client.
- 19. The method of claim 17, wherein requesting the server to send selected data comprises determining a set of files that are different between the local and remote workspaces.
- 20. The method of claim 19, wherein determining the set of files comprises the client sending a request for filenames and checksums in the remote workspace.
- 21. The method of claim 20, wherein determining the set of different files further comprises the client comparing the filenames and checksums from the remote workspace with the filenames and checksums from the local workspace.
- 22. The method of claim 21, wherein comparing the filenames and checksums comprises including a filename in the remote workspace having a checksum that differs from that of a corresponding filename in the local workspace in the set of different files.
- 23. The method of claim 22, wherein comparing the filenames and checksums further comprises including a filename that appears in the remote workspace but not in the local workspace in the set of different files.
- 24. The method of claim 23, wherein requesting the server to send the selected data comprises requesting the server to send the files including in the set of different files.
- 25. The method of claim 17, wherein at least one servlet parses requests sent to the server and delegates processing of the requests to an appropriate server object in the server.
- 26. The method of claim 25, wherein the remote workspace is stored in a repository.
- 27. The method of claim 26, wherein the appropriate server object implements an interface having a set of methods that can be invoked to access the repository and the remote workspace.
- 28. The method of claim 17, wherein the client communicates with the server using HTTP protocol.
- 29. The method of claim 17, wherein the client communicates with the server using HTTPS protocol.
- 30. The method of claim 17, further comprising allowing a user to resolve conflicts while updating the local workspace with the selected data in the temporary workspace.
- 31. The method of claim 17, further comprising checking for physical existence of the remote workspace prior to creating the temporary workspace.
- 32. The method of claim 31, further comprising checking for physical existence of the local workspace and creating the local workspace if the local workspace does not physically exist.
- 33. The method of claim 17, further comprising deleting the temporary workspace after updating the local workspace.
- 34. The method of claim 17, further comprising updating history of transactions in the local workspace and requesting the server to update history of transactions in the remote workspace.
- 35. A computer-readable medium having stored thereon a program for initiating a transaction between a local workspace on a client and a remote workspace on a server, the program being executable by a processor and comprising instructions for:
requesting the server to create a temporary workspace; obtaining selected data from the local workspace; requesting the server to store the selected data in the temporary workspace; and requesting the server to update the remote workspace with the data in the temporary workspace.
- 36. A computer-readable medium having stored thereon a program for initiating a transaction between a local workspace on a client and a remote workspace on a server, the program being executable by a processor and comprising instructions for:
creating a temporary workspace; requesting the server to send selected data from the remote workspace to the client; storing the selected data in the temporary workspace; and updating the local workspace with the data in the temporary workspace.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] U.S. patent application Ser. No. ______, entitled “Teamware Server Working over HTTP/HTTPS connections” and U.S. patent application Ser. No. ______, entitled “Teamware Repository of Teamware Workspaces,” both filed contemporaneously herewith, contain subject matter related to the disclosure herein.