I will not be able to use FM Server, but plan to keep the database on a local drive.
What are the drawbacks of embedding 50,000 small 72 dpi thumbnails in the database?
Are there better alternatives?
Well, the file will get bigger, but nothing unmanageable for FMPRO. I would be more concerned with how you are going to capture and use metadata from the images and/or relate these images to new or existing records. You haven't indicated what they're for in your solution.
This is a situation where I might consider a separate but related file rather than just a new table, though, of course, FMPro can handle it just as new fields, but that widens your table considerably with container Data. Consider how often images are to be added or changed. It can be more efficient to offload them to a separate file if changes are infrequent.
This should be no problem for FileMaker.
Do you already have a folder with images for this?
So you could run a script to load image, scale down and put in a container field.
MBS FileMaker Plugin can help with Files.List to list files, GMImage.NewFromFile to load image, GMImage.Scale to scale down to given maximum size and GMImage.WriteToJPEGContainer to save. The GMImage.Setprofile may be useful to remove metadata.
Please also note that Import Records with the Folder option can import all image files from a selected folder into a table in your database with one record to an image. That may be all that you need to pull the images in. Then, you can loop through them and use GetThumbNail to down sample the images to the desired resolution.
Thank you for your advice.
The database is an archive of a hospital’s 55-year history. As such, the images will not change.
Originally estimated at 15,000 records, the collection quickly grew to 50,000.
The thumbnails will serve to help when selecting appropraite images for research, publication, etc.
The full-sized images will be kept in separate folders not linked to to the database.
In other projects I have used 10,000+ thumbnails by generating small 72dpi images in Photoshop and adding them to container fields.
Following your suggestion of "a separate but related file", where can I research how to do that?
Thanks again for your time and response!
Thank you for your response.
I have a folder of scaled down small PNG thumbnails (generated in Photoshop from the larger TIF images).
The thumbnail names use the same file name as the record.
So, I am assuming that I can just import the thumbnails from the folder into container fields for each record by using a script.
Is that correct?
Also is there some examples of scripts that I could use to import the thumbnails?
Thank you again!
I have a folder of scaled down 72 dpi PNG files (generated in Photoshop) already.
The thumbnails are named the same as the ID# for each record.
Can I then use the import file to add to the container fields of each record?
Hopefully this could be done in batches of 1,000 or more.
Thanks again for your help!
A single use of Import records with the Folder option could pull in all your images if they are all in the same folder. You can import the image into a container field and the file name into a text field. You can then use the file name field to link these new image records to your original table by ID #.
This table can be in its own file or in the same file as the rest of your solution and this import process will work the same.
Will these in fact be related to anyhing other than field about them or used in other systems?
if truly stand-alone, a single file is fine.
if part of a larger file system, determin how they should best be available to other system records before pointing to them as a related file.
I have one solution that has around 400,000 images and various thumbnails. All are embedded storage in the file. The file gets bigger but it runs just fine. In my case I use an image table and a thumbnail table for better performance.
If you already have the thumbnails, using a bulk folder Import as philmfdjunk suggested is a good idea.
Just a side note: DPI is for printing. The pixel dimensions are what would be important to you on this.
Retrieving data ...