US20110289399A1 - System and method for document construction - Google Patents

System and method for document construction Download PDF

Info

Publication number
US20110289399A1
US20110289399A1 US12/960,290 US96029010A US2011289399A1 US 20110289399 A1 US20110289399 A1 US 20110289399A1 US 96029010 A US96029010 A US 96029010A US 2011289399 A1 US2011289399 A1 US 2011289399A1
Authority
US
United States
Prior art keywords
module
modules
subscriber
document
user
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US12/960,290
Inventor
Ahyh
Ken K. Kerr
George R. Smith
Richard L. Hanson, Jr.
Gregg S. Janes
Dane A. Parker
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advisys Inc
Original Assignee
Advisys 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 Advisys Inc filed Critical Advisys Inc
Priority to US12/960,290 priority Critical patent/US20110289399A1/en
Publication of US20110289399A1 publication Critical patent/US20110289399A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Definitions

  • the present invention relates to systems and methods for generating documents from modular elements and for managing the modular elements.
  • the document constructed from modular components can be source code for a software program, a Computer Aided Design (CAD) drawing, a text document, etc.
  • CAD Computer Aided Design
  • many software development systems provide for generation of source code by assembling various pieces of code, much in the same way than form paragraphs are often used to assemble a financial report or other text document.
  • drawings of various pieces of an assembly are combined into a single document to produce a complete drawing of the desired assembly.
  • documents are assembled by combining one or more modules.
  • the modules can be provided to a number of subscribers, each subscriber having one or more users. Access to each of the modules can be controlled on a subscriber basis and/or on a user basis based on different user classes (e.g., supervisory user, first-level user, second-level user, public user, etc.).
  • access to the new module or version can be restricted until such time as a supervisory user or other designated user has reviewed the new module of the changes to an existing module. During the review period, the previous version of the module is made available to users for construction of documents.
  • one or more access rules are used to control which modules are available to which users.
  • a different set of access rules can be provided for each subscriber, thus, allowing each subscriber to control access for the subscriber's user base.
  • one or more search rules are configured to facilitate searching of the module database for a desired module.
  • the search rules are configured on a subscriber basis such that each subscriber can define a different set of search rules.
  • a database of default search rules is provided.
  • one or more construction rules determine how various modules are combined during production of a document.
  • a user specifies an ordered list of modules to be used to construct a desired document.
  • the construction rules are used by a construction engine to modify the user-supplied list to produce a document list as an ordered list of modules that will actually be used to construct the document.
  • the construction engine adds additional modules to the user-supplied list.
  • the construction list changes the order of the modules in the user-supplied list.
  • the modules include software source code.
  • the modules include scripts in a scripting language (e.g., Basic, Lisp, Javascript, Perl, etc.).
  • the modules include CAD drawing files.
  • the modules include executable programs that construct a document or portions of a document.
  • the modules include XML code.
  • the modules include word-processing files.
  • the modules include text documents.
  • the modules include markup language files (e.g., HTML, SGML, Adobe Acrobat, Postscript, Encapsulated Postscript, etc.)
  • FIG. 1 shows a document construction system based on communication between a root system, one or more subscriber systems, and one or more user systems.
  • FIG. 2 shows one example of a data hierarchy in the document construction system, where the hierarchy includes a root level, a subscriber level, and a user level.
  • FIG. 3 shows a document constructed as an ordered list of modules.
  • FIG. 4 is a flowchart showing a version control system wherein subscribers can accept or reject new modules and/or new versions of existing modules.
  • FIG. 5 shows one embodiment of an acceptance timeline for accepting new versions of an existing module.
  • FIG. 6 is a flowchart showing construction of a list of available modules for a user, where access to various modules is based on a set of access rules and a set of search rules.
  • FIG. 7 is a flowchart showing document construction.
  • FIG. 8 is a data-flow diagram showing document construction.
  • FIG. 9 shows a sample screen for accepting or rejecting changes in a document control system for creating text documents.
  • FIG. 10 shows a sample screen for controlling user access to modules in the example system corresponding to FIG. 9 .
  • FIG. 11 shows a first sample screen for controlling module search criteria in the example system corresponding to FIG. 9 .
  • FIG. 12 shows a sample screen for selecting a list of modules to build a document in the example system corresponding to FIG. 9 .
  • FIG. 13 shows a sample screen for searching for modules in the example system corresponding to FIG. 9 .
  • FIG. 14 shows a sample screen for selecting document options in the example system corresponding to FIG. 9 .
  • FIG. 1 shows a document construction system 100 .
  • a root system 101 communicates with a subscriber system 104 .
  • communication between the root system 101 and the subscriber system 104 is shown via the Internet 103 , however, one of ordinary skill in the art will recognize that any other suitable local and/or wide area computer network connections can be used.
  • the root system 101 and the subscriber system 104 can be combined.
  • the root system 101 is also provided to one or more additional subscriber systems shown in FIG. 1 as an M-th subscriber system 105 .
  • the subscriber system 104 uses the Internet 103 (or other suitable network connection) to communicate with a first-level user system 108 , a second-level user system 109 , and a public user system 110 .
  • One or more root databases are provided to the root system 101
  • one or more subscriber databases 105 are provided to the subscriber system 106 .
  • a supervisory user system 107 is provided to the subscriber system 104 by a local or Internet connection.
  • a user such as the one or more of the users 108 - 109 can construct documents using data from the root databases 102 and/or the subscriber databases 105 .
  • the documents are constructed as a collection of modules (as shown in FIG. 3 ) according to a hierarchy of access rules, search rules, and/or construction rules (as shown in FIG. 2 ).
  • FIG. 2 shows one example of a data hierarchy that can be used in connection with the document construction system 100 .
  • the uppermost level of the hierarchy includes a module database 201 containing one or more modules, a construction rules database 202 containing one or more construction rules, and a search rule database 203 containing one or more default search rules.
  • a second level of the hierarchy shown in FIG. 2 includes one or more subscriber databases, shown as a first subscriber database 211 and a second subscriber database 212 .
  • the Subscriber databases 211 and 212 contain subscriber-specific access rules and search rules.
  • a third level of the hierarchy shown in FIG. 2 includes one or more user information databases 221 - 224 .
  • the user databases 221 - 222 correspond to users of the first subscriber 104
  • the user databases 223 - 224 correspond to users of the M-th subscriber.
  • the databases 201 - 203 and 211 - 212 are part of the root databases 102
  • the user information databases 221 - 222 are part of the subscriber database 105 .
  • the information in the databases 201 - 203 , 211 - 212 , and 221 - 224 can be distributed between the root databases 102 and 105 as needed to meet performance, stability and/or data integrity needs.
  • the databases 201 - 203 , 211 - 212 , and 221 - 224 can be combined in whole or in part, and are described as separate databases for purposes of explanation and not by way of limitation.
  • FIG. 3 shows a document 300 constructed as an ordered list of modules, including a first module 301 , a second module 302 , and a last module 303 .
  • a user creates a user-selected list of one or more modules.
  • the user-selected list is edited or modified according to one or more construction rules and then the document is constructed by instantiating the modules in the edited list.
  • the process of document construction is described in more detail in the text in connection with FIGS. 7 and 8 .
  • the modules 301 - 303 are obtained from the module database 201 . Access to each of the modules can be controlled on a subscriber basis and/or on a user basis. User access can be restricted on a user-by-user basis (e.g., based on a user ID). User access can also be restricted based on different user classes (e.g., supervisory user, first-level user, second-level user, public user, etc.). User access can also be restricted based on different user authorization levels, licenses, job functions, etc. In one embodiment, one or more access rules are used to control which modules are available to which users. In one embodiment, a different set of access rules can be provided for each subscriber, thus, allowing each subscriber to control access for the subscriber's user base.
  • the modules include software source code.
  • the modules include scripts in a scripting language (e.g., Basic, Lisp, Javascript, Perl, etc.).
  • the modules include CAD drawing files.
  • the modules include executable programs that construct a document or portions of a document.
  • the modules include XML code.
  • the modules include word-processing files.
  • the modules include text documents.
  • the modules include markup language files (e.g., HTML, SGML, etc.).
  • the type of data in the modules is a function of the type of document being produced.
  • the modules will typically contain source code, or scripts (or programs) to generate source code.
  • instantiation of each module produces zero or more lines of source code to be added to the document 300 .
  • the documents 300 is to be a CAD drawing
  • the modules will typically contain CAD files, or scripts (or programs) to generate CAD files, and the CAD files generated will be combined to produce the CAD file document 300 .
  • the document 300 is a report produced in a markup language (e.g., HTML, SGML, Adobe Acrobat, Postscript, Encapsulated Postscript, etc.) containing text and/or graphics.
  • a markup language e.g., HTML, SGML, Adobe Acrobat, Postscript, Encapsulated Postscript, etc.
  • Examples of reports include, for example, a web page, a program design document, a financial report, etc.
  • the modules to produce a report can include, for example, markup language files, graphics files, template files, scripts, executable code, etc.
  • Modules containing markup language can include, for example, form paragraphs, boilerplate language, standard text, standard headings, etc.
  • Graphics files such as pictures, graphs, charts, and the like can be provided in a desired format (e.g., bitmap, jpeg, tiff, etc.).
  • Template files can include markup language files with fields to be filled with user-supplied data during module instantiation (
  • one or more search rules are configured to facilitate searching of the module database 201 for a desired module.
  • the search rules are configured on a subscriber basis such that each subscriber can define a different set of search rules.
  • the default search rule database 203 is provided and the default rules are modified for each subscriber according to the subscriber level databases 211 - 212 .
  • the default search rule database 203 is omitted and the search rules are provided for each subscriber in the subscriber level databases 211 - 212 .
  • FIG. 4 is a flowchart 400 showing a version control system wherein subscribers can accept or reject new modules and/or new versions of existing modules.
  • the flowchart 400 begins in a process block 401 where the new module or new version of an existing module is added to a module database 480 .
  • a process block 402 adds a “redline” copy to the database 480 showing substantive differences between the old and new versions of the module is also provided.
  • text modules e.g., markup text, language source text
  • the redline version can show substantive differences in the text.
  • the redline can show differences in the script (or source code) and/or differences in the output produced by the script or executable.
  • the redline shows substantive differences between the old and new versions of the module but not minor differences (e.g., spelling corrections, corrections of punctuation, etc.).
  • the process advances to a process block 403 wherein an access rule database 481 for each subscriber is updated to indicate that a new module or new version of a module is available. A timestamp for the new version is also provided.
  • the process then advances to a process block 404 .
  • notices are sent to each subscriber informing the subscriber that a module has been added or updated. Notices are sent based on subscriber information obtained from the access rules database 481 . If the updated module is not used by a particular subscriber, then no notice is sent. Thus, for example, in FIG. 4 , no notice is sent to subscriber # 1 based on information obtained from the access rules database 481 indicating that subscriber # 1 does not use the updated module.
  • notices are sent to a subscriber # 2 , a subscriber # 3 , and a subscriber # 4 in process blocks 406 - 408 , respectively.
  • a subscriber can review and reject the new module or update (as shown, for example, for subscriber # 3 in FIG. 4 ).
  • the subscriber # 3 reviews the redline and decides to reject the new module or new version.
  • a message is sent to the module provider in a process block 411 .
  • the process advances to a process block 413 where the subscriber can (optionally) edit the user access and/or search rules for the module
  • subscribers can also review and accept the new module or update (as shown, for example, for subscriber # 4 in FIG. 4 ).
  • the subscriber # 4 reviews the redline and decides to accept the new module or new version. The process then advances to the process block 413 where the subscriber can (optionally) edit the user access and/or search rules for the module
  • the process advances from the process block 409 (default rejection) or the process block 413 (edit user access or search rules) to a process block 414 where the access rules database 481 and the search rules database 482 are updated to reflect the inputs from the subscriber.
  • FIG. 5 shows one embodiment of a timeline for user access to new and previous versions of a module.
  • the addition of a new version (version N+1) of a module to the module database 480 triggers the start of an acceptance period.
  • the previous version (version N) of the module is available to the users.
  • a module has been accepted by a subscriber (e.g., subscriber # 4 in FIG. 4 )
  • the N+1 version becomes available to users of that subscriber and version N becomes unavailable to users of that subscriber.
  • the acceptance process is done on a subscriber-by-subscriber basis.
  • the previous version of the module becomes unavailable to all users at the end of the acceptance period.
  • FIG. 6 is a flowchart showing a process 600 for construction of a list of available modules for a user.
  • the process 600 begins in a process block 601 wherein a user requests a list of available modules.
  • the user can request a list of all available modules or the user can add one or more search criteria 602 to be used in constructing the list.
  • the process then advances to a process block 603 .
  • the system accesses the list of available modules in the module database 480 and filters the list based on access rules obtained from the access rules database 481 .
  • the access rules are used, for example, to determine which version of a module the user's subscriber has accepted (e.g.
  • first-level users 108 (shown in FIG. 1 ) have access to more modules than second-level users 109
  • second-level users have access to more modules than public users 110 .
  • the result of the process block 603 is a list of allowed modules.
  • the list of allowed modules is provided to a process block 604 where the list of allowed modules is filtered according to one or more search rules (from the search rule database 482 ) using the optional search criteria provided by the user.
  • the result of the process block 604 is the list of modules.
  • the list of modules is formatted in a process block 605 and then presented to the user in a process block 607 .
  • FIG. 7 is a flowchart showing a process 700 for document construction.
  • the process 700 begins in a process block 701 where the user requests a list of available modules (as described in connection with FIG. 6 ).
  • the process then advances to an edit loop 702 where the user can build and edit a document template.
  • the document template includes a list of requested modules for the document (a request list), and various document options (e.g., fonts, page numbering options, language options, etc.).
  • the user builds the request list by selecting modules from the list of available modules.
  • the request list can be edited by adding new modules, deleting modules, changing the order of the list, etc.
  • the request list is provided to a construction rules engine (in a process block 703 ) where the request list is edited according to one or more construction rules to produce the actual list of modules to be used in the document (a document list).
  • the construction rules define interactions between various modules and/or requirements based on various modules. The following are typical examples of construction rules (where the identifier M### is used to identify various modules):
  • the output of the process block 703 is a document template that includes a document list and the document options.
  • the document list is an ordered list of all the modules that will be used to construct the document.
  • the user can, optionally, save the document template for later recall.
  • the document template is then provided to a process block 705 where each module in the document list is instantiated.
  • Some modules e.g., modules that include scripts or executable code
  • the instantiated modules are then provided to a construction block 706 where the instantiated modules are assembled into a document.
  • the construction block also adds page numbering, borders, generates a table of contents, etc.
  • the assembled document is then provided to a process block 707 where the document is formatted for display on a screen or printer, etc. The formatted document is then delivered to the user.
  • FIG. 8 is a data-flow diagram of the document construction process shown in FIG. 7 .
  • a request list 801 and a database of construction rules 883 are provided to a construction rules engine 802 (corresponding to the process block 703 in FIG. 7 ).
  • the output of the construction rules engine 883 is a document list 803 .
  • the document list 803 , document options 810 , and the module database 408 are provided to a document construction engine (corresponding to the process blocks 705 and 706 in FIG. 7 ).
  • the output of the document construction engine 804 is the completed document.
  • FIGS. 9-16 show sample screens from one example of the system 100 when used in connection with a system for generating documents for financial reports, estate planning, etc.
  • the subscribers are insurance companies or other financial services companies
  • the supervisory users 107 are compliance monitors and other quality-assurance and risk-assessment personnel of the subscribers.
  • the first-level users 108 are agents (e.g., insurance agents or financial services agents) and the second-level users 109 are clients.
  • the agents use the system 100 via the screens shown in FIGS. 12-14 to construct financial reports for their clients 109 .
  • the supervisory users use the screens shown in FIGS. 9-11 to control the agent's access to the modules.
  • FIG. 9 shows a sample accept/reject screen 900 for accepting or rejecting changes in a document control system for creating documents for financial reports (e.g., estate planning, tax planning etc.).
  • a list 901 lists modules that are currently being reviewed. Each line in the list 901 includes a module identifier (e.g., “A001S”), a module title or name (e.g., “the Need For Estate Planning”), a module status user input control (e.g., review, accept, reject), a date field indicating when the acceptance period started, a button to show the contents of the module and a button to show the contents of the redline in a display area 903 .
  • a user input control 904 allows the user to specify whether the 901 shows all modules, only those modules that need to be reviewed, only those modules that need to be approved, or only those modules that need to be rejected.
  • a control group 902 includes user input controls to specify user access controls for the currently-selected module (e.g., “Requires Securities License”, “Requires Life and Health License”, “Requires Property and Casualty License”, etc.).
  • FIG. 10 shows a sample screen for controlling user access to modules in the example system corresponding to FIG. 9 .
  • the screen includes the user access controls and review/accept/reject control from FIG. 9 , and in addition, includes comments fields for user access and status.
  • FIG. 11 shows a sample screen 1100 for defining and controlling search rules in the example system corresponding to FIG. 9 .
  • the screen 1100 includes the access controls 902 , the preview area 903 , and the list 901 .
  • the list 901 allows the user to select a module and the search rules for the selected module are shown in a dialog area 1101 .
  • the search rules for the selected module are displayed, and user edit controls are provided for editing the search rules.
  • Typical search rules for financial reports include age range, marital status, dependants, qualifying assets, investments, business value, total assets, etc.
  • FIG. 12 shows a sample screen 1200 for selecting a list of modules to build a document in the example system corresponding to FIG. 9 .
  • the screen 1200 includes a list of available modules 1203 , a list of requested modules 1205 (the request list), and editing controls 1205 for editing the request list.
  • the list 1203 corresponds to the list generated in connection with FIG. 6 and shows only those modules that the user is allowed to access and that satisfy any search criteria the user has specified.
  • the controls 1202 included buttons to add a module, remove a module, move a module up in the request list, move a module down in the request list, open a document options page, and submit the request list (e.g., produce a document).
  • the screen 1200 also includes a document list 1201 that shows the documents in the document list (e.g., the list of modules after the construction rules have been applied to the current request list), and a preview area 1202 for previewing modules from the document list.
  • a document list 1201 that shows the documents in the document list (e.g., the list of modules after the construction rules have been applied to the current request list)
  • a preview area 1202 for previewing modules from the document list.
  • FIG. 13 shows a sample screen for specifying search criteria such as, for example, age, marital status, number of dependents, asset values, financial planning interests, etc.
  • search criteria such as, for example, age, marital status, number of dependents, asset values, financial planning interests, etc.
  • a list of modules satisfying the search criteria (and the access rules) is also provided.
  • FIG. 14 shows a sample screen for selecting document options in the example system corresponding to FIG. 9 .
  • the document options can include page setup information, such as, for example, border style, header text, footer text, a “print date” checkbox, etc.
  • the document options can also include presentation information, such as, for example, title, client name, agent name, address information, a checkbox to include a table of contents, etc.

Abstract

A document construction and management system is described. In one embodiment, documents are assembled by combining one or more modules. In one embodiment, the modules are combined according to one or more construction rules. The modules can be provided to a number of subscribers, each subscriber having one or more users. Access to each of the modules can be controlled on a subscriber basis and/or on a user basis based on different users or user classes. When new modules or new versions of an existing module are added to the database of available modules, access to the new module or version can be restricted until the new modules or versions have been reviewed and accepted. During the review period, the previous version of the module is made available to users for construction of documents. In one embodiment, one or more access rules are used to control which modules are available to which users. In one embodiment, search rules are provided to facilitate searching for a desired module.

Description

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application is a continuation of U.S. patent application Ser. No. 11/243,494, filed Oct. 3, 2005, entitled “SYSTEM AND METHOD FOR DOCUMENT CONSTRUCTION,” which is hereby incorporated by reference in its entirety.
  • BACKGROUND
  • 1. Field of the Invention
  • The present invention relates to systems and methods for generating documents from modular elements and for managing the modular elements.
  • 2. Description of the Related Art
  • Many types of documents or document-like entities are generated by modular construction techniques in a manner not unlike that used for assembling mechanical devices. The document constructed from modular components can be source code for a software program, a Computer Aided Design (CAD) drawing, a text document, etc. For example, in many software systems, especially event-driven graphical user interface systems such as Microsoft Windows, much of the source code is repetitive and boiler-plate in nature. Thus, many software development systems provide for generation of source code by assembling various pieces of code, much in the same way than form paragraphs are often used to assemble a financial report or other text document. In a CAD environment, drawings of various pieces of an assembly are combined into a single document to produce a complete drawing of the desired assembly. In each of these cases, there is a need for quality control and pre-screening of the modules used to assemble the final document. Changes to existing modules are usually checked and verified before a new version of the module is made available to the users. Many software version control systems keep track of changes to the software, and provide a check-in check-out procedure such that only one person at a time can modify an module. In addition, most software version control systems also keep and audit trail of change to all for “rolling back” to a previous version of the software when a problem is discovered in a newer version. However, existing systems do not provide sufficient control over which users are allowed to access which modules and the existing systems do not provide sufficient control over how modules are assembled into documents.
  • SUMMARY
  • These and other problems are solved by a document management system that provides a multi-level access and assembly control. In one embodiment, documents are assembled by combining one or more modules. The modules can be provided to a number of subscribers, each subscriber having one or more users. Access to each of the modules can be controlled on a subscriber basis and/or on a user basis based on different user classes (e.g., supervisory user, first-level user, second-level user, public user, etc.).
  • When new modules or new versions of an existing module are added to the database of available modules, access to the new module or version can be restricted until such time as a supervisory user or other designated user has reviewed the new module of the changes to an existing module. During the review period, the previous version of the module is made available to users for construction of documents. In one embodiment, one or more access rules are used to control which modules are available to which users. In one embodiment, a different set of access rules can be provided for each subscriber, thus, allowing each subscriber to control access for the subscriber's user base.
  • In one embodiment, one or more search rules are configured to facilitate searching of the module database for a desired module. In one embodiment, the search rules are configured on a subscriber basis such that each subscriber can define a different set of search rules. In one embodiment, a database of default search rules is provided.
  • In one embodiment, one or more construction rules determine how various modules are combined during production of a document. In one embodiment, a user specifies an ordered list of modules to be used to construct a desired document. The construction rules are used by a construction engine to modify the user-supplied list to produce a document list as an ordered list of modules that will actually be used to construct the document. In one embodiment, the construction engine adds additional modules to the user-supplied list. In one embodiment, the construction list changes the order of the modules in the user-supplied list.
  • In one embodiment, the modules include software source code. In one embodiment, the modules include scripts in a scripting language (e.g., Basic, Lisp, Javascript, Perl, etc.). In one embodiment, the modules include CAD drawing files. In one embodiment, the modules include executable programs that construct a document or portions of a document. In one embodiment, the modules include XML code. In one embodiment, the modules include word-processing files. In one embodiment, the modules include text documents. In one embodiment, the modules include markup language files (e.g., HTML, SGML, Adobe Acrobat, Postscript, Encapsulated Postscript, etc.)
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows a document construction system based on communication between a root system, one or more subscriber systems, and one or more user systems.
  • FIG. 2 shows one example of a data hierarchy in the document construction system, where the hierarchy includes a root level, a subscriber level, and a user level.
  • FIG. 3 shows a document constructed as an ordered list of modules.
  • FIG. 4 is a flowchart showing a version control system wherein subscribers can accept or reject new modules and/or new versions of existing modules.
  • FIG. 5 shows one embodiment of an acceptance timeline for accepting new versions of an existing module.
  • FIG. 6 is a flowchart showing construction of a list of available modules for a user, where access to various modules is based on a set of access rules and a set of search rules.
  • FIG. 7 is a flowchart showing document construction.
  • FIG. 8 is a data-flow diagram showing document construction.
  • FIG. 9 shows a sample screen for accepting or rejecting changes in a document control system for creating text documents.
  • FIG. 10 shows a sample screen for controlling user access to modules in the example system corresponding to FIG. 9.
  • FIG. 11 shows a first sample screen for controlling module search criteria in the example system corresponding to FIG. 9.
  • FIG. 12 shows a sample screen for selecting a list of modules to build a document in the example system corresponding to FIG. 9.
  • FIG. 13 shows a sample screen for searching for modules in the example system corresponding to FIG. 9.
  • FIG. 14 shows a sample screen for selecting document options in the example system corresponding to FIG. 9.
  • DETAILED DESCRIPTION
  • FIG. 1 shows a document construction system 100. In the system 100, a root system 101 communicates with a subscriber system 104. In FIG. 1, communication between the root system 101 and the subscriber system 104 is shown via the Internet 103, however, one of ordinary skill in the art will recognize that any other suitable local and/or wide area computer network connections can be used. One of ordinary skill in the art will further recognize that the root system 101 and the subscriber system 104 can be combined. In one embodiment, the root system 101 is also provided to one or more additional subscriber systems shown in FIG. 1 as an M-th subscriber system 105.
  • Using the Internet 103 (or other suitable network connection), the subscriber system 104 communicates with a first-level user system 108, a second-level user system 109, and a public user system 110. One or more root databases are provided to the root system 101, and one or more subscriber databases 105 are provided to the subscriber system 106. A supervisory user system 107 is provided to the subscriber system 104 by a local or Internet connection.
  • In the system 100, a user, such as the one or more of the users 108-109 can construct documents using data from the root databases 102 and/or the subscriber databases 105. In one embodiment, the documents are constructed as a collection of modules (as shown in FIG. 3) according to a hierarchy of access rules, search rules, and/or construction rules (as shown in FIG. 2).
  • FIG. 2 shows one example of a data hierarchy that can be used in connection with the document construction system 100. In FIG. 2, the uppermost level of the hierarchy includes a module database 201 containing one or more modules, a construction rules database 202 containing one or more construction rules, and a search rule database 203 containing one or more default search rules. A second level of the hierarchy shown in FIG. 2 includes one or more subscriber databases, shown as a first subscriber database 211 and a second subscriber database 212. The Subscriber databases 211 and 212 contain subscriber-specific access rules and search rules. A third level of the hierarchy shown in FIG. 2 includes one or more user information databases 221-224. The user databases 221-222 correspond to users of the first subscriber 104, and the user databases 223-224 correspond to users of the M-th subscriber.
  • In one embodiment, the databases 201-203 and 211-212 are part of the root databases 102, and the user information databases 221-222 are part of the subscriber database 105. However, one of ordinary skill in the art will recognize that the information in the databases 201-203, 211-212, and 221-224 can be distributed between the root databases 102 and 105 as needed to meet performance, stability and/or data integrity needs. One of ordinary skill in the art will further recognize that the databases 201-203, 211-212, and 221-224 can be combined in whole or in part, and are described as separate databases for purposes of explanation and not by way of limitation.
  • FIG. 3 shows a document 300 constructed as an ordered list of modules, including a first module 301, a second module 302, and a last module 303. To construct a document, a user creates a user-selected list of one or more modules. The user-selected list is edited or modified according to one or more construction rules and then the document is constructed by instantiating the modules in the edited list. The process of document construction is described in more detail in the text in connection with FIGS. 7 and 8.
  • The modules 301-303 are obtained from the module database 201. Access to each of the modules can be controlled on a subscriber basis and/or on a user basis. User access can be restricted on a user-by-user basis (e.g., based on a user ID). User access can also be restricted based on different user classes (e.g., supervisory user, first-level user, second-level user, public user, etc.). User access can also be restricted based on different user authorization levels, licenses, job functions, etc. In one embodiment, one or more access rules are used to control which modules are available to which users. In one embodiment, a different set of access rules can be provided for each subscriber, thus, allowing each subscriber to control access for the subscriber's user base.
  • In one embodiment, the modules include software source code. In one embodiment, the modules include scripts in a scripting language (e.g., Basic, Lisp, Javascript, Perl, etc.). In one embodiment, the modules include CAD drawing files. In one embodiment, the modules include executable programs that construct a document or portions of a document. In one embodiment, the modules include XML code. In one embodiment, the modules include word-processing files. In one embodiment, the modules include text documents. In one embodiment, the modules include markup language files (e.g., HTML, SGML, etc.).
  • One of ordinary skill in the art will recognize that the type of data in the modules is a function of the type of document being produced. Thus, for example, if the system 100 is configured to produce a computer program, then the modules will typically contain source code, or scripts (or programs) to generate source code. Thus, in such a system, instantiation of each module produces zero or more lines of source code to be added to the document 300. By contrast, if the documents 300 is to be a CAD drawing, then the modules will typically contain CAD files, or scripts (or programs) to generate CAD files, and the CAD files generated will be combined to produce the CAD file document 300.
  • In one embodiment, the document 300 is a report produced in a markup language (e.g., HTML, SGML, Adobe Acrobat, Postscript, Encapsulated Postscript, etc.) containing text and/or graphics. Examples of reports include, for example, a web page, a program design document, a financial report, etc. The modules to produce a report can include, for example, markup language files, graphics files, template files, scripts, executable code, etc. Modules containing markup language can include, for example, form paragraphs, boilerplate language, standard text, standard headings, etc. Graphics files such as pictures, graphs, charts, and the like can be provided in a desired format (e.g., bitmap, jpeg, tiff, etc.). Template files can include markup language files with fields to be filled with user-supplied data during module instantiation (e.g., Name, address, etc.). Scripts and/or executable files can be configured to dynamically generate markup language content for the document 300.
  • In one embodiment, one or more search rules are configured to facilitate searching of the module database 201 for a desired module. In one embodiment, the search rules are configured on a subscriber basis such that each subscriber can define a different set of search rules. In one embodiment, the default search rule database 203 is provided and the default rules are modified for each subscriber according to the subscriber level databases 211-212. In one embodiment, the default search rule database 203 is omitted and the search rules are provided for each subscriber in the subscriber level databases 211-212.
  • FIG. 4 is a flowchart 400 showing a version control system wherein subscribers can accept or reject new modules and/or new versions of existing modules. The flowchart 400 begins in a process block 401 where the new module or new version of an existing module is added to a module database 480. In one embodiment, when a new version of a module is added to the database 480, a process block 402 adds a “redline” copy to the database 480 showing substantive differences between the old and new versions of the module is also provided. In the case of text modules (e.g., markup text, language source text), the redline version can show substantive differences in the text. In the case of modules containing scripts or executable code, the redline can show differences in the script (or source code) and/or differences in the output produced by the script or executable. In one embodiment, the redline shows substantive differences between the old and new versions of the module but not minor differences (e.g., spelling corrections, corrections of punctuation, etc.).
  • After the module database is updated, the process advances to a process block 403 wherein an access rule database 481 for each subscriber is updated to indicate that a new module or new version of a module is available. A timestamp for the new version is also provided. The process then advances to a process block 404. In the process block 404, notices are sent to each subscriber informing the subscriber that a module has been added or updated. Notices are sent based on subscriber information obtained from the access rules database 481. If the updated module is not used by a particular subscriber, then no notice is sent. Thus, for example, in FIG. 4, no notice is sent to subscriber # 1 based on information obtained from the access rules database 481 indicating that subscriber # 1 does not use the updated module. In FIG. 4, notices are sent to a subscriber # 2, a subscriber # 3, and a subscriber # 4 in process blocks 406-408, respectively.
  • If, after a specified acceptance period, no response is received from a subscriber (as shown, for example, for subscriber # 2 in FIG. 4), then the new module or version is automatically rejected.
  • A subscriber can review and reject the new module or update (as shown, for example, for subscriber # 3 in FIG. 4). In a process block 410, the subscriber # 3 reviews the redline and decides to reject the new module or new version. In one embodiment, when a module or new version of a module is rejected, a message is sent to the module provider in a process block 411. After rejecting the module in the process block 410, the process advances to a process block 413 where the subscriber can (optionally) edit the user access and/or search rules for the module
  • Alternatively, subscribers can also review and accept the new module or update (as shown, for example, for subscriber # 4 in FIG. 4). In a process block 412, the subscriber # 4 reviews the redline and decides to accept the new module or new version. The process then advances to the process block 413 where the subscriber can (optionally) edit the user access and/or search rules for the module
  • The process advances from the process block 409 (default rejection) or the process block 413 (edit user access or search rules) to a process block 414 where the access rules database 481 and the search rules database 482 are updated to reflect the inputs from the subscriber.
  • During the review process shown in FIG. 4, the previous version of an updated module remains available to the users. When new modules or new versions of an existing module are added to the module database 480, user access to the new module or version can be restricted until such time as a supervisory user or other designated user has reviewed and accepted the new module. During the review period, the previous version of the module is made available to users for construction of documents. FIG. 5 shows one embodiment of a timeline for user access to new and previous versions of a module. In FIG. 5, the addition of a new version (version N+1) of a module to the module database 480 (corresponding to the process block 401 in FIG. 4) triggers the start of an acceptance period. During the acceptance period, the previous version (version N) of the module is available to the users. Once a module has been accepted by a subscriber (e.g., subscriber # 4 in FIG. 4), then the N+1 version becomes available to users of that subscriber and version N becomes unavailable to users of that subscriber. In one embodiment, the acceptance process is done on a subscriber-by-subscriber basis. Thus, during the acceptance period, users of one subscriber (who has not yet accepted the new version) will only have access to version N of the updated module, and users of a different subscriber (who has accepted the new version) will only have access to version N+1 of the updated module.
  • In one embodiment, the previous version of the module (version N) becomes unavailable to all users at the end of the acceptance period.
  • FIG. 6 is a flowchart showing a process 600 for construction of a list of available modules for a user. The process 600 begins in a process block 601 wherein a user requests a list of available modules. The user can request a list of all available modules or the user can add one or more search criteria 602 to be used in constructing the list. The process then advances to a process block 603. In the process block 603, the system accesses the list of available modules in the module database 480 and filters the list based on access rules obtained from the access rules database 481. The access rules are used, for example, to determine which version of a module the user's subscriber has accepted (e.g. version N or version N+1) and whether the user is allowed access to that module based on the user's access privileges. For example, in one embodiment, first-level users 108 (shown in FIG. 1) have access to more modules than second-level users 109, and second-level users have access to more modules than public users 110. The result of the process block 603 is a list of allowed modules.
  • The list of allowed modules is provided to a process block 604 where the list of allowed modules is filtered according to one or more search rules (from the search rule database 482) using the optional search criteria provided by the user. The result of the process block 604 is the list of modules. The list of modules is formatted in a process block 605 and then presented to the user in a process block 607.
  • FIG. 7 is a flowchart showing a process 700 for document construction. The process 700 begins in a process block 701 where the user requests a list of available modules (as described in connection with FIG. 6). The process then advances to an edit loop 702 where the user can build and edit a document template. The document template includes a list of requested modules for the document (a request list), and various document options (e.g., fonts, page numbering options, language options, etc.). The user builds the request list by selecting modules from the list of available modules. The request list can be edited by adding new modules, deleting modules, changing the order of the list, etc.
  • Once the document template is complete, the request list is provided to a construction rules engine (in a process block 703) where the request list is edited according to one or more construction rules to produce the actual list of modules to be used in the document (a document list). In one embodiment, the construction rules define interactions between various modules and/or requirements based on various modules. The following are typical examples of construction rules (where the identifier M### is used to identify various modules):
      • Module M001 and module M002 cannot appear in the same document.
      • Module M003 requires module M004.
      • If Module M005 appears with module M006, then module M005 must precede module M006 in the document.
      • Module M007 is required in all documents.
      • Etc.
  • The output of the process block 703 is a document template that includes a document list and the document options. The document list is an ordered list of all the modules that will be used to construct the document. In one embodiment, the user can, optionally, save the document template for later recall.
  • The document template is then provided to a process block 705 where each module in the document list is instantiated. Some modules (e.g., modules that include scripts or executable code) can produce dialog boxes or other user input requests, and thus, the process of module instantiation typically involves some interaction with the user. The instantiated modules are then provided to a construction block 706 where the instantiated modules are assembled into a document. In one embodiment, the construction block also adds page numbering, borders, generates a table of contents, etc. In one embodiment, the assembled document is then provided to a process block 707 where the document is formatted for display on a screen or printer, etc. The formatted document is then delivered to the user.
  • FIG. 8 is a data-flow diagram of the document construction process shown in FIG. 7. In FIG. 8, a request list 801 and a database of construction rules 883 are provided to a construction rules engine 802 (corresponding to the process block 703 in FIG. 7). The output of the construction rules engine 883 is a document list 803. The document list 803, document options 810, and the module database 408 are provided to a document construction engine (corresponding to the process blocks 705 and 706 in FIG. 7). The output of the document construction engine 804 is the completed document.
  • As described above, the system described herein can be used to construct documents for many different purposes such as writing software, constructing CAD drawings, producing reports, etc. The samples shown in FIGS. 9-16 are provided for illustration to show one embodiment of the document control system. FIGS. 9-16 show sample screens from one example of the system 100 when used in connection with a system for generating documents for financial reports, estate planning, etc. In one embodiment of the system of FIGS. 9-16, the subscribers are insurance companies or other financial services companies, the supervisory users 107 are compliance monitors and other quality-assurance and risk-assessment personnel of the subscribers. The first-level users 108 are agents (e.g., insurance agents or financial services agents) and the second-level users 109 are clients. The agents (first-level users 108) use the system 100 via the screens shown in FIGS. 12-14 to construct financial reports for their clients 109. The supervisory users use the screens shown in FIGS. 9-11 to control the agent's access to the modules.
  • FIG. 9 shows a sample accept/reject screen 900 for accepting or rejecting changes in a document control system for creating documents for financial reports (e.g., estate planning, tax planning etc.). A list 901 lists modules that are currently being reviewed. Each line in the list 901 includes a module identifier (e.g., “A001S”), a module title or name (e.g., “the Need For Estate Planning”), a module status user input control (e.g., review, accept, reject), a date field indicating when the acceptance period started, a button to show the contents of the module and a button to show the contents of the redline in a display area 903. A user input control 904 allows the user to specify whether the 901 shows all modules, only those modules that need to be reviewed, only those modules that need to be approved, or only those modules that need to be rejected.
  • A control group 902 includes user input controls to specify user access controls for the currently-selected module (e.g., “Requires Securities License”, “Requires Life and Health License”, “Requires Property and Casualty License”, etc.). FIG. 10 shows a sample screen for controlling user access to modules in the example system corresponding to FIG. 9. The screen includes the user access controls and review/accept/reject control from FIG. 9, and in addition, includes comments fields for user access and status.
  • FIG. 11 shows a sample screen 1100 for defining and controlling search rules in the example system corresponding to FIG. 9. The screen 1100 includes the access controls 902, the preview area 903, and the list 901. The list 901 allows the user to select a module and the search rules for the selected module are shown in a dialog area 1101. In the dialog area 1101, the search rules for the selected module are displayed, and user edit controls are provided for editing the search rules. Typical search rules for financial reports include age range, marital status, dependants, qualifying assets, investments, business value, total assets, etc.
  • FIG. 12 shows a sample screen 1200 for selecting a list of modules to build a document in the example system corresponding to FIG. 9. The screen 1200 includes a list of available modules 1203, a list of requested modules 1205 (the request list), and editing controls 1205 for editing the request list. The list 1203 corresponds to the list generated in connection with FIG. 6 and shows only those modules that the user is allowed to access and that satisfy any search criteria the user has specified. The controls 1202 included buttons to add a module, remove a module, move a module up in the request list, move a module down in the request list, open a document options page, and submit the request list (e.g., produce a document).
  • The screen 1200 also includes a document list 1201 that shows the documents in the document list (e.g., the list of modules after the construction rules have been applied to the current request list), and a preview area 1202 for previewing modules from the document list.
  • FIG. 13 shows a sample screen for specifying search criteria such as, for example, age, marital status, number of dependents, asset values, financial planning interests, etc. A list of modules satisfying the search criteria (and the access rules) is also provided.
  • FIG. 14 shows a sample screen for selecting document options in the example system corresponding to FIG. 9. The document options can include page setup information, such as, for example, border style, header text, footer text, a “print date” checkbox, etc. The document options can also include presentation information, such as, for example, title, client name, agent name, address information, a checkbox to include a table of contents, etc.
  • Although various embodiments have been described above, other embodiments will be within the skill of one of ordinary skill in the art. Thus, although described in terms of a deaf user, such description was for sake of convenience and not by way of limitation. The invention is limited only by the claims that follow.

Claims (16)

1. A document management system which includes a processor and memory, the document management system comprising:
a module database configured to store a first module and a second module;
a construction engine configured to use at least both of said first and second modules to construct a document according to one or more construction rules so that the document includes content based on the first module and content based on the second module; and
a module review engine configured to allow multiple subscribers to review and approve or reject a new version of said first module, said construction engine configured to use a prior version of said first module for documents assembled by a subscriber until said new version of the first module has been approved by the subscriber, wherein the approval or rejection of the new version of the first module by the subscriber does not affect the ability of different subscribers to approve or reject the new version of the first module.
2. The document management system of claim 1, wherein the module review engine is further configured to allow multiple subscribers to review and approve or reject a new version of said second module, said construction engine configured to use a prior version of said second module for documents assembled by a subscriber until said new version of the second module has been approved by the subscriber, wherein the approval or rejection of the new version of the second module by the subscriber does not affect the ability of different subscribers to approve or reject the new version of the second module.
3. The document management system of claim 1, further comprising an access control engine configured to control access to said first and second modules based on different user classes according to one or more access rules.
4. The document management system of claim 2, wherein said user classes comprise a supervisor user class.
5. The document management system of claim 2, wherein said user classes comprise a second-level user class.
6. The document management system of claim 2, wherein said user classes comprise a public user class.
7. The document management system of claim 1, further comprising one or more access rules to describe how said first and second modules are combined.
8. The document management system of claim 1, wherein said search rules are configured on a subscriber basis such that each subscriber can define a different set of search rules.
9. The document management system of claim 1, further comprising a search engine configured to allow a user to search for modules in said database according to one or more search rules.
10. The document management system of claim 9, wherein said search rules comprise one or more default search rules.
11. The document management system of claim 1, wherein said construction engine uses said construction rules to modify a user-supplied list of modules to produce a document list as an ordered list of modules to be used to construct said document.
12. The document management system of claim 1, wherein said construction engine adds additional modules to a user-supplied list according to one or more of said construction rules.
13. The document management system of claim 1, wherein said construction engine reorders modules in a user-supplied list according to one or more of said construction rules.
14. The document management system of claim 1, wherein said first module comprises content selected from a group comprising: source code, script code, CAD files, XML code, document text, markup language data, and a word-processing file.
15. The document management system of claim 1, wherein said first module comprises executable code that is executed to produce at least a portion of said document.
16. The document management system of claim 1, further configured to prohibit the subscriber's access to said prior version of the first module if the subscriber approves the new version of the first module.
US12/960,290 2005-10-03 2010-12-03 System and method for document construction Abandoned US20110289399A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/960,290 US20110289399A1 (en) 2005-10-03 2010-12-03 System and method for document construction

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/243,494 US7861153B2 (en) 2005-10-03 2005-10-03 System and method for document construction
US12/960,290 US20110289399A1 (en) 2005-10-03 2010-12-03 System and method for document construction

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/243,494 Continuation US7861153B2 (en) 2005-10-03 2005-10-03 System and method for document construction

Publications (1)

Publication Number Publication Date
US20110289399A1 true US20110289399A1 (en) 2011-11-24

Family

ID=37903304

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/243,494 Expired - Fee Related US7861153B2 (en) 2005-10-03 2005-10-03 System and method for document construction
US12/960,290 Abandoned US20110289399A1 (en) 2005-10-03 2010-12-03 System and method for document construction

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/243,494 Expired - Fee Related US7861153B2 (en) 2005-10-03 2005-10-03 System and method for document construction

Country Status (1)

Country Link
US (2) US7861153B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120173588A1 (en) * 2011-01-03 2012-07-05 Howard Gene Rotter Online estate document management system
US20120266056A1 (en) * 2009-10-05 2012-10-18 Frank Shaffer Interactive electronic document
CN103870576A (en) * 2014-03-20 2014-06-18 中国空间技术研究院 Satellite basic data version control method
US20170060575A1 (en) * 2015-09-01 2017-03-02 Ca, Inc. Controlling repetitive check-in of intermediate versions of source code from a developer's computer to a source code repository

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8037452B2 (en) * 2005-04-15 2011-10-11 Microsoft Corporation Task aware source checkin and build
US20070156785A1 (en) * 2006-01-03 2007-07-05 Hines Wallis G Iii Method and system for revising manuals
JP2007304998A (en) * 2006-05-12 2007-11-22 Hitachi Software Eng Co Ltd Source code generation method, device, and program
US20090031401A1 (en) 2007-04-27 2009-01-29 Bea Systems, Inc. Annotations for enterprise web application constructor
US9195661B2 (en) * 2007-06-07 2015-11-24 Thomson Reuters Global Resources Method and system for click-thru capability in electronic media
US8438471B2 (en) * 2009-07-13 2013-05-07 John R Thorpe System for speeding up web site use using task workflow templates for filtration and extraction
CN102549568B (en) * 2009-09-22 2015-06-17 瑞典爱立信有限公司 A method and arrangements for enabling modifications of xml documents
US20120042354A1 (en) * 2010-08-13 2012-02-16 Morgan Stanley Entitlement conflict enforcement
US20150006205A1 (en) * 2013-06-28 2015-01-01 Christopher Corey Chase System and method providing automobile insurance resource tool
US9898387B2 (en) * 2014-03-21 2018-02-20 Ca, Inc. Development tools for logging and analyzing software bugs
CN104657340B (en) * 2015-02-10 2018-09-11 上海创景信息科技有限公司 Expansible Word report preparing systems and method based on script
US10896121B2 (en) * 2016-02-06 2021-01-19 Picangelo Ltd. Methods and systems for software related problem solution
US11314503B2 (en) 2020-06-08 2022-04-26 Bank Of America Corporation Software development documentation using machine learning
US11474813B2 (en) * 2020-09-30 2022-10-18 Atlassian Pty Ltd. System for managing subscriber and project updates using a networked project communication system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030046639A1 (en) * 2001-05-09 2003-03-06 Core Ipr Limited Method and systems for facilitating creation, presentation, exchange, and management of documents to facilitate business transactions
US20030144982A1 (en) * 2002-01-30 2003-07-31 Benefitnation Document component management and publishing system
US20050044401A1 (en) * 2002-09-13 2005-02-24 James Morrow Rollback attack prevention system and method
US20050149920A1 (en) * 2003-12-29 2005-07-07 Patrizi Jonathan P. Software documentation generation using differential upgrade documentation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050262437A1 (en) * 1999-04-24 2005-11-24 Patterson Dennis M Process for creating and printing customized document at end user computer and printer
US6993708B1 (en) * 2000-07-27 2006-01-31 Robert B Gillig System for automated generation and assembly of specifications documents in CADD environments
US7260777B2 (en) * 2001-08-17 2007-08-21 Desknet Inc. Apparatus, method and system for transforming data
US20020169803A1 (en) * 2000-12-18 2002-11-14 Sudarshan Sampath System and user interface for generating structured documents
US20030041303A1 (en) * 2001-08-23 2003-02-27 Milton John R. System and method for tracking placement and usage of content in a publication
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
US7577906B2 (en) * 2004-11-08 2009-08-18 Microsoft Corporation Method and system for document assembly

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030046639A1 (en) * 2001-05-09 2003-03-06 Core Ipr Limited Method and systems for facilitating creation, presentation, exchange, and management of documents to facilitate business transactions
US20030144982A1 (en) * 2002-01-30 2003-07-31 Benefitnation Document component management and publishing system
US20050044401A1 (en) * 2002-09-13 2005-02-24 James Morrow Rollback attack prevention system and method
US20050149920A1 (en) * 2003-12-29 2005-07-07 Patrizi Jonathan P. Software documentation generation using differential upgrade documentation

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120266056A1 (en) * 2009-10-05 2012-10-18 Frank Shaffer Interactive electronic document
US20120173588A1 (en) * 2011-01-03 2012-07-05 Howard Gene Rotter Online estate document management system
US20130346449A1 (en) * 2011-01-03 2013-12-26 Howard Gene Rotter Online estate document management system
CN103870576A (en) * 2014-03-20 2014-06-18 中国空间技术研究院 Satellite basic data version control method
US20170060575A1 (en) * 2015-09-01 2017-03-02 Ca, Inc. Controlling repetitive check-in of intermediate versions of source code from a developer's computer to a source code repository
US9672031B2 (en) * 2015-09-01 2017-06-06 Ca, Inc. Controlling repetitive check-in of intermediate versions of source code from a developer's computer to a source code repository

Also Published As

Publication number Publication date
US7861153B2 (en) 2010-12-28
US20070079231A1 (en) 2007-04-05

Similar Documents

Publication Publication Date Title
US7861153B2 (en) System and method for document construction
JP7460689B2 (en) Software application development based on spreadsheets
US20230105237A1 (en) Document processor program having document-type dependent user interface
US10445411B2 (en) Document automation systems
US6266683B1 (en) Computerized document management system
US6308188B1 (en) System and method for building a web site with automated workflow
US20070192671A1 (en) Document management systems
AU2011202413B2 (en) An automated publishing system that facilitates collaborative editing and accountability through virtual document architecture
US9811805B2 (en) Automated work-flow management system with dynamic interface
US7430535B2 (en) Methods and systems for identifying prospective customers and managing deals
US6185587B1 (en) System and method for building a web site with automated help
JP2021028828A6 (en) Spreadsheet-based software application development
US6301621B1 (en) Web server with direct mail capability
US10114821B2 (en) Method and system to access to electronic business documents
US7904807B2 (en) System and method for copying formatting information between Web pages
US20010051962A1 (en) Presentation customization
US20100251092A1 (en) Method and System for Processing Fixed Format Forms Online
US20020161602A1 (en) Methods and systems for identifying prospective customers and managing deals
CN111819534A (en) Spreadsheet-based software application development
US20020111928A1 (en) System for processing document production orders over computer network
US20040261025A1 (en) Method and system of providing secure on-line access to a database of documents
US20070234201A1 (en) Information Management Device
CA2356846A1 (en) Generalized multi-interfaced extensible content management and delivery system, and on-line calendar
US20070005516A1 (en) System, method and program to define, approve and draft a contract
CN111460779B (en) Method for rendering and accessing flow form data based on Activiti

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION