File tracking on client machines synchronized with a content management system repository
Using a first unique identifier of a local file on a client machine associated with a second unique identifier of a content item maintained at a content management system repository, synchronization of the local file and the content item can be restored after a synchronization break.
1 . A computer-implemented data synchronization system for use in an enterprise content management system comprising:
a client machine associated with the enterprise content management system in communication with a storage medium including a database, the database storing a plurality of unique identifiers and associations between the plurality of the unique identifiers,
a first unique identifier being associated with a local file stored on the client machine;
a second unique identifier being associated with a content item maintained at an enterprise content management system repository remotely communicating with the client machine, and
a client synchronization application that tracks synchronization between the local file and the content item based on associating the first unique identifier and the second unique identifier.
2 . The system of claim 1 , wherein the first unique identifier comprises an intermediate identifier abstracted from an operating system-specific identifier.
3 . The system of claim 1 , wherein a file path of the local file is examined to determine if the file path has undergone an alteration that is not unambiguously tracked by the local client synchronization application.
4 . The system of claim 1 , wherein a break in synchronization is detected and the break comprises at least one of: the local file being moved outside of a folder monitored by the local client synchronization application or the local file being deleted on the client machine.
5 . The system of claim 1 , wherein the first unique identifier comprises at least one of an index node number of the local file at the client machine, and a field identification of the local file at the client machine.
6 . The system of claim 1 , wherein the first unique identifier comprises an identifier embedded into the local file.
7 . The system of claim 1 , wherein the second unique identifier comprises a node identifier.
8 . The system of claim 1 , wherein the second unique identifier comprises at least one of a node reference corresponding to an index node number of the content item at the enterprise content management system repository.
9 . A computer program product comprising a machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:
associating a first unique identifier of a local file on a client machine with a second unique identifier of a content item maintained at a content management system, a local client synchronization application tracking a synchronization between the local file and the content item by storing the first unique identifier in a data structure local to the client machine in association with the second unique identifier, the first unique identifier being a non-system-based identifier; and
re-associating, the local file and the content item, based on the association of the first unique identifier with the second unique identifier.
10 . The computer program product of claim 9 , wherein the re-associating takes place after an application or system crash.
11 . The computer program product of claim 9 , wherein the re-associating takes place without reliance on file path information of the local file.
12 . The computer program product of claim 9 , further comprising the local client synchronization application, retrieving the first unique identifier and the associated second unique identifier, the first unique identifier being embedded within the local file.
13 . The computer program product of claim 9 , wherein the re-associating is performed by the local client synchronization application executing at the client machine and the data structure is stored at the client machine locally.
14 . The computer program product of claim 9 , further comprising detecting a break in the synchronization comprises determining that a file path of the local file at the client machine has undergone an alteration that is not unambiguously tracked by the local client synchronization application.
15 . The computer program product of claim 14 , wherein the break comprises the local file being moved outside of a folder monitored by the local client synchronization application or the local file being deleted on the client machine.
16 . The computer program product of claim 9 , wherein the first unique identifier comprises at least one of an index node number of the local file at the client machine, a field identification of the local file at the client machine, an intermediate identifier abstracted from an operating system-specific identifier, and an identifier embedded into the local file; and
the second unique identifier comprises at least one of a node identifier and a node reference corresponding to an index node number of the content item at a content management system repository.
17 . A non-transitory computer readable medium for storing instructions that when executed by a computer processor cause the computer processor to perform operations comprising:
associating a first unique identifier of a local file on a client machine with a second unique identifier of a content item maintained at a content management system repository;
tracking a synchronization between the local file and the content item by storing the first unique identifier in a data structure local to the client machine in association with the second unique identifier;
the first unique identifier comprises at least one of an index node number of the local file at the client machine, a field identification of the local file at the client machine, an intermediate identifier abstracted from an operating system-specific identifier, or an identifier embedded into the local file; and
after a system or application crash, re-associating the local file and the content item, based on the association of the first unique identifier with the second unique identifier; and
displaying a synchronized file to a user.
18 . The non-transitory computer readable medium of claim 17 , further comprising detecting a break in a synchronization between the local file and the content item based on associating the first unique identifier and the second unique identifier.
19 . The non-transitory computer readable medium of claim 17 , wherein the second unique identifier comprises at least one of a node identifier and a node reference corresponding to an index node number of the content item at the content management system repository.
20 . The non-transitory computer readable medium of claim 17 , wherein the content management system is an enterprise content management system and the content item includes one or more of: a document file or an image file.