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


Under the Radar Podcast


The last days I enjoyed listening to a couple of episodes of the Under the Radar podcast.

Originally pointed to by Paul Lefebvre's tweet, I quickly subscribed as they talk about various topics for independent app developers and those episodes are very interesting. They face similar issues as myself and so I like to hear their solutions.

Thanks to David Smith and Marco Arment for their apps and the podcast.

And thanks to Xojo Inc. for supporting the shows. Xojo is sponsor for episodes #92 and #93. Coupon code is RADAR.

Do you like this podcast?

Video from MBS Plugin Presentation at DotFMP 2017


ThumbnailDotFMP 2017 Presentation

(English)

47:13 minutes
At the dotfmp conference in Berlin this year I presented a bit about MBS Plugin.

You can watch the presentation and a few questions. Enjoy!

If you like to see this live and bring your questions, you can join future conferences in Madrid, Salzburg and Berlin.

You can see more videos on our website including older presentations.

Windows, Xojo and the Clipboard


You may know that we have a few clipboard dedicated classes in our Xojo plugins.
Now Xojo’s move to DirectDraw in 2016r4 and subsequent changes in 2017r1 and 2017r2, we had to adjust our plugins to keep working on Windows. So for next plugin version we include fixes to our SetPicture and GetPicture functions to correctly put a bitmap on the clipboard. Our plugin can get/set the bitmaps to the clipboard now in 32 and 64bit.

The clipboard can hold several data types and Windows defines a couple of standard formats. Beside the bitmap type, there is a DIB type for a device independent bitmap and Metafile Picture for vector graphics. Normally Windows should convert from DIB to BITMAP or back.

Still some applications like Excel or Word look for the DIB and the conversion from BITMAP doesn’t work well. So we added new SetDIB/GetDIB functions to put a Xojo picture on the clipboard in the DIB format. This should solve problems people may have with clipboard.

If you like to try the newer plugins, please do not hesitate to contact us.

Multiple recordsets with Microsoft SQL Server


If you try to run two SQL statements on one connection, you often see this error message:

"HY000 [Microsoft][SQL Server Native Client 11.0]Connection is busy with results for another command"

We regularly see the problem with Microsoft SQL Server, but it also happens with Sybase ASE and others.

To solve you can set the option "SQL_ATTR_CURSOR_TYPE" with the value "SQL_CURSOR_DYNAMIC" to get a server side cursor. This will tell the connection to use a dynamic cursor and you can have several of those.
In Xojo:

dim cmd as SQLCommandMBS
cmd.Option("SQL_ATTR_CURSOR_TYPE") = "SQL_CURSOR_DYNAMIC"

in FileMaker:

MBS( "SQL.SetCommandOption"; $Command; "SQL_ATTR_CURSOR_TYPE"; "SQL_CURSOR_DYNAMIC" )

For next plugins we will include code to make sure you can set the option on the connection and pass it down to all commands on that connection.

Alternatively you can use the flag MARS_Connection when connecting inside the connection string:

"bedlam-m\\sql2014en@test;MARS_Connection=yes"

This is global option for the connection.

Xojo 2017 Release 2


Xojo Inc. released today Xojo 2017 Release 2. You can download it on their website.

This update adds more than 250 improvements, with a focus on 64-bit enhancements, Linux GTK+ 3 and HiDPI, and iOS Launch Screen support..

Xojo 2017 Release 2 features:
  • 64-bit support for XojoScript
  • 64-bit string handling is faster and more consistent
  • 64-bit support for Windows icons and version information
  • GTK3 for Linux
  • HiDPI for Linux
  • iOS Launch Screen support
  • Additional drag & drop events for ListBox
  • IDE and web improvements
The complete list of improvements in Xojo 2017 Release 2 can be found in the release notes.

If you use MBS Plugins and the GTK classes, please update to 17.4pr2 or newer plugins.
This includes GTK Window class, OpenDialogMBS, Linux WebKit classes and window functions.
But some changes to picture handling for GTK3 affect all plugins using pictures.

Zwei Monate bis zur FileMaker Konferenz in Salzburg


In gerade mal zwei Monaten startet die FileMaker Konferenz in Salzburg.
So langsam füllt sich die Konferenz und inzwischen steht auch das Programm.

Vom 12. bis 14. Oktober 2017 treffen sich wieder ca. 200 Teilnehmer im Pitter in Salzburg. Die deutschsprachige FileMaker Entwickler treffen sich um Neuigkeiten zu FileMaker zu erfahren, mit den Mitarbeitern von FileMaker in Kontakt zu kommen und um alte Freundschaften zu pflegen.



Bitte bald anmelden um ein Ticket zu bekommen. Noch gibt es Konferenztickets zu kaufen.
Die Hotelzimmer im Pitter sind wohl vergriffen, aber es gibt noch freie Zimmer rund um den Salzburger Bahnhof.
Vom Flughafen kommt man übrigens mit der Buslinie 2 direkt zum Konferenzhotel.

Für die MBS Plugin Schulung am 11. Oktober sind noch Plätze frei. Nehmen sie sich einen Tag Zeit zu erfahren, was alles im MBS Plugin steckt, was dieses Jahr neu ist und probieren wir direkt einige Funktionen aus. Je nach den Wünschen der Teilnehmer bauen wir gerne neue Beispiele, die dann bestimmte Funktionen zeigen.

MBS Xojo Plugins, version 17.4pr2


New in this prerelease of the 17.4 plugins:
  • Updated CURL Library to 7.55.1.
  • Added convenience properties Name, Model, Manufacturer and DisplayName for MidiObjectMBS class.
  • Improved GTK classes for future.
  • Modernized GetInfoCertInfo for newer CURL version.
  • Added MemoryUsed and MemoryHighwater properties to SQLite3MBS class.
  • Reorganized plugins. From 65 down to 39.
  • Merged Nikon and Canon plugins into Cameras Plugin.
  • Merged LCMS2, OCR, GIF, PNG, LargeImage, JPEG and Tiff plugins into Images plugin.
  • Merged PHP, CUPS, markdown, RegEx and Tidy into Tools plugin.
  • Merged Twain into Picture plugin.
  • Merged DirectShow, WIA, WinDragDrop, TAPI and WinICM plugins into Win plugin.
  • Removed SQLAnywhere plugin part as that functionality is now available in SQL Plugin.
  • Removed imedia, TCMPortMapper and FTPParse plugin parts as those were really outdated.
  • Removed ImageMagick, LCMS, QTKit and QuickTime plugins. They are archived now.
  • Removed QuickDraw based classes: MacPictMBS, PaletteMBS and related graphics methods.
  • Removed old MacOS Classic classes: WindowGroupMBS, ClickThroughMBS, NumberFormatMBS, DateFormatMBS, AFPURLMBS and InternetConfigMBS.
  • Changed LDAP functions to default to protocol version 3 with UTF-8 as default encoding.
  • Fixed NSPipeMBS class to no longer crash app for broken pipes. We set the signal to be ignored in Constructor.
  • Fixed bug in SKProductsRequestMBS which could lead to crash if you use the class and release instances before you got the event.
  • Updated SQLite to version 3.20.0.
  • Added more constructors for CFURLMBS class.
Download: monkeybreadsoftware.de/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 7.4pr2


New in this prerelease of the 7.4 MBS FileMaker Plugin: Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

URL scheme handling in Xojo


Handling URL schemes in both Mac and Windows can be tricky.
For Mac you need to define plist entry to declare the URL scheme and later handle the AppleEvent.
For Windows it is more difficult. First you edit registry to declare your URL scheme. Than you need to handle the URL as start parameter. But as a second copy of your app may be launched, you need to talk yourself to the first instance via IPCSocket and pass URL command to main app.

Robert Beier from Dibomedia GmbH in Leipzig recently implemented a helper class to handle this and put it on githup:

github.com/CranberryStackCookie/xojo-url-scheme

Feel free to send feedback including bug fixes to him. And next time you meet him at a Xojo conference, you can of course invite him for a drink!

FileMaker consultants with MBS Knowledge


Quite a couple of FileMaker users and developers ask for help on implementing MBS Plugin functions in FileMaker solutions. So I'd like to start with a list of MBS aware consultants for FileMaker projects:

CompanyDeveloperWebsiteLocation
cross solutionsArmin Egginger & Dr. Adam G. Augustincross-solutions.deMunich, Germany
Datastudio d.o.o.Dejan Sunikdatastudio.siLog pri Brezovici, Slowenija
Denkform GmbHThorsten & Lars Seligerdenkform.netHofheim im Taunus, Germany
Filemakergarage e. K.Nils Waldherrfilemakergarage.comBerlin, Germany
Keeneight l.l.c.Stefano Morandottikeeneight.comWashington, MI, USA
MaltacodeDick Impensmaltacode.comMalta & Netherlands

In general they can speak English and the local language of their country. For some projects, you may want to find someone nearby, but most times someone from anywhere could help. See also FileMaker's partner locator website.

Like to be added to my list? Please contact me.

Special Complete Upgrade offer for MBS Xojo Plugins


For next plugin release 17.4, we will have some reorganization in the plugins. Some smaller plugins get merged, some older stuff dropped and some parts move to other plugins. There may some change needed for people who don't have the Complete license key.

As over 80% of our users have the Complete set instead of individual parts, we make a special offer to all users with individual parts:

Buy the Complete Update in August 2017 to go from whatever part you have to the complete set.
Depending on what part you have, you save up to 50% this way: Order now

We will not stop selling individual parts right now, but as of today we remove QuickTime, Controls, Lion & Leopard from the price list.

Please do not hesitate to contact us for questions.

FileMaker Meeting in Braunschweig


If you live near Braunschweig or Hannover area in Germany, you are welcome to join the FileMaker meeting in Braunschweig and meet me there:

Am Mittwoch, 9. August 2017 findet der nächste FileMaker Stammtisch für die Region Braunschweig statt.

Für interessierte Teilnehmer hier noch einmal die wichtigsten Fakten:

Wann: Mittwoch, 9. August 2017 um 19:00 Uhr
Wo: In den Räumen der "Studiowerk - Musikmanufaktur" - Rebenpark Hof C - Eingang C17

Rebenpark, Eingang C17
Nordstraße 42
38106 Braunschweig

Diesmal bin ich wohl auch dabei und kann von der DevCon berichten bzw. das MBS Plugin vorführen. Bitte vorher anmelden, wenn ihr kommen möchtet.

Siehe Xing Gruppe, Facebook Gruppe und Xing Event.

DevCon Offer still available


Everyone who attended the FileMaker DevCon 2017 in Phoenix can still use the coupon code to get 20% off the plugin licenses.

We extend the coupon code for another two weeks.

The discount is a thank you to the attendees for joining the conference.
Please see the leaflet you got at the conference for the coupon code.

MBS Xojo Plugins, version 17.4pr1


New in this prerelease of the 17.4 plugins:
  • Updated DynaPDF to version 4.0.12.32.
  • Fixed memory leak in XL Plugin for Windows (leak of GDI handles).
  • Added RAWSocketMBS class.
  • Changed DynaPDFMBS.HighlightPattern to create highlight annotations instead of drawing rectangles.
  • Fixed bug in BarcodeGeneratorMBS class with generating barcode without text.
  • Added exceptions for NSImageMBS constructors. You'll get an UnsupportedOperationException if image creation fails.
Download: monkeybreadsoftware.de/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 7.4pr1


New in this prerelease of the 7.4 MBS FileMaker Plugin:
  • Added AVAsset.TrackInfo function.
  • Updated DynaPDF to version 4.0.12.32.
  • Changed PrintDialog.Enable to call PrintDialog.Install for you if needed.
  • Changed Encryption functions to better handle NULL bytes.
  • Removed reference to /usr/local/lib folder for iOS plugin which made trouble for MDM app distribution.
  • Added Command-L shortcut to go to Go To Line box in script workspace.
  • Added Command-F shortcut to read the search fields for script and relation ship graph search boxes.
  • Added optional parameter for FM.RunDataDesignReport to open report after creating it.
  • Added CoreImage.Detect.
  • Changed DynaPDF.HighlightPattern to create highlight annotations instead of drawing rectangles.
  • Fixed bug in Barcode.Generate function with generating barcode without text.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

MySQL with SSL in MBS Xojo SQL Plugin


Today an example on how to connect to MySQL via MBS SQL Plugin in Xojo:

dim con as new SQLConnectionMBS try // Specify SSL key file Dim keyFile As FolderItem #If TargetMacOS Then // pick from inside budnle keyFile = App.ExecutableFile.Parent.Parent.Child("Resources").Child("client-test-key.pem") #Else // pick next to exe file keyFile = GetFolderItem("client-test-key.pem") #EndIf con.Option("MYSQL_SSL_KEY") = keyFile.NativePath // Specify SSL certificate file Dim certFile As FolderItem #If TargetMacOS Then // pick from inside budnle certFile = App.ExecutableFile.Parent.Parent.Child("Resources").Child("client-test.pem") #Else // pick next to exe file certFile = GetFolderItem("client-test.pem") #EndIf con.Option("MYSQL_SSL_CERT") = certFile.NativePath // set where to find the MySQL client library #If TargetMacOS Then // pick from inside budnle con.SetFileOption con.kOptionLibraryMySQL, App.ExecutableFile.Parent.Child("libmysqlclient.18.dylib") #elseif TargetWin32 then // pick next to exe file con.SetFileOption con.kOptionLibraryMySQL, App.ExecutableFile.Parent.Child("libmysql.dll") #elseif TargetLinux then // pick next to exe file con.SetFileOption con.kOptionLibraryMySQL, App.ExecutableFile.Parent.Child("libmysql.so") #EndIf dim server as string = "myuser@mydb" dim DBLogin as string = "xxx" dim DBPassword as string = "xxx" con.Connect(server, DBLogin, DBPassword, SQLConnectionMBS.kMySQLClient) If Not con.Error Then MsgBox "We are connected!" Else MsgBox con.ErrorMessage End If catch r as RuntimeException MsgBox r.message end try

If the options MYSQL_SSL_KEY, MYSQL_SSL_CERT, MYSQL_SSL_CA, MYSQL_SSL_CAPATH or MYSQL_SSL_CIPHER are set, the plugin calls mysql_ssl_set function to pass those to MySQL client library.

Good bye Phoenix!


Leaving soon from Phoenix airport.
I enjoyed a great week in Phoenix with the FileMaker DevCon and seeing so many developers:



I look forward to come back in one of the next years. There is still plenty left to see.
The picture above is from Dobbins Lookout in the South Mountain Park, a viewing place you can drive to south of downtown up on the hill (700m high).

And thanks to the Xojo developers who came to my Xojo developer meetings in Tucson and Phoenix.

FileMaker Excellent Awards


I was pleased to see my logo once again on the nominee list:



Thanks for suggesting me!

Push Notifications for FileMaker iOS SDK


Use the MBS FileMaker Plugin for FileMaker iOS SDK to receive push notifications. First on opening the solution, register for receiving them and query the device token. This device token is needed to send push notifications to the device from your servers. Push notifications can show a message to user, set the app badge or transfer data to the app:



First please review our documentation for the UNNotification functions. When you add the MBS Plugin to the project, please also add our MBSInit framework. You may need to split both to only include the arm versions in the final app to run on a device.

After your app launched on a device, you may be asked to allow notifications. This happens only if MBSInit framework is loaded and triggers the early initialization of our plugin. The function UNNotification.RemoteNotificationsDeviceToken returns you the device token as a long text with hex encoding. If something goes wrong, you get an empty text there and the function UNNotification.RemoteNotificationsError will give an error message, e.g. that this is not available in simulator.

You can check permissions with UNNotification.IsRegisteredForRemoteNotifications later. The new functions UNNotification.AuthorizationGranted and UNNotification.AuthorizationError let you know about whether you can work with notifications. But most likely you will check with UNNotification.NotificationSettings directly for what is available or allowed. The user can for example allow you badge changes, but not popups.

Let me know if you like to try this and need assistant. You should be able to get notifications to show messages to the user, launch the app and trigger scripts. Even the sending of notifications to devices should work via MBS Plugin by using CURL functions to talk to Apple's web service.

MBS Booth ready for FileMaker DevCon


Please come and visit me in the booth #25 at FileMaker DevCon:

MBS Booth

As usual you can come by, read the posters, ask me questions and talk with me about existing and future features.

Older blog entries:

2017-07-24 The big cleanup for our Xojo plugins
2017-07-24 FileMaker DevCon to start soon
2017-07-23 Face detection via CoreImage in FileMaker
2017-07-23 Raw Sockets for Xojo
2017-07-18 MBS FileMaker Plugin 7.3 - More than 4800 Functions In One Plugin
2017-07-18 MonkeyBread Software Releases the MBS Xojo Plugins in version 17.3
2017-07-18 MBS FileMaker Plugin 7.3 - Über 4800 Funktionen in einem Plugin
2017-07-17 FileMaker Spanish Devcon 2017
2017-07-16 4800 functions in MBS Plugin
2017-07-15 MBS Xojo Plugins, version 17.3pr7
2017-07-15 MBS FileMaker Plugin, version 7.3pr7
2017-07-13 MBS Xojo Plugins, version 17.3pr6
2017-07-13 MBS FileMaker Plugin, version 7.3pr6
2017-07-12 3 Monate bis zur FileMaker Konferenz in Salzburg
2017-07-11 Summer Sale in Xojo Store
2017-07-11 FileMaker updates to version 16.0.2
2017-07-10 MBS Xojo Plugins, version 17.3pr5
2017-07-10 MBS FileMaker Plugin, version 7.3pr5
2017-07-08 New Country and Territory promotion
2017-07-06 FileMaker error 1506

Archives

Aug 2017
Jul 2017
Jun 2017
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