Jump to content
Claris Engage 2025 - March 25-26 Austin Texas ×
The Claris Museum: The Vault of FileMaker Antiquities at Claris Engage 2025! ×

This topic is 7403 days old. Please don't post here. Open a new topic instead.

Recommended Posts

Posted

I have read a lot concerning images in containers, where to store, reference or not. Here is my situation and I am looking for the best solution

Single stand alone computer. Will have approx 500 records with three thumbnail pictures per record and three high res pictures per record. Planning on thumbnail pics to help speed loading. Selecting the thumbnail will load the corrisponding high res pic.

I am not planning on taking this database anywhere but may in the future be shared including the pics. Then there is the possibility of moving it to another computer.

With all that what is my best option in storage location, reference to imbedding pictures? ANything else I missed.

Thanks

Posted

Referencing is always more efficient. Just remember that when sharing that you use the same folder designations.

Posted

For the big pictures I think I'd go with the most modern mechanism, which is "display by calculation" with container result.

"image:relative path to image file"

There is more than one way to put that together. One is to know what and where the folders are, in relation to the database file. It's a "relative" path, similar to one in HTML, NOT an absolute path; so it has to know where it is in relation to the database file. That way no Imports are needed; it's all just a calculation for each type of picture file (big, thumbnail).

The other way is to Import folders of image files; import the file paths and names, and possibly the Thumbnail, but not the big picture. You can then do some "parsing" calculation on the path to change it to a relative path to the database file. It's best if the folders are more or less "near" the database, but not essential. A calculation can reference any file on your hard drive; I've done it, but it's not pretty.

In order to display images on another mounted drive (like an iDisk), you just add

image:/drive name/file path

[This all works cross-platform, but you'd have to fork the calculation, for the different file path formats.]

Whether or not you let FileMaker create the thumbnails on Import, or also reference thumbnail files by calculation, is up to you. I think embedded thumbnails are a little faster, but this would only matter when viewing large contact sheets. I usually embed them.

You can alternatively create thumbnails with AppleScript, while handling the import process; or do folders of thumbnails with Photoshop actions, or one of several applications, some free. Many variations, depending on software and work flow.

Posted

We did a large FM based image system for a client (75,000 images/project x 30 projects). Images were stored on a RAID array with a dual channel ATTO ultra 320 card and two 15k rpm, 147 GB drives. We tried different storage methods. Where we ended up was not storing either images or references (all this is FM 6). We stored file names and did display by generating thumbnails or pulling in full resolution images to global containers "on the fly" using Troi File.

-bd

Posted

Help.1.gif

hi, I'm a complete beginner with FMpro, most of my efforts have been with websites. At the moment I'm trying to help a friend with a picture database. She gives lectures all over the place and wants to move to using digital image etc. She wants to have her image files on a CD or DVD, this may mean that the file path to the images changes depending on which computer she is using (I expect this to be a Mac using an up to date OS). So my probably naieve questions are: Is there a way to keep a link between the image files and the field they will appear in in they layout I build and it is possible to simply re-link to data if something about the path of file name has changed? (if a folder is moved for eg. it would be good to be able to simply specify a new path for the relevant images without having to re-insert them one by one). I do a lot of work in Final Cut Pro where one links to media files and there is a simple re-link command where you can specify where to look for missing data files. Is there anything like this is FMPro. I've read the posts about relative paths but I can't figure out how to actually create them. I'm using a modified phot library template from the FMPro collection. It's pretty good for the featrues she needs but I don't understand some of the scripting in it .... any help greatly appreciated

peter

FMPro 7, mac 17"PB, OSX 10.3.5,

Posted

It is actually fairly easy to use relative paths. Sometimes it takes people awhile to get it. But that's mostly 'cause it's a brand new way of doing things. It is not that different from a web reference really; even less fussy (as it allows spaces, etc.). I'm surprised you haven't got it yet, 'cause we had a long discussion recently. All you really need is the name of the mounted Volume, and the path to the image within it. Then you use the "image:/" format (with the slash).

The path is not going to change no matter what computer you're on (I don't think). Yes, if you move the folders around then you have to adjust it. It would be best if she thinks carefully about the structure of these folders first, so she doesn't have to move them. FileMaker has no problem creating a calculation for the path, as long as it has the info for it in fields.

[Attachment improved and moved further down the thread. Sorry.]

Posted

Hi Fenton,

thanks for the quick response. I get the defining aspect of the relative path - I'm ashamed to say I don't see exactly where I define it. I don't seem to have access wherever the path is defined (though I'm sure i'm not looking in the right place). Got my mindset in a slightly different universe perhaps.

This is still at the scanning in hundreds(I suspect thousands) of slides and then mass import... but I'm trying to make it both simple to use and easy to ammend. Of course I might just be making it more complicated than it really is. I'm working on the principle that there should be one place for all the images the location of which doesn't change... but I know things don't always behave according to principles!

Thanks again for any help

peter

Posted

You define the path by typing it in and/or Replacing into a found set. Or by Importing a folder of image files, but NOT the Picture field, just the FilePath and FileName.

There is NO picture in the FileMaker file, neither by embedding or reference. It's all done by calculation (which I suppose you could also call a reference, but it's different).

The only reason you Import is 'cause it's the fastest way to get a group of file paths and names into the database file. These things are kind of interelated. You need to be able to know how to add new records both individually and in batches.

You can split it up into different fields. I would suggest:

VolumeName

FolderPath

FileName

The calculation would then be:

"image:/" & VolumeName & FolderPath & FileName

The result to display the image would be CONTAINER.

This is what throws people. It's new, it's odd, but it works.

I always define a copy of it with a result of TEXT also. So I can see the path for troubleshooting.

If you move the file, you would likely only have to change the FolderPath field.

I hereby publicly chastise FileMaker for NOT PUTTING ANY OF THIS IN THE DOCUMENTATION!

[That'll shake 'em up :-]

Posted

hi fenton,

thanks i think that makes sense... i've got another (this time paying!) job to attend to for a couple of days so I hope to have a look at the database issue after that. My feeling is for me it's a question of terminology and if i manage to get my head around that it should fall into place... wish me luck!

thanks again... i'll probably be back with this....

peter

Posted

This looks to be what I needed in the first place

I see your theory, but I cannot get it to display any pictures, and am using your file

My Volume path is - Macintosh HD:Users:BEP:Pictures:Inventory:

With file name 330B.jpg

The container reads: File cannot be found

Posted

I am sorry, but this is killing me. I do not get it. Sooooooo

With your help this is what I have.

HD/User/BEP/"then the following"

Filemaker 7 resides in Application Folder

My inventory file resides in Documents/Filemaker Docs

The images reside in Pictures/Inventory

I hope this makes it clear, or should I just put everything on a CD and start there?

Oh for classes to be held in my area

Thanks again

Posted

If you're on a Mac, you could try the file at this post:

http://www.fmforums.com/threads/showflat...true#Post129825

It's much like the one I uploaded earlier, but has an AppleScript to pick the file. That way you don't really have to understand the "root" folder calculation. But, just from what you say above:

Inventory database file is in:

HD/Users/BEP/Documents/FileMaker Docs/

Images are in:

HD/Users/BEP/Pictures/Inventory/

