System and method for creating, generating and processing user-defined generic specs
First Claim
1. A method for creating, generating and processing a user-defined generic spec comprising the steps of:
- creating a domain tree by defining a plurality of section nodes and variable nodes;
constructing a component tree by selecting one or more of said section nodes from said domain tree;
presenting a spec to a user comprising a plurality of spec pages constructed in accordance with said component tree;
processing said spec by receiving responses from said user; and
storing said user responses in said data store to create a first completed spec.
5 Assignments
0 Petitions
Accused Products
Abstract
An automated system and method for defining, creating, presenting, completing and processing generic specs. A spec server is coupled with a data base management system. The spec server having a content editor, a page builder, a content reader, a rule processor, a template generator and a compatibility engine. An industry expert creates a domain tree having information associated with a particular domain. Each domain tree includes questions, options and rules pertaining the generation of specs in the domain. The content editor is used to create, modify and maintain the domain trees. Once a domain tree is constructed, the industry expert uses the content editor to define a plurality of components. Components are constructed by selecting a subset of the domain tree in accordance with the requirements of the associated component. This subset is referred to as a component tree. A spec template is created for each product spec. Spec templates are created by defining the components of the spec. Components can be defined as optional or required by specifying a minimum and maximum number for each component. Optional components are selectively included by users completing the spec. Users access the spec server via the Internet. The page builder dynamically builds custom pages and presents them to users via a web browser. The content of the web pages depends on previous answers and selections from the user. A rule processor interprets rules defined by the industry expert and sets flags used by the page builder to turn on or turn off certain options presented to the user. The compatibility engine compares completed specs with one another to find specs that are compatible. The template generator uses additional rules supplied by the industry expert to generate customized outputs.
-
Citations
39 Claims
-
1. A method for creating, generating and processing a user-defined generic spec comprising the steps of:
-
creating a domain tree by defining a plurality of section nodes and variable nodes;
constructing a component tree by selecting one or more of said section nodes from said domain tree;
presenting a spec to a user comprising a plurality of spec pages constructed in accordance with said component tree;
processing said spec by receiving responses from said user; and
storing said user responses in said data store to create a first completed spec. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 38)
customizing said spec by dynamically altering one or more of said plurality of spec pages in accordance with said user responses.
-
-
3. The method of claim 2, wherein said step of creating a domain tree further comprises the step of creating a plurality of processing rules, each of said processing rules being associated with one or more of said variable nodes;
- and
using said processing rules during said customizing step to determine when to alter said spec pages in accordance with said user responses.
- and
-
4. The method of claim 1 wherein said step of creating a domain tree further comprises the steps of:
-
defining a plurality of questions, wherein each question is associated with one of said variable nodes;
specifying an answer type for each of said questions; and
organizing said domain tree by placing variable nodes in a context by associating each of said variable nodes with at least one of said section nodes.
-
-
5. The method of claim 4, wherein said step of defining a plurality of questions comprises the steps of:
specifying a text definition for each of said plurality of questions, wherein said text definition includes a question prompt, a text length and text format.
-
6. The method of claim 4, wherein said step of specifying and answer type comprises the steps of:
-
defining a user interface control type associated with each of said variable nodes;
defining an acceptable data format for data entry field user interface controls; and
specifying a list of items to appear for list type user interface controls.
-
-
7. The method of claim 1, further comprising the step of:
-
defining a plurality of compatibility rules, each associated with predefined responses to said variable nodes; and
storing said plurality of compatibility rules in said data store.
-
-
8. The method of claim 7, further comprising the step of:
testing said first completed spec for compatibility with a second completed spec by comparing said first completed spec with said second completed spec in accordance with said compatibility rules.
-
9. The method of claim 1, wherein said step of creating a component tree further comprises the step of:
creating a component node for said component tree, said component node being the parent node of said one or more section nodes selected in said constructing step.
-
10. The method of claim 1, wherein said step of creating a domain tree further comprises the step of defining one or more of said section nodes as outline nodes.
-
11. The method of claim 10, wherein said presenting step includes presenting a navigation bar to the user for navigating between pages of said spec, said navigation bar comprising said outline nodes in said component tree, wherein said outline nodes are presented in accordance with a hierarchy defined by said component tree.
-
12. The method of claim 10, wherein said presenting step comprises the steps of:
-
determining a lowermost outline node in said component tree that is associated with a single spec page;
finding each non-outline child node of said lowermost outline node, until one or more child variable nodes are reached;
printing any found section nodes from said finding step, wherein any found section nodes are printed in accordance with a hierarchy associated with said found section nodes in said component tree; and
displaying said one or more child variable nodes on said single spec page.
-
-
13. The method of claim 12, further comprising the steps of:
-
traversing said component tree, one node at a time, in a direction toward said lowermost outline node; and
processing any remaining non-outline child nodes not processed by said finding step by repeating said finding, printing and displaying steps until said lowermost outline node is reached.
-
-
14. The method of claim 12, further comprising the step of:
means for enabling the computer to repeat said traversing, displaying and printing means, until all variable nodes associated with said lowermost outline node are processed by said printing means.
-
15. The method of claim 12, further comprising the step of:
repeating said traversing, displaying and printing steps, until all variable nodes associated with said lowermost outline nodes are printed by said printing step.
-
16. The method of claim 10, wherein said presenting step comprises the steps of:
-
determining a lowermost outline node of said component tree that is associated with a single spec page to be presented to the user;
traversing said component tree from said lowermost outline node, until one or more variable nodes are found;
displaying any section nodes that exist between said topmost outline node and said variable nodes on said single spec page, wherein said any section nodes are displayed in a hierarchical fashion in accordance with said component tree hierarchy; and
printing said variable nodes under a lowermost section node.
-
-
17. The method of claim 1, further comprising the step of:
defining a spec template comprising a list of one or more components.
-
18. The method of claim 17, wherein said list of one or more components includes at least one required component and one or more selectable components.
-
19. The method of claim 17, wherein said defining step further comprises the steps of:
defining a minimum and maximum value for each of said one or more components.
-
20. The method of claim 17, further comprising the step of:
dynamically creating a customized spec for a user by including said at least one required component and said one or more selectable components in accordance with user selections.
-
38. The computer program product of claim 18, wherein said presenting step comprises:
-
determining means for enabling the computer to determine a lowermost outline node of said component tree that is associated with a single spec page to be presented to the user;
traversing means for enabling the computer to traverse said component tree from said lowermost outline node, until one or more variable nodes are found;
displaying means for enabling the computer to display any section nodes that exist between said topmost outline node and said variable nodes on said single spec page, wherein said any section nodes are displayed in a hierarchical fashion in accordance with said component tree hierarchy; and
printing means for enabling the computer to print said variable nodes under a lowermost section node.
-
-
21. A centralized system delivered on a computer network, for creating, generating and processing generic user-defined specs, said system comprising:
-
a data store for storing a domain tree and one or more component trees;
a content editor coupled to said data base for creating and maintaining said domain tree and said one or more component trees;
a page builder coupled to said data store and the computer network, for creating specs that are presented to a user, each spec comprising one or more spec pages that are generated from one or more of said component trees;
a content reader coupled to said data store and said web browser for processing input data retrieved from the user; and
a rule processor coupled to said data store and said page builder for processing rules to dynamically customize the content of said spec pages in accordance with said processing rules and data retrieved from the user. - View Dependent Claims (22, 23, 24)
-
-
25. A computer program product comprising a computer useable medium having computer program logic stored therein, said computer program logic for enabling a computer to create, generate and process a generic user-defined spec, wherein said computer program logic comprises:
-
creation means for enabling the computer to create a domain tree by accepting definitions for a plurality of section nodes and variable nodes;
construction means for enabling the computer construct a component tree by accepting selective input data comprising one or more of said section nodes from said domain tree;
presenting means for enabling the computer to present a spec to a user comprising a plurality of spec pages that are constructed in accordance with said component tree;
processing means for enabling the computer to process said spec by retrieving responses from said user; and
storing means for enabling the computer to store said user responses in said data store to create a first completed spec. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
customizing means for enabling the computer to customize said spec by dynamically altering one or more of said plurality of spec pages in accordance with said user responses.
-
-
27. The computer program product of claim 26, wherein said creation means further comprises means for enabling the computer to create a plurality of processing rules, each of said processing rules being associated with one or more of said variable nodes;
- and
means for enabling the computer to user said processing rules by said customizing means to determine when to alter said spec pages in accordance with said user responses.
- and
-
28. The computer program product of claim 25, wherein said creating means further comprises:
-
means for enabling the computer to accept a plurality of questions, wherein each question is associated with one of said variable nodes;
means for enabling the computer to associate an answer type for each of said questions; and
means for enabling the computer to organize said domain tree by associating each of said variable nodes with at least one of said section nodes.
-
-
29. The computer program product of claim 28, wherein said means for enabling the computer to accept a plurality of questions, further comprises
means for enabling the computer to store a text definition for each of said plurality of questions, wherein said text definition includes a question prompt, a text length and text format. -
30. The computer program product of claim 28, wherein said means for enabling the computer to associate an answer type comprises:
-
means for enabling the computer to associate a user interface control type with each of said variable nodes;
means for enabling the computer to associate an acceptable data format definition for data entry field user interface controls; and
means for enabling the computer to associate a list of items for list type user interface controls.
-
-
31. The computer program product of claim 25, wherein said computer program logic further comprises:
-
means for enabling the computer to accept a plurality of compatibility rules, wherein each said compatibility rule is associated with one or more predefined responses to said variable nodes; and
means for enabling the computer to store said plurality of compatibility rules in said data store.
-
-
32. The computer program product of claim 31, further comprising:
means for enabling the computer to test said first completed spec for compatibility with a second completed spec by comparing said first completed spec with said second completed spec in accordance with said compatibility rules.
-
33. The computer program product of claim 25, wherein said creation means further comprises:
means for enabling the computer to create a component node for said component tree, said component node being the parent node of said one or more section nodes selected by said constructing means.
-
34. The computer program product of claim 25, wherein said creation means further comprises means for enabling the computer to define one or more of said section nodes as outline nodes.
-
35. The computer program product of claim 34, wherein said presenting means includes means for enabling the computer to present a navigation bar to the user for navigating between pages of said spec, said navigation bar comprising all of said outline nodes in said component tree, wherein said outline nodes are presented in accordance with a hierarchy defined by said component tree.
-
36. The computer program product of claim 34, wherein said presenting means comprises:
-
determining means for enabling the computer to determine a lowermost outline node in said component tree that is associated with a single spec page;
finding means for enabling the computer to find each non-outline child node of said lowermost outline node, until one or more child variable nodes are reached;
printing means for enabling the computer to print any found section nodes from said finding step, wherein any found section nodes are printed in accordance with a hierarchy associated with said found section nodes in said component tree; and
displaying means for enabling the computer to display said one or more child variable nodes on said single spec page.
-
-
37. The computer program product method of claim 36, further comprising the steps of:
-
means for enabling the computer to traverse said component tree, one node at a time, in a direction toward said lowermost outline node; and
means for enabling the computer to process any remaining non-outline child nodes not processed by said finding means by repeating said finding, printing and displaying means until said lowermost outline node is reached.
-
-
39. A method for presenting a dynamically generated spec to a user, comprising the steps of:
-
creating a domain tree;
storing said domain tree in a data store;
creating a component tree from said domain tree;
creating a plurality of processing rules;
traversing said component tree to extract user prompts and variables therefrom;
building a first spec page comprising said user prompts and variables;
presenting said spec page to the user;
accepting user responses from the user;
updating said data store in accordance with said user responses;
constructing a second spec page in accordance with said responses and said processing rules; and
presenting said second spec page to the user.
-
Specification