Description: I’m developing a decent-sized solution (single file), currently with 30+ tables, 550+ fields, 150+ scripts, etc. and growing. Development will continue with both UI and Schema, as well as functionality, especially for the first year of service. It will be served to 5-10 users to start, later growing to 25 users and more, via FMS 15. At a later time, clients (customers of the business) will have access to some of their account info and history, some documents (as PDF) as well as current job status, etc. via the Web. I believe I can limit customer access to container data to only PDFs of their reports.
There are two main “areas”: Customer Service side, and Laboratory Analysis and Reporting side. The two areas are strictly partitioned for two-way anonymity, but the data ultimately crosses over.
The customer service side has few containers: An account ID barcode, a submission barcode (for each item submitted, could be hundreds or thousands over time), and photos of contacts associated with each account. Later, billing will have invoice barcodes in containers.
However, the lab side has many containers, and in some cases, each submitted specimen will have numerous photos of the specimen, photomicrographs, advanced analytical instrument output, etc. These images are associated with different areas of description/reporting or scientific tests for analysis. Also, there will be QR codes generated and stored for completed reports.
Concerns: “Proper” storage method for container data which allows decent performance and reliability while also allowing access to some content by outside (of FM) services.
Plus, relatively painless uploads of new solution versions which will be frequent for several months.
Question: What are the “best practice” storage choices for container data to allow for easy backups, accessibility by FMP and FM Go, as well as some web services, etc? (Not asking about backup strategy; there will be mirrors and frequent incremental backups, redundant local and off-site, etc.)
For demo purposes and portability in the earliest stage of development, my test data was held locally in containers. This was to allow passing the solution from my workstation to my laptop easily, as well as re-using the solution on another project.
For production the container data will be stored externally. I have read that choosing encrypted storage has a performance advantage in FM, but I’m concerned about future-proofing the data, as well as the possibility of accessing it via other, non-FM services. Therefore, I’m planning to use the open storage option, at least for some container fields. Am I overlooking pitfalls with this decision? Encryption is of value, but with the data being “mission critical” I’m concerned about the propriety nature of the FM default “Secure Storage” option.
How would you suggest I store such container data externally? Open Storage and encrypt via FMS’s EAR option? Accept the FM default Secure Storage option, and figure out a way to save originals elsewhere??
Sorry for the verbosity – hoping to provide enough info. Thanks in advance for sharing any thoughts and insight.