The present invention relates generally to reviewing and merging electronic documents in a computer system. More particularly, the present invention relates to automatically displaying the reviewing features of an application program, and facilitating the merger of an electronic document with an original electronic document.
Authors of documents typically from time to time require the input of others with respect to a particular document the author is preparing. In performing this collaborative effort, documents are sent from one person to another with the understanding that the receiver of the document will review it, make changes as the receiver sees fit, and return the document to the originator who will generally be the author of the original document. This exchange may be repeated several times and the document may be sent to more than one person to be reviewed and edited.
A common practice is to create an electronic document using a computer implemented application program. Once the document has been created, it is sent to a reviewer who can open the document within a compatible application program. With the document opened, the reviewer may review the document and make edits that may include comments within the text. If special editing features are available within the application program, the reviewer must be familiar enough with the application program to initiate the user interfaces for the features. After all appropriate edits are completed, the reviewer may return a copy of the edited electronic document to the author.
Once the author receives the copy of the edited electronic document, the author must locate on disk or other memory device the electronic document that was originally sent for review. After the electronic document is opened, the author must merge the changes received from the edited electronic document into the electronic document. This can be performed in many different ways. First, the author may simply review the two documents and manually edit the electronic document to reflect the changes received in the edited electronic document. If the application program contains a feature for merging and the author is familiar with the initiation of this feature, the electronic document can be modified to reflect the changes in the edited electronic document utilizing the merging feature.
Regardless of how the document is merged, the author must manually search for the electronic document on disk or other memory device and must be familiar with the initiation of the merging feature of the application program if in fact it contains such a merging feature. In addition, with respect to the reviewing of the document, the reviewer must also be aware of any special reviewing features of the application program and how to initiate their user interfaces as well.
Accordingly, there remains a need in the art for automatically displaying reviewing features within application programs, automatically locating an original electronic document once the reviewed document has been returned to a computer system, and automatically displaying document merging features within an application program.
The present invention fulfills the need in the art for automatically displaying reviewing features within application programs, automatically locating an original electronic document once the reviewed document has been returned to a computer system, and automatically displaying document merging features within an application program.
In accordance with one aspect of the present invention, a system and method are provided for reviewing and editing an electronic document. A copy of the electronic document is received from the author's computer. The electronic document has a first property identifying the location of the electronic document on disk or other memory device. This property also indicates that the copy of the electronic document is to be reviewed. The first property may be a unique identification number and may be a custom OLE document property. In addition to the first property, a second property may be added indicating the electronic mail address from which the copy of the electronic document was sent. The second property may be a custom OLE document property as well. The first and second properties may be added to the document in response to detecting that the electronic document is attached to an electronic mail message, in response to detecting that a selectable control element corresponding to the electronic document is dragged into an electronic mail message, or in response to detecting that a portion of the electronic document is pasted into an electronic mail message. The first and second properties may also be added in response to a “send for review” user input.
In response to receiving the copy of the electronic document, the copy of the electronic document is opened and displayed by an application program. The application program is configured to detect the first property and in response thereto, to display on the display device a review toolbar comprising selectable control elements corresponding to document review operations. The review tool bar may be continuously displayed until the reviewer generates a command to dismiss it. An edited electronic document is created for editing the copy of the electronic document. Finally the edited electronic document having the first property and second property is sent back to the author's computer.
Another aspect of the invention involves sending to a reviewer a copy of an electronic document, the copy having a first property identifying the location of the electronic document on disk or other memory device and also indicating that review of the copy has been requested. The first property may be a unique identification number and may also be custom OLE document properties. In addition to the first property, a second property may be added indicating the electronic mail address from which the copy of the electronic document was sent. The second property may be a custom OLE document property as well. The first and second property may be added to the document when the document is attached to an electronic mail message, when a selectable control element corresponding to the electronic document is dragged into an electronic mail message, or by when the electronic document is pasted into an electronic mail message. The first and second property may be added in response to a “send for review” user input command.
After the document is reviewed and edited, the edited electronic document having the first property is returned to the author. The edited electronic document may also include the second property. Based on the first property identifying the memory location of the original electronic document, the original electronic document is retrieved from the disk or other memory device and may be automatically merged with the edited electronic document.
These and other aspects and features of the present invention will be readily apparent after an examination of the following detailed description of the exemplary embodiments.
The present invention is directed to a system and method for reviewing and merging electronic documents. In one embodiment, the present invention is incorporated into the “OFFICE 2000” suite of application programs that is marketed by Microsoft Corporation of Redmond, Wash. Briefly described, the invention provides for automatic display of reviewing features within application programs, automatic location of an original electronic document once a reviewed document has been returned to a computer system, and automatic display of document merging features within an application program. For example, an author may choose to have a particular document reviewed. Once an electronic document has been chosen, the author will identify the document as one to be reviewed and send it to a reviewer. In an exemplary embodiment, the copy of the electronic document is sent via electronic mail. However, those skilled in the art will appreciate that other methods and protocols of sending documents may be employed such as electronic facsimile, routing slips, ftp, http and the like. Once the document is attached to an electronic mail note, properties are automatically added to the document. Properties added to the document may include a property identifying the location of the document in memory on the author's computer and a property identifying the author's electronic mail address may be added.
When the document is sent to and received by the reviewer, it is opened in an appropriate application software. The application program is configured to detect the properties of the document. In response to detecting the first property indicating that the document was marked for review, a reviewing tool bar is automatically displayed for the reviewer. Once the document has been reviewed and edited, it is sent back to the author. The properties persist in the edited electronic document and are detected by the author's application program when the edited document is opened. The first property allows the original electronic document to be located in the memory of the author's computer. The first property also triggers the application program to automatically prompt the author to merge the edited electronic document with the original electronic document.
The description of the exemplary embodiment of the present invention will hereinafter refer to the drawing, in which like numerals indicate like elements throughout the several figures. Beginning with
The exemplary embodiment of the present invention will be described in the general context of a review program module 136 which facilitates review of an electronic document, interacts with a document editing application program 138 and an electronic mail application program 137, in order to create an edited electronic document, and merger of the edited electronic document with the electronic document. Those skilled in the art will recognize that the invention may be implemented in combination with various other program modules 139. Generally, program modules include routines, programs, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with computer system configurations other than the one shown, that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
An exemplary operating environment 100 for implementing the invention includes a conventional personal computer system 120, including a processing unit 121, a system memory 122, and a system bus 123 that couples the system memory 122 to the processing unit 121. The system memory 122 includes read only memory (ROM) 124 and random access memory (RAM) 125. A basic input/output system 126 (BIOS), containing the basic routines that help to transfer information between elements within the personal computer system 120, such as during start-up, is stored in ROM 124.
The personal computer system 120 further includes a hard disk drive 127, a magnetic disk drive 128, e.g., to read from or write to a removable disk 129, and an optical disk drive 130, e.g., for reading a CD-ROM disk 131 or to read from or write to other optical media. The hard disk drive 127, magnetic disk drive 128, and optical disk drive 130 are connected to the system bus 123 by a hard disk drive interface 132, a magnetic disk drive interface 133, and an optical drive interface 134, respectively. The drives and their associated computer-readable media provide nonvolatile storage for the personal computer system 120. For example, a data file 160 comprising an electronic document may be stored in the RAM 125 of hard disk 127 of the personal computer 120. Although the description of computer-readable media above refers to a hard disk, a removable magnetic disk and a CD-ROM disk, it should be appreciated by those skilled in the art that other types of media that are readable by a computer system, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, and the like, may also be used in the exemplary operating environment.
A number of program modules may be stored in the drives and RAM 125, including an operating system 135, review program module 136, an electronic mail program module 137, a document editing program module 138, and other program modules 139. In particular, the review program module 136 which facilitates review of an electronic document, interacts with the document editing application program 138 and the electronic mail application program 137, in order to create an edited electronic document, and merger of the edited electronic document with the electronic document. An exemplary embodiment of the review program module 136 will be described in detail with reference to
Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 121 through a serial port interface 146 that is coupled to the system bus, but may be connected by other interfaces, such as a game port or a universal serial bus (USB). A display device 147 or other type of device such as a monitor is also connected to the system bus 123 via an interface, such as a video adapter 148. In addition to the monitor, personal computer systems typically include other peripheral output devices (not shown), such as speakers or printers.
The personal computer system 120 may operate in a networked environment using logical connections to one or more remote computer systems, such as a remote computer system 149. The remote computer system 149 may be a server, a router, a peer device or other common network node, and typically includes many or all of the elements described relative to the personal computer system 120, although only a memory storage device 150 has been illustrated in
When used in a LAN networking environment, the personal computer system 120 is connected to the LAN 151 through a network interface 153. When used in a WAN networking environment, the personal computer system 120 typically includes a modem 154 or other means for establishing communications over the WAN 152, such as the Internet. The modem 154, which may be internal or external, is connected to the system bus 123 via the serial port interface 146. In a networked environment, program modules depicted relative to the personal computer system 120, or portions thereof, may be stored in the remote memory storage device 150. For example, the remote memory storage device 150 my store a document editing program 138, an electronic mail application program 137 and a review program 136. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computer systems may be used. It will be further appreciated that the invention could equivalently be implemented on host or server computer systems other than personal computer systems, and could equivalently be transmitted to the host computer system by means other than a CD-ROM, for example, by way of the network connection interface 153.
Notwithstanding the broad applicability of the principles of the present invention, it should be understood that the configuration of the exemplary embodiment as a review program module 136 for widely-used personal computer systems 120 provides significant advantages. In particular, the review program module 136, comprising computer-implemented instructions for performing the method of the present invention, described in this specification, is specifically designed to exhibit acceptable memory-use and performance characteristics when implemented on the conventional personal computer system 120. In so configuring the review program module 136, certain trade-off balances, particularly between the often conflicting goals of minimizing memory storage and increasing performance speed, have necessarily been struck. It should be understood that variations of the trade-off balances struck in the exemplary embodiments described in this specification are within the spirit and scope of the present invention, particularly in view of the fact that inevitable improvements in computer hardware and memory storage devices will make other trade-off balances feasible.
Exemplary method 200 begins at starting block 201 and proceeds to subroutine 210 where the location of an electronic document in the memory of the author's computer is identified. The steps comprising subroutine 210 are shown in
Exemplary method 200 continues to subroutine 250, where the reviewer sends the edited electronic document to the author. The steps of subroutine 250 are shown in
Turning now to
At decision block 310 it is determined if the author attached the document by pasting. If the author attached the document by pasting, the method continues to decision block 325, where the location of the electronic document in the memory is identified. This location in memory is used to create a unique ID and is explained in greater detail in the discussion of
From step 325, the method proceeds to step 330 and returns to subroutine 220 of
Turning now to
Next, subroutine 220 continues to step 450 where a unique ID for the attachment is generated. For example, an ID may be generated by running 32 bit checksum algorithm on the numerical address identifier corresponding to the disk or other memory device location of the electronic document in the author's computer. To make this ID unique, before numerical address identifier is run through the 32 bit checksum algorithm, it may be prepended with a unique sequence for the author. This sequence is a “Global Unique Identifier” (GUID), which is a unique 128 bit number created using the current date and time and other factors.
This unique ID along with the location of the electronic document in the memory are stored as a name value pair in the registry. The registry is a special data structure located on the author's computer. The purpose for the unique ID is to provide the electronic document with a property that identifies it as one to be reviewed, as well as identifies the location of the electronic document in the author's computer.
From step 450, the subroutine 220 continues to step 455 where the unique ID is added as appropriate to the attachment. At this point the unique ID is referred to as the review ID. From step 455 subroutine 220 continues to decision block 460 where it is determined from user input if the authors electronic mail address should be added to the attachment. If the author's electronic mail address should be added to the attachment, the subroutine continues to step 465 where a property is added to the attachment indicating the author's electronic mail address. In this case, adding a property means creating a data structure containing information indicating the author's electronic mail address and adding this data structure to the electronic document. The author's electronic mail address may be added so that the reviewer does not have to determine the author's electronic mail address when the edited electronic document is returned. However, due to privacy issues, an author may not wish to publish the author's electronic mail address. Therefore, the author may be presented with the choice to add the author's electronic mail address. If at step 460 it was determined from user input that the author's electronic mail address should not be added to the attachment, or after the electronic mail address property is added at step 465, the subroutine continues to step 470 and returns to subroutine 230,
Turning now to
Turning now to
Next, the method proceeds to step 615 where the system enters a default body text to the electronic mail message. For example, the default text may be “I've reviewed the attached document”. From step 615, the method continues to decision block 620, where the edited document is checked to see if it contains a property identifying the author's electronic mail address. Since the edited electronic document is merely and edited version of the copy of the electronic document, the edited electronic document contains the same properties as the copy of the electronic document. These properties may include the review ID or a property indicating the author's electronic mail address. If the document contains this electronic mail property, the method continues to step 625, where the system enters the author's electronic mail address into the new electronic mail message header. If at decision block 620, the document does not contain the author's electronic mail address, the system continues to step 630 where the reviewer is prompted to enter the author's electronic mail address. From step 625 or step 630, the method proceeds to step 635 where the system fills in the electronic mail subject line based on the subject line string property of the aforementioned automatically created electronic mail message.
Next, the edited electronic document is attached to the electronic mail message at step 640. From step 640, the method proceeds to step 645 where the electronic mail message with the attached edited electronic document is sent to the author. From step 645 the method continues to step 650 where it returns to subroutine 260,
Turning now to
Turning now to
If the author does wish to merge changes, the method continues through a series of decisions at steps 835, 840, and 850, where it is determined if the edited document has a review ID, if the ID is in the registry and if there is a “ReviewingToolsOnce” setting. If any of these conditions of steps 835, 840, and 850 are not met, the method continues to step 825 where it returns to step 280,
From step 857 the method continues to decision block 860 where user input determines if the author wishes to end the review process and complete the review cycle on the electronic document. If the author wishes to end the review, the method continues to step 825 where it returns to step 280,
In view of the foregoing, it will be appreciated that the present invention provides a method and system for electronic document review and merging. Still, it should be understood that the foregoing relates only to the exemplary embodiments of the present invention, and that numerous changes may be made thereto without departing from the spirit and scope of the invention as defined by the following claims.
Number | Date | Country | |
---|---|---|---|
Parent | 09575516 | May 2000 | US |
Child | 10958471 | Oct 2004 | US |