We're looking for a talented Xojo developer to help us continue to improve Light Blue, our business management product for professional photographers and winner of the 2016 Xojo design awards 'best business app' prize.
The initial requirement is for help with completing a specific project, but this has the potential to turn into an ongoing relationship.
Building desktop apps with Xojo.
Good written and spoken English.
We would also prefer:
Experience of PHP and MySQL.
Working from a timezone that overlaps office hours with the UK.
The company is based in northern London in case you prefer to work in their office. Else you would probably work from home. Tom has been visiting conference for a couple of years and uses MBS Plugins a lot.
We had the question where we can access the playing video in an interactive container on iOS.
The answer is: Yes, we can!
And even on Mac, the same new function AVPlayer.FindPlayers looks for players on the current layout. It returns a list of all the players and you can than use our normal AVPlayer functions. Here a screenshot:
Left side macOS, right side iOS simulator.
So we can get the players on current page and there may be several. You can control the player, e.g. pause/play, query time and duration, change rate or volume. Next you can now use AVPlayer.GetAsset to query the asset for the player. There you can query images for videos, metadata and frame rate.
You all have time 6th/7th September 2018 for a Xojo conference?
We have a proposal for a hotel conference room in Munich. The Maritim Hotel near the main station can offer us 50+ rooms as well as one or two conference rooms. If we have a lot of speakers and attendees, we could go two track!
We can block 100 rooms and offer an 122 Euro rate for the nights from 5th to 8th September including pool, breakfast and Wifi.
Nearby other hotels in the area offer rooms for less, down to 60 Euro/night.
Walking distance to center of city is just a few hundred meters. So you can walk to Hofbräuhaus, city hall and the famous historic buildings like palace Nymphenburg. And if you like to take a drive in the countryside, you are quickly down to the alps. e.g. take the train up on Wendelstein for a great view.
So anyone has comments? Would this week be a bad choice for some reason?
Most weeks in fall are blocked by expositions, school holidays and Oktoberfest where hotels are quite full. The week early September seems to be great to get hotel room and the chances are good for nice weather.
PS: If someone has a better idea for a location, let me know.
As you may know, we collect some statistics about plugin usage and today I’d like to show the versions of FileMaker used with MBS Plugins:
So we have about half of our users have FileMaker 15. We currently have more users with FileMaker 11 as with FileMaker 16, but that will probably change quickly. As you may expect, we do still support FileMaker versions down to 7 on Windows, but don’t test ancient versions any more (unless someone tells us about an issue).
As you may know, we collect some statistics about plugin usage and today I’d like to show the versions of Xojo used with MBS Plugins:
While over half of the users are on Xojo 2017, there is still a big group of people using 2015/2016 versions. The group with REAL Studio 2012 is still active, but shrunk a lot over time. Over time, it will be a question whether we should continue to support Real Studio with newer plugins.
In both FileMaker and Xojo we can use WebKit 2 for showing web content and enable the inspector:
For FileMaker 16, you can use WebView.SetPreferences function and set developerExtrasEnabled property to 1. Than you can open inspector via contextual menus.
For Xojo you can use WKWebViewControlMBS control for WebKit 2. There we will have a new property developerExtrasEnabled to enable the inspector in the contextual menu.
When you look through the examples, you see that I stripped some stuff like accounts, privilege sets and custom menus. And all the MBS function names are links to the documentation pages. The documentation lists the examples for each function, so you can see which example implements which function.
Enjoy it and in a few weeks, search engines will show them.
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:
tellapplication "System Events" totellprocess "FileMaker Pro Advanced"
clickradio button "HTML 1 of 2" ofwindow "Database Design Report"
if (valueofcheckbox "Automatically open report when done" ofwindow 1) = 1 then
clickcheckbox "Automatically open report when done" ofwindow 1
clickbutton "Create" ofwindow 1
clickbutton "Save" ofwindow 1
keystroke "w" usingcommand down
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.
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:
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.
MBS JSON Functions
FileMaker’s JSON Functions
Number of functions
Available in FileMaker Versions
FileMaker 7 to 16
FileMaker 16 only
FileMaker Pro (Advanced)
FileMaker iOS SDK
Create arrays and objects
Parse once, Query often
JSON Import with field/table creation
Return data types
boolean, number or text
Create Array with 2000 entries
Get Values from Array with 2000 entries
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.
PS: Some of this issues with returning numbers have been improved in 16.0.2 release of FileMaker.
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!
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: 16. Juni
Bei Interesse bitte bei mir melden.
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: 16. Juni
Bei Interesse bitte bei mir melden.
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.
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!
$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
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.
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.
Ü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.
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.
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 126.96.36.199 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.
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.
The new version of FileMaker offers a lot of great new features. Card style windows, copying value lists, new functions, a REST API and much more.
But you need to verify whether your solutions works fine with the new release before you upgrade. This includes checking whether all layouts still work the same. Scrollbars went away, so windows are a bit smaller or show a bit more content. The zoom controls are gone, so you may need to make your own if users miss them. Some things layout differently now in FileMaker Go 16 compared to 15.
On Windows having no parent window around your layout windows causes changes. Some scripts don’t work anymore and need to be updated for that situation. For your users you should always have a menubar in one of the visible windows available. Because if you hide all menu bars, there is no way to use the menus.
Next some things under the hood changed. WebViewer now uses a newer WebKit version on Mac with a different API. When I first got a preview of FileMaker 16, all my plugin functions for web viewer failed. Over time I got most working again, but still there are major things missing. For example WKWebView does hardly any printing. A couple of Cocoa developers run into this and I did not get it to print for my plugins. Better not move to FM 16 if you need WebView printing or PDF generation.
For using fmp URL there is a new permission setting in security dialogs. You need to enable it for your solution to continue to use this feature as before.
The new version include external script steps defined in plugins. While this is a nice addition, I will currently not use them until we no longer need to use FileMaker 15 and older. The script steps show as missing steps in older versions and only a DDR may show the ID of the missing plugin.
If you are FBA or VLA, please check the changes in the agreements. FBA members in the US must now have a General Liability Insurance.
Nevertheless FileMaker 16 is a big step forward for FileMaker and offers a ton of new features, fixes hundreds of old bugs and certainly helps to grow the community!
We are checking options for another Xojo related conference in 2018.
Again we look for a place in Germany, but this time we consider whether we go to Munich instead of Koblenz. Munich could be a city where people may go for additional days for some sight seeing and entertainment. Munich will definitive be more expensive as the hotels have higher rates, unless we stay far outside. But if we go there, we need to make that decision soon to reserve the space in advance to get good rates.
Date could be somewhere in September/October/November 2018 as spring is taken by Xojo Inc. for their Xojo Developer Conference in April 2018.
If you have time, please fill this survey with just 10 questions. Please leave name/email for further questions. For additional comments, please email us or comment here. Please don't do the survey twice. Thanks.
MBS Plugin 7.2 will contain the iOS plugin for the FileMaker iOS SDK.
To use it you need to be member of FDS so you can download the new SDK. You need to install Xcode and learn how to build an iOS app with FileMaker SDK. Next you may need to become a member of the Apple Developer program. Than you can setup certificates to actually run your iOS app on your iPhone and test it.
Next you want to add our plugin. As FileMaker includes the plugin as-is, we include a little Split application. The plugin comes with 32 and 64bit code for Mac and iOS. You can use it in the simulator and on the devices. This one can split the plugin into the various combinations like 64-bit only or a ARM only plugin. Be aware that the ARM only plugin does not work in simulator.
For some things like push notifications, we need the MBSInit.framework being added to the frameworks in the project, so the app includes it and loads it early at startup. We currently only need this to receive push notifications via MBS Plugin.
On Licensing you need a MBS license for either iOS specific or ProDevelopment in general. The normal seats, runtime and server licenses won’t help here. You can order a license in the store.
Linking the plugin in the app seems to be a problem with some of the issues we saw with iOS SDK. Like if you drop in the plugin, you may see it in the final app in both the Frameworks and the Plugins folder. But two copies is definitive a mistake! We think the one in Frameworks folder is not right. Next you may want to check what platforms the plugin supports. For shipping an app, you should not include code for Mac simulator. The feature request to have the iOS SDK strip the plugins to only ARM targets was denied.
To test plugin, I recommend to have a layout where you can simply put in an expression and evaluate it. This way you can put MBS Calls there and see what is happening. The MBS("Trace") command is also recommended to log all calls and see what is going on in the iOS app.
Finally I have to remember that this is a brand new target. While the plugin has been in development for some months, we got it to compile and run in the iOS SDK apps here. Works fine in Simulator and on iPhone in testing. Over the next months, we will have to refine it and get more functions working, fix all the issues we may see and hope for improvements in FM’s iOS SDK.
Jetzt wo Filemaker 16 verfügbar ist, können wir endlich ohne NDA darüber schreiben, was es bei den FileMaker Events nächste Woche zu sehen gibt: FileMaker 16. Bei zwei Events haben Sie Gelegenheit sich die Neuerungen im Detail von Michael Valentin vorstellen zu lassen:
16. Mai 2017
ab 17 Uhr im Restaurant Löwen, 8706 Meilen (am Zürichsee) in der Schweiz
18. Mai 2017
ab 18 Uhr bei der Denkform in Hofheim (Taunus) in Deutschland
Ich freue mich euch auf beiden Events zu sehen und vielleicht noch was zum MBS Plugin zu erzählen.
Anschließend noch gemütliches Beisammensein.
We had a great Xojo conference in Berlin last week. Thanks everyone helping.
Record attendees with over 80 people signed up.
Great hotel right in the center of West Berlin
Next to a big train station, so easy to reach.
Great sessions with great speakers!
Over 100 beers and 25 wine bottles were consumed on the Thursday evening.
Had 6 ladies at the conference, a new record.
20% of attendees have been visiting XDC in USA before.
Had a lot of young people at this conference. Including two students who won free tickets.
The brewery is a great place to visit although next time I need to order bus for later time.
Hotel bill arrived and everything is fine.
I am collecting slides and we will put them up on the website soon. You’ll receive a download link than.
Videos will follow later.
Planning for next conference has already begun. I will make a survey again as I need to approximate on the head count to plan for. Munich with same number of people seems to be doable with the same ticket prices. With less people a bit higher. Now I have to find out which weeks would be available in the hotels. Oktoberfest, school holidays and some expositions play into that. Let me know if you know a specific week wouldn’t work for you (and others).
On the long run we may continue with two conferences, one in spring in USA and one in fall in Germany, so attendees from both continents can fly over Atlantic and stay extra days for vacation and sight seeing.
FileMaker Inc. just released FileMaker 16, it’s latest version of the FileMaker product family for database based business solutions.
Our MBS Plugin has been in testing with various beta versions the last months and a couple of issues have been resolved. You can download latest 7.2 beta from our plugin and use it today. We currently look with the final release of FileMaker 16 for issues, so we can release our 7.2 release next week.
Second big change is the script workspace which got a couple of internal changes for our plugin. The syntax coloring has been updated for 7.2 to work in FileMaker 16.
Third we got iOS support for our plugin for FileMaker’s iOS SDK. The new version can be used with plugin and MBS Plugin for iOS is included in the 7.2 download. Of course a lot of functions will not be available for iOS, e.g. there is no serial port on an iPhone. But over 2000 functions in our plugin should work well on iOS including things like Barcode creation or encryption functions.
As with the Linux version, the iOS version will grow over time. Please try it and let me know if you run into any issues. We add new features for iOS later this year. Already you can try notifications on iOS with a lot of options. This should work with local and remote notifications.
Everyone should try FileMaker 16, but before deploying it, find time to test all features of your solution and make the required changes. Than later this summer when you updated your scripts, layouts and plugins, you can start deploying it.