Mike, Wheather you keep the files in R:base in your maind db, in secondary databases, or as individual files really depends on your application and how many files you are going to be dealing with. I like keeping them in the R:base database and secondary database because I know once an image is in there, it is not going to get lost. I also know that I can control who can access it when it is in a database. When it is just a file sitting in a directory, andyone with access to that directory can view it and possably delete it.
It is really personal preference as to how you like to manage file. Troy Sosamon >===== Original Message From [EMAIL PROTECTED] ===== >It depends, IMHO, on how many documents. If you are keeping large numbers of images, as one of our clients does, we prefer to keep separate files and point from within R:Base to keep the database sizes manageable. > >MJS <[EMAIL PROTECTED]> wrote: > >>Awesome......just one question (at the moment). Is there any >>advantage/disadvantage to storing the documents on a harddrive with unique names, >>and perhaps unique subdirectories (rather than as varbit values in a table), and >>use Rbase to track where they are, and let Rbase launch the app to view them? I >>suppose it should work either way, but I would rather know if you tried it both >>ways and why you picked your method. >> >>Thanks a million! >> >>Mike Sinclair >> >>Troy Sosamon wrote: >> >>> Mike, >>> >>> All the code I used for the demo is on the developers conference CD along with >>> the power point presentation. >>> >>> Here is how I do it. >>> >>> 1. You have to use whatever method works for you and get your document into a >>> file. We use inexpensive HP scanners with doecument feeders on them. We set >>> them to default to store the pages in files at 200 dpi jpg files named >>> temp.jpg. The HP software then automatically numbers multiple pages test.jpt, >>> test2.jpg, test3.jpg... >>> >>> 2. I have a program in R:base that will read the files and load them into the >>> database. >>> >>> 3. Storing the files in R:base. I use 3 tables: >>> docs, docs_doc, and docs_loc. >>> The docs table holds an autonumbered id called docid int, scan_date date, >>> file_type text 3, doc_loc text 8, last_access date, and other information >>> linking that record to the appropriate record in the database. >>> The docs_doc table has 2 columns called docid and doc_image of type varbit. >>> This is where the actual image lives. >>> The docs_loc table is used to keep track of the locations of the databases >>> that store the documents after you move them from your primary database. >>> >>> The problem with storing images in your database is your #4 file gets too >>> large, so I create other database and move the records from the docs_doc table >>> to other database. I keep track of what database each document is in in the >>> docs table, and I keep track of where the database is in the docs_loc table >>> >>> ok, so you scan your document to files c:\temp.jpg, c:\temp2.jpg, temp3.jpg. >>> You select the client (or whatever) record in your database this document >>> relates to. You run a program that reads the files, load the docs table >>> getting a docid, links to your client record, and then load the image into >>> docs_doc, and you delete your temp jpg files after you load them. >>> >>> Now you have 4 records in the docs table and 4 records in the docs_doc table. >>> >>> To look at your document, you pull up your client and do a choose command on >>> the docs table for that client. You get the docid, file_type, and >>> doc_location from the docs table. You look in the docs_doc table to see if >>> your blob is there. If it is, you dump it out to some file say >>> c:\temp$$$.jpg. Next you either zip out of R:base or use launch and use >>> whatever graphic viewer you want to look at the thing. (You keep track of the >>> file extension so you can programatically decide what viewer you want to use. >>> You can store any file you want in R:base. I store jpg, pdf, and doc files >>> just to name a few.) If your document is not in the docs_doc table, you use >>> the doc_location field, look that up in the doc_loc table, connect to that >>> database, dump the blob to a file, load the file into your main database, and >>> then follow the procedure above. >>> >>> I load the record back into the main database, because of the way we do >>> business. Usually when someone needs an old file, they may use it 10 times in >>> a week and then not use it for a couple of years. >>> >>> When the #4 file gets over 400 megs, I start moving records out of the >>> docs_doc table and load them into secondary databases. I update the docs >>> table with the name of the DB that the record is loaded into. The docs_loc >>> table has 1 record for that database with it's location. >>> Once a document is moved to a secondary database, it is never deleted from it. >>> I also burn the secondary databases onto CDs to keep off site. You can move >>> those secondary database around or even take them off line, and you just need >>> to modify the 1 record in the docs_loc table. I don't let the secondary >>> database get over 600 megs so they will fit on CDs. If I ever need to, I >>> could get a CD jukebox and access them from there. I have not needed that >>> because I have a server with big drive array, and I figure I won't need to >>> worry about storage for a couple of years. >>> >>> This whole procedure is very simple. I control everything with 3 short >>> command files. One files reads in the jpg files and loads them into the >>> database. The second file pulls the files out of the database and starts the >>> viewer, and the third file is used to move files from the production databse >>> to the secondary databases. I think I have about 15 secondary databases >>> storing around 75,000 documents. >>> >>> This method works great. I don't think I would use it if I were going to scan >>> 100,000 pages a month, but it would still work if you did. If you were going >>> scan large numbers of documents, you would want to get a better storage format >>> to get the images smaller, but R:base would still work to store everything. >>> >>> Troy Sosamon >>> Denver, Co. >>> >>> >===== Original Message From [EMAIL PROTECTED] ===== >>> >Hi all, and esp Troy, >>> > >>> >Do you have an outline on how you do the "TROY METHOD" of document storage? >>> It >>> >seemed to work so well at the developers conference.....I just didn't want to >>> >reinvent that wheel! >>> > >>> >Mike Sinclair >>> > >>> >================================================ >>> >TO SEE MESSAGE POSTING GUIDELINES: >>> >Send a plain text email to [EMAIL PROTECTED] >>> >In the message body, put just two words: INTRO rbase-l >>> >================================================ >>> >TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED] >>> >In the message body, put just two words: UNSUBSCRIBE rbase-l >>> >================================================ >>> >TO SEARCH ARCHIVES: >>> >http://www.mail-archive.com/rbase-l%40sonetmail.com/ >>> >>> Troy Sosamon >>> Denver Co >>> [EMAIL PROTECTED] >>> >>> ================================================ >>> TO SEE MESSAGE POSTING GUIDELINES: >>> Send a plain text email to [EMAIL PROTECTED] >>> In the message body, put just two words: INTRO rbase-l >>> ================================================ >>> TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED] >>> In the message body, put just two words: UNSUBSCRIBE rbase-l >>> ================================================ >>> TO SEARCH ARCHIVES: >>> http://www.mail-archive.com/rbase-l%40sonetmail.com/ >> >>================================================ >>TO SEE MESSAGE POSTING GUIDELINES: >>Send a plain text email to [EMAIL PROTECTED] >>In the message body, put just two words: INTRO rbase-l >>================================================ >>TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED] >>In the message body, put just two words: UNSUBSCRIBE rbase-l >>================================================ >>TO SEARCH ARCHIVES: >>http://www.mail-archive.com/rbase-l%40sonetmail.com/ >> >-- > > > > >__________________________________________________________________ >Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/ > >Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ > >================================================ >TO SEE MESSAGE POSTING GUIDELINES: >Send a plain text email to [EMAIL PROTECTED] >In the message body, put just two words: INTRO rbase-l >================================================ >TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED] >In the message body, put just two words: UNSUBSCRIBE rbase-l >================================================ >TO SEARCH ARCHIVES: >http://www.mail-archive.com/rbase-l%40sonetmail.com/ Troy Sosamon Denver Co [EMAIL PROTECTED] ================================================ TO SEE MESSAGE POSTING GUIDELINES: Send a plain text email to [EMAIL PROTECTED] In the message body, put just two words: INTRO rbase-l ================================================ TO UNSUBSCRIBE: send a plain text email to [EMAIL PROTECTED] In the message body, put just two words: UNSUBSCRIBE rbase-l ================================================ TO SEARCH ARCHIVES: http://www.mail-archive.com/rbase-l%40sonetmail.com/
