Patent Publication Number: US-7584477-B2

Title: Cross repository copier

Description:
This application claims priority from U.S. Provisional Application Ser. No. 60/588,089, filed on Jul. 14, 2004. 
    
    
     BACKGROUND 
     The present exemplary embodiment relates generally to document management systems. It finds particular application in conjunction with multiple content/document repositories within an enterprise and will be described with particular reference thereto. However, it is to be appreciated that the present exemplary embodiment is also amenable to other like applications. 
     In today&#39;s corporate IT environment, co-existing multiple contents/document repositories within an enterprise are very common. The content integration and consolidation across different content management systems has been a great challenge to corporate IT departments. Since there is no single document repository system that has the mechanism of sharing, moving, and copying contents including their meta data to another system, especially a different type of repository, the content integration and consolidation, which are very much needed in the corporate environment, are practically impossible. 
     Thus, there is a need for a software tool that provides a simple, easy and powerful way to process content integration and consolidation across different content management systems with a single click. Such a tool would facilitate document management in a wide variety of applications, such as scanning, imaging, and printing, which would work with different content management systems. 
     BRIEF DESCRIPTION 
     In one embodiment, there is provided a cross repository copier comprising a graphical user interface (GUI) for receiving data from a user, a control module, a repository manager, and a plurality of repository adapters, wherein each repository adapter is connected to a native Application Program Interface (API) Library of a particular repository system and wherein each API is connected to one of a plurality of document repository systems. The document repository system may be, for example, Documentum, Domino.Doc, LiveLink, FileNet, DocuShare, DigiPath, Remote File System (FTP), Local File System, or Network Drive. 
     In another embodiment, a cross repository copying method in an enterprise print system is provided. The method comprises receiving data from a user, wherein the data includes a source repository, a target repository, and a scheduled time for copying or moving source documents from the source repository and the target repository; processing the data via a cross repository copier; and transferring the source documents to the target repository. 
     In yet another embodiment, a cross repository copying apparatus for use with an enterprise print system is provided. The apparatus comprises means for receiving data from a user, wherein the data includes a source repository, a target repository, and a scheduled time for copying or moving source documents from the source repository and the target repository; means for processing the data via a cross repository copier; and means for transferring the source documents to the target repository. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of a cross repository copier. 
         FIG. 2  is a flow diagram of a cross repository copying method. 
         FIG. 3  is a screen shot of the graphical user interface for the cross repository copier. 
         FIG. 4  is a screen shot illustrating specific repository connection information for Remote File System. 
         FIG. 5  is a screen shot illustrating specific repository connection information for Documentum. 
         FIG. 6  is a screen shot illustrating specific repository connection information for DigiPath. 
         FIG. 7  is a screen shot illustrating specific repository connection information for DocuShare. 
         FIG. 8  is a screen shot illustrating specific repository connection information for FileNet. 
         FIG. 9  is a screen shot illustrating specific repository connection information for Livelink. 
         FIG. 10  is a screen shot illustrating specific repository connection information for Domino.Doc. 
         FIG. 11  is a block diagram of a computer system on which the method of  FIG. 2  may be implemented. 
     
    
    
     DETAILED DESCRIPTION 
     Referring to  FIG. 1 , there is shown a block diagram of a cross repository copier  10 , which is essentially a software application running in an operating system such as Microsoft Windows. It is to be appreciated, however, that the application may run in other operating systems. The cross repository copier  10  copies or moves the entire contents including all sub-folders from the specified source repository folder to the specified target repository folder. The source repository and the target repository can belong to different content management systems, e.g, copy from the local file system to Documentum, or move from Documentum to Livelink. 
     The copier  10  includes a graphical user interface (GUI)  12 , a control module  14 , and a repository manager  16 . The repository manager  16  is linked to any number of repository adapters  18 . In this embodiment, each repository adapter  18   a - d  is connected to a corresponding native API  20   a - d , which, in turn, is connected to any number of document repository systems  22   a - d , such as LiveLink, Documentum, DocuShare, or any other known document repository system. 
     The cross repository copier  10  supports non-content documents, compound documents and renditions. It can copy or move an entire compound document tree from one repository to another. A compound document is a document that contains one more documents including other compound documents with a particular order. The copier  10  also provide an option to copy or move all the renditions of the documents. 
     Besides the contents and renditions, the cross repository copier  10  also copies document properties (document meta data or document index). When the source repository and the target repository are different document management systems, which usually have different sets of document properties based on their particular Document Object Model, the copier  10  copies a small set of common properties (such as name, title, owner, etc.), plus a set of custom properties based on user defined property map. The copier  10  also provides users with a property-mapping GUI displaying two sets of properties side by side for source and target repositories. 
     The cross repository copier  10  supports at least the following nine different repository systems: Documentum, Domino.Doc, Livelink, FileNet, DocuShare, DigiPath, Remote File System (FTP), Local File System, and Network Drive. It is to be understood, however, that the copier  10  can support additional repositories by adding more repository adapters. 
     Referring to  FIG. 2 , a cross repository copying method  100  utilizing the cross repository copier  10  is shown. In this embodiment, the method  100  is implemented in a printing software system such as XPrint from Xerox Corporation, Stamford, Connecticut. XPrint is an enterprise print system software that prints large and complex documents from Electronic Document Management Systems (EDMS) with high volumes at high speeds and accuracy. XPrint is also an enterprise document management system that provides a common interface to various EDMS, and a set of features for content management and content integration. It is to be appreciated, however, that the method  100  may be implemented in other suitable enterprise print systems. 
     The method  100  can be used to quickly and automatically move files from one location to another. These can be located in any of the repositories supported by the enterprise print system software. Initially, data is received from the user via the GUI  12  ( 102 ). 
     Reference is now made to  FIG. 3 , which represents a sample screen shot of the GUI  12  and the data that may be entered by the user. The Source Repository box  130  must be filled out with repository specific connection information relating to the source location. The pertinent information to be entered may include Host Name, Folder, User Name, Password, and/or Repository Type. The specific repository connection information differs slightly for each source or target repository system. By way of example,  FIGS. 4-10  show specific repository connection information for various sample repositories, including Remote File System, Documentum, DigiPath, DocuShare, FileNet, Livelink, and Domino.Doc, respectively. 
     The Run Setting box  132  allows the user to schedule the copier  10 . For example, the “Start Time/End Time” option  134  refers to an interval where the copy/move process should be active. If the “Run Hours” box  136  is filled, the running dialog will perform the requested operations at that interval. If “Copy”  138  is selected, the files will be copied to the target location, and will remain untouched in the source directory, otherwise a “move” operation will be performed and the source documents will be deleted after those document were uploaded to the target repository. The “Include Subfolders” option  140  specifies that the operation should be performed on all files and folders under the source directory. The “Include Renditions” option  142  specifies that the operation should be performed on all renditions under the source directory. 
     The “Status Field”  144  shows status messages relative to what the software has done or is doing. By clicking on the “Start” button  146 , the program will begin waiting for the scheduled operation period. As soon as that time frame is reached, the requested operations will begin. The action of copying or moving can be invoked immediately by clicking the “Run Now” button  148  or can be scheduled to run automatically by specifying the Start Time, End Time and Run Interval. 
     By clicking on the “View Log” button  150 , the program will display a log of copy/move operations. This is useful to determine if an operation was successful after the fact. The “Stop” button  152  stops the copier without performing further operations. The “Clean Cache” button  154  removes remembered the connection information the user entered. An “About” button  156  displays the program version, copyrights and other information. 
     The “Target Repository” portion  158  of the dialog must be filled out with repository specific connection information relating to the destination location.  FIGS. 4-10  show Specific Repository Connection Information for these fields. 
     By checking the “Save Password” box  160 , connection information specific to the currently used repositories will be stored in a database and will be pre-populated the next time the dialog is launched. 
     Once the information is entered by the user, the copier  10  logs into both the source repository and the target repository through its repository manager  16  and adaptors  18  ( 104 ). Next, the control module  14  checks the source folders and subfolders in the source repository as well as the target folder in the target repository ( 106 ). The copier  10  then stores the verified connection information and disconnects from both the source repository and target repository to wait for the scheduled operation time ( 108 ). Once it reaches the scheduled time, the copier  10  re-connects to the source and target repository and starts the copy/move operation ( 110 ). First, the copier&#39;s control module  14  downloads the source documents and their properties data to a temporary working repository that was set during the installation process and can be changed through the configuration option ( 112 ). Second, the control module  14  creates corresponding document objects in the target repository with the property data and uploads the contents and/or renditions ( 114 ). The control module  14  then determines whether the “copy” option has been selected ( 116 ). If so, then the source documents remain in the source repository ( 118 ), Otherwise, the control module  14  removes the source document objects from the source repository ( 120 ). 
       FIG. 5  shows a computer  62  with a mouse  64 , a monitor  66 , and a graphical user interface  12  such as the source repository copier, for implementing the method  100 . The computer  62  includes a storage medium  68  (e.g., hard disk), a processor  70 , and a memory  72  for operating the graphical user interface  12 . The storage medium  68  stores an operating system  74 , data  76 , and computer instructions  78  that are executed by the processor  70  out of the memory  72  to perform the method  100 . 
     In this embodiment, the software program is written in C++ as a Windows application. It can also be written in Java or C# and can be implemented as a Web application. The method  100  is not limited to use with the hardware and software of  FIG. 5 , and it may find applicability in any computing or processing environment and with any type of machine that is capable of running a computer program. The method  100  may be implemented in hardware, software, or a combination of the two. The method  100  may be implemented in computer programs executed on programmable computers/machines that each include a processor, a storage medium/article readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and one or more output devices. Program code may be applied to data entered using an input device to perform the method  100  and to generate output information. 
     Each computer program may be stored on a storage medium (article) or device (e.g., CD-ROM, hard disk, or magnetic diskette) that is readable by a general or special purpose programmable computer for configuring and operating the computer when the storage medium or device is read by the computer to perform the process. The process may also be implemented as a machine-readable storage medium, configured with a computer program, where upon execution, instructions in the computer program cause the computer to operate in accordance with the method  100 . 
     In summary, the exemplary embodiment is a cross repository management tool, which allows users to integrate digital content across content management systems provided by different vendors. Content integration has been a great challenge in corporate environments that use content management systems from multiple vendors, e.g., there is no simple means of copying DocuShare content to a Livelink system. Thus, the exemplary embodiment includes single click or schedule execution of “copy” and “move” functions on large volume of document objects from a source repository to a target repository, where the source and target can be from different vendors. It also includes support for copying document metadata, support for copying compound documents, support for copying renditions across systems, and the ability to perform operation on entire folder hierarchy. By simplifying transfer of content among repositories from different vendors, the exemplary embodiment benefits repository managers, reducing the time and complexity of integrating content. 
     The exemplary embodiment has been described with reference to the preferred embodiments. Obviously, modifications and alterations will occur to others upon reading and understanding the preceding detailed description. It is intended that the exemplary embodiment be construed as including all such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.