So, setting up folders just like you have, with a picture named "Brooklyn.jpg" (my daughter's dog), using my "root" calculation, I get:

image:../../../../Users/fej/Pictures/Inventory/Brooklin.jpg

It goes all the way up to the root, from the database file, then back down to the file. This works even if the file is NOT in your User folder.

Strangely (or not so strangly) enough, this path also works:

image:../../Pictures/Inventory/Brooklin.jpg

That's because both folders are inside your User folder, which share the first part of their paths. And that would almost always be the case. But I didn't build that possibility into my "root" calculation; probably should.

Both are valid relative paths to the image file from the FileMaker database file.

Posted

I've downloaded and tried all versions of your files. I get the referencing aspects now! BUT I don't get the full path info written into the record when I import a folder of images. The remote layouts show the file name in all cases, the volume path field is always blank and there's a file cannot be found message in the _cimageRemote field. In the local layout all fields are blank. I tried the applescript version as well and I changed the definition for the _cImageRootTxt and _cImageRoot fields to your last post - got the same results. If i manually type in the path to the remote volume it works fine... for the one record I have typed it in. This is true for all versions of your posted files..... am I missing something here? Sorry if i'm doing something silly....

peter

Posted

well... the last version works for local files no problem and does what I was looking for at the start... many thanks for your time and efforts in sorting that out. I tried to import another folder (from an external drive) hoping they would appear in the remote layout. Unfortunately it doesn't work. I think it's because a 'file://' is being inserted into the path after image:/ which scuppers the attempt to find and show the picture. the path shown in the _cImageRemoteTxt field is: image:/file://volume/folder/filename. If I remove the 'file://' from the volumeName field of course it sees all the images. Is there a way to remove that from the calculation for the remote layout? Could one then have the possibility of a folder of images on the local drive and say a DVD full of images as a remote volume and still get display of all the images - if one had imported folders from the two sources? All this may of course be academic but I am thinking of a database of images that at some point just gets too big for a single DVD - though I will advise an external drive if that's the case!

re lining up with FullPath: yes I did do that but still have a blank field. however, as I mentioned above the last version does the trick (almost) perfectly!

peter

Posted

Try this one. It checks the Volume name for a manual entry. So you could move the whole image folder & database to another drive, and just adjust the Volume name (you could add to the folder path also, but not subtract from it; unless you did a Replace in FullPath).

Let ( [thePath = Substitute (Substitute ( FullPath; "file://"; "" ); ":"; "/" );

root = PatternCount(Get ( FilePath ); "/") - 2 ];

"image:" &

Case ( IsEmpty(VolumeName);

Left ( "../../../../../../../../../../../../../../../../../../../../../"; root * 3);

"/" & VolumeName & "/") &

Right (thePath;

Length (thePath) - Position ( thePath ; "/" ; 1 ; 1)

)

)

Basically, look at the paths. Once you understand you they're supposed to look, the rest is just calculations to produce that from whatever data you have.

Images_Remote_Local.zip

Posted

ok. this works when i manually add the volume name, whether it is a remote volume or my hard drive - which is great. However - you knew there'd be a however - I cannot get the layout to display the images on the remote volume AND the images on the local drive within the same record set.

If I set the volume name to the remote drive, the image fields relating to the local images do not display and the _cImageTxt field (and presumably the _cImage filed) change the name of the volume in the path for all images. If I leave it blank, the local images display in the relevant records but not the remote images. it would be great if the records could find the images even if they are in two (or more) different places for any record set. The FullPath field appears to display the correct info at all times. I suppose one could double up the VolumeName fields to refer to different volumes but this in itself could get messy at some stage.... and wouldn't look very neat in the layout. Still all that said, this is a great solution because in the event of using drives with new names one can simply change the VolumeName in the record set and the images will still display - fantastic

peter

Posted

I made the VolumeName field have global storage, for convenience. If you make it a regular field you could have each picture from a different volume. But that means you'd have to enter it (or not) for EACH record. But that time you almost might as well just use Replace in the FullPath. Or, you could have a checkbox to turn a global on and off for each record.

It's just calculations with text, to get that final result. There's more than one way to do it. If I put a picture in the same exact location on both my hard drive, and an external drive, my calculation shows the picture, whether I enter the Volume name or not; using a different path (either local or remote; obviously not much of a test if the path stays the same :-)

But the way I wrote this example, they have to have the same folder path (other than the Volume). Of course, you could write a calculation that used an entirely different path for the remote picture. You could enter it into global fields; the whole path except the file name. That's what my first example did. In other words, you can do whatever you want or need, as long as it makes sense, and you give FileMaker the information.

Posted

thanks fenton... everything you have posted has helped me work out a way to proceed with this. I'm going to get as much of the material scanned in as I can and build the layout slowly including the features my friend wants in her database. It's complicated by her being in a different country for a while - with uneven access to the internet - but we'll get there i'm sure. I think i have enough info now to develop something appropriate for her.

thanks again,

peter

This topic is 7403 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.