Xojo Conferences
XDCMay2019MiamiUSA
MBSOct2019CologneDE
Our Blog, Filemaker only, Xojo only, Archive (older)

Follow us on Twitter, Xing, LinkedIn or Facebook.

Neues MBS FileMaker Plugin 9.0


22. Januar 2019 - Monkeybread Software veröffentlicht heute das MBS Plugin für FileMaker in Version 9.0, mit inzwischen über 5600 Funktionen eines der größten FileMaker Plugins überhaupt. Hier einige der Neuerungen:

Die neuen MapKit Funktionen erlauben Ihnen eine Karte als Steuerelement auf ein Layout zu legen. Wir verwenden dafür das Apple Maps Framework für iOS und MacOS. Sie können Adressen anzeigen und Pins auf die Karte setzen. Mit der Snapshot Funktion rendern Sie Karten als Bilder. Karten können im Standard, Satellit oder Hybrid Modus angezeigt werden, alternative als 3D Überflug.

Unsere CURL Funktionen können Emails von einem IMAP Emailserver laden. Die neue CURL.GetResultAsEMailList Funktion parst die Antwort vom Email Server und gibt eine Liste der Emails als JSON zurück. Jeder Eintrag entält eine URL zum Laden der Email, die eindeutige Nummer der Email, optional den Betreff, Absender und Empfänger Adressen und die Message ID.

Für JSON haben wir neue Funktionen zum Erzeugen von Werten, zum Vergleichen von JSON Objekten und um Werte in einem Array zu finden.

In der Dokumentation finden Sie bei den Funktionen Links zu relevanten Blog Artikeln. Für MacOS können Sie die Anzeige von MBS Plugin Funktionen als Links zur Dokumentation in den Voreinstellungen aktivieren.

Inzwischen verwenden die meisten Mac Anwender FileMaker in der 64-bit Version. Daher ist die 32-bit Mac Version des MBS Plugins nur noch auf Anfrage zu haben. Wir haben außerdem einige reine 32-bit Funktionen entfernt, u.a. QTMovie, QTExport und MovieView Funktionen.

Diese Version hat eine neuere GraphicsMagick Bibliothek mit neuen und verbesserten Funktionen. Auf allen Platformen können wir jetzt Bilder in 16-bit Farbtiefe pro Farbkanal verarbeiten. GMImage.NewFromContainer gibt bessere Fehlermeldungen zurück. Probieren Sie die neuen Funktionen repage, extent, auto orient und resize.

Die SQLite Bibliothek bauen wir mit der API Armor Option für bessere Stabilität. Wir haben Fehler korrigiert für SQL Verbindungen zu MySQL oder Oracle. Neue Voreinstellungen helfen für Verbindungen zu FileMaker über ODBC.

Wir haben neue Pfad Funktionen für Kurzpfade bei Windows, mehr ScriptWorkspace Funktionen, Applescript.DeterminePermissionToAutomateTarget um die Berechtigung für Apple Script zu überprüfen oder anzufragen und zwei neue Funktionen Window.IsMaximized und Window.IsMinimized für den Fensterstatus abzufragen.

Außerdem haben wir die CURL Bibliothek auf Version 7.63.0 aktualisiert, DynaPDF auf 4.0.25.71, freetype auf 2.9.1, GraphicsMagick auf 1.3.31, iconv auf 1.15, libarchive auf 3.3.3, libexpat auf 2.2.6, OpenSSL auf 1.1.1a, png auf 1.6.36, regex auf 8.42, SQLAPI auf 4.2.4 und SQLite auf Version 3.26.0.

Alle Änderungen in den Release Notes.

Xojo Training in Europe


If you are looking for an experienced Xojo trainer in Germany and surrounding countries, I'd like to remind you that Ulrich Bogun and Christian Schmitz (me) do offer personal and group training for Xojo.

Beginner's Training

Get a jump start into Xojo and let Ulrich show you the Xojo features. Next look at the programming basics like data types and objects. Learn about loops, structures and conditions and the OOP basics: Classes, inheritance and events.

From an idea to an app means to formalize your ideas and decide on algorithms to implement in a Xojo project. Learn about error handling, debugging and profiling to optimize and fix your application.

Finally learn about platform specific features and differences between platforms. Write code that works on MacOS and Windows as well as Linux. If possible, we can look into iOS vs. Android and check web projects in comparison to desktop projects.

Advanced Training

If you like to look deeper into Xojo with advanced features in detail, how about a session where we look into dictionaries, delegates, variants? We can work with exceptions and advanced usage of the debugger.

Databases are the core of most applications, so let's connect to several types of databases. Learn how to handle errors, use prepared statements and learn how to easily handle different databases in one app.

Network communication is essential for every application, so let's use sockets. Whether we use lower level TCP/UDP sockets or higher level HTTPSockets, we can communicate between two applications and use various web services.

Let's use threads and helper apps to process data in the background without blocking the user interface. Learn what IPCSockets do for you and how to synchronize threads and write efficient queues.

Training days in Cologne

Group training is available with the MBS Xojo Conference in Cologne: Training Website. Two days are planned where 23rd October 2019 is dedicated for English speaking trainees and 26th October 2019 is scheduled for German speaking guests. Of course that is a suggestion so if we get a lot of people who speak English, we may do both days in English unless someone is German speaking only. And technically we could also swap the days, depending on the people signing up.

Personal Training

Personal training for you or your company can be done in your office, our office or in a hotel meeting room somewhere between. The topics for the trainings is different and depends on the trainees. Usually we have our topics list as a base, but can do first your favorites.

As Christian Schmitz is the main developer for the MBS Plugins, we can of course schedule topics related to plugin classes, too. This may include getting you a kick start on how to use some plugins or help with integration of features right into your project.

Ulrich Bogun and Christian Schmitz are available as trainer and can travel as needed. Day rate for Ulrich is about 600 to 800 Euro and for Christian about 800 to 1200 Euro. Pricing depends on number of attendees, number of days and travel & hosting arrangements.

PauseOnError in Tulum


There is another PauseOnError conference:



Organized by the SmallCo team, there is an upcoming conference in Tulum (Mexico) for up to 120 FileMaker developers. Between 8th and 11th April 2019, you have the possibility to deep dive into FileMaker and X, where X = javascript, web services, big data, IOT & just about anything else you can imagine. Sounds like integration into other services, databases and devices will be a big topic here!

The next big airport is in Cancun. With direct flights from USA, Canada, Germany, Spain, Belgium, Argentina and many more, this should be easy reachable for most attendees. The hotel shuttle can pick you up from the airport.

I visited PauseOnError conference before in Berlin and Cleveland. Mexico as location has a big advantage and that is immigration. Not everyone can get the Visas for USA or Europe, so it may be easier to get to Tulum for some attendees. And for South American visitors, I expect this to be a cheaper alternative than FileMaker DevCon in Orlando.

Real Studio plugins on demand


The last version of Real Studio was released over six years ago. We still build our plugins for support with Real Studio (and REALbasic), but don't put them on the public download site anymore.

A few customers still need to use Real Studio for various reasons, but 99% of the plugin users are now using Xojo.

If you need new plugins for Real Studio or REALbasic in the future, please email us to get the current link to download them. We'll keep you on a list, so we can inform you if the download link changes or anything to the plugin related to the use with Real Studio or REALbasic.

Eventually there will be the day where we can stop building them.

MBS Xojo Plugins, version 19.0pr9


New in this prerelease of the 19.0 plugins:
  • Updated to DynaPDF to version 4.0.25.71.
  • Changed default SQL options for connecting to FileMaker via ODBC so it works out of the box.
  • Changed DynaPDFMBS.Optimize to use in memory flag by default unless you change it.
  • Added index parameter for IORegistryMBS.PerformanceStatistics function.
Download: monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

MBS FileMaker Plugin, version 9.0pr9


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

Booked for XDC 2019


We are signed up for the 2019 Xojo Developer Conference. See you 1st to 3rd May 2019 in Miami, Florida. Stefanie will join me on the trip and I will present about what is new in our MBS Plugins.

The Marriott Biscayne Bay is located in the north side of Miami downtown and is a convenient location to reach most of Miami easily. Registration is possible and current rate is $899 for the ticket.



The session list has been published. An impressive list with a lot of new speakers. Check your schedule and get a ticket soon, if you can find the time to come.

Use Apple Maps in your app


With Apple Maps support coming for MBS Xojo and FileMaker Plugin you can even get 3D flyover hybrid snapshots:



This example renders with MapType=HybridFlyover with a camera set to 40.7457172/-73.9941266 coordinate. The distance is set to 3000 meter, the pitch is set to 70 degree and heading is at 28 degree. Please try soon with next prerelease or next week with final release.

Smileys and UTF32


Here a few smileys:

😀😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😑😒😓😔😕😖😗😘😙😚😛
😜😝😞😟😠😡😢😣😤😥😦😧😨😩😪😫😬😭😮😯😰😱😲😳😴😵😶😷

Do you see all 56?
Well, in our plugins we have functions to encode text to HTML and it didn't work for those smileys. The reason is that those are outside the normal 16-bit unicode range. They need 2 characters to encode in UTF-16 format. Most functions in our plugins don't care for this details. Normally it doesn't matter as we pass through texts. But for encoding to HTML we need to process text in UTF-32 well. So plugin needs to decode 16bit character pairs to make sure they are encoded correctly.
After a couple of hours work on our plugin's text handling you can enjoy plugins doing it right!

See Text.EncodeToHTML function in MBS FileMaker Plugin and EncodingToHTMLMBS function in MBS Xojo Util Plugin.

FileMaker Server vs. MacOS Server


If you see an error message in FileMaker Server installer like this, you may need to remove or disable the built-in web server software to be able to install FileMaker Server.



So in order to disable it, you can dig into how to disable services in MacOS. But we found a simpler way. Just move the com.apple.serverd.plist out of the /Library/LaunchDaemons folder and restart the Mac.

We'd prefer to change the ports from either MacOS Server's web server or the FileMaker Server's web server, but both is not supported. As you may guess a lot of code simply expects https at port 443, so they don't even bother to offer you a way to enter a port number.

MBS FileMaker Plugin, version 9.0pr8


New in this prerelease of version 9.0 of the MBS FileMaker Plugin:
  • Added MapView functions to put map control on the layout for Mac and iOS.
  • Added MapView.Snapshot function to render map images.
  • Manually applied CURL fix: vauth/oauth2: Fix OAUTHBEARER token generation #3377 (for Mac)
  • Fixed bug with inline email text decoding and an extra space character sometimes.
  • Updated to DynaPDF to version 4.0.25.69.
  • Changed Printer.Print to prefer selecting exact match over beginning of text.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

MBS Xojo Plugins, version 19.0pr8


New in this prerelease of the 19.0 plugins:
  • Changed ICDeviceBrowserMBS destructor to call stop for you automatically.
  • Added nil check of saveRequest parameter for CNContactStoreMBS.executeSaveRequest function.
  • Manually applied CURL fix: vauth/oauth2: Fix OAUTHBEARER token generation #3377 (for Mac)
  • Fixed bug with inline email text decoding and an extra space character sometimes.
  • Updated to DynaPDF to version 4.0.25.69.
  • Fixed bug in FileListMBS, introduced in pr6.
  • Removed clock_gettime symbol for GraphicsMagick as that is not available before MacOS 10.11, bug introduced in pr4.
  • Fixed bug in NewCFObjectMBSFromXML introduced in earlier pr.
  • Added more clases for MapKit, so the framework is now completely covered in the plugin.
Download: monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

CURL change for email download via IMAP


Last year there was a little change in the CURL library for handling email downloads via IMAP. We used to download the list of email, get the index in the email box and download the email by passing the index with UID parameter in the URL. The first email in the mailbox is 1. If you delete email with ID 1, than the second email moves down to become the new first email.

Now since CURL version 7.62.0 from October, the default fetch is using the IMAP UID command. That means the IMAP server gives every email in the mailbox an unique ID which counts up for every new email coming in. The UID does not change if emails are moved or deleted, so we can address emails on the server much better. Now the new parameter is named UID and the old UID parameter is renamed MAILINDEX.

As you may guess, the old and new UID are not the name values, so existing applications with newer plugin fail to load emails. You can fix your script by changing UID to MAILINDEX. MBS FileMaker Plugin in version 9.0 for FileMaker and MBS Xojo CURL Plugin version 19.0 for Xojo have a mitigation to switch to MAILINDEX if the query via UID failed.

For newer projects we recommend to do the lookup of the emails in the mailbox with UID FETCH and get the emails with unique IDs. Next we recommend to use BODY.PEEK instead of just BODY to avoid emails being marked as read automatically. When switching to BODY.PEEK you can remove workarounds which removed the seen flag. And you can include options like INTERNALDATE for the date of the email and/or RFC822.SIZE for the email size:

UID FETCH 1:* (FLAGS INTERNALDATE RFC822.SIZE BODY.PEEK[HEADER.FIELDS (Message-Id DATE FROM SUBJECT TO SENDER REPLY-TO CC BCC)])

As you see we include a few headers fields in this sample query.
The result looks like this:

* 1 FETCH (UID 103 FLAGS (\Seen $junk) INTERNALDATE "06-Apr-2018 19:42:11 +0200" RFC822.SIZE 2091 BODY[HEADER.FIELDS (MESSAGE-ID DATE FROM SUBJECT TO SENDER REPLY-TO CC BCC)] {214}
From: Christian Schmitz
Subject: Hello World
Message-Id: <6F3B718F-8427-4EFB-B291-106A8ABFC1AA@monkeybreadsoftware.de>
Date: Fri, 6 Apr 2018 19:42:05 +0200
To: test@macsw.de

)

Now you can parse that easily. But for our FileMaker plugin we made a new function CURL.GetResultAsEMailList to parse the list and return as JSON. The JSON looks like this:

[{
    "Index":   1,
    "UID":   103,
    "Size":   2091,
    "InternalDate":   "06-Apr-2018 19:42:11 +0200",
    "URL":   "imap://imap.macsw.de/INBOX;UID=103",
    "Flags":   ["Seen"],
    "Subject":   "Hello World",
    "Message-Id":   "<6F3B718F-8427-4EFB-B291-106A8ABFC1AA@monkeybreadsoftware.de>",
    "Addresses":   [{
        "Type":   "from",
        "Email":   "testing@monkeybreadsoftware.de",
        "Name":   "Christian Schmitz"
      }, {
        "Type":   "to",
        "Email":   "test@macsw.de",
        "Name":   ""
      }],
    "Date":   "06.04.2018 09:42:05"
  }]

This JSON contains all the parsed values. We convert the date to the timestamp for FileMaker into local time zone. The subject lines and names are decoded if needed. For each email we include the URL to the email for easier download. Please try the new functions for UID fetch and let us know how you like them.

MapKit Framework for Xojo


After weeks of work, the new MapKit plugin for MacOS is done. We have all the features included and got a few example projects for you. One example shows the MapKit control, one to search for local items and one to get directions.

The classes include support for
  • Showing map with standard, hybrid or satellite.
  • Adding annotations like pins or lines
  • Adding overlays like colored areas.
  • Using customized renderes for overlays
  • Get directions for routes
  • Calculate expected time of arrival.
  • Format distances as localized text
  • Do local search query for finding items
  • Show suggestions for auto complete for local search
  • Control camera for fly over
  • Render snapshots of maps
  • Show user location
(more)

FileMaker Conference dotfmp.berlin 2019


Did you sign up for FileMaker Conference dotfmp.berlin 2019?

This conference is organized by Egbert Friedrich and takes place from 6th to 8th June 2019 in Berlin, Germany.

As the conference is in english, this is your chance to meet people from around the world at a conference in Europe. And for a lot of people it's easier to get to Berlin than to cross the atlantic and deal with US immigration officers.

Who
dotfmp is an effort of various leading European FileMaker Developers. It is meant to bring all kinds of higher level developers together to share knowledge, educate and challenge each other.
When
dotfmp starts at the 5th June 2019 in the later afternoon with a relaxed "Beer and Sausages" in one of the most famous Berlin Beergarden. The session days itself last from 6th until 8th June with various socializing events in the evenings. Additionally we offer support on 10th June to see more from Berlin and its surroundings.
What
dotfmp is a 3 Day-Unconference, Meetup, Hangout or Barcamp. It is an informal and self-organized effort to meet on a personal base.
Where
dotfmp takes place in one of the most famous spots in Berlin. The GLS Campus is located in a vibrant area with a very short walking distance to all the famous restaurants.
Why
We feel there are far too few possibilities to talk to, learn from, and hangout with fellow developers in a relaxed and informal environment. And we'd like to share work and get feedback from people chewing on similar challenges.


If you like to join the conference and present something, please register soon.

xDev 17.1 Issue


The January/February (17.1) issue of xDev Magazine is now available. Here's a quick preview of what's inside:

Xojo UK Meetup by Paula Roberts (and Paul Budd)
Recently a small group of Xojo developers decided to get together for an informal meetup to show off their apps and discuss problems and solutions.

iOS Success by Jérémie Leroy (and Marc Zeedar)
If you're having trouble getting your iOS app noticed, Jérémie has some great tips for you.

Beyond JSON by Tim Dietrich
Using JSON to retrieve data from a web app is great, but what if you want something else, such as a graphic? Tim creates a web app that serves barcodes.

Vague Errors by Marc Zeedar
Marc discusses the problems of unhelpful error messages from both the developer and user perspectives.

Building a data-list Controller by JC Cruz
Jose shows how to build a data-list controller.

PLUS: Threads, Hour of Code, Best of the Web, Xojo Dojo, Xojo 2018r4, and more!

FileMaker Stammtische im Januar


Im Januar gibt es mindestens noch die folgenden FileMaker Stammtische: Herzliche Einladung an alle FileMaker Entwickler bei einem Stammtisch vorbeizuschauen!

Wir versuchen in Karlsruhe und Bonn vorbei zu schauen.

European Xojo Conference Upgrades


The next European Xojo conference organized by Monkeybread Software is going to be a significant upgrade to previous conferences from us. An excellent hotel, a ballroom for us, two tracks and space for even more attendees.



We have booked a full ball room in Cologne which can be split into two rooms. The ball room can fit over 150 people so we have plenty of space, even if we split it. We ordered of course two projectors and microphones as well as speakers. The advantage of taking the whole ball room is that we can be there on our own. No other group will fight with us for the coffee breaks. In Munich were one of three groups and the break area was too small. So we had to schedule to take break when others couldn’t have a break. This is different for Cologne, where we will have our own space in front of the ballroom. In the foyer we have all day coffee, a tea station, snacks for the breaks as well as a refrigerator with cold soft drinks.

We hope to find speakers to fill the schedule and have two tracks in parallel. The big sessions like the keynotes will be in the full ballroom. But for smaller sessions we split and than we could for example get a database and a mobile track.

For the dinner on Thursday we got an excellent party location. The Höhnerstall is a two story event location with a fantastic view to the city center. We rented the place for our group, so we can enjoy ourselves. Buffet and an open bar will as well as the brewery tour will make a nice conference night. We expect a couple of you to bring partners and maybe even kids there, so please let us know how many you have for that night. (more)

MBS FileMaker Plugin, version 9.0pr7


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

MBS Xojo Plugins, version 19.0pr7


New in this prerelease of the 19.0 plugins: Download: monkeybreadsoftware.com/xojo/download/plugin/Prerelease/.
Or ask us to be added to our shared Dropbox folder.

Older blog entries:

2019-01-04 Schedule Notifications with MBS Plugin in iOS
2019-01-04 New ReplaceLineEndingsMBS function
2019-01-03 FileMaker Magazin - MBS Artikel
2019-01-02 MBS FileMaker Plugin, version 9.0pr6
2019-01-02 MBS Xojo Plugins, version 19.0pr6
2019-01-02 FileMaker calculations with MBS Plugin help links
2019-01-02 MapKit upgrade coming to Xojo
2018-12-24 Merry Christmas
2018-12-24 Ten month til European MBS Xojo Conference 2019 in Cologne
2018-12-23 MBS FileMaker Plugin, version 8.6pr5
2018-12-23 MBS Xojo Plugins, version 18.6pr5
2018-12-21 SQLite Manager and Doctor updated
2018-12-21 FileMaker Konferenz 2019 in Hamburg
2018-12-21 MBS Booth at FileMaker Developer Conference 2019
2018-12-19 Arbed 1.8.11 updated for Xojo 2018r4
2018-12-18 European MBS Xojo Conference 2019 in Cologne
2018-12-18 MBS FileMaker Plugin, version 8.6pr4
2018-12-18 MBS Xojo Plugins, version 18.6pr4
2018-12-17 Use of TAPI functions in MBS FileMaker Plugin
2018-12-16 MBS Xojo Conference Survey Results

Archives

Jan 2019
Dec 2018
Nov 2018
Oct 2018
Sep 2018
Aug 2018
Jul 2018
Jun 2018
May 2018
Apr 2018
Mar 2018
Feb 2018
Jan 2018
Dec 2017
Nov 2017
Oct 2017
Sep 2017
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