The system allows each student to revise his or her writing and in so doing, it retains a revision history. Each previous version can be retrieved in order to assess the students process and development.
Original writings, commentary and any multimedia materials provided by students must be approved by the student's teacher before that material becomes visible to others in the collaboration. The system associates each student with a teacher. Several teachers (and their classes) constitute a single collaboration. Collaborations can include classes in multiple schools if there is appropriate email connectivity. Multiple collaborations can be hosted on a single server.
Teachers have an expanded menu that allows them to approve student work and access administrative functions. Teachers can also edit the welcome screen and navigation bars.
The technologies employed for Streams OnLine allow it work in labs or classrooms equipped with older desktop computers such as the Mac IIsi or the 386 PC. The school's desktop computers must be networked and capable of running TCP/IP and some type of web browser. The inter-school collaboration is carried over email, which can traverse slow or intermittent network connections and can even be used over UUCP or Fidonet. These technological constraints allow Streams OnLine to be workable world wide.

Each student has a menu bar at the top and bottom of each screen that allows the participants to move freely among the pages and to run a keyword search on the collaboration's entire contents.
Teachers are offered additional items on their menu bars. On the top menu bar, they have access to the approval functionality, while on the bottom menu bar they have added access to administrative functionality. Below is a map of the added functionality on a teacher's menu bar:

Streams OnLine does not use cookies, frames, java or javascript in order to produce the web pages used by the students. Because of this, Streams OnLine should be accessible in older labs where only older, memory efficient web browsers can operate. It can also be used by text based browsers.
Streams OnLine inter-school collaboration is performed by logging the SQL database accesses that cause any sort of changes to the database. These changes are emailed to partner schools each time a teacher approves a student's work. There is a program called repin that receives incoming emailed updates. This program updates the local database and installs any additional files that come in. Because this programs must change ownership of incoming files, it runs in suid root mode. repin is written in 'C' rather than perl.
In order to bring a new partner school into an existing collaboration, a database synchronization must be performed by all existing partners. A program called sync.pl handles creating and dispatching the synchronizations, and the same repion program that handles updates also recieves synchronizations from remote partner systems.
The database schema that underlies the Streams OnLine package is that of a normalized relational database. An entity-relation diagram below shows the relationships among the tables included in the database. The database is named after the 'collaboration'. For example, if we call a collaboration st3, the database as a whole will be named st3. In addition, the email address for replications will be st3@<host.domain>.

In this ER diagram, each table is represented by a blue box and the table name is at the top of the table box. The Primary Key, if there is one, is highlighted. Relations between tables are indicated by lines drawn between related fields. At one end of each relation line, there is an indicator of whether the relation is 1 to N, N to 1, 1 to 1 or N to N.