When using COM functions in both Xojo and FileMaker, you may have seen this dialog:
We saw it a lot recently with WIA for scanning. It's the default dialog for COM for the case a message can't be answered quickly. So with remote method calls, the busy app may not answer to another app quickly, because well, it's busy. The dialog is simply annoying for us and we just prefer to tell COM to wait a little bit and try again.
With our 8.3 plugin for FileMaker, you can call FM.InitMessageFilter function and with 18.3 plugins for Xojo you can call InitMessageFilterMBS function. Both install a message filter, which will delay & retry all calls automatically without a dialog. Please try.
First, be aware that matching of tables is by name or ID. So please do not reuse field or tables names. Because due to name matching, if you drop a table with a given name, a few days later add it again for a different reason, the migration could move data from the old table to the new table and match fields just by ID. This can cause serious problems, if data ends up in a different column or table!
e.g. if you have a table test with ID, FirstName, LastName, Job. Than later in development test is deleted. Days after that you create a new table named test with fields Product ID, PersonID, Payment, ID which is totally unrelated to the old table. But now when you migrate, the data from FirstName ends up in PersonID, if those have a matching internal field ID!
Second, please don't use the normal full access account to migrate. Better make a new account with a privilege set where everything is forbidden except the privilege named fmmigration. This privilege name can have an unique add-on, e.g. fmmigrationMySecret and that must match between source and clone files to allow migration. And you want to use that to avoid anyone with an account to just migrate your solution to steal the data.
Third, please be aware that using the normal Terminal window involves using a shell application, which may (or may not) store a permanent history of commands. See man page of history command to clear. This may include passwords. Also the command line may be visible with other tools while running like ps tool. So never ever put your full access password there as the trouble with someone seeing it, is big.
Forth, please check the MBS Shell functions to run the FileMaker Data Migration Tool. MBS plugin can run several shells in parallel to migrate several files parallel and better use CPUs to get the jobs done quicker. Our plugin can return you the messages output by the tool and if you run it directly, no bash is involved, so no history is written. By using our write commands, you can even send text like passwords in memory to the tool. Passing parameters does not need quoting with out shell functions, as you pass each parameter as a parameter to the plugin function.
Here is a sample script:
Set Variable [ $shell ; Value: MBS( "Shell.New" ) ]
Finally, if you build something, be aware that you may not have the right to redistribute the FileMaker Data Migration Tool on your own. FileMaker developers need to have a FDS subscription to be allowed to download it.
Now the are a lot of new APIs, but I'd like to know from you what you'd like to see in our plugins for Xojo and FileMaker.
Usually we provide lower level wrapper for Xojo to Apple's APIs for macOS with hiding all the threading issues from you and translating values from native Xojo types to the matching Foundation types. As there is currently no iOS plugin SDK for Xojo, we can't make all features available via declares.
For FileMaker we usually provide a much more higher level API to do selected things and provide plugin functions for both macOS and iOS.
If you have ideas and wishes, please email me. I'll keep a list and if we have a lot of wishes for a given API, I may give it some priority.
We just got a notice that the new FileMaker 17 Server software for the cloud is released, so you can update your servers after you updated all clients to FileMaker Pro Advanced 17:
FileMaker, Inc. has released FileMaker Cloud 1.17.0. This release is available in the US, Canada, Europe, Japan, and Australia.
In addition, the Bring Your Own License (BYOL) option to purchase FileMaker Cloud through FileMaker, Inc. resumes availability today.
Some highlights of FileMaker Cloud 1.17.0 include:
Support for the features in the FileMaker 17 Platform.
The 90-day trial SSL certificate included with FileMaker Cloud can now be renewed up to 60 days prior to expiration.
The FileMaker Data API is no longer a trial version. The improved REST API includes support for FileMaker scripts and the ability to upload files to container fields.
NOTE: Any previously released software patches must be applied before updating to FileMaker Cloud 1.17.0. Only FileMaker 17 clients are compatible with FileMaker Cloud 1.17.0.
To download this software upgrade, visit the FileMaker Cloud Admin Console.
For a client we made an example file to show how to personalize PDFs just in time. This runs on a FileMaker Server and is accessed via WebDirect. The admin can upload PDF files and put them in container fields:
The clients can browse through PDF files and only see personalized PDFs files which get their name printed on the PDF.
We personalize the PDFs using the DynaPDF functions to load the existing PDF, add more pages from other PDF files, add page numbers, write the client name on each page and save the new PDF in a global field. As global fields are per session on a server, each user has their own copy in the field, even two users come to the same PDF record.
We use a few triggers to do the work. The on record load trigger will process the PDF and put the personalized PDF into the container accessible to the user. They will never see or download the original PDF, but only their own copy.
The whole processing runs on the FileMaker Server and there is no noticeable delay for the user. DynaPDF is quick enough to handle even huge PDFs in a fraction of a second, so the transfer to the browser is the usual bottleneck.