File Sharing Project

Huwei Zhang
Columbia University
Computer Science Department
503 West 121th Street, Apt#43D
New York, NY 10027


Columbia InterNet Extensible Multimedia Architecture (CINEMA) provides a test bed for different multimedia and Internet telephony applications. We have implemented some of the basic components like Internet telephony clients and servers, conferencing server, voice mail system, etc. To facilitate the collaboration between participants in the same conference, we need to add new utility in the conference which can enable the participants to upload their files and share the resources with other participants in the same multimedia session. And we can send email notification to all the conference participants in the session.

The goal of the project is to add a Tcl-based file upload utility to the CINEMA web interface, using the cgi.tcl library (see /home/hgs/html/cinema or CVS for code). Upload access is restricted to either moderators or members, based on the mySQL configuration for sipconf.


CINEMA privides a testbed for difference multimedia and Internet telephone application, the administrator can create the multimedia conference via the web and the participants can join the multimedia session in various ways. Thus it is important that the participants in the same multimedia session can have a public area for sharing their information with each other.

The conference file sharing utility provide a collaboration area for the participants to share their files with other participants. The user only need a internet connection and a web browser to get access to the shared conference files. Each participants can upload their files to the conference after login to the conference homepage. Other participants can also upload their files or upload new version to replace the old file if the file can be overwritten.

In this project, I have implemented the following features in CINEMA file sharing utility:

  • Upload new conference file
  • Overwrite and delete conference file
  • Email notification after uploading
  • File reordering by properties

    Program Documentation

    1. SQL Database Design - conffiles table

    file_id int(10) unsigned The primary key of the file, automatically incremented.
    conference int(10) unsigned The id of the conference(Refer to conferences)
    creator varchar(255) The id of the owner(Refer to put)
    file_name varchar(255) name of the file
    file_type enum text/plain html powerpoint word postscript pdf application
    file_size int(10) unsigned The size of file being uploaded
    description text The description of the file information.
    date_created datetime Create time for the uploaded file.
    date_modified datetime Latest modified time of the uploaded file.
    file_access enum member public
    file_overwrite enum creator member
    file_delete enum creator member

    Programming API

    display.tcl           procedure for display web interface
    ConfEnter.cgi         cgi procedure for listing conference files 
    ConfFileEdit.cgi      cgi procedure for file uploading, overwriting
    ConfDownload.cgi      cgi procedure for downloading conference files
    ConfFileDelete.cgi    cgi procedure for deleting conference files
    Other files           various image icons for conference file type
  • Features of Conference File List
    1. Check user permission to enter conference
    2. Ordering file (ASC/DECS) by file properties
    3. File record each page is choosable

    Conference file interface

  • Features of Conference File Edit
    1. Check user permission to edit conference file
    2. File upload form for upload/Overwrite/Delete conference file 
    3. Send email notification after uploading new conference file

    File upload interface

  • Features of Conference File Download
    1. Check user permission before downloading the conference file
    2. User can save the conference file or open from browser
    3. Invoke application to display the file if open from browser

    File download interface

    Task List

    Huwei Zhang: Implementing the file sharing utility in CINEMA.


    1. The cgi.tcl homepage
    2. Columbia InterNet Extensible Multimedia Architecture
    3. cgi.tcl library

    Last updated: 11/30/2001 By Huwei Zhang