Massachusetts Institute of Technology
Department Electrical Engineering and Computer Science

6.916: Software Engineering of Innovative Web Services
Problem set 5

Reading for this week:

Online assistance: 6.916 Q&A forum

Objectives

Teach students how to build a collaborative authoring environment for structured multi-media data. Introduce students to Oracle's full-text indexing system.

The Huge Picture

Civilization and its discontents have fractured the extended family. You are building a Web service to bring everyone back together.

The Big Picture

All of the members of your family should be able to come together to

Privacy

Every item uploaded to the server should have three possible privacy settings: Why the last category? A family may wish to present a collaboratively developed face to the world.

Commentability

Every item on the server should serve as the focus for comments. If you use the ACS general comments facility, your server will automatically be able to accept photos and documents attached to comments.

Assumptions

You can't assume that everyone in the family tree will be a user in the users table: some of them might be dead and/or not have email addresses.

You can assume that your server needs to serve only one family at a time. You don't have to persistently maintain a tree for more than one family.

For the purposes of the problem set, you can assume that your family is trustworthy. You can let any registered user edit anything.

Exercise 1: Build the data model

Using the file naming and placement conventions set forth in http://software.arsdigita.com/www/doc/custom.html, create a SQL data model file. Before you can do this, you have to come up with a name for your module. In order to make life easier for us in looking over your shoulder, please refrain from being creative and call your module "family".

Here are some guidelines for your data model: