Our Blog, Filemaker only, Xojo only, Archive (older), Follow us on Twitter, Xing, LinkedIn or Facebook.


Automate creation of Database Design Reports in FileMaker

Thursday 25 May 2017 at 10:49 am

For a recent project I needed to export over 400 FileMaker databases to html reports. But FileMaker is not really scriptable. With FileMaker 16 you need permissions to use AppleScripts per database and that's not practical for this. While FM.RunDataDesignReport is convenient for inside a solution, it's also not applicable for a lot of databases. So I came to use an AppleScript to control FileMaker and click the right buttons for me: 

tell application "System Events" to tell process "FileMaker Pro Advanced"

set frontmost to true

delay 0.5

-- menu

tell menu bar item "Tools" of menu bar 1

click

click menu item "Database Design Report..." of menu 1

end tell

delay 0.5

-- options

click radio button "HTML 1 of 2" of window "Database Design Report"

if (value of checkbox "Automatically open report when done" of window 1) = 1 then

click checkbox "Automatically open report when done" of window 1

end if

delay 0.5

-- create

click button "Create" of window 1

delay 0.5

-- save

click button "Save" of window 1

delay 0.5

-- close

set frontmost to true

keystroke "w" using command down

end tell

This script can be called when you have a FileMaker database open. It will trigger menu command to open the Database Design Report dialog and click some options save the html report. Works fine here and I successfully created all those reports.


Xojo Stammtisch in Berlin

Tuesday 23 May 2017 at 9:11 pm
On my next visit to Berlin, I'd love to make another Xojo developer meeting:

Wer hat Interesse an einem Xojo Entwicklertreffen am 30. Mai 2017 in Berlin?
Nach aktuellem Wetterausblick vermutlich im Biergarten. Zeitlich 18 bis 22 Uhr, beim Biergarten eventuell etwas früher.

Einfach gemütlich zusammen sitzen und über Xojo schnacken.
Gerne zeige ich auch neue Pluginfunktionen oder helfe bei Problemen mit Xojo Projekten. Einfach Computer mitbringen und was zeigen.

Bei Interesse bitte bei mir melden. Dann bekommen Sie die Email zum Treffpunkt.

JSON Functions, MBS vs. FM16

Tuesday 23 May 2017 at 1:02 pm
Today I got the question what the difference is between our JSON functions in MBS Plugin and the ones in FileMaker 16. Well, the obvious ones are the fact that our plugin works down to FileMaker 7 on Windows (8.5 on Mac due to missing PPC support), so if you need it for older versions or runtimes, you go with the plugin. But if you use FileMaker 16, the built in functions are free for you and it’s hard to compete with free.

But maybe you want to take a second look on how long you may wait for bigger JSON data sets. We usually use XML and JSON import/export not for 3 records, but for thousands. We automate data exchange with other services and so we need to process 1000s of records. MBS Plugin functions are built for speed, so we prefer to use the JSON reference numbers. Parse the data once, get a number and query it often. The FileMaker functions do not keep the parsed data and do the parsing for each query. With MBS Plugin we can use reference numbers, so even for building large JSON data sets, you can avoid producing text for each step and parse it again to add the next value.

Finally you need to know that JSONGetElement always returns text. This may be fine first, but can get you in serious trouble later. For example if you take this formula:

GetAsNumber(JSONGetElement ( "[ 10, 20.5, 30]" ; 1 ))

The text returned is "20.5", but you need 20.5 as a numeric value. Because if you later want to process it, you may need a number. Now GetAsNumber will take the "20.5" and convert it to 20.5 on a typical US system. But with German localization, we actually get 205. The dot is ignored as the German functions require a comma as decimal separator. MBS Plugin provides values in the correct types like boolean, numbers and text. If you like, use FM.DataType function to check what type a value has.

FeatureMBS JSON FunctionsFileMaker’s JSON Functions
Number of functions596
Available in FileMaker VersionsFileMaker 7 to 16FileMaker 16 only
FileMaker Pro (Advanced)yesyes
Runtime Appsyesno
FileMaker Gonoyes
FileMaker iOS SDKyesyes
FileMaker Serveryesyes
Create arrays and objectsyesyes
Delete elementsyesyes
Formatyesyes
List Keysyesyes
Get/Set Valuesyesyes
Parse once, Query oftenyesno
JSON Import with field/table creationyesno
Return data typesboolean, number or textalways text
Create Array with 2000 entries162ms1792ms
Get Values from Array with 2000 entries195ms2364ms

Your time measurements will vary (and please deactivate Trace log), but in general not parsing and formatting JSON 2000 times in a loop saves a lot of time.
FileMaker's functions are great as a base and certainly help all the beginners getting started with JSON and REST services. If you need more speed or more features, feel free to test our MBS Plugin.
And if you miss something, let me know.

Xojo on sale

Tuesday 23 May 2017 at 08:40 am
We just got notice that Xojo runs a sale for the new website look:

We are celebrating our new look - come celebrate with us! Get a new Xojo license or renew an existing license for 20% off now through Thursday, May 25 (11:59PM CT). Shop now!


So if you need a copy or you need an update within the next two months, get it now!

The MBS Script Step

Sunday 21 May 2017 at 10:25 pm
As you may know FileMaker 16 allows plugins to create new custom script steps. MBS Plugin 7.2 or newer registers a script step called MBS. This step can replace calls with Set Field or Set Variable and is just a convenience option for you to easier find our plugin:



You define the destination. This can be a field or a variable including the number of the repetition. Second option is the name of the function to call. This is either provided as text in quotes or picked from a calculation. The calculation can reference variables and fields, so you can define which function to call with e.g. reading function name from a field.

The next parameters are the actual function parameters. The first four are visible directly in the line, the other ones only if you click the gear. For each parameter you can specify a calculation to query value using fields or variables.

Technically this script step calls the exact same MBS function as before. For us the script step is just a bit of sugar for the script. The plugins can only provide a script step definition on startup and use the given options described in the plugin SDK documentation. We can’t dynamically change the options like presenting a popup menu with components and than a popup with the function in that component. Like CURL and than pick Perform.

As using the new script step breaks compatibility to older FileMaker versions, we will not use it for a few years in our examples until we no longer need to support older versions. But nice to have my plugin finally show up in script step list after 11 years of development. Please try it!

FileMaker Developer Meeting in Nuremberg

Saturday 20 May 2017 at 11:00 pm
On my next visit to Nuremberg, I'd love to make another FileMaker developer meeting:

Wer hat Interesse an einem FileMaker Entwicklertreffen im Juni in Nürnberg?

Einfach gemütlich zusammen sitzen und über FileMaker Neuigkeiten, Konferenzen und die täglichen Probleme bei der Softwareentwicklung unterhalten.
Gerne zeige ich auch neue Pluginfunktionen oder helfe bei Problemen mit FileMaker Projekten. Einfach Computer mitbringen und was zeigen.

Bitte an der Umfrage teilnehmen und helfen einen optimalen Termin zu finden: FileMaker Treffen
Bei Interesse bitte bei mir melden.

PS: Berliner Stammtisch am 31. Mai.

Xojo Developer Meeting in Nuremberg

Saturday 20 May 2017 at 11:00 pm
On my next visit to Nuremberg, I'd love to make another Xojo developer meeting:

Wer hat Interesse an einem Xojo Entwicklertreffen im Juni in Nürnberg?

Einfach gemütlich zusammen sitzen und über Xojo Neuigkeiten, Konferenzen und die täglichen Probleme bei der Softwareentwicklung unterhalten.
Gerne zeige ich auch neue Pluginfunktionen oder helfe bei Problemen mit Xojo Projekten. Einfach Computer mitbringen und was zeigen.

Bitte an der Umfrage teilnehmen und helfen einen optimalen Termin zu finden: Xojo Treffen
Bei Interesse bitte bei mir melden.

PS: Berliner Stammtisch am 30. Mai.

OmegaBundle 2017 ends soon

Saturday 20 May 2017 at 10:25 am
The OmegaBundle for Xojo including MBS Plugins is ending 30th May 2017:



If you plan to buy the bundle, please do it soon.

Run FileMaker in different language on your Mac

Friday 19 May 2017 at 10:14 pm
Sometimes we need to make screenshots or present with FileMaker in other languages and you can have at least eleven languages:



(you know all the languages for the menubars?)

I made a couple of little AppleScript apps to launch FileMaker 16 in another language. So I can double click the French one and another instance of FileMaker Pro launches on my Mac with French localization. Please try and let me know what you think about it.

Download: LaunchFileMakerInDifferentLanguages.dmg

Update: Newer version now for FM 14 and 15, too.

Register now for the 2018 Xojo Developer Conference

Thursday 18 May 2017 at 6:50 pm
Xojo Inc. just announced the start of early bird registration for XDC 2018:

Early registration for the 2018 Xojo Developer Conference is now open! XDC will take place in Denver, CO April 25 - 27, 2018. Featuring sessions on best practices, special interests and other technical topics, XDC will have content for every level of Xojo developer, so you don't want to miss it!

Want to know what XDC is like? Watch our highlights video from the last conference!

Register now!

XDC Pricing:
$799 Early Bird Registration: Now through October 1, 2017
$899 Advanced Registration: October 2, 2016 - February 15, 2017
$999 Late Registration: February 16, 2017 - Conference

XDC will take place at the lovely Magnolia Hotel in Denver, Colorado. We have negotiated a hotel room rate of $172 a night. If you have any questions about XDC, feel free to Dana Brown, Xojo Director of Marketing.

We are looking forward to the conference. Feel free to suggest what I could present at XDC :-)

Convert WMF and EMF files to PDF with DynaPDF

Thursday 18 May 2017 at 1:52 pm
Did you know you can use DynaPDF to convert Windows metafile to PDF as vector graphics?

When running on Windows, you can load EMF (enhanced metafile) or WMF and query their size. Than you can decide where to insert them and place them on a PDF page. Of course you can create a PDF page with the size of the WMF bounding box and place your graphic at full size.

If you like to create regularly documents with company logos, you can ask for example to provide them as PDF or WMF and just place them on the document as needed. As your designers when using something like CorelDraw can just export vector graphic as WMF, this is a convenient way to store them on Windows, except directly PDF. Be aware that some applications just embed a bitmap picture in the WMF, which lead to worse quality compared to pure vector graphics.

This requires a DynaPDF Lite license or better. If needed you can use a DynaPDF Pro license to render the PDF to JPEG, PNG or TIFF files.

With GraphicsMagick functions you can convert WMF files to bitmaps, but quality in DynaPDF may be better.

Redirect fmp URL scheme for runtimes

Wednesday 17 May 2017 at 4:47 pm
Today we worked with a client on runtimes which had a need to receive FMP URL calls. The FMP URL Scheme is not officially supported for runtimes, but it looks like the functionality is there. We only need to register the scheme with the operation system. FileMaker Pro does the same and register itself as handler for FMP URLs. We do the same for macOS and Windows but point to a different app:

For macOS we just follow the example steps from the Readme coming with MBS Plugins examples in URL Scheme folder. As you can read there, you change the info.plist file of the app. Than you use the URLScheme functions in MBS Plugin to set the default scheme handler. Instead of a FileMaker Pro (which usually is not installed on the clients machines), the runtime will now handle the FMP URLs.

For Windows, the installer for the runtime, registers in the registry the FMP URL scheme and points to the runtime exe file. This requires admin permissions.

In both cases, FileMaker Pro (if installed), won't be the FMP URL handler anymore. So please keep it an option only for clients who need it and have no FileMaker Pro installed!

This can be reverted on macOS by deleting the runtime (or some terminal commands for lsregister). On Windows you can revert it with registry changes or using the FileMaker Pro installer to install over the existing installation.

But the good thing, the webviewer can now use javascript based calendars which trigger actions back to the app via fmp URLs. Technically on Mac our plugin also allows you to use other URL schemes for your solution and handle them by a script trigger. See URLScheme.InstallURLEventHandler

FileMaker Briefing

Tuesday 16 May 2017 at 5:51 pm
Über 100 Leute sind dabei beim FileMaker Briefing in der Schweiz:



Fast wie eine FileMaker Konferenz trifft sich hier die FileMaker Gemeinde aus der Schweiz mit Gästen aus umliegenden Ländern zum Stelldichein. Michael Valentin berichtet, was es neues in FileMaker 16 gibt und bei der FIleMaker Cloud.

Zurich, Switzerland

Tuesday 16 May 2017 at 2:09 pm
My office view this morning:

For a few minutes, before the boat left Zurich. Today I am in Meilen for the FileMaker 16 Event.
Tomorrow night is the Xojo meeting. If anyone here in Zurich area is interested in joining me, drop me a line.

MBS Xojo Plugins 17.2

Monday 15 May 2017 at 1:32 pm
Nickenich, Germany (May 15th, 2017) -- Monkeybread Software releases version 17.2 of the MBS plug-in for Xojo and Real Studio.

The MBS plug-in comprises a collection of several plug-in parts which extend the Xojo (Real Studio) development environment with 2,400 classes featuring over 62,000 documented functions. Our plugins support all three platforms Mac OS X, Windows and Linux with all project types desktop, web and console including 64-bit and ARM targets.

Some of the highlights on the 17.2 update:

For our Windows users we added new WinUserNotificationMBS classes to show user notifications on Windows 8 and newer. A notification can show a picture and several text lines to notify user about an event when your app runs in background. For macOS we provide similar features using NSUserNotificationMBS class.

For CURL we have new methods to setup queries to Amazon Webservices and we provide an example for AWS S3 download and upload. Our plugin provides the authentication based on AWS4-HMAC-SHA256 for the queries, so you can easily integrate several amazon services. With new socket type functions, you can now let CURL connect to an IP and use the connection like any other socket with reading and writing data. CURL encapsulates all the IP protocols (IPv4 and IPv6), proxies and SSL options for you. Finally we allow you to use the system root certificates on macOS and Windows for SSL verification.

For DynaPDF we got new examples for PDF/A conversion and normalization. This includes new functions to replace missing fonts. New functions for printing allow you to specify more print options and let the plugin show print dialog to print directly to a printer.

The new JPEGMovieMBS class can create movies cross platform using JPEG image files. The resulting files can be played in QuickTime player and VLC.

Finally we updated libarchive to version 3.3.1, LibXL to 3.8.0, OpenSSL to 1.1.0e and 1.0.2k, PostgreSQL to 9.6.2 and SQLAPI to 4.1.11, SQLite to 3.18.0, libtidy to 5.4, DynaPDF to 4.0.11.27 and Xcode to 8.3.2.

See release notes for a complete list of changes.
Currently you can buy this plugin collection as part of the 2017 Omegabundle.

MBS FileMaker Plugin 7.2

Monday 15 May 2017 at 1:05 pm
Nickenich, Germany - (May 15th, 2017) -- MonkeyBread Software today is pleased to announce MBS FileMaker Plugin 7.2 for macOS, iOS, Linux and Windows, the latest update to their product that is easily the most powerful plugin currently available for FileMaker Pro. As the leading database management solution for Windows, Mac, iOS and the web, the FileMaker Pro Integrated Development Environment supports a plugin architecture that can easily extend the feature set of the application. MBS FileMaker Plugin 7.2 has been updated and now includes over 4600 different functions, and the versatile plugin has gained more new functions:

Our new plugin is optimized for FileMaker 16 and provides all the usual features in the latest version of FileMaker. The script workspace again shows the syntax highlighting and allows to search scripts. We added a new MBS script step, so you can easily use plugin functions in your scripts. Of course you can continue with using Set Variable as before and keep compatible to FileMaker 15. You can even yourself define custom script steps in FileMaker using expressions to evaluate with our plugin.

Included with the new plugin version is a plugin for iOS. This is a brand new plugin and allows you to try over 2000 of our functions already for your own solutions built using the FileMaker iOS SDK. We will need to check in the next months how iOS performs and which functions can help you the most. Most of the Webviewer functions already work on iOS, including the preferences functions to enable the developer extras.

For macOS we added a new preferences dialog. There you can toggle all the enhancements we offer for the FileMaker script workspace. And you can enter your license key for storing it in the preferences file with FileMaker. In the script workspace we added new zoom controls, so you can increase font size for your scripts. For popupmenu controls in FileMaker, you can now copy the values via our contextual menus. For calculation dialogs, you can now define a minimum font size, so you easier read them when presenting.

For Windows you can now send emails via the local email client application. This includes sending emails with attachments via Outlook or Thunderbird. Using our new Registry functions you can add, edit and delete registry entries directly from FileMaker.

For CURL we have new functions to setup queries to Amazon Webservices and we provide an example for AWS S3 download and upload. Our plugin provides the authentication based on AWS4-HMAC-SHA256 for the queries, so you can easily integrate several amazon services. With new socket type functions, you can now let CURL connect to an IP and use the connection like any other socket with reading and writing data. CURL encapsulates all the IP protocols (IPv4 and IPv6), proxies and SSL options for you. Finally we allow you to use the system root certificates on macOS and Windows for SSL verification.

For our Windows users we added new WindowsUserNotification functions to show user notifications on Windows 8 and newer. A notification can show a picture and several text lines to notify user about an event when your app runs in background. For macOS we provide similar features using UserNotification functions.

You can now show the character palette to enter emojis, set/get valuelists as xml from/to clipboard (see CTs FileMakerSnippetStorage.fmp12), new iOSDevice functions, better barcode creation, better Speak command and more.

Finally we updated LibXL to version 3.8.0, OpenSSL to 1.1.0e and 1.0.2k, SQLAPI to 4.1.11, SQLite to 3.18.0, DynaPDF to 4.0.11.27 and Xcode to 8.3.2.

See release notes for a complete list of changes.

The winners @ MBS Xojo Conference

Sunday 14 May 2017 at 11:13 am
Tradition at every MBS Conference has been to raffle a few things:



This year we had a record of 17 things to raffle including T-Shirts, XDevMagazine year books, British chocolate and Xojo bottles.

PS: Source code of the raffle app is included with MBS Plugins, so you can check yourself how fair or unfair the raffle is.

Xojo Stammtisch in Berlin

Saturday 13 May 2017 at 1:43 pm
On my next visit to Berlin, I'd love to make another Xojo developer meeting:

Wer hat Interesse an einem Xojo Entwicklertreffen am 30. Mai 2017 in Berlin?

Einfach gemütlich zusammen sitzen und über Xojo schnacken.
Gerne zeige ich auch neue Pluginfunktionen oder helfe bei Problemen mit Xojo Projekten. Einfach Computer mitbringen und was zeigen.

Bei Interesse bitte bei mir melden.

FileMaker Magazin - MBS Artikel

Friday 12 May 2017 at 4:48 pm

For our German speaking users:

Wir haben die Artikel zum MBS Plugin aus dem FileMaker Magazin gesammelt hier online gestellt: FileMaker Magazin Artikel:

Wir empfehlen allen FileMaker Anwender ein Abo vom Magazin und den Kauf der alten Ausgaben. Das FileMaker Magazin ist eine excellente Quelle von Informationen, Anleitungen und Profitips.


MBS FileMaker Plugin, version 7.2pr6

Thursday 11 May 2017 at 10:24 pm
New in this prerelease of the 7.2 MBS FileMaker Plugin:
  • Fixed an issue with item handling, broken in earlier 7.2 version.
  • Fixed issue with registration in iOS Simulator.
  • Fixed an issue with using OS debugger with Xojo app and MBS registration.
  • Added -fPIC flag for iOS.
  • Added more parameter for Text.EncodeToHTML to decide how to encode entities.
  • Fixed problem in Text.EncodeToHTML where it did not ignore low ascii characters.
  • Fixed crash in Audit.ClearCaches.
  • Fixed issue with Audit when using extra fields with empty decimal value.
  • Fixed variable check to handle custom script steps like Set Variable.
  • Improved preferences dialog for FileMaker 13.
  • Added PDFKit.AddImageFilePage function.
  • Added BringWindowToFront parameter to Twain.Acquire function.
  • Reduced memory usage for PDFKit.AddImageFilePage and PDFKit.AddImagePage.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

Older blog entries:

2017-05-11 MBS Xojo Plugins, version 17.2pr6
2017-05-11 Beware of changes in FileMaker 16
2017-05-11 Survey about European MBS Xojo Conferences 2018
2017-05-11 MBS FileMaker Plugin for iOS Update
2017-05-10 Deutsche FileMaker 16 Launch Events
2017-05-10 After the conference is before the conference
2017-05-09 Welcome FileMaker 16
2017-05-08 MBS Xojo Plugins, version 17.2pr5
2017-05-08 MBS FileMaker Plugin, version 7.2pr5
2017-05-08 Xojo Stammtisch in Zürich
2017-05-08 FileMaker Events diesen Monat
2017-05-07 Woman at the MBS Xojo conference
2017-05-05 MBS Xojo Conference group photo
2017-05-04 MBS Xojo Conference started
2017-05-04 New Preferences Dialog for MBS FileMaker Plugin
2017-05-03 MBS Xojo Conference about to start
2017-05-03 FileMaker Magazin 201702
2017-05-01 xDev Magazine Issue 15.3
2017-04-29 Packr The suitcase checklist
2017-04-28 BKS Shorts Version 2.0

Archives

May 2017
Apr 2017
Mar 2017
Feb 2017
Jan 2017
Dec 2016
Nov 2016
Oct 2016
Sep 2016
Aug 2016
Jul 2016
Jun 2016
May 2016
Apr 2016
Mar 2016
Feb 2016
Jan 2016
Dec 2015
Nov 2015
Oct 2015
Sep 2015
Aug 2015
Jul 2015
Jun 2015
May 2015
Apr 2015
Mar 2015
Feb 2015
Jan 2015
Dec 2014
Nov 2014
Oct 2014
Sep 2014
Aug 2014
Jul 2014
Jun 2014
May 2014
Apr 2014
Mar 2014
Feb 2014
Jan 2014
Dec 2013
Nov 2013
Oct 2013
Sep 2013
Aug 2013
Jul 2013
Jun 2013
May 2013
Apr 2013
Mar 2013
Feb 2013
Jan 2013
Dec 2012
Nov 2012
Oct 2012
Sep 2012
Aug 2012
Jul 2012
Jun 2012
May 2012
Apr 2012
Mar 2012
Feb 2012
Jan 2012
Dec 2011
Nov 2011
Oct 2011
Sep 2011
Aug 2011
Jul 2011
Jun 2011
May 2011
Apr 2011
Mar 2011
Feb 2011
Jan 2011
Dec 2010
Nov 2010
Oct 2010
Sep 2010
Aug 2010
Jul 2010
Jun 2010
May 2010
Apr 2010
Mar 2010
Feb 2010
Jan 2010
Dec 2009
Nov 2009
Oct 2009
Sep 2009
Aug 2009
Jul 2009
Apr 2009
Mar 2009
Feb 2009
Dec 2008
Nov 2008
Oct 2008
Aug 2008
May 2008
Apr 2008
Mar 2008
Feb 2008
XML: RSS Feed XML: Atom Feed