URGENT: Electronic File Catalouge

Posted on 2005-05-16
Last Modified: 2010-03-19

I have just started a project to design and institute an Electronic File Catalogue for an insurance agency’s back office.

This system would be responsible for housing all documents which will already be scanned in as Multi-Page Group 4 Tiffs.

From their CRM Application the users will be able to load and view documents into this new system.

My question is regarding the data storage side of this app.  There are two possibilities as I see it for this system.

#1 As the files are uploaded into the system they are placed into a server network share and a database is designed which keeps a record for each file.  This record would keep track of where the file is physically stored and all other information on the file.

#2 As the files are uploaded into the system they are “sucked” into the database and stored as blobs.  This database stores the physical file as a blob as well as all other pertinent information on that file.  When the file is requested to be viewed by a user the file is saved to a temporary file on the client or server and then deleted upon conclusion.

Some points about this system:

1)      Security is not a huge concern as this is on an internal network but we need to maintain appearance of a very secure system to conform to insurance standards.

2)      Multiple users will need to be able to access these files simultaneously.

3)      These files will NOT be editable.  They will stay as they are from the first time input into the system.

In conclusion I am planning on using the first method purely based on simplicity unless I hear some good arguments against it.

Point will be awarded based on knowledgeable opinions which contain pros and cons of either or both systems.

Also if someone thinks this question is better suited for another topic area please advise.

Thanks for the help.
Question by:hausen4u
    LVL 11

    Accepted Solution

    For efficiency I would use option one with security set so that no one can delete the files from the share and only your app can write them there.

    there shouldn't be any problems with multiple people reading them

    this would be my prefered way and every so often i would run a job that makes sure the file still exists - because people will be people.

    Storing the files in the db (i assume there would be a few) would be a hassles and not worth considering, the backups alone would run forever and lets not talk maintenence.

    LVL 1

    Author Comment


    Those where my thoughts as well.  Another question based on your response though:

    When I first considered approaching it from this angle I had this thought.  Setup a domain account with access to add/delete/view files from this share.  So this account and only this account would have access.  

    So when the network client requested this file via the back office software the appropiate credentials are applied.  However if the file was attempted to be accessed directly from the share access would be denied.

    However do you know if it is possible to apply a different set of credentials depending on whether the request came from my app or from the user directly.

    I would assume this would need to be accomplished via Visual Basic which I am proficient in but haven' t played around with.  Most likely the File System Object.

    Any comments are appreciated.
    LVL 11

    Expert Comment

    Removing delete permissions is easy.

    stopping other people from writting files to the directory will be difficult because your app will run with the permissions of the logged in user. a VB app that using file system watching will be able to notify you of anytime a file was created in the directory (or saved) you could use this plus the information you already have from your app to determine what to do.

    One way (though I doubt it is the best) is to have a service running with appropriate permissions and have it move the file when required - tricky to deploy.

    It is fiddly but it could be done - possibly by streaming it into sql the streaming it onto the network share using an extended stored proc.

    there are possiblities - but there would be some advantages to users being able to access the files directly - you could always use randomised filenames so the correct file is difficult to find

    LVL 1

    Author Comment

    Any other comments or suggetions out there before I clean up this question?
    LVL 11

    Expert Comment

    Good luck

    Featured Post

    What Should I Do With This Threat Intelligence?

    Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

    Join & Write a Comment

    Having an SQL database can be a big investment for a small company. Hardware, setup and of course, the price of software all add up to a big bill that some companies may not be able to absorb.  Luckily, there is a free version SQL Express, but does …
    Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
    Via a live example, show how to setup several different housekeeping processes for a SQL Server.
    Viewers will learn how to use the SELECT statement in SQL to return specific rows and columns, with various degrees of sorting and limits in place.

    731 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    16 Experts available now in Live!

    Get 1:1 Help Now