Project Description
There is a need for a document management system in most large scale applications.
Storing files on the filesystem instead of the database has the following disadvantages:
- it is not portable (ie if you design an application, how do you easily give them access to the files without compromising your security policy).
- file system search is slower than a database (although that may be debatable)
- single backup; you can easily backup and restore databases

- speed; accessing files from a filesystem is almost always faster
- some databases like the free Sql Express have a limited size 4 Gb

Shailen Sukul

Volunteers are needed to build take part in the initial planning.
If you are interested, email me at

Ok the next step is to head on over to the discussions section and have your say in the design of the system.

This is the configuration database.
SiteApplication - are applications that will be used to launch files.
SiteFileType - are the different types of files, for ex. .txt, .pdf
SiteFileTypeApplication - maps file extensions to applications that can launch them.
SiteDatabase - this is the config table for a database-based file system and this table contains information about each database, that will be a "drive" on the filesystem.
SiteDatabaseAttribute - variable attributes about the SiteDatabase

This is the ER diagram for a database-based file system.

This is a class diagram of the common library that will be implemented by each concrete "file" provider.

Last edited Jun 1, 2008 at 3:43 AM by shailensukul, version 12