On Fri, Feb 17, 2017 at 5:45 PM, flury olivier via 4D_Tech < [email protected]> wrote:
> I am currently thinking of rewriting an existing document management > system. What is the "best" way to move files from the clients to the server > and back from the server to the client? > > VARIABLE TO VARIABLE? Execute on Client / Execute on Server? Using a kind > of caching table (store the last x used files)? ... > Not sure if this will map well to your case, but the following strategy has worked well for me. For reference, this a database with zillions of scanned PDFs. Here's how it works. * There's a documents table with a field for the stored document. * The data is stored outside of the data file automatically by 4D. * When a document is needed, it's loaded by 4D. Works great. The data file is small and documents aren't loaded when they aren't needed. Since I'm not 100% certain what/how 4D would deal with the external documents if something went wrong with the data file, I thought about taking over document management server-side. It looked like that meant giving up a lot of the speed and ease of the built-in system. (I'd like to hear from others that have gone down this road and liked where they ended up.) Instead, I leave the 4D system alone and have a redundant backup. The documents are all exported to an external file hierarchy regularly so that we have a complete mirror of the internal documents. Even if the data file got trashed, we've got a recoverable file hierarchy. (It would take some work, but it would be doable as each document is stored in a folder for its 'owner' record.) This external file dump can be backed up safely using regular OS tools, reused for a Web site, etc. ********************************************************************** 4D Internet Users Group (4D iNUG) FAQ: http://lists.4d.com/faqnug.html Archive: http://lists.4d.com/archives.html Options: http://lists.4d.com/mailman/options/4d_tech Unsub: mailto:[email protected] **********************************************************************

