[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 318
  • Last Modified:

URGENT: Electronic File Catalouge

Experts:

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.
0
hausen4u
Asked:
hausen4u
  • 3
  • 2
1 Solution
 
andrewbleakleyCommented:
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.

0
 
hausen4uAuthor Commented:
Andrewbleakley:

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.
0
 
andrewbleakleyCommented:
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

0
 
hausen4uAuthor Commented:
Any other comments or suggetions out there before I clean up this question?
0
 
andrewbleakleyCommented:
Good luck
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now