US2012060107A1PendingUtilityA1

Web-page-based system for designing database driven web applications

43
Assignee: PAPAKONSTANTINOU YANNIS GPriority: May 2, 2006Filed: Jun 27, 2011Published: Mar 8, 2012
Est. expiryMay 2, 2026(expired)· nominal 20-yr term from priority
G06F 16/972Y10S707/99943
43
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

In a web-page-based system for designing database driven web applications, a page is initiated containing one or more top level iterators. A user introduces fields to the page from a palette including: input, display, hyperlink, iterator. In one case, the user creates iterators nested in a user-selected iterator, and retaining context of the selected iterator, where the system accommodates iterators that are recursive. In an alternative embodiment, the user adds both display and entry fields pertaining to a given user-selected iterator, retaining context of the selected iterator. Responsive to user introduced fields, the system automatically creates representative data structures in a database and automatically relates fields of the pages to the data structures in accordance with a predetermined logic.

Claims

exact text as granted — not AI-modified
1 . A computer-implemented method, comprising operations of:
 (a) initiating a database-driven application including one or more pages to store data in records of a database, report data from the database, or both store data in the database and report data from the database;
 where a schema defines characteristics of records in the database; 
   (b) making fields including all of the following specified types of fields available for introduction into the pages:
 (b1) data collection fields to perform functions including collecting user data into the database, where introduction of a data collection field modifies the schema to define a new record field; 
 (b2) report fields to perform functions including displaying data from records of the database; 
 (b3) iterators, each including one or more of the following: at least one data collection field, at least one report field, at least one nested iterator;
 where each iterator that includes any report fields is configured to utilize records from the database to produce a repeating structure of record instances displaying data from said database in an instance of a dynamic page; 
 where data collection iterators are defined as iterators containing any data collection fields; 
 where report iterators are defined as iterator fields containing any report fields; 
 
   (c) receiving human input introducing at least one field of the specified types to at least one of the pages;   (d) introducing one or more iterators to at least one of the pages by one of the following: automatically, or via human input received in the operation (c);   (e) where the operation (c) further includes introducing into at least one of the pages report fields and the operation (c) additionally includes:
 (1) receiving human input adding both report fields and data collection fields pertaining to a given user-selected iterator, where a repeating structure produced by the given user-selected iterator in an instance of a dynamic page displays record instances including both respective report field instances and data collection field instances, where said report instances display data from iterators other than the given user selected iterator; and 
 (2) receiving human input specifying a attribute causing an introduced report field to display data collected by the existing attribute; 
   (f) a computer-driven inference engine automatically creating data structures representative of operations (a) and (c) and (d) and (e) in the database and automatically relating fields of the pages to the data structures in accordance with a predetermined logical framework.   
     
     
         2 . The method of  claim 1 , where the operation (e)(2) comprises specifying an existing data collection field that collects data in the attribute. 
     
     
         3 . The method of  claim 1 , where:
 as to one or more iterators containing a report field, the operations further include displaying said one or more iterators in table form where record instances appear as table rows and fields contained in said one or more iterators appear as table columns.   
     
     
         4 . The method of  claim 1 , the operations further comprising:
 responsive to initiation of introduction of a field X to a page Z in the operation (c), discovering attributes that are semantically related to the page Z;   where said discovering operation discovers attributes have the following semantic relationship to attributes that have been displayed into page Z:
 attributes are related if they appear in respective tables where one of the respective tables contains a reference contained in another of the respective tables; 
   presenting said discovered attributes to a human user;   receiving user selection of one or more of the presented discovered attributes.   
     
     
         5 . The method of  claim 4 , the operations further including, responsive to user selection of one of the discovered attributes in association with the page Z:
 automatically modifying the page Z so that the modified page Z includes the field X and the field X reports data associated with the selected discovered attribute.   
     
     
         6 . The method of  claim 1 , further comprising:
 responsive to initiation of introduction of a field X to a page Z in the operation (c), discovering attributes of other pages that are semantically related to the page Z;   presenting said discovered attributes to a human user;   receiving user selection of one or more of the presented attributes;   automatically modifying the page Z so that the modified page Z includes the field X and the field X reports data associated with the selected discovered field.   
     
     
         7 . The method of  claim 1 , further comprising:
 substantially immediately modifying the schema responsive to each act of introducing a field and also making the database defined by the modified schema substantially immediately available to human users of the database-driven application.   
     
     
         8 . The method of  claim 1 ,
 further comprising using regions of the pages to represent said fields introduced to said pages;   responsive to human input including receiving drag and drop actions selecting a data collection field from a displayed pallet and placing the selected data collection field upon a region already designated to represent an iterator, adding the selected data collection field into the represented iterator.   
     
     
         9 . The method of  claim 1 , where the operation of receiving human input introducing at least one field to at least one of the pages includes introducing the following into a field of a source iterator S that includes at least one report field: a hyperlink pointing to a user-selected target page;
 where every record instance X of the source iterator S contains an instance of the hyperlink, said hyperlink instance configured to cause display of a target page instance retaining context of the record instance X;   wherein context of the record instance X comprises (1) record instances that were utilized in order to produce the record instance X and (2) record instances utilized to produce ancestor record instances of the record instance X;   where said target page instance retaining context of the record instance X is satisfied by a condition where: one or more iterators of the target page sharing context with the record instance X displaying only record instances sharing context with the record instance X.   
     
     
         10 . The method of  claim 9 , further comprising:
 the computer-driven inference engine discovering pages in which iterators were introduced that share context with the source iterator S, and providing a human-readable output suggesting the discovered pages as potential targets of the hyperlink.   
     
     
         11 . The method of  claim 9 , further comprising:
 creating one or more representative pages that share context with the source iterator S, said hyperlink pointing to a selected one of said representative pages.   
     
     
         12 . A computer-implemented method, comprising operations of:
 (a) initiating a database-driven application including one or more pages to store data in records of a database, report data from the database, or both store data in the database and report data from the database;
 where a schema defines characteristics of records in the database; 
   (b) making fields including all of the following specified types of fields available for introduction into the pages:
 (b1) data collection fields to perform functions including collecting user data into the database, where introduction of a data collection field modifies the schema to define a new record field; 
 (b2) report fields to perform functions including displaying data from records of the database; 
 (b3) iterators, each including one or more of the following: at least one data collection field, at least one report field, at least one nested iterator;
 where each iterator that includes any report fields is configured to utilize records from the database to produce a repeating structure of record instances displaying data from said database in an instance of a dynamic page; 
 where data collection iterators are defined as iterators containing any data collection fields; 
 where report iterators are defined as iterator fields containing any report fields; 
 
   (c) receiving human input introducing at least one field of the specified types to at least one of the pages, including at least one report field, and receiving human input associating an existing database attribute with the at least one report field, causing the at least one report field to display data associated with the existing database attribute;   (d) introducing one or more iterators to at least one of the pages by one of the following: automatically, or via human input received in the operation (c);   (e) where the operation (c) further includes introducing into at least one of the pages report fields that display data from records collected by data collection fields introduced in another page and the operation (c) additionally includes at least:
 receiving human input configuring iterator fields such that at least some of said iterators are nested in a parent iterator, and each of said parent iterators and said nested iterators include data collection fields; 
   (f) a computer-driven inference engine automatically creating data structures representative of operations (a) and (c) and (d) and (e) in the database and automatically relating fields of the pages to the data structures in accordance with a predetermined logical framework.   
     
     
         13 . The method of  claim 12 , where the operation (b) is performed such that the iterators may recursively include other iterators up to any depth. 
     
     
         14 . The method of  claim 12 , further comprising, for each nested iterator, displaying said nested iterator as a nested table. 
     
     
         15 . The method of  claim 12 , further comprising operations of:
 receiving human specification of user access rights as to record instances of a given iterator;   providing edit and display modes for the record instances of the given iterator;   as to nested iterators that have been introduced into the given iterator, enforcing access rights to record instances of the nested iterators according to a combination of: the specified access rights and which of the modes is current.   
     
     
         16 . The method of  claim 12 , further comprising operations of:
 providing an edit mode for a user to edit a record instance of an iterator;   providing a display mode for a user to display a record instance of an iterator;   as to a given iterator, making access rights available for designation by a user, the access rights comprising: access to edit record instances of the given iterator, access to delete record instances of the given iterator, access to insert record instances of the given iterator, access to display record instances of the given iterator;   as to a nested iterator, and each particular one of the access rights, conditioning access rights to given record instances of the iterator upon further user input including:
 directions to always allow the particular access right; 
 directions to always disallow the particular access right; 
 directions to allow the particular access right only when a parent record instance to the given record instance is in the edit mode. 
   
     
     
         17 . A method of enabling users to configure and access web accessible database driven applications, including providing web accessible digital data processing equipment programmed to create database driven applications according to computer-implemented operations comprising:
 (a) initiating a database-driven application including one or more pages to store data in records of a database, report data from the database, or both store data in the database and report data from the database;
 where a schema defines characteristics of records in the database; 
   (b) making fields including all of the following specified types of fields available for introduction into the pages:
 (b1) data collection fields to perform functions including collecting user data into the database, where introduction of a data collection field modifies the schema to define a new record field; 
 (b2) report fields to perform functions including displaying data from records of the database; 
 (b3) iterators, each including one or more of the following: at least one data collection field, at least one report field, at least one nested iterator;
 where each iterator that includes any report fields is configured to utilize records from the database to produce a repeating structure of record instances displaying data from said database in an instance of a dynamic page; 
 where data collection iterators are defined as iterators containing any data collection fields; 
 where report iterators are defined as iterator fields containing any report fields; 
 
   (c) receiving human input introducing at least one field of the specified types to at least one of the pages, including at least one report field, and receiving human input associating an existing database attribute with the at least one report field, causing the at least one report field to display data associated with the existing database attribute;   (d) introducing one or more iterators to at least one of the pages by one of the following: automatically, or via human input received in the operation (c);   (e) where the operation (c) further includes introducing into at least one of the pages report fields that display data from records collected by data collection fields introduced in another page and the operation (c) additionally includes at least one of the following:
 (1) receiving human input configuring iterator fields such that at least some of said iterators are nested in a parent iterator, and each of said parent iterators and said nested iterators include data collection fields; 
 (2) receiving human input adding both report fields and data collection fields pertaining to a given user-selected iterator, where a repeating structure produced by the user-selected iterator in an instance of a dynamic page displays record instances including both respective report field instances and data collection field instances, where said report instances display data from other iterators than the user selected iterator; 
   (f) a computer-driven inference engine automatically creating data structures representative of operations (a) and (c) and (d) and (e) in the database and automatically relating fields of the pages to the data structures in accordance with a predetermined logical framework.   
     
     
         18 . A computer-implemented method, comprising steps of:
 (a) a step for initiating a database-driven application including one or more pages to store data in records of a database, report data from the database, or both store data in the database and report data from the database;
 where a schema defines characteristics of records in the database; 
   (b) a step for making fields including all of the following specified types of fields available for introduction into the pages:
 (b1) data collection fields to perform functions including collecting user data into the database, where introduction of a data collection field modifies the schema to define a new record field; 
 (b2) report fields to perform functions including displaying data from records of the database; 
 (b3) iterators, each including one or more of the following: at least one data collection field, at least one report field, at least one nested iterator;
 where each iterator that includes any report fields is configured to utilize records from the database to produce a repeating structure of record instances displaying data from said database in an instance of a dynamic page; 
 where data collection iterators are defined as iterators containing any data collection fields; 
 where report iterators are defined as iterator fields containing any report fields; 
 
   (c) a step for receiving human input introducing at least one field of the specified types to at least one of the pages, including at least one report field, and receiving human input associating an existing database attribute with the at least one report field, causing the at least one report field to display data associated with the existing database attribute;   (d) a step for introducing one or more iterators to at least one of the pages by one of the following: automatically, or via human input received in the step (c);   (e) a step for where the step (c) further includes introducing into at least one of the pages report fields that display data from records collected by data collection fields introduced in another page and the step (c) additionally includes at least one of the following:
 (1) receiving human input configuring iterator fields such that at least some of said iterators are nested in a parent iterator, and each of said parent iterators and said nested iterators include data collection fields; 
 (2) receiving human input adding both report fields and data collection fields pertaining to a given user-selected iterator, where a repeating structure produced by the user-selected iterator in an instance of a dynamic page displays record instances including both respective report field instances and data collection field instances, where said report instances display data from other iterators than the user selected iterator; 
   (f) a step for a computer-driven inference engine automatically creating data structures representative of steps (a) and (c) and (d) and (e) in the database and automatically relating fields of the pages to the data structures in accordance with a predetermined logical framework.   
     
     
         19 . A computer program product containing software to perform operations to facilitate user design of a database driven application or to install another program that upon installation performs operations to facilitate user design of a database driven application, the operations comprising:
 (a) initiating a database-driven application including one or more pages to store data in records of a database, report data from the database, or both store data in the database and report data from the database;
 where a schema defines characteristics of records in the database; 
   (b) making fields including all of the following specified types of fields available for introduction into the pages:
 (b1) data collection fields to perform functions including collecting user data into the database, where introduction of a data collection field modifies the schema to define a new record field; 
 (b2) report fields to perform functions including displaying data from records of the database; 
 (b3) iterators, each including one or more of the following: at least one data collection field, at least one report field, at least one nested iterator;
 where each iterator that includes any report fields is configured to utilize records from the database to produce a repeating structure of record instances displaying data from said database in an instance of a dynamic page; 
 where data collection iterators are defined as iterators containing any data collection fields; 
 where report iterators are defined as iterator fields containing any report fields; 
 
   (c) receiving human input introducing at least one field of the specified types to at least one of the pages;   (d) introducing one or more iterators to at least one of the pages by one of the following: automatically, or via human input received in the operation (c);   (e) where the operation (c) further includes introducing into at least one of the pages report fields that display data from records collected by data collection fields introduced in another page and the operation (c) includes:
 (1) receiving human input adding both report fields and data collection fields pertaining to a given user-selected iterator, where a repeating structure produced by the user-selected iterator in an instance of a dynamic page displays record instances including both respective report field instances and data collection field instances, where said report instances display data from other iterators than the user selected iterator; and 
 (2) receiving human input specifying an existing data collection field causing an introduced report field to display data collected by the existing data collection field; and 
   (f) a computer-driven inference engine automatically creating data structures representative of operations (a) and (c) and (d) and (e) in the database and automatically relating fields of the pages to the data structures in accordance with a predetermined logical framework.   
     
     
         20 . A computer-implemented method, comprising operations of:
 (a) initiating a database-driven application including one or more pages to report data from the database; where a schema defines characteristics of records in the database;   (b) making fields including all of the following specified types of fields available for introduction into the pages:
 (b1) report fields to perform functions including displaying data from records of tables of the database; 
 (b2) iterator fields, each including one or more of the following: at least one report field, at least one nested iterator field;
 where each iterator field that includes at least one report field is configured to utilize records from tables of the database to produce a repeating structure of record instances that display data from said database in an instance of a dynamic page; 
 
   (e) responsive to receiving human user input initiating introduction of a field X to a page Z, discovering attributes of tables that are semantically related to the page Z, and attributes of such tables are not already displayed in page Z,
 where said discovering operation discovers attributes having any of the following semantic relationships (1), (2), (3), or (4) to attributes that have been displayed into page Z:
 (1) attributes are related if they appear in iterators that share common context, where context of a given iterator includes:
 if the given iterator has report fields: tables whose records are utilized in order to produce record instances of the given report iterator; 
 if the given iterator is nested in one or more ancestor iterators: tables whose records utilized in order to produce record instances of the ancestor iterators; 
 
 (2) attributes are related if they originate in respective tables where one of the respective tables contains a reference to the records by another of the respective tables; 
 (3) attributes are related if they appear in iterators related due to nesting; 
 (4) indirect relationships that are built by combinations of any of the semantic relationships (1), (2), or (3); 
 
   (f) providing a human-readable output including a listing of the discovered attributes.   
     
     
         21 . The method of  claim 20 , said discovering operation detecting that certain discovered fields are duplicates of each other, where fields being duplicate of each other signifies: selection of any one of the duplicate fields has the same effects to the page upon which the fields are being introduced; 
     
     
         22 . The method of  claim 20 , the operations further including, responsive to user selection of one of the discovered fields in association with the page Z:
 automatically modifying the page Z so that the modified page Z includes the field X and the field X reports data associated with the selected discovered field.   
     
     
         23 . The method of  claim 22 ,
 where context of a given report iterator includes:
 if the given iterator contains any report fields: data collection iterators whose collected records have been utilized and combination primitives by which records collected by said data collection iterators are produced; 
 if the given iterator contains any data collection fields: the given iterator itself; 
 if the given iterator is nested in one or more ancestor iterators: data collection iterators whose collected record instances have been utilized and combination primitives by which records collected by said data collection iterators are produced; 
   where the operations further comprise determining whether an iterator with context equivalent to context of the selected discovered field is present in any of the pages;
 if so, introducing the field X into the present iterator; 
 otherwise, introducing one or more iterators in the page Z to create an iterator having equivalent context and receiving the field X. 
   
     
     
         24 . A computer program product containing software to perform operations, comprising:
 (a) initiating a database-driven application including one or more pages to report data from the database; where a schema defines characteristics of records in the database;   (b) making fields including all of the following specified types of fields available for introduction into the pages:
 (b1) report fields to perform functions including displaying data from records of tables of the database; 
 (b2) iterator fields, each including one or more of the following at least one report field, at least one nested iterator field;
 where each iterator field that includes at least one report field is configured to utilize records from tables of the database to produce a repeating structure of record instances that display data from said database in an instance of a dynamic page; 
 
   (e) responsive to receiving human user input initiating introduction of a field X to a page Z, discovering attributes of tables that are semantically related to the page Z, and attributes of such tables are not already displayed in page Z,
 where said discovering operation discovers attributes having any of the following semantic relationships (1), (2), (3), or (4) to attributes that have been displayed into page Z:
 (1) attributes are related if they appear in iterators that share common context, where context of a given iterator includes:
 if the given iterator has report fields: tables whose records are utilized in order to produce record instances of the given report iterator; 
 if the given iterator is nested in one or more ancestor iterators: tables whose records utilized in order to produce record instances of the ancestor iterators; 
 
 (2) attributes are related if they originate in respective tables where one of the respective tables contains a reference to the records by another of the respective tables; 
 (3) attributes are related if they appear in iterators related due to nesting; 
 (4) indirect relationships that are built by combinations of any of the semantic relationships (1), (2), or (3); 
 
   (f) providing a human-readable output including a listing of the discovered attributes.   
     
     
         25 . A computer-implemented method, comprising operations of:
 (a) initiating a database-driven application including one or more pages to store data in records of a database, report data from the database, or both store data in the database and report data from the database;
 where a schema defines characteristics of records in the database; 
   (b) making fields including all of the following specified types of fields available for introduction into the pages:
 (b1) data collection fields to perform functions including collecting user data into the database, where introduction of a data collection field modifies the schema to define a new record field; 
 (b2) report fields to perform functions including displaying and editing data from records of the database; 
 (b3) iterators, each including one or more of the following: at least one data collection field, at least one report field, at least one nested iterator;
 where each iterator that includes any report fields is configured to utilize records from the database to produce a repeating structure of record instances displaying data from said database in an instance of a dynamic page; 
 where data collection iterators are defined as iterators containing any data collection fields; 
 where report iterators are defined as iterator fields containing any report fields; 
 
   (c) receiving human input introducing at least one field of the specified types to at least one of the pages, including at least one report field, and receiving human input associating an existing database attribute with the at least one report field, causing the at least one report field to display data associated with the existing database attribute;   (d) introducing one or more iterators to at least one of the pages by one of the following: automatically, or via human input received in the operation (c);   (e) a computer-driven inference engine automatically creating data structures representative of operations (a) and (c) and (d) and (e) in the database and automatically relating fields of the pages to the data structures in accordance with a predetermined logical framework;   where operation (c) further includes receiving introduction into at least one page report fields that display data from records collected by data collection fields introduced in another page;   where operation (c) further includes receiving introduction of the following into a field of a source iterator S that includes at least one report field: a hyperlink pointing to a user-selected target page;
 where every record instance X of the source iterator S contains an instance of the hyperlink, said hyperlink instance configured to cause display of a target page instance retaining context of the record instance X; 
 wherein context of the record instance X comprises (1) record instances that were utilized in order to produce the record instance X and (2) record instances utilized to produce ancestor record instances of the record instance X; 
 where said target page instance retaining context of the record instance X is satisfied by a condition where: one or more iterators of the target page sharing context with the record instance X displaying only record instances sharing context with the record instance X. 
   
     
     
         26 . The method of  claim 25 , further comprising:
 the computer-driven inference engine discovering pages in which iterators were introduced that share context with the source iterator S, and providing a human-readable output suggesting the discovered pages as potential targets of the hyperlink.   
     
     
         27 . The method of  claim 25 , further comprising:
 creating one or more representative pages that share context with the source iterator S, said hyperlink pointing to a selected one of said representative pages.   
     
     
         28 . A method of enabling users to configure and access web accessible database driven applications, including providing web accessible digital data processing equipment programmed to create database driven applications according to computer-implemented operations comprising:
 (a) initiating a database-driven application including one or more pages to store data in records of a database, report data from the database, or both store data in the database and report data from the database;
 where a schema defines characteristics of records in the database; 
   (b) making fields including all of the following specified types of fields available for introduction into the pages:
 (b1) data collection fields to perform functions including collecting user data into the database, where introduction of a data collection field modifies the schema to define a new record field; 
 (b2) report fields to perform functions including displaying data from records of the database; 
 (b3) iterators, each including one or more of the following: at least one data collection field, at least one report field, at least one nested iterator;
 where each iterator that includes any report fields is configured to utilize records from the database to produce a repeating structure of record instances displaying data from said database in an instance of a dynamic page; 
 where data collection iterators are defined as iterators containing any data collection fields; 
 where report iterators are defined as iterator fields containing any report fields; 
 
   (d) introducing one or more iterators to at least one of the pages by one of the following: automatically, or via human input received in the operation (c);   (e) a computer-driven inference engine automatically creating data structures representative of operations (a) and (c) and (d) and (e) in the database and automatically relating fields of the pages to the data structures in accordance with a predetermined logical framework;   where operation (c) further includes, for an introduced report field, receiving human input associating an existing database attribute with the introduced report field, causing the introduced report field to display data associated with the existing database attribute;   where operation (c) further includes receiving introduction into at least one page report fields that display data from records collected by data collection fields introduced in another page;   where operation (c) further includes receiving introduction of the following into a field of a source iterator S that includes at least one report field: a hyperlink pointing to a user-selected target page;
 where every record instance X of the source iterator S contains an instance of the hyperlink, said hyperlink instance configured to cause display of a target page instance retaining context of the record instance X; 
 wherein context of the record instance X comprises (1) record instances that were utilized in order to produce the record instance X and (2) record instances utilized to produce ancestor record instances of the record instance X; 
 where said target page instance retaining context of the record instance X is satisfied by a condition where: one or more iterators of the target page sharing context with the record instance X displaying only record instances sharing context with the record instance X. 
   
     
     
         29 . A computer-implemented method, comprising steps of:
 (a) a step for initiating a database-driven application including one or more pages to store data in records of a database, report data from the database, or both store data in the database and report data from the database;
 where a schema defines characteristics of records in the database; 
   (b) a step for making fields including all of the following specified types of fields available for introduction into the pages:
 (b1) data collection fields to perform functions including collecting user data into the database, where introduction of a data collection field modifies the schema to define a new record field; 
 (b2) report fields to perform functions including displaying data from records of the database; 
 (b3) iterators, each including one or more of the following: at least one data collection field, at least one report field, at least one nested iterator;
 where each iterator that includes any report fields is configured to utilize records from the database to produce a repeating structure of record instances displaying data from said database in an instance of a dynamic page; 
 where data collection iterators are defined as iterators containing any data collection fields; 
 where report iterators are defined as iterator fields containing any report fields; 
 
   (d) a step for introducing one or more iterators to at least one of the pages by one of the following: automatically, or via human input received in the step (c);   (e) a step for a computer-driven inference engine automatically creating data structures representative of steps (a) and (c) and (d) and (e) in the database and automatically relating fields of the pages to the data structures in accordance with a predetermined logical framework;   where step (c) further includes, for an introduced report field, receiving human input associating an existing database attribute with the introduced report field, causing the introduced report field to display data associated with the existing database attribute;   where step (c) further includes receiving introduction into at least one page report fields that display data from records collected by data collection fields introduced in another page;   where step (c) further includes receiving introduction of the following into a field of a source iterator S that includes at least one report field: a hyperlink pointing to a user-selected target page;
 where every record instance X of the source iterator S contains an instance of the hyperlink, said hyperlink instance configured to cause display of a target page instance retaining context of the record instance X; 
 wherein context of the record instance X comprises (1) record instances that were utilized in order to produce the record instance X and (2) record instances utilized to produce ancestor record instances of the record instance X; 
 where said target page instance retaining context of the record instance X is satisfied by a condition where: one or more iterators of the target page sharing context with the record instance X displaying only record instances sharing context with the record instance X. 
   
     
     
         30 . A computer program product containing software to perform operations to facilitate user design of a database driven application or to install another program that upon installation performs operations to facilitate user design of a database driven application, the operations comprising:
 (a) initiating a database-driven application including one or more pages to store data in records of a database, report data from the database, or both store data in the database and report data from the database;
 where a schema defines characteristics of records in the database; 
   (b) making fields including all of the following specified types of fields available for introduction into the pages:
 (b1) data collection fields to perform functions including collecting user data into the database, where introduction of a data collection field modifies the schema to define a new record field; 
 (b2) report fields to perform functions including displaying data from records of the database; 
 (b3) iterators, each including one or more of the following: at least one data collection field, at least one report field, at least one nested iterator;
 where each iterator that includes any report fields is configured to utilize records from the database to produce a repeating structure of record instances displaying data from said database in an instance of a dynamic page; 
 where data collection iterators are defined as iterators containing any data collection fields; 
 where report iterators are defined as iterator fields containing any report fields; 
 
   (d) introducing one or more iterators to at least one of the pages by one of the following: automatically, or via human input received in the operation (c);   (e) a computer-driven inference engine automatically creating data structures representative of operations (a) and (c) and (d) and (e) in the database and automatically relating fields of the pages to the data structures in accordance with a predetermined logical framework;   where operation (c) further includes, for an introduced report field, receiving human input associating an existing database attribute with the introduced report field, causing the introduced report field to display data associated with the existing database attribute;   where operation (c) further includes receiving introduction into at least one page report fields that display data from records collected by data collection fields introduced in another page;   where operation (c) further includes receiving introduction of the following into a field of a source iterator S that includes at least one report field: a hyperlink pointing to a user-selected target page;
 where every record instance X of the source iterator S contains an instance of the hyperlink, said hyperlink instance configured to cause display of a target page instance retaining context of the record instance X; 
 wherein context of the record instance X comprises (1) record instances that were utilized in order to produce the record instance X and (2) record instances utilized to produce ancestor record instances of the record instance X; 
 where said target page instance retaining context of the record instance X is satisfied by a condition where: one or more iterators of the target page sharing context with the record instance X displaying only record instances sharing context with the record instance X. 
   
     
     
         31 . The computer implemented method of  claim 1 , further comprising configuring the introduced iterators by introducing the iterator fields of other iterators into the introduced iterators. 
     
     
         32 . The computer implemented method of  claim 31 , wherein configuring the introduced iterators comprises configuring the iterator fields such that at least some of said iterators are nested in a parent iterator, and each of said parent iterators and said nested iterators include the data collection fields.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.