CS 549, Spring 2007
Course Project

You may work on this course project as a group. Each group implements a component of the new WebGen framework, which will be called WebGen6. The new framework uses the MVC paradigm. However, a model contains arrays of records, instead of supporting an object-relational mapping.

  1. A model contains data used by controllers and views. The data are HTML parameters passed from forms, arrays of records retrieved from the database, and arrays of records to be stored in the database. Records retrieved from or to be stored in one table can be put in one array, with additional columns shch as one for storing error codes.

  2. A model supports the following functions:

    1. Function retrieve() retrieves the records from the database tables by using the search parameters set in the data model.

    2. Function validate() performs error-checking.

    3. Function store() stores the records in the data model to the database tables.



  3. A controller is activated by an HTML request or by another controller.



  4. Once a view is activated, it genetates an HTML page from the data in the model by using a view template and helper functions.



  5. A search operation works as follows.

    1. When a request for a search form is received, a search-form view is activated. At this point no model or controller is needed.

    2. When a search request with search parameters is received, a serch controller, activates retrieve() of the model after setting search parameters in the model. After the records searched for are retrieved, the view displaying those records are activated.


  6. An insert operation works as follows.

    1. When a request for a search form is received, a search-form view is activated. At this point no model or controller is needed.

    2. When a search request with search parameters is received, a serch controller, activates retrieve() of the model after setting search parameters in the model. After the records searched for are retrieved, the view displaying those records are activated.