Patent ID: 7966287

Claim:
An apparatus to dynamically synchronize multiple document management systems based on user customizable events and actions, the apparatus comprising: an edit module configured to dynamically edit one or more configuration records in a custom configuration database in response to user input, the one or more configuration records defining configuration data for synchronizing a source document management system and a destination document management system, each of the one or more configuration records comprising a custom identifier unique to the configuration record, a timestamp identifying a most recent time at which the configuration record was edited, a filter list defining one or more document events in the source document management system, an action list defining a synchronization action to perform on the destination document management system in response to the one or more document events of the filter list, and a polling interval, the edit module further configured to update the timestamps of the one or more configuration records in response to editing the one or more configuration records; a loader module configured to cache the one or more configuration records from the custom configuration database in a memory, each of the one or more configuration records indexed by the custom identifier corresponding to the configuration record; a polling module configured to compare the timestamps of the one or more configuration records cached in the memory to the timestamps of the one or more configuration records in the custom configuration database, the polling module configured to compare the timestamps at the polling intervals associated with the one or more configuration records cached in the memory; an update module configured to update a stale configuration record from the one or more configuration records cached in the memory in response to a determination by the polling module that the timestamp of the stale configuration record in the memory is older than the timestamp of the corresponding configuration record in the custom configuration database; and an execution module configured to perform the synchronization action defined by the action list of a triggered record from the one or more configuration records in the memory, the synchronization action performed on the destination document management system in response to a document event in the source document management system triggering the triggered record, the document event defined by the filter list corresponding to the action list of the triggered record in the memory, the action list comprising an action type, a destination, a document type, and a data mapping for the synchronization action; wherein the edit module, the loader module, the polling module, the update module, and the execution module comprise one or more of logic hardware and executable code, the executable code stored on a non-transitory computer readable storage medium.