Der Frühbucherrabatt gilt noch bis 23. Juni, also schnell zur
FileMaker Konferenz 2018
anmelden.
Vom 17. bis 20. Oktober diesen Jahres findet die neunte deutschsprachige
FileMaker Konferenz in Malbun, Liechtenstein statt. FileMaker Anwender und Entwickler können ihre Teilnahme ab
sofort buchen. Anmeldungen bis zum 23. Juni 2018 erhalten einen Frühbucher-Rabatt auf die Konferenzpauschale.
Die Veranstalter vom Verein FM Konferenz erwarten auch 2018 rund 180 Entwickler, Anwender, IT-Fachleute und Entscheidungsträger aus Wirtschaft, Bildung und Verwaltung. Rund um über 25 Fachvorträge und Workshops wird es viel Zeit zum Vernetzen in den gemeinsamen Pausen und beim Abendprogramm geben.
MBS Plugin Schulung am 17. Oktober 2018.
On my next visit to Hamburg, I'd love to make another MBS Xojo & FileMaker developer meeting:
Wer hat Interesse an einem MBS Entwicklertreffen am 27. oder 28. Juni 2018 in Hamburg?
Einfach in gemütlicher Runde treffen in einem netten Restaurant und beim Abendessen was über FileMaker und Xojo schnacken. Vielleicht habt ihr ja auch Fragen und Probleme, wo ich helfen kann?
Zeit wäre ca. 18 bis 22 Uhr, so dass man auch später kommen oder früher gehen kann.
Treffen ist am 27. Juni 2018. Bei Interesse bitte bei mir melden.
Falls sonst noch Bedarf an Schulung, vor Ort Entwicklung oder FileMaker/Xojo Hilfe besteht, bitte wegen Terminfindung bald melden.
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.
See newer version here: Convert Office Files in FileMaker
Did you know you can use
LibreOffice to convert your Word, Excel or Powerpoint documents to PDF files?
You can learn about command line commands in the help:
Starting the LibreOffice Software With Parameters.
To show an example, let us convert a Word file to PDF:
/Applications/LibreOffice.app/Contents/MacOS/soffice --convert-to pdf --outdir /Users/cs/Desktop /Users/cs/Documents/test.doc
To run this, you can use Shell class in Xojo or
Shell functions for FileMaker in MBS Plugin.
In FileMaker, you can run this with
shell functions like this:
Set Variable [ $shell ; Value: MBS( "Shell.New" ) ]
Set Variable [ $s ; Value: MBS( "Shell.Execute"; $shell; "/Applications/LibreOffice.app/Contents/MacOS/soffice"; "--convert-to"; "pdf"; "--outdir"; "/Users/cs/Desktop"; "/Users/cs/Documents/test.doc" ) ]
If [ MBS("IsError") ]
Show Custom Dialog [ "Failed to run" ; $s ]
Else
Set Variable [ $s ; Value: MBS( "Shell.Wait"; $shell; 10) ]
Set Variable [ $error ; Value: MBS( "Shell.ReadErrorText"; $shell; "UTF-8") ]
Set Variable [ $result ; Value: MBS( "Shell.ReadOutputText"; $shell; "UTF-8") ]
Show Custom Dialog [ "Converted" ; $result & ¶ & $error ]
End If
Set Variable [ $r ; Value: MBS("
Shell.Release"; $shell) ]
Enjoy conversion!
You may all be
watching videos from WWDC and learn what's coming soon for macOS and iOS.
- Create ML to make model on device
- Load UDSZ file and show it
- Measure tool for plugin as dialog
- Detecting paper in picture and extracting it, correcting rotation and transformation
- Provide actions for Shortcuts app
If you have comments, more ideas and wishes, please email me or comment here.
We got a new function
Window.ConfigureToolbarMenu for you:
As you see, you can configure the toolbar menu to remove the whole menu (mode 1) or hide only the entries to show/hide/configure.
For mode 1 we skipped the screenshot as simply no menu shows up.
Coming soon in next MBS FileMaker Plugin prerelease...
You may have seen the release of the
FileMaker data migration Tool. And you can read
documentation here. We got a few extra tips for you here:
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" ) ]
Set Field [ Shell::Output ; "" ]
Set Field [ Shell::Error ; "" ]
Commit Records/Requests [ With dialog: Off ]
Set Variable [ $s ; Value: MBS( "Shell.AddArgument"; $shell; "-src_path") ]
Set Variable [ $s ; Value: MBS( "Shell.AddArgument"; $shell; "/Users/cs/Desktop/Contacts.fmp12") ]
Set Variable [ $s ; Value: MBS( "Shell.AddArgument"; $shell; "-clone_path") ]
Set Variable [ $s ; Value: MBS( "Shell.AddArgument"; $shell; "/Users/cs/Desktop/Contacts Clone.fmp12") ]
Set Variable [ $s ; Value: MBS( "Shell.AddArgument"; $shell; "-target_path") ]
Set Variable [ $s ; Value: MBS( "Shell.AddArgument"; $shell; "/Users/cs/Desktop/Contacts target.fmp12") ]
Set Variable [ $s ; Value: MBS( "Shell.AddArgument"; $shell; "-v") ]
Set Variable [ $s ; Value: MBS( "Shell.Execute"; $shell; "/Users/cs/Downloads/FMDataMigration") ]
Set Variable [ $error ; Value: "" ]
Set Variable [ $result ; Value: "" ]
If [ MBS("IsError") ]
Show Custom Dialog [ "Failed to run" ; $s ]
Else
If [ Length(Shell::Input) > 0 ]
Set Variable [ $s ; Value: MBS( "Shell.WriteInputText"; $shell; Shell::Input; "UTF-8") ]
End If
# Loop while app runs and collect messages
Loop
Set Variable [ $s ; Value: MBS( "Shell.Wait"; $shell; 1) ]
Set Variable [ $error ; Value: $error & MBS( "Shell.ReadErrorText"; $shell; "UTF-8") ]
Set Variable [ $result ; Value: $result & MBS( "Shell.ReadOutputText"; $shell; "UTF-8") ]
Set Field [ Shell::Error ; MBS( "Text.ReplaceNewline"; $error; 1) ]
Set Field [ Shell::Output ; MBS( "Text.ReplaceNewline"; $result; 1) ]
Exit Loop If [ MBS( "Shell.IsRunning"; $shell) ≠ 1 ]
End Loop
Commit Records/Requests [ With dialog: Off ]
End If
Set Variable [ $r ; Value: MBS("Shell.Release"; $shell) ]
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.
We got a few new
ImageCapture functions to import images from camera on Mac. So if you can import in Photos.app or Image Capture.app, you can also import them in FileMaker.
We got new functions like
ImageCapture.RequestTakePicture to take a picture,
ImageCapture.MediaFiles to query files on device and
ImageCapture.CameraInfo to query details on the camera. With
ImageCapture.Download you can download an image or video from device and
ImageCapture.RequestDeleteFiles can remove files from device.
Coming soon in next 8.3 prerelease...
PS: For Xojo, you can do the same with our ImageCapture classes:
ImageCaptureMBS
You may all be
watching videos from WWDC and learn what's coming soon for macOS and iOS.
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.