views:

186

answers:

3

We have simple web-based data entry internal business app. Now business wants to be able to attach a document to a row in the database that represents business entity. Document can be Word, Excel, PDF.

How can we do that?

I think creating yet another home grown document management system is not a good idea. Instead we can try to use an third party document management system and integrate tightly form our app. Ideally all user interface will stay within application, without going to an external system. Is sharepoint or documentum capable of doing it? What other options are there?

The application platform is Java/Websphere. We ave both Windows and Unix infrastructure available.

+1  A: 

I think any document management system can do what you are requesting. At one time we did something similar with Sharepoint. The systems expose an API that allows you to query documents that are stored. Exactly how the integration happens depends on the solution you go for.

You need to consider the platform on which your current system is built when choosing because different solutions support different integration technologies. For instance, if your current system uses .NET then Sharepoint would be easy to integrate.

Many document management systems use a backend database like SQL server and integration could be as easy as querying the backend database from your application.

Vincent Ramdhanie
A: 

It all depends on scale, document management systems are typically beasts in their own right that require their own appserver and database, have a host of complex APIs, and really ought to be run on a dedicated box.

They are really about managing the lifecycle of documents (i.e. workflows), roles and access around those documents, and the disposition of the documents on well defined schedules.

If you are planning on handling some individual documents pared against a user form, i'd suggest a table in the form of

long : id long : form_id

with either

blob : form

or

Varchar(2) : form_path

in parallel to your form table. I'd stay away from a "document management system" unless you are prepared for it to take over your project. THe best mitigation i can offer for that would be to add a

whatever : document_id

to your table, and use a very out of the box installation of your document management system

A: 

I agree with the other commenters, EDRMS systems tend to be monsters.

I have integrated an internal system with a major EDRMS product, and if I was doing it again I would look for the following things:

  1. Well (and accurately!) documented API, preferably with some code examples.
  2. A fairly large userbase, preferably with a decent community too
  3. Active support - either a very active open source project, or more likely a committed company. Don't buy something with few users or near EOL!

BTW, you are into 'Enterprise' territory with these things; sometimes the more you pay the worse you will get.

EDIT: There is also a sort of similar question here: Subversion was a popular answer.

Colin Pickard