Jump to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Graphics in container fields and separation model

Featured Replies

I'm just setting up my first database using the separation model.

 

User interface file is stored on local workstation.

 

Data is stored on FM Server in another state.

 

I want to store all user interface elements (buttons, icons, etc) in container fields but that would mean the container fields would exist in the DATA file and therefore all images would have to travel over the WAN between the FM Server and the local workstation.

 

But how can I store the images in the local UI file when the table occurrence is based on the remote data file?

 

I could do as per the attached screen shot:

 

Have a relationship between the remote data file and the local UI file, but will FileMaker attempt to transfer the image from the local UI table, ("images"), via the relationship back to the remote data table ("clients remote") and then back to the local UI file for display? Or will it work out the the object is stored in a table in the local UI file and although it goes through a relationship in the remote data file, it'll just transfer the image from the local UI table and display it on screen?

post-108462-0-97130900-1363337753_thumb.

That setup looks fine to me.  I assume the local images table only contains a single record and images are stored in non-global tables, which is why the relationship is necessary to access the data.

 

The only reason a local image would get transferred to the remote data file is if you set a field in the data file using a value from the images table. So, just accessing the images will not cause it to be sent to the data file.

  • Author

Well I've now tested this and I think it is slower.

 

I have about 10 icons in my solution.

 

Opening a layout with field data and 10 icons takes 15 seconds when the UI file (and therefore icons) are stored locally.

 

It takes 12 seconds if I remove all the icons.

 

That would mean it takes 3 seconds to load in all the icons from the local UI file. It definitely wouldn't take 3 seconds and I've confirmed this by running the UI and DATA files on a local machine, one with icons and one without and both open in 1 second.

 

So, the fact that the table is based on the data (remote) file but there's a cartesian relationship to the only "graphics" table in the UI file means that loading in the locally stored graphics takes longer because the table occurance is based on a remote file.

You might consider storing your graphics within the buttons themselves ( or even within text block ) as image which eliminates your issue. Unless company logo, most graphics are for buttons anyway. You can have two ( actually 3 ) different graphics per button so, in addition to changing when hover, conditional formatting can be used to make them disappear when unwanted.

Uncheck the dorky 'script hand' and set Press state to no fill or line and User will not know a button is there even if clicked - it will not visually register the click. You still need to include test whether to fire script or not but that is easy.

Graphics stored in buttons are part of the UI. Only thing you can't do is change graphic in browse.

  • Author

Thanks for the thoughts Laretta,

 

However, I need users to be able to change the graphics, hence they're stored in a graphics table in the UI file.

 

I'm just blown away that storing (and displaying them) via a relationship, all within the UI file takes an extra 3 seconds to load a layout.

  • 7 months later...
  • Newbies

What if you store graphics in local UI file and load them into global containers on startup.

Then the globals can be placed on any layout.

Create an account or sign in to comment

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.