Patent ID: 7971148

Claim:
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; (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 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 an existing data collection field causing an introduced report field to display data collected by the existing data collection field; (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.