Testing a multi-file solution locally: potential issue if one of the files was previously hosted

Hello Everyone,

I wanted to let you know of an experience I had, an issue I encountered twice and finally figured out this morning. This cost me a number of hours… so thought it would be a good idea to save a few of yours in case you encounter the same kind of issue.

Encounter of the First Kind

I delivered a solution build to a client for user testing. He contacts me to say that products don't show up when opening a product pick list. I attempt to reproduce the error on my system. No go! I contact the client and he shares his screen and, lo and behold, I see the issue. The product pick list gets its data from an external file. I open the external file directly and no problem… and suddenly the issue is no more. We try again and again to reproduce the issue to no avail. Sigh!

Encounter of the Second Kind

Two weeks later, today, I deliver another build for user testing. He tells me there is a problem resetting passwords. I look at the code, find an error and promptly send a revision. He contacts me again, saying the issue remains, and asks that I do more testing prior to sending him builds. I hate that speech.

I spend hours trying to reproduce any user management issue… and can't. I contact the client. He shares his screen. Now the problems are piling up. I share my screen. We go through the same motions… but I encounter no problem whatsoever. The client restarts his computer… just in case. No go! I repackage the files and send anew. No go! He shares his screen again and I invoke the debugger to see what is happening when buttons are clicked.

100 - File is missing. Yet it's there. I manually open the file and, suddenly, everything works again. What gives?

I recall details that seemed unimportant at the time. FileMaker displayed a dialogue saying the file was already uploaded and hosted on a server. Did I want to open the local or hosted file? There is also an option to never show this dialogue from then on. This looks an awful lot like a problem I had with the iOS SDK when the iOS app attempted to connect to a server with a certificate issue. It simply would not.

Lesson Learned

If you intend to deliver files to a client and these files have already been uploaded, I recommend you add a step to your prep work prior to packaging them. Open each file on your system and click the option to never show the dialogue again. You don't even need to enter a username and password for the option to stick. I tried this today and it solved the issue.

Hope this helps.

4 Likes

That's a fantastic warning. Is there any way of seeing the issue when you are looking at file references? Can we spot it in the data?

I have only started to understand and resolve the issue today, so I do not yet know its nuances. You can definitely spot it in the data.

As mentioned, a pick list did not display data contained in an external data source. I would normally expect a dialogue to bark at me. An error or a request to open the local or hosted file? I don't know. It is possible that the script, with "Set Error Capture [On]", prevented the dialogue from appearing.

I mentioned I saw a parallel problem when using the iOS SDK. That was a difficult issue to solve because the app simply did not work. It finally gave me a clue when I disabled the "Set Error Capture" script step. Perhaps the same would have been true here.

Sorry I can't give more information. As I said, this issue is new to me. I would be grateful if other people who encountered this issue could chime in with more information.

You mentioned this twice as the solution that makes the problem go away; but what exactly does this look like? You go to "open remote" and pick the hosted file from the list of files on that server?

Is the file set to auto-login or do you provide credentials? Is that file set up to allow you to store creds in the keychain / credential manager?

That is a dialog that you'll only see when you actually open the file locally, while it is not being hosted. Which is what prompted my first question.
If you see that dialog when you think you're opening a hosted file then something is very wrong with that deployment I would think.

How are those new builds deployed to their server?

To be more specific, I talked about testing builds, not deployment builds. Testing at this stage of development does not involve a server. Builds were distributed in compressed archives. They were installed on a client computer and tested on that computer alone. The primary solution file was either double-clicked in the computer's file manager or the user selected Open from FileMaker's File menu. No Open Remote.

We know why FileMaker displayed the dialogue asking to open the local or hosted file. One of the solution files came from a server. We grabbed it prior to the start of development so as not to need a connection to a server.

As for credentials… there never was any issue with credentials.

1 Like

Got it; I assumed that those files were being hosted and that assumption threw me off.

Since this is all local it feels like FM can't seem to automatically 'pull open' a file that was previously uploaded to FMS. That would explain why it worked after you manually opened the file.