US20110289399A1 - System and method for document construction - Google Patents
System and method for document construction Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software 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.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
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
- 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.
- 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.
- 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.)
-
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 toFIG. 9 . -
FIG. 11 shows a first sample screen for controlling module search criteria in the example system corresponding toFIG. 9 . -
FIG. 12 shows a sample screen for selecting a list of modules to build a document in the example system corresponding toFIG. 9 . -
FIG. 13 shows a sample screen for searching for modules in the example system corresponding toFIG. 9 . -
FIG. 14 shows a sample screen for selecting document options in the example system corresponding toFIG. 9 . -
FIG. 1 shows adocument construction system 100. In thesystem 100, aroot system 101 communicates with asubscriber system 104. InFIG. 1 , communication between theroot system 101 and thesubscriber 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 theroot system 101 and thesubscriber system 104 can be combined. In one embodiment, theroot system 101 is also provided to one or more additional subscriber systems shown inFIG. 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 apublic user system 110. One or more root databases are provided to theroot system 101, and one ormore subscriber databases 105 are provided to thesubscriber system 106. Asupervisory user system 107 is provided to thesubscriber 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 theroot databases 102 and/or thesubscriber databases 105. In one embodiment, the documents are constructed as a collection of modules (as shown inFIG. 3 ) according to a hierarchy of access rules, search rules, and/or construction rules (as shown inFIG. 2 ). -
FIG. 2 shows one example of a data hierarchy that can be used in connection with thedocument construction system 100. InFIG. 2 , the uppermost level of the hierarchy includes amodule database 201 containing one or more modules, aconstruction rules database 202 containing one or more construction rules, and asearch rule database 203 containing one or more default search rules. A second level of the hierarchy shown inFIG. 2 includes one or more subscriber databases, shown as afirst subscriber database 211 and asecond subscriber database 212. TheSubscriber databases FIG. 2 includes one or more user information databases 221-224. The user databases 221-222 correspond to users of thefirst 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 thesubscriber 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 theroot databases -
FIG. 3 shows adocument 300 constructed as an ordered list of modules, including afirst module 301, asecond module 302, and alast 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 withFIGS. 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 thedocument 300. By contrast, if thedocuments 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 theCAD 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 thedocument 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 defaultsearch 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 defaultsearch rule database 203 is omitted and the search rules are provided for each subscriber in the subscriber level databases 211-212. -
FIG. 4 is aflowchart 400 showing a version control system wherein subscribers can accept or reject new modules and/or new versions of existing modules. Theflowchart 400 begins in aprocess block 401 where the new module or new version of an existing module is added to amodule database 480. In one embodiment, when a new version of a module is added to thedatabase 480, aprocess block 402 adds a “redline” copy to thedatabase 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 anaccess 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 aprocess block 404. In theprocess 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 theaccess rules database 481. If the updated module is not used by a particular subscriber, then no notice is sent. Thus, for example, inFIG. 4 , no notice is sent tosubscriber # 1 based on information obtained from theaccess rules database 481 indicating thatsubscriber # 1 does not use the updated module. InFIG. 4 , notices are sent to asubscriber # 2, asubscriber # 3, and asubscriber # 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 inFIG. 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 inFIG. 4 ). In aprocess block 410, thesubscriber # 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 aprocess block 411. After rejecting the module in theprocess block 410, the process advances to aprocess 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 inFIG. 4 ). In aprocess block 412, thesubscriber # 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 theaccess rules database 481 and thesearch 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 themodule 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. InFIG. 5 , the addition of a new version (version N+1) of a module to the module database 480 (corresponding to theprocess block 401 inFIG. 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 inFIG. 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 aprocess 600 for construction of a list of available modules for a user. Theprocess 600 begins in aprocess 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 ormore search criteria 602 to be used in constructing the list. The process then advances to aprocess block 603. In theprocess block 603, the system accesses the list of available modules in themodule database 480 and filters the list based on access rules obtained from theaccess 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 inFIG. 1 ) have access to more modules than second-level users 109, and second-level users have access to more modules thanpublic users 110. The result of theprocess 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 theprocess block 604 is the list of modules. The list of modules is formatted in aprocess block 605 and then presented to the user in aprocess block 607. -
FIG. 7 is a flowchart showing aprocess 700 for document construction. Theprocess 700 begins in aprocess block 701 where the user requests a list of available modules (as described in connection withFIG. 6 ). The process then advances to anedit 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 aconstruction 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 aprocess 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 inFIG. 7 . InFIG. 8 , arequest list 801 and a database ofconstruction rules 883 are provided to a construction rules engine 802 (corresponding to theprocess block 703 inFIG. 7 ). The output of the construction rulesengine 883 is adocument list 803. Thedocument list 803,document options 810, and themodule database 408 are provided to a document construction engine (corresponding to the process blocks 705 and 706 inFIG. 7 ). The output of thedocument 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 thesystem 100 when used in connection with a system for generating documents for financial reports, estate planning, etc. In one embodiment of the system ofFIGS. 9-16 , the subscribers are insurance companies or other financial services companies, thesupervisory 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 thesystem 100 via the screens shown inFIGS. 12-14 to construct financial reports for theirclients 109. The supervisory users use the screens shown inFIGS. 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.). Alist 901 lists modules that are currently being reviewed. Each line in thelist 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 adisplay area 903. Auser 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 toFIG. 9 . The screen includes the user access controls and review/accept/reject control fromFIG. 9 , and in addition, includes comments fields for user access and status. -
FIG. 11 shows asample screen 1100 for defining and controlling search rules in the example system corresponding toFIG. 9 . Thescreen 1100 includes the access controls 902, thepreview area 903, and thelist 901. Thelist 901 allows the user to select a module and the search rules for the selected module are shown in adialog area 1101. In thedialog 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 asample screen 1200 for selecting a list of modules to build a document in the example system corresponding toFIG. 9 . Thescreen 1200 includes a list of available modules 1203, a list of requested modules 1205 (the request list), andediting controls 1205 for editing the request list. The list 1203 corresponds to the list generated in connection withFIG. 6 and shows only those modules that the user is allowed to access and that satisfy any search criteria the user has specified. Thecontrols 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 adocument 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 apreview 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 toFIG. 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.
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)
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)
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 |
US20090024939A1 (en) * | 2007-04-27 | 2009-01-22 | Bea Systems, Inc. | Web based application constructor using querying across data |
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 |
WO2011037500A1 (en) * | 2009-09-22 | 2011-03-31 | Telefonaktiebolaget Lm Ericsson (Publ) | 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 |
WO2017134677A1 (en) * | 2016-02-06 | 2017-08-10 | 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)
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)
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 |
-
2005
- 2005-10-03 US US11/243,494 patent/US7861153B2/en not_active Expired - Fee Related
-
2010
- 2010-12-03 US US12/960,290 patent/US20110289399A1/en not_active Abandoned
Patent Citations (4)
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)
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 |
---|---|
US20070079231A1 (en) | 2007-04-05 |
US7861153B2 (en) | 2010-12-28 |
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 | |
CN111819534A (en) | Spreadsheet-based software application development | |
US20100251092A1 (en) | Method and System for Processing Fixed Format Forms Online | |
US20020161602A1 (en) | Methods and systems for identifying prospective customers and managing deals | |
US20070061425A1 (en) | Bulletin board system, server for bulletin board system, thread display method for client of bulletin board system, and program | |
US20020111928A1 (en) | System for processing document production orders over computer network | |
US20070234201A1 (en) | Information Management Device | |
CA2356846A1 (en) | Generalized multi-interfaced extensible content management and delivery system, and on-line calendar | |
CN111460779B (en) | Method for rendering and accessing flow form data based on Activiti | |
US20070220439A1 (en) | Information Management Device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |