WO1991014222A1 - Extensible electronic document processing system for creating new classes of active documents - Google Patents

Extensible electronic document processing system for creating new classes of active documents Download PDF

Info

Publication number
WO1991014222A1
WO1991014222A1 PCT/US1991/001479 US9101479W WO9114222A1 WO 1991014222 A1 WO1991014222 A1 WO 1991014222A1 US 9101479 W US9101479 W US 9101479W WO 9114222 A1 WO9114222 A1 WO 9114222A1
Authority
WO
WIPO (PCT)
Prior art keywords
electronic document
processing system
document processing
lisp
document
Prior art date
Application number
PCT/US1991/001479
Other languages
French (fr)
Inventor
Stephen Pelletier
Original Assignee
Interleaf, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Interleaf, Inc. filed Critical Interleaf, Inc.
Priority to US07/923,937 priority Critical patent/US5579519A/en
Priority to JP91506149A priority patent/JPH05506324A/en
Publication of WO1991014222A1 publication Critical patent/WO1991014222A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/123Storage facilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/134Hyperlinking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Definitions

  • This invention relates to a Document Processing System for creating, editing, printing and presenting active electronic documents which are associated with computer programs.
  • Electronic Document Processing Systems generally include a computer workstation programmed to allow a user to create and edit an electronic representation of a document.
  • the workstation includes a display device for displaying an image of the document as it would appear if printed.
  • a document such as a magazine article may contain an arrangement of text and graphics.
  • the system allows the user to edit the document by modifying existing text and graphics or by adding entirely new text or images. As the user modifies the document, the display is continually updated to reflect these changes, thereby allowing the user to interact with the system to achieve the desired document.
  • the system includes a document processing means for defining the method and associating it with the electronic document or its lower level constituent objects.
  • the system further includes an interpreter for interpreting the computer procedure in response to a specified event.
  • the methods are defined in a dialect of the programming language LISP.
  • a LISP interpreter interprets the new LISP programs, thereby allowing the user to add new methods without modifying the underlying document processing system.
  • Fig. 1(a) is a block diagram of a computer workstation programmed to operate as a document processing system.
  • Fig. 1(b) is a block diagram illustrating a computer network which includes the computer workstation shown in Fig. 1(a).
  • Fig. 2 is a block diagram of the software architecture of an electronic document processing system embodying the present invention.
  • Fig. 3 is an illustration of an electronic document as it would appear if displayed or printed.
  • Fig. 4 is a diagram of a directory, within the Unix filesystem which contains a high level document.
  • Fig. 5 is a schematic of the hierarchy of data objects and methods comprising the memorandum document shown in Fig. 3.
  • Fig. 6 is a diagram of a directory within the Unix filesystem which contains generic document objects.
  • Fig. 7 is an illustration of a generic memorandum document as it would appear if printed.
  • Fig. 8 is a schematic of the hierarchy of generic data objects and methods comprising the generic memorandum object shown in Fig. 7.
  • Figs. 9(a) and (b) is a flow chart of a LISP program for defining a new method and attaching it to a document. Description of the Preferred Embodiment
  • an electronic document processing system 10 (herein "EDPS" 10) is implemented using a properly programmed computer workstation.
  • the workstation includes a disk 12 for storing electronic representations of documents, and a display 14 for displaying documents for viewing by a user.
  • the workstation is connected to an Ethernet network, thereby allowing the workstation to access documents and software stored on other nodes 11.
  • EDPS electronic document processing system 10
  • a processor 20 in response to the user's input, retrieves an electronic representation of the selected document from disk 12 and supplies display 14 with image data representative of the selected document. In response, display 14 generates an image of the document for viewing by the user.
  • the user interacts with the system to modify the selected document. For example, the user may enter keyboard commands requesting the system to select certain text and delete it from the document.
  • Processor 20 responds to the commands by editing the electronic representation of the document and modifying the image data to adjust the displayed image.
  • a user may define a procedure to be associated with the document.
  • the associated procedure is performed upon the occurrence of a specific event.
  • a procedure may be defined which electronically mails the document to another user as a reminder that a deadline is approaching.
  • the procedure automatically mails the document.
  • Documents having such associated procedures are referred to herein as "active" documents.
  • EDPS 10 includes a Unix Operation System 22.
  • the Operating System maintains on disk 12 a local hierarchical filesystem 24 which contains documents and their associated methods. It also provides access to a network filesystem 26 which includes files from remote nodes 11 which contain documents or software used by EDPS 10.
  • the system also includes a "WYSIWYG” document processing software 28 (herein “DPS” 28) (Note: “WYSWYG” is a common acronym for "what you see is what you get”. Such systems allow the user to view the document as it would appear if printed and interact with the system to modify the document image.)
  • DPS 28 is an object oriented document processing system which utilizes the Unix Operating System 22 and User Interface 30 to create and modify documents.
  • Documents may be any type of written instrument (e.g., a memorandum or a technical manual).
  • DPS 28 structures documents as a nested hierarchy of data objects.
  • a sample memorandum 32 includes an author object 34 identifying the author of the memorandum, a destination object 36 identifying the person to whom the memorandum is addressed, and a topic object 38 summarizing the subject of the memorandum.
  • Memorandum 32 further includes two paragraph objects 40 and 42 which contain the text of the memorandum, a pair of column objects 44, 46 each containing a list, and a graphic object 48 containing a line drawing.
  • Each object 34-48 may consist of a plurality of lower level objects.
  • each word or character of paragraph 40 may be treated as a separate object and each symbol representing a logic gate 50-54 of drawing 48 may be treated as a distinct object.
  • the hierarchy may extend upward from the memorandum.
  • the memorandum may be a low level object attached to an appendix which in turn is connected to higher level super document (e.g., a technical manual).
  • the electronic representation of the document is stored by DPS 28 in one or more files within the local hierarchical filesystem 24.
  • DPS 28 may utilize Operating System 22 to create a directory 56 which includes subdirectories and files containing all objects of a technical manual.
  • Directory 56 may include a file 58 containing an electronic representation of a table of contents. Further, it may include a subdirectory 60 which may include an entire tree (not shown) of files and subdirectories containing objects which comprise the first chapter of the manual.
  • DPS 28 uses the file structure of the Unix Operating System to provide a hierarchical structure of data objects. Yet even within a single file of the Unix filesystem, DPS 28 may add additional layers of objects. For example, in the file structure shown in Fig. 4, the electronic representations of all data objects 34-48 of the memorandum document 32 are stored in a single file 31 within an Appendix directory 62. The data objects 34-48 within memorandum file 31 include at least two layers of objects, e.g., the symbols representing logic gates 50-54 are children of the parent graphic object 48.
  • memorandum 32 is associated with an open method 64.
  • the open method 64 is implemented to open the memorandum file 31 and prepare image data representative of how the document would appear if printed.
  • the image data is supplied to display device 24 which generates an image of the document as shown in Fig. 3.
  • close method 66 is implemented to store the electronic representation of the memorandum and remove its image from the display.
  • Methods may be attached to an object anywhere within the nested hierarchy, (e.g., to a technical manual which is near the top of the hierarchy, to a memorandum, or even to a relatively low level object such as author object 36 (see e.g., security procedure 68)).
  • a method is a collection of instructions specified in a dialect of the language LISP.
  • the collection of LISP instructions which define the method are stored in a file within the local hierarchical filesystem 24.
  • open method 64 is defined by a set of LISP instructions stored in file 33.
  • DPS 28 stores the method file 33 in the same directory as the memorandum file 31 and assigns the method file 33 a Unix filename comprising the filename of memorandum file 31 with the suffix ",5". For example, if memorandum file 31 is named "memo.doc", file 33 is assigned the name "memo.doc,5".
  • active objects may have the same hierarchical structure of data objects and attached methods. They differ only in the content of their data objects. Such objects are considered to be instances of the same object class. For example, paragraph objects of the same class have the same procedures for setting margin and font. However, the text of each paragraph object is unique to the paragraph object.
  • the system includes a collection of predefined classes of active objects ranging in complexity from the lowest level object to high level objects at the top of the nested hierarchy. More specifically, for each predefined class, the system in effect includes a generic object which is an instance of the class.
  • the generic object includes a hierarchy of empty data objects with attached predefined methods. A user may build a desired active document by copying selected generic objects (with their associated methods) and filling the empty data objects with the desired data.
  • local filesystem 24 includes a directory 80 which contains predefined generic document component objects which may be used as building blocks in constructing a desired document.
  • directory 80 may include a boilerplate memorandum document object 90.
  • the image of the generic memorandum object 90 is depicted in Fig. 7. It includes a destination object 92 which lacks data identifying the destination.
  • it includes an author object 94, a subject object 96 and a pair of paragraph objects 98, 100, each having no data.
  • the schematic of the generic document, shown in Fig. 8, indicates that object 90 is associated with a pair of methods 102, 104 for opening and closing the document. Further, the author object is associated with a security method 106.
  • Fig. 6 illustrates the Unix files which contain the generic memorandum object 90 and its associated methods.
  • Subdirectory 108 contains all of data objects within memorandum 90.
  • the methods 102, 104 associated with object 90 are stored in file 110.
  • directory 108 is named "memo.doc" and the file 110 containing the methods is named "memo.doc,5".
  • the author object 94 is stored in a file 112 within subdirectory 108.
  • its associated security method is stored in file 114 in the same directory.
  • all remaining objects are stored in file 116 within subdirectory 108.
  • DPS 28 copies the generic object by copying directory 108, including all children, to a desired location, e.g., destination directory 117 (Fig. 4). Similarly, it automatically copies its associated method file 110 to the same location. The user can then open each of the data objects within the new document to add data. (e.g., to add a name to the destination object).
  • Document object 90 lacks a pair of column objects and a graphic object similar to those of memorandum 32 (Fig. 3). Accordingly, the user copies generic objects corresponding to the missing items from directory 80. For example, file 120 contains an empty column object, file 122 contains an empty frame object for graphics, and files 124-128 contain graphic components such as components 50-54 of memorandum 32.
  • DPS 28 appends copies of these generic objects to file (121) (See Fig. 6), thereby constructing the desired memorandum.
  • the system thus allows a user to construct a variety of new active documents by merging selected generic objects.
  • the system includes an interpreter 70 for interpreting the LISP programs.
  • the interpreter includes a method table 77 for each class of documents which identifies the location of all LISP methods associated with the class and its lower level objects.
  • an object's method may be invoked in two ways, (1) in response to a LISP instruction within another method, or (2) in response to an external event directed to the object.
  • the LISP dialect provided by LISP interpreter 70 includes a "tell" instruction which includes two arguments, a Path Name identifying a specific object, and a Message Identifier identifying a "message" to be sent to the specified object.
  • interpreter 70 searches the method table 77 to locate the method attached to the specified object which is responsive to the message. It then responds to the message by evaluating the method. For example, a LISP "tell" instruction may send an "open" message to memorandum 32. In response, interpreter 70 locates and evaluates the memorandum's open method.
  • a method may also be triggered in response to an external event, e.g., an instruction from user interface 30 to open a specified document.
  • an external event e.g., an instruction from user interface 30 to open a specified document.
  • user interface 30, Unix Operating System 22 and other software which may generate such external events are typically written in the Language "C".
  • the LISP interpreter includes as event handler 76 which allows non-LISP programs to access methods written in the LISP language. More specifically, event handler 76 responds to a "C" language call instruction from software such as user interface 30 and Unix Operating System 22 by locating and evaluating the appropriate LISP code. For example, in response to a "C" language call from user interface 30 to open memorandum 32, event handler locates method 64 and evaluates it. The user may desire to create an active document having an associated method which is not available among the predefined generic classes of objects.
  • the system further includes development environment 72 for allowing the user to create a new class of active objects by creating new methods and attaching them
  • the user via user interface 30, first invokes development environment 72.
  • Environment 72 allows the user to select, from all existing objects, an active object whose associated methods most closely match those desired in the new class. For example, suppose a user wants the above created memorandum object 90 to electronically mail itself whenever it is closed. With the exception of the "automail" method, the memorandum object 90 already has all the methods desired in the new class (e.g., open and close methods 64, 66). Accordingly, the user simply needs to draft the new method and attach it to the memorandum object.
  • Toward this end.. Environment 72 includes a program editor 74 for allowing a user to define the new method in the interpretive language LISP. (See Fig. 2) For example, referring to Figs. 9(a), 9(b) the user drafts a LISP program which first determines the identity of close method 104 which is currently attached to the copied object (step 1). The LISP program next defines a new function "automail" having the following three steps:
  • step 2a Get the electronic mail address of the person identified in destination object 92 (step 2a);
  • step 2b Close the memorandum using the close method 104 identified in step 1 above (step 2b), and 3. Mail the memorandum to the destination address using the mail utility of Unix Operating System 22 (step 2c).
  • step 3 the next LISP instruction updates the method table 77 to replace the close method 104 currently attached to the memorandum with the new "automail" function defined above (step 3). Accordingly, evaluation of step 3 of the above LISP program attaches the "automail" function to the document by replacing close method 104 with the newly defined automail function.
  • development environment 72 stores the above LISP code in the method file 119.
  • Method file 119 is in the same directory 117 as subdirectory 121 which contains the data objects of memorandum 90.
  • Subdirectory 121 is named "memo.doc.”
  • the method file 119 is named "memo.doc,5".
  • interpreter 70 will.look to the method file associated with the memorandum, (i.e. "memo.doc. ,5") and interpret the new LISP code, thereby updating the message table to include the newly defined method.
  • Development Environment 72 further includes a LISP Debugger 78 which allows the user to test newly drafted LISP Code and locate errors in the code.
  • Interpreter 70 allows the user to create new methods without the need to recompile the system software.
  • LISP interpreter 76 calls existing subprocedures in DPS 28, Unix Operating System 22 and/or any external application procedures which may be accessible over the network. The execution of these subprocedures implement the LISP instruction. Accordingly, the methods which can be described in LISP are limited to combinations of procedures existing in EDPS 10 or otherwise accessible to LISP interpreter 70 at the time the LISP interpreter is compiled.
  • the user In defining a new method, the user must also select the event which will trigger the execution of the new method.
  • EDPS 10 is an extremely extensible system, allowing the user to create a variety of active documents.
  • the following illustrates several examples of active documents which may be prepared with EDPS 10. 1.
  • An expense form that automatically inserts its total into a separate annual tally; the entries in the annual tally are automatically hyperlinked back to their original expense reports.
  • a report on how a programming project is proceeding which automatically imports data from the computer-aided software engineering (CASE) application.
  • the report has hyperlinks to the CASE software automatically installed.
  • a real-estate listing complete with text and photos, that automatically shows only the listings that meet users' needs.
  • a customer receipt that automatically runs a "frame grabber" and incorporates a photographic image of the purchaser.
  • a WYSIWYG document that can send itself over an electronic mail system.
  • a stock-market information center that retrieves stock information and displays it in text and charts that can be automatically distributed or incorporated in other documents.
  • a document linked to a corporate database that automatically creates a hyperlinks to an organization chart.
  • a weekly report that builds a time-line based upon information in a corporate database. If anyone is more than a week behind, it queries the database for more information and builds a document on a manager's desktop.
  • a phone directory that can call the person who's name you've selected; if the line is busy, it puts you into electronic mail.
  • a classified ad newsletter that builds itself automatically out of data in a database.
  • a price list that automatically converts the monetary units to the proper ones for the country in which it is being used.
  • the restaurant manager selects the items she or he wants to combine into the daily specials and reports on the restaurant's actual costs, to help the manager price the specials.

Abstract

An improved document processing system for creating computer procedures (i.e., methods) and associating them with an electronic document structured as a nested hierarchy of constituent objects. The system includes a document processing component (28) for creating the electronic document, and a program creating component (72) for defining the method and associating it with the electronic document or its lower level constituent objects. The system further includes an interpreter (70) for interpreting the computer procedure in response to a specified event.

Description

EXTENSIBLE ELECTRONIC DOCUMENT PROCESSING SYSTEM FOR CREATING NEW CLASSES OF ACTIVE DOCUMENTS
This invention relates to a Document Processing System for creating, editing, printing and presenting active electronic documents which are associated with computer programs.
Background of the Invention
Electronic Document Processing Systems generally include a computer workstation programmed to allow a user to create and edit an electronic representation of a document. The workstation includes a display device for displaying an image of the document as it would appear if printed. For example, a document such as a magazine article may contain an arrangement of text and graphics. The system allows the user to edit the document by modifying existing text and graphics or by adding entirely new text or images. As the user modifies the document, the display is continually updated to reflect these changes, thereby allowing the user to interact with the system to achieve the desired document.
Summary of the Invention
We have discovered an improved document processing system for creating computer procedures (i.e,. methods) and associating them with an electronic document structured as a nested hierarchy of constituent objects. The system includes a document processing means for defining the method and associating it with the electronic document or its lower level constituent objects. The system further includes an interpreter for interpreting the computer procedure in response to a specified event. In preferred embodiments, the methods are defined in a dialect of the programming language LISP. A LISP interpreter interprets the new LISP programs, thereby allowing the user to add new methods without modifying the underlying document processing system.
Description of the Drawings
Fig. 1(a) is a block diagram of a computer workstation programmed to operate as a document processing system.
Fig. 1(b) is a block diagram illustrating a computer network which includes the computer workstation shown in Fig. 1(a).
Fig. 2 is a block diagram of the software architecture of an electronic document processing system embodying the present invention.
Fig. 3 is an illustration of an electronic document as it would appear if displayed or printed.
Fig. 4 is a diagram of a directory, within the Unix filesystem which contains a high level document.
Fig. 5 is a schematic of the hierarchy of data objects and methods comprising the memorandum document shown in Fig. 3.
Fig. 6 is a diagram of a directory within the Unix filesystem which contains generic document objects.
Fig. 7 is an illustration of a generic memorandum document as it would appear if printed.
Fig. 8 is a schematic of the hierarchy of generic data objects and methods comprising the generic memorandum object shown in Fig. 7.
Figs. 9(a) and (b) is a flow chart of a LISP program for defining a new method and attaching it to a document. Description of the Preferred Embodiment
Referring to Fig. 1 (a) an electronic document processing system 10 (herein "EDPS" 10) is implemented using a properly programmed computer workstation. The workstation includes a disk 12 for storing electronic representations of documents, and a display 14 for displaying documents for viewing by a user. The workstation is connected to an Ethernet network, thereby allowing the workstation to access documents and software stored on other nodes 11. (Fig. 1(b))
The user selects a document by manipulating a keyboard 16 and/or a mouse 18. A processor 20, in response to the user's input, retrieves an electronic representation of the selected document from disk 12 and supplies display 14 with image data representative of the selected document. In response, display 14 generates an image of the document for viewing by the user.
The user interacts with the system to modify the selected document. For example, the user may enter keyboard commands requesting the system to select certain text and delete it from the document. Processor 20 responds to the commands by editing the electronic representation of the document and modifying the image data to adjust the displayed image.
In addition to modifying the appearance of a document, a user may define a procedure to be associated with the document. The associated procedure is performed upon the occurrence of a specific event. For example, a procedure may be defined which electronically mails the document to another user as a reminder that a deadline is approaching. When the system clock indicates that a certain date has arrived, the procedure automatically mails the document. Documents having such associated procedures are referred to herein as "active" documents.
Referring to Fig. 2, the software for implementing the document processing system is now described in more detail. EDPS 10 includes a Unix Operation System 22. The Operating System maintains on disk 12 a local hierarchical filesystem 24 which contains documents and their associated methods. It also provides access to a network filesystem 26 which includes files from remote nodes 11 which contain documents or software used by EDPS 10.
The system also includes a "WYSIWYG" document processing software 28 (herein "DPS" 28) (Note: "WYSWYG" is a common acronym for "what you see is what you get". Such systems allow the user to view the document as it would appear if printed and interact with the system to modify the document image.) DPS 28 is an object oriented document processing system which utilizes the Unix Operating System 22 and User Interface 30 to create and modify documents.
Documents may be any type of written instrument (e.g., a memorandum or a technical manual). DPS 28 structures documents as a nested hierarchy of data objects. For example, referring to Figs. 3 and 5, a sample memorandum 32 includes an author object 34 identifying the author of the memorandum, a destination object 36 identifying the person to whom the memorandum is addressed, and a topic object 38 summarizing the subject of the memorandum. Memorandum 32 further includes two paragraph objects 40 and 42 which contain the text of the memorandum, a pair of column objects 44, 46 each containing a list, and a graphic object 48 containing a line drawing. Each object 34-48 may consist of a plurality of lower level objects. For example, each word or character of paragraph 40 may be treated as a separate object and each symbol representing a logic gate 50-54 of drawing 48 may be treated as a distinct object. Further, the hierarchy may extend upward from the memorandum. For example, the memorandum may be a low level object attached to an appendix which in turn is connected to higher level super document (e.g., a technical manual).
The electronic representation of the document is stored by DPS 28 in one or more files within the local hierarchical filesystem 24. Referring to Figure 4, for example, DPS 28 may utilize Operating System 22 to create a directory 56 which includes subdirectories and files containing all objects of a technical manual. Directory 56 may include a file 58 containing an electronic representation of a table of contents. Further, it may include a subdirectory 60 which may include an entire tree (not shown) of files and subdirectories containing objects which comprise the first chapter of the manual.
Thus, DPS 28 uses the file structure of the Unix Operating System to provide a hierarchical structure of data objects. Yet even within a single file of the Unix filesystem, DPS 28 may add additional layers of objects. For example, in the file structure shown in Fig. 4, the electronic representations of all data objects 34-48 of the memorandum document 32 are stored in a single file 31 within an Appendix directory 62. The data objects 34-48 within memorandum file 31 include at least two layers of objects, e.g., the symbols representing logic gates 50-54 are children of the parent graphic object 48.
As explained above, any data object within the hierarchy may be associated with a method which, upon the occurrence of a certain event, will be implemented. For example, referring to Fig. 5, memorandum 32 is associated with an open method 64. When a user, via user interface 30, indicates that he desires to view memorandum 32, the open method 64 is implemented to open the memorandum file 31 and prepare image data representative of how the document would appear if printed. The image data is supplied to display device 24 which generates an image of the document as shown in Fig. 3. Similarly, when the user indicates the desire to close memorandum 32, close method 66 is implemented to store the electronic representation of the memorandum and remove its image from the display.
Methods may be attached to an object anywhere within the nested hierarchy, (e.g., to a technical manual which is near the top of the hierarchy, to a memorandum, or even to a relatively low level object such as author object 36 (see e.g., security procedure 68)).
A method is a collection of instructions specified in a dialect of the language LISP. The collection of LISP instructions which define the method are stored in a file within the local hierarchical filesystem 24. For example, referring to Fig. 4, open method 64 is defined by a set of LISP instructions stored in file 33. To indicate that the open method is associated with memorandum 32, DPS 28 stores the method file 33 in the same directory as the memorandum file 31 and assigns the method file 33 a Unix filename comprising the filename of memorandum file 31 with the suffix ",5". For example, if memorandum file 31 is named "memo.doc", file 33 is assigned the name "memo.doc,5".
Several active objects may have the same hierarchical structure of data objects and attached methods. They differ only in the content of their data objects. Such objects are considered to be instances of the same object class. For example, paragraph objects of the same class have the same procedures for setting margin and font. However, the text of each paragraph object is unique to the paragraph object.
To facilitate the creation of active documents, the system includes a collection of predefined classes of active objects ranging in complexity from the lowest level object to high level objects at the top of the nested hierarchy. More specifically, for each predefined class, the system in effect includes a generic object which is an instance of the class. The generic object includes a hierarchy of empty data objects with attached predefined methods. A user may build a desired active document by copying selected generic objects (with their associated methods) and filling the empty data objects with the desired data.
The following illustrates this technique by describing the construction of a memorandum from several generic objects. Referring to Fig. 6 local filesystem 24 includes a directory 80 which contains predefined generic document component objects which may be used as building blocks in constructing a desired document. For example, directory 80 may include a boilerplate memorandum document object 90. The image of the generic memorandum object 90 is depicted in Fig. 7. It includes a destination object 92 which lacks data identifying the destination. Similarly, it includes an author object 94, a subject object 96 and a pair of paragraph objects 98, 100, each having no data. The schematic of the generic document, shown in Fig. 8, indicates that object 90 is associated with a pair of methods 102, 104 for opening and closing the document. Further, the author object is associated with a security method 106.
Fig. 6 illustrates the Unix files which contain the generic memorandum object 90 and its associated methods. Subdirectory 108 contains all of data objects within memorandum 90. The methods 102, 104 associated with object 90 are stored in file 110. To indicate that the methods are associated with the memorandum object, directory 108 is named "memo.doc" and the file 110 containing the methods is named "memo.doc,5". The author object 94 is stored in a file 112 within subdirectory 108. Similarly, its associated security method is stored in file 114 in the same directory. Finally, all remaining objects are stored in file 116 within subdirectory 108.
DPS 28 copies the generic object by copying directory 108, including all children, to a desired location, e.g., destination directory 117 (Fig. 4). Similarly, it automatically copies its associated method file 110 to the same location. The user can then open each of the data objects within the new document to add data. (e.g., to add a name to the destination object).
Assume the user wants to build a memorandum document such as memorandum 32. Document object 90 lacks a pair of column objects and a graphic object similar to those of memorandum 32 (Fig. 3). Accordingly, the user copies generic objects corresponding to the missing items from directory 80. For example, file 120 contains an empty column object, file 122 contains an empty frame object for graphics, and files 124-128 contain graphic components such as components 50-54 of memorandum 32. In response to the user's selection, DPS 28 appends copies of these generic objects to file (121) (See Fig. 6), thereby constructing the desired memorandum. The system thus allows a user to construct a variety of new active documents by merging selected generic objects.
Referring to Fig. 1, the system includes an interpreter 70 for interpreting the LISP programs. The interpreter includes a method table 77 for each class of documents which identifies the location of all LISP methods associated with the class and its lower level objects.
Generally, an object's method may be invoked in two ways, (1) in response to a LISP instruction within another method, or (2) in response to an external event directed to the object.
With regard to the first example, the LISP dialect provided by LISP interpreter 70 includes a "tell" instruction which includes two arguments, a Path Name identifying a specific object, and a Message Identifier identifying a "message" to be sent to the specified object. In response to a LISP message directed to a specified object, interpreter 70 searches the method table 77 to locate the method attached to the specified object which is responsive to the message. It then responds to the message by evaluating the method. For example, a LISP "tell" instruction may send an "open" message to memorandum 32. In response, interpreter 70 locates and evaluates the memorandum's open method.
A method may also be triggered in response to an external event, e.g., an instruction from user interface 30 to open a specified document. However, user interface 30, Unix Operating System 22 and other software which may generate such external events, are typically written in the Language "C". Accordingly, the LISP interpreter includes as event handler 76 which allows non-LISP programs to access methods written in the LISP language. More specifically, event handler 76 responds to a "C" language call instruction from software such as user interface 30 and Unix Operating System 22 by locating and evaluating the appropriate LISP code. For example, in response to a "C" language call from user interface 30 to open memorandum 32, event handler locates method 64 and evaluates it. The user may desire to create an active document having an associated method which is not available among the predefined generic classes of objects. Thus, the system further includes development environment 72 for allowing the user to create a new class of active objects by creating new methods and attaching them to an existing object.
To create a new method, the user, via user interface 30, first invokes development environment 72. Environment 72 allows the user to select, from all existing objects, an active object whose associated methods most closely match those desired in the new class. For example, suppose a user wants the above created memorandum object 90 to electronically mail itself whenever it is closed. With the exception of the "automail" method, the memorandum object 90 already has all the methods desired in the new class (e.g., open and close methods 64, 66). Accordingly, the user simply needs to draft the new method and attach it to the memorandum object.
Toward this end.. Environment 72 includes a program editor 74 for allowing a user to define the new method in the interpretive language LISP. (See Fig. 2) For example, referring to Figs. 9(a), 9(b) the user drafts a LISP program which first determines the identity of close method 104 which is currently attached to the copied object (step 1). The LISP program next defines a new function "automail" having the following three steps:
1. Get the electronic mail address of the person identified in destination object 92 (step 2a);
2. Close the memorandum using the close method 104 identified in step 1 above (step 2b), and 3. Mail the memorandum to the destination address using the mail utility of Unix Operating System 22 (step 2c).
After defining the new function, the next LISP instruction updates the method table 77 to replace the close method 104 currently attached to the memorandum with the new "automail" function defined above (step 3). Accordingly, evaluation of step 3 of the above LISP program attaches the "automail" function to the document by replacing close method 104 with the newly defined automail function.
To indicate that a new method has been added to memorandum 90, development environment 72 stores the above LISP code in the method file 119. Method file 119 is in the same directory 117 as subdirectory 121 which contains the data objects of memorandum 90. Subdirectory 121 is named "memo.doc." and the method file 119 is named "memo.doc,5". When DPS 28 next attempts to access the newly created memorandum, interpreter 70 will.look to the method file associated with the memorandum, (i.e. "memo.doc. ,5") and interpret the new LISP code, thereby updating the message table to include the newly defined method. Development Environment 72 further includes a LISP Debugger 78 which allows the user to test newly drafted LISP Code and locate errors in the code.
Interpreter 70 allows the user to create new methods without the need to recompile the system software. In response to a LISP instruction, LISP interpreter 76 calls existing subprocedures in DPS 28, Unix Operating System 22 and/or any external application procedures which may be accessible over the network. The execution of these subprocedures implement the LISP instruction. Accordingly, the methods which can be described in LISP are limited to combinations of procedures existing in EDPS 10 or otherwise accessible to LISP interpreter 70 at the time the LISP interpreter is compiled.
In defining a new method, the user must also select the event which will trigger the execution of the new method. The following are examples of events which can be used to trigger methods (Note: certain events are available as triggers to only certain classes of objects) :
1. the opening or closing of a document object,
2. the saving of a document, or automatically saving a backup version,
3. the user entering a particular content in the document associated with the procedure,
4. the user entering a particular content in the different document,
5. the starting of an external application,
6. an application outputting a particular result,
7. the mouse being moved to a certain position,
8. any test or graphic object being selected,
9. any popup menu choice of user interface 14 affecting any text or graphic object,
10. the system clock reaching a certain time or date,
11. any mouse button being pressed,
12. any key stroke or set of keystrokes, and
13. an attempt to edit any text of graphic object.
Accordingly, EDPS 10 is an extremely extensible system, allowing the user to create a variety of active documents. The following illustrates several examples of active documents which may be prepared with EDPS 10. 1. An expense form that automatically inserts its total into a separate annual tally; the entries in the annual tally are automatically hyperlinked back to their original expense reports.
2. An interactive training manual that customizes its next chapter based upon your score on a test at the end of the previous chapter.
3. A repair manual that shows an on-screen video of the procedure in question when you press a "button".
4. A report on how a programming project is proceeding which automatically imports data from the computer-aided software engineering (CASE) application. The report has hyperlinks to the CASE software automatically installed.
5. A press release that knows to print "Draft" across its pages until the system clock reaches the announcement date listed at the beginning of the text.
6. A confidential letter of intent that won't print at all until it has been approved by all the appropriate people.
7. A proposal that shows and hides different portions depending on the security clearance of the person viewing it. 8. An urgent memo that integrates with voice annotation software so when it mails itself to someone, it announces its presence audibly.
9. A document created from a database which updates the database if you make any changes in the imported document.
10. A corporate policies bulletin that automatically formats itself to the preferences of the user who opens it.
11. An animated on-screen "slide show" presentation that tailors itself to the audience's needs based upon their response to questions.
12. A document that will let you enter text but not cut paragraphs unless you have the appropriate access.
13. A time-critical document that knows when it's due and appears on screen to remind you of when you need to work on it.
14. A calendar that knows the date, knows which documents are due, and automatically opens the ones you need to work on.
15. A document that lets you type in directions (e.g., "Go north 1.5 miles") and automatically generates a graphic map. 16. A capital request form that automatically opens up the appropriate forms as you tell it what type of equipment you need.
17. A real-estate listing, complete with text and photos, that automatically shows only the listings that meet users' needs.
18. A customer receipt that automatically runs a "frame grabber" and incorporates a photographic image of the purchaser.
19. A WYSIWYG document that can send itself over an electronic mail system.
20. A stock-market information center that retrieves stock information and displays it in text and charts that can be automatically distributed or incorporated in other documents.
21. An interactive novel, including text graphics, that completes itself based on users choices. If the user goes back to a previous selection and decides to pick up the phaser instead of the magic bow, the document re-creates itself to reflect that choice.
22. Training manuals that can be made funny, serious, sarcastic or philosophical based on reader discretion.
23. A manual that queries the reader about how much time she or he has and condenses itself accordingly. 24. Memos that send themselves to you reminding you of important dates and events.
25. A document linked to a corporate database that automatically creates a hyperlinks to an organization chart.
26. A document that creates graphic overheads formatted strictly to corporate standards. For example, if a user tries to add a sixth bulleted item, he will be told that only five are allowed on a page.
27. A speech that automatically includes reduced versions of the associated slides.
28. A weekly report that builds a time-line based upon information in a corporate database. If anyone is more than a week behind, it queries the database for more information and builds a document on a manager's desktop.
29. An international set of guidelines that knows to convert to the appropriate units of measurement - where it says "1 inch" in the U.S. version it would say "2.54 cm" in the European version.
30. A document that knows to re-send itself to the company lawyer if anyone makes any changes to it after the lawyer has approved it. 31. A scholastic test that includes an entire database of questions. The teach selects which areas to cover and how hard the questions in random order (It also tracks which questions have been used on previous tests.) It also automatically creates the answer key.
32. A phone directory that can call the person who's name you've selected; if the line is busy, it puts you into electronic mail.
33. A section of a manual that is linked to the database of standards for that industry; it won't let you make errors in formatting.
34. An on-screen brochure questions the user about her or his software/hardware configuration needs. As the user answers the questions, a suggested configuration is illustrated and listed in tabular fashion.
35. An interactive form that walks down a decision tree and shows you a graphic representation of the tree as you do so.
36. An interactive form to help you find the automobile of your dreams. It asks you for your preferences, queries a database, presents a list of the cars that meet your requirements, and then re-queries the database to build a personalized text and graphics spec sheet for the car you're interested in. 37. A contract that lists on screen everyone who has viewed it or modified it.
38. An illustrated parts catalog that builds an order form based on which items you click your mouse on - and then electronically submits your order.
39. A classified ad newsletter that builds itself automatically out of data in a database.
40. A price list that automatically converts the monetary units to the proper ones for the country in which it is being used.
41. A catalog that contains a table of options for a car with prices and specifications. As you select options, an illustration of the car updates on screen to reflect the new configuration.
42. An electronic datebook which checks the datebooks of everyone else in a workgroup and finds a time when all can meet. Any documents "pasted into" the datebook at that meeting time are automatically distributed to everyone invited to the meeting.
43. Whenever any sales region falls behind in its projections, a document is automatically built and sent to the VP of Sales. The document draws upon data in databases across the country. It automatically generates a map of the country, color-coded for how well each is performing. 44. A proposal that contains a table created from data in a spreadsheet. If any of the numbers in a particular set of columns is negative, the document queries another application, gets the explanation, and creates a footnote.
45. A document that can be open on two desktops; as each person works on it, the other person's copy is updated.
46. An automobile operating manual that has illustrations that show the steering wheel on the left or the right depending on whether the document is being viewed in the United Kingdom or in France.
47. A research report form that knows, when it's saved, to break itself into pieces and update various laboratory-wide databases.
48. A restaurant menu with actual restaurant costs there but not printed. The restaurant manager selects the items she or he wants to combine into the daily specials and reports on the restaurant's actual costs, to help the manager price the specials.
Additions, subtractions, deletions, and other modifications of the preferred particular embodiments of the invention will be apparent to those practiced in the art and are within the scope of the following claims.

Claims

What is claimed is:
1. An electronic document processing system for creating a computer procedure and associating the procedure with an electronic document comprising: document processing means for creating the electronic document, program creating means for defining said procedure in an interpretive language, interpreter for interpreting the procedure in response to an event.
2. The electronic document processing system of claim 1 wherein said interpreter implements procedures described in the interpretive language LISP.
3. The electronic document processing system of claim 2 wherein said program creating means comprises a program editor for creating LISP procedures, and a LISP debugger for testing the LISP procedures.
4. The electronic document processing system of claim 2 further comprising an operating system and wherein said interpreter implements LISP procedures by executing subprocedures of said operating system.
5. The electronic document processing system of claim 4 wherein said operating system is a UNIX operating system.
6. The electronic document processing system of claim 2 further comprises a network interface means for allowing said LISP interpreter to implement LISP procedures by executing subprocedures stored on remote devices connected to said network.
7. The electronic document processing system of claim 1 wherein said program creating means comprises means for defining at least one event for triggering execution of said procedure.
8. The electronic document processing system of claim 7 wherein said at least one event comprises the opening of a document object.
9. The electronic document processing system of claim 7 wherein said at least one event comprises the entry of a specified object in a document object.
10. The electronic document processing system of claim 7 wherein said at least one event comprises the execution of a specified application.
11. The electronic document processing system of claim 7 wherein said at least one event comprises the output by a specified application of a specified result.
12. The electronic document processing system of claim 7 wherein said at least one event comprises the movement of a cursor to a specified position.
13. The electronic document processing system of claim 7 wherein said at least one event comprises the selection of a specified object.
14. The electronic document processing system of claim 7 wherein said at least one event comprises the selection of a specified menu option.
15. The electronic document processing system of claim 7 wherein said at least one event comprises the occurrence of a specified moment in time.
16. The electronic document processing system of claim 7 wherein said at least one event comprises the pressing of a specified key.
17. The electronic document processing system of claim 7 wherein said at least one event comprises an attempt to edit a document object.
PCT/US1991/001479 1990-03-05 1991-03-04 Extensible electronic document processing system for creating new classes of active documents WO1991014222A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US07/923,937 US5579519A (en) 1990-03-05 1991-03-04 Extensible electronic document processing system for creating new classes of active documents
JP91506149A JPH05506324A (en) 1990-03-05 1991-03-04 An enhanced electronic document processing system that generates new types of active state documents.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US48917690A 1990-03-05 1990-03-05
US489,176 1990-03-05

Publications (1)

Publication Number Publication Date
WO1991014222A1 true WO1991014222A1 (en) 1991-09-19

Family

ID=23942726

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1991/001479 WO1991014222A1 (en) 1990-03-05 1991-03-04 Extensible electronic document processing system for creating new classes of active documents

Country Status (4)

Country Link
US (1) US5579519A (en)
EP (1) EP0518967A4 (en)
JP (1) JPH05506324A (en)
WO (1) WO1991014222A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0986012A2 (en) * 1998-08-31 2000-03-15 Xerox Corporation User level accessing of low-level computer system operations
EP0986010A2 (en) * 1998-08-31 2000-03-15 Xerox Corporation Self-contained documents management based on document properties
EP0986009A2 (en) * 1998-08-31 2000-03-15 Xerox Corporation Extending application behavior through document properties
EP0986011A2 (en) * 1998-08-31 2000-03-15 Xerox Corporation Active properties for dynamic system configuration
EP0987636A2 (en) * 1998-08-31 2000-03-22 Xerox Corporation Service interaction using properties attached to documents
EP1087306A2 (en) * 1999-09-24 2001-03-28 Xerox Corporation Meta-documents and method of managing them
US6582474B2 (en) 1998-08-31 2003-06-24 Xerox Corporation Tagging related files in a document management system

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745745A (en) * 1994-06-29 1998-04-28 Hitachi, Ltd. Text search method and apparatus for structured documents
US5732399A (en) * 1995-06-07 1998-03-24 Sun Microsystems, Inc. Method and apparatus for associating calendar events with contextual information and other calendar events
US5664182A (en) * 1995-09-18 1997-09-02 Actuate Software Corporation Persistent storage of report objects
US5748186A (en) * 1995-10-02 1998-05-05 Digital Equipment Corporation Multimodal information presentation system
AU8160098A (en) 1997-06-23 1999-01-04 Construction Specifications Institute, The Method and apparatus for computer aided building specification generation
US6003808A (en) * 1997-07-11 1999-12-21 Pratt & Whitney Canada Inc. Maintenance and warranty control system for aircraft
US7000186B1 (en) * 1999-05-03 2006-02-14 Amicas, Inc. Method and structure for electronically transmitting a text document and linked information
US7054905B1 (en) * 2000-03-30 2006-05-30 Sun Microsystems, Inc. Replacing an email attachment with an address specifying where the attachment is stored
US7055095B1 (en) * 2000-04-14 2006-05-30 Picsel Research Limited Systems and methods for digital document processing
US20020021272A1 (en) * 2000-04-26 2002-02-21 Kai Zeh System and method for specifying video game data
US20020016814A1 (en) * 2000-08-07 2002-02-07 International Business Machines Corporation Method, system, and program for invoking stored procedures and accessing stored procedure data
US20020178078A1 (en) * 2000-10-24 2002-11-28 Otoole Sean David System and method for retaining clients by automated services fulfillment
CN1578949A (en) * 2001-11-09 2005-02-09 无锡永中科技有限公司 Integrated data processing system with links
US7756724B2 (en) * 2001-11-21 2010-07-13 Merge Healthcare Incorporated System and methods for real-time worklist service
US7370271B2 (en) * 2002-10-30 2008-05-06 Actuate Corporation Methods and apparatus for generating a spreadsheet report template
US7634728B2 (en) * 2002-12-28 2009-12-15 International Business Machines Corporation System and method for providing a runtime environment for active web based document resources
US7184754B1 (en) 2003-02-04 2007-02-27 Farmar Michael G Method and apparatus for cellular telephone directory assistance
US20050289461A1 (en) * 2003-05-23 2005-12-29 Manoel Amado System and method for digital content processing and distribution
US7617447B1 (en) 2003-12-09 2009-11-10 Microsoft Corporation Context free document portions
US7464330B2 (en) 2003-12-09 2008-12-09 Microsoft Corporation Context-free document portions with alternate formats
US8661332B2 (en) 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
US7418652B2 (en) 2004-04-30 2008-08-26 Microsoft Corporation Method and apparatus for interleaving parts of a document
US7512878B2 (en) 2004-04-30 2009-03-31 Microsoft Corporation Modular document format
US7487448B2 (en) 2004-04-30 2009-02-03 Microsoft Corporation Document mark up methods and systems
US7549118B2 (en) 2004-04-30 2009-06-16 Microsoft Corporation Methods and systems for defining documents with selectable and/or sequenceable parts
US7383500B2 (en) 2004-04-30 2008-06-03 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
US7925658B2 (en) * 2004-09-17 2011-04-12 Actuate Corporation Methods and apparatus for mapping a hierarchical data structure to a flat data structure for use in generating a report
US20060069986A1 (en) * 2004-09-30 2006-03-30 William Sandoval Technical specification editor
US7617450B2 (en) 2004-09-30 2009-11-10 Microsoft Corporation Method, system, and computer-readable medium for creating, inserting, and reusing document parts in an electronic document
EP1836495A2 (en) * 2004-11-17 2007-09-26 BioVeris Corporation Electrochemiluminescent assay
US7617444B2 (en) 2004-12-20 2009-11-10 Microsoft Corporation File formats, methods, and computer program products for representing workbooks
US7620889B2 (en) 2004-12-20 2009-11-17 Microsoft Corporation Method and system for linking data ranges of a computer-generated document with associated extensible markup language elements
US7614000B2 (en) 2004-12-20 2009-11-03 Microsoft Corporation File formats, methods, and computer program products for representing presentations
US7617229B2 (en) 2004-12-20 2009-11-10 Microsoft Corporation Management and use of data in a computer-generated document
US7617451B2 (en) * 2004-12-20 2009-11-10 Microsoft Corporation Structuring data for word processing documents
US7752632B2 (en) 2004-12-21 2010-07-06 Microsoft Corporation Method and system for exposing nested data in a computer-generated document in a transparent manner
US7770180B2 (en) 2004-12-21 2010-08-03 Microsoft Corporation Exposing embedded data in a computer-generated document
US8176004B2 (en) * 2005-10-24 2012-05-08 Capsilon Corporation Systems and methods for intelligent paperless document management
US7747495B2 (en) * 2005-10-24 2010-06-29 Capsilon Corporation Business method using the automated processing of paper and unstructured electronic documents
US20070136658A1 (en) * 2005-11-29 2007-06-14 International Business Machines Corporation Handling events in a descriptive context
US20060184402A1 (en) * 2005-12-07 2006-08-17 BIll Fuchs Hospitality Analytics
US8375014B1 (en) * 2008-06-19 2013-02-12 BioFortis, Inc. Database query builder
US20140195312A1 (en) * 2012-09-06 2014-07-10 Locu, Inc. System and method for management of processing workers

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
UST915003I4 (en) * 1972-10-06 1973-10-09 Language in a text stream
US4417322A (en) * 1981-06-16 1983-11-22 International Business Machines Corporation Report generation control system for text processing machines
US4429372A (en) * 1981-06-16 1984-01-31 International Business Machines Corporation Method for integrating structured data and string data on a text processing system
US4649513A (en) * 1983-11-15 1987-03-10 International Business Machines Corporation Apparatus and method for processing system printing data records on a page printer
US4837524A (en) * 1987-02-13 1989-06-06 Sharp Kabushiki Kaisha Lower-noise microwave amplifying circuit
US4933880A (en) * 1988-06-15 1990-06-12 International Business Machines Corp. Method for dynamically processing non-text components in compound documents

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4503499A (en) * 1982-09-14 1985-03-05 Eaton Corporation Controlled work flow system
US4633430A (en) * 1983-10-03 1986-12-30 Wang Laboratories, Inc. Control structure for a document processing system
US4996662A (en) * 1983-10-03 1991-02-26 Wang Laboratories, Inc. Method for generating document using tables storing pointers and indexes
GB2156112A (en) * 1984-03-20 1985-10-02 Brian Ledwith Data processing system and method
EP0375140A3 (en) * 1988-12-21 1992-10-28 International Business Machines Corporation Document marking
US5333237A (en) * 1989-10-10 1994-07-26 Hughes Aircraft Company Hypermedia structured knowledge base system
US5307499A (en) * 1990-11-30 1994-04-26 Singapore Computer Systems Limited Interpretive object-oriented facility which can access pre-compiled classes

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
UST915003I4 (en) * 1972-10-06 1973-10-09 Language in a text stream
US4417322A (en) * 1981-06-16 1983-11-22 International Business Machines Corporation Report generation control system for text processing machines
US4429372A (en) * 1981-06-16 1984-01-31 International Business Machines Corporation Method for integrating structured data and string data on a text processing system
US4649513A (en) * 1983-11-15 1987-03-10 International Business Machines Corporation Apparatus and method for processing system printing data records on a page printer
US4837524A (en) * 1987-02-13 1989-06-06 Sharp Kabushiki Kaisha Lower-noise microwave amplifying circuit
US4933880A (en) * 1988-06-15 1990-06-12 International Business Machines Corp. Method for dynamically processing non-text components in compound documents

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP0518967A4 *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0986011A3 (en) * 1998-08-31 2001-01-17 Xerox Corporation Active properties for dynamic system configuration
EP0986009A2 (en) * 1998-08-31 2000-03-15 Xerox Corporation Extending application behavior through document properties
EP0986009A3 (en) * 1998-08-31 2001-01-17 Xerox Corporation Extending application behavior through document properties
EP0986012A2 (en) * 1998-08-31 2000-03-15 Xerox Corporation User level accessing of low-level computer system operations
EP0987636A2 (en) * 1998-08-31 2000-03-22 Xerox Corporation Service interaction using properties attached to documents
EP0986010A3 (en) * 1998-08-31 2001-01-10 Xerox Corporation Self-contained documents management based on document properties
EP0987636A3 (en) * 1998-08-31 2001-01-17 Xerox Corporation Service interaction using properties attached to documents
EP0986012A3 (en) * 1998-08-31 2001-01-17 Xerox Corporation User level accessing of low-level computer system operations
US6582474B2 (en) 1998-08-31 2003-06-24 Xerox Corporation Tagging related files in a document management system
EP0986010A2 (en) * 1998-08-31 2000-03-15 Xerox Corporation Self-contained documents management based on document properties
EP0986011A2 (en) * 1998-08-31 2000-03-15 Xerox Corporation Active properties for dynamic system configuration
US6240429B1 (en) 1998-08-31 2001-05-29 Xerox Corporation Using attached properties to provide document services
US6253217B1 (en) 1998-08-31 2001-06-26 Xerox Corporation Active properties for dynamic document management system configuration
US6324551B1 (en) 1998-08-31 2001-11-27 Xerox Corporation Self-contained document management based on document properties
US6562076B2 (en) 1998-08-31 2003-05-13 Xerox Corporation Extending application behavior through active properties attached to a document in a document management system
US7590934B2 (en) 1999-09-24 2009-09-15 Xerox Corporation Meta-document and method of managing
EP1087306A3 (en) * 1999-09-24 2004-11-10 Xerox Corporation Meta-documents and method of managing them
EP1087306A2 (en) * 1999-09-24 2001-03-28 Xerox Corporation Meta-documents and method of managing them

Also Published As

Publication number Publication date
EP0518967A4 (en) 1993-06-30
JPH05506324A (en) 1993-09-16
EP0518967A1 (en) 1992-12-23
US5579519A (en) 1996-11-26

Similar Documents

Publication Publication Date Title
US5579519A (en) Extensible electronic document processing system for creating new classes of active documents
Zloof Office-by-Example: A business language that unifies data and word processing and electronic mail
US7836401B2 (en) User operable help information system
US20070055936A1 (en) Markup based extensibility for user interfaces
US5855014A (en) Getfield function for a relational workgroup platform using keyword and workflow databases
US20030101043A1 (en) Method for translating slide presentations into different languages
WO2005098663A1 (en) Information management device
Purvy et al. The design of Star's records processing: Data processing for the noncomputer professional
JPH1131188A (en) Data edit system
Korfhage et al. Criteria for iconic languages
Haake et al. The individualized electronic newspaper: An example of an active publication
WO2005098698A1 (en) Document processing device
Frye Microsoft Office Excel 2007 step by step
Sørgaard et al. Problems with styles in word processing: a weak foundation for electronic publishing with SGML
Bott et al. Using Microsoft Office XP
Steele Easy Microsoft Office Word 2003
Habraken Microsoft Office 2003 All-in-one
Lee et al. Officeaid: an integrated document management system
Sorgaard et al. Problems with styles in word processing: a weak foundation for electronic publishing with SGML
Aitken Powering Office 2003 with XML
Malcolm Group Writer: a Word Processor for Collaborative Document Preparation
Pierce et al. MOS 2010 Study Guide for Microsoft Word Expert, Excel Expert, Access, and SharePoint Exams
Macmillan Aardvark to zulu
JP2000242535A (en) Information processor, information processing method and computer readable recording medium with program making computer execute same method recorded therein
Foley et al. Design of a Data Dictionary Editor in a Distributed Software Development Environment

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IT LU NL SE

WWE Wipo information: entry into national phase

Ref document number: 1991905944

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1991905944

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1991905944

Country of ref document: EP