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

Black Friday Sales

After Thanks Giving in the USA a lot of companies do give some discounts. So currently you can benefit from this Xojo related offers:
  • Save 20% on all MBS Plugins with coupon code BlackFriday2017
  • Save 20% on Xojo related products from BKeeney Inc..
  • Save 20% on Xojo Developer Magazine with coupon code CYBERMONDAY
  • Save 20% on Xojo Library with coupon code CYBERMONDAY
  • Save 20% on all Xojo licenses and third party items. See Xojo Store
  • Save 20% on Xojo related products from Gate61.
  • Save 20% on Xojo related products from AprendeXojo with coupon code Blackfriday2017.
  • Save 20% on Xojo related products from piDog with coupon code BLACKFRIDAY2017.
  • Save 50% on gPDF from Dave Sisemore.
  • Save $500 by getting the Omegabundle Mini for Xojo Web 2017.
  • Save $100 on Xojo Developer Conference ticket till February 15th 2018 (early bird pricing).
  • Save 300 € on MBS Xojo Developer Conference ticket till January 6th 2018 (very early bird pricing).

All savings should be available from Friday to Monday.

Omegabundle Mini for Xojo Web 2017 Dev Tools Bundle Released

Get the best developer tools and third party components for the Xojo Web web application development for limited time. Ends 12/15/2017.

Omegbundle Mini for Xojo Web 2017 is a collection of 40+ of the most useful tool sets, add-ons and components for use with Xojo Inc's Xojo development environment. If purchased individually, the savings of the bundle is over $547. Omegabundle Mini for Xojo Web 2017 costs $199.

This is a very limited special offer available from November 24, 2017 (Black Friday) through December 15, 2017.

Xojo is an award-winning, cross-platform development tool for the Desktop (OS X, Windows, Linux), Web, iOS (iPad/iPhone) and Raspberry Pi. With Xojo, you can create native applications by using drag-and-drop to build your user interface and then one straight-forward programming language to enable the functionality. Xojo is powerful and modern, yet easy to use and learn. Download Xojo today and see for yourself.

Xojo Web lets you build your web app user interface with drag and drop. With built-in support for graphics, database servers, internet protocols and more, you can build anything. If you have been thinking about making the leap from desktop or mobile Xojo development to web, Omegabundle Mini for Xojo Web 2017 gives you all the best third party tools at one very good price!

Included Products
  • GraffitiSuite Web Edition. Over 40 controls and classes cover just about all your user interface needs for building Xojo Web applications. Regularly $199.
  • Monkeybread Web Starter Kit. Everything you need to begin creating your first Xojo Web app. Regularly $149.
  • LeRoy Software Web Bundle. Featuring Web Calendar View, Web Chart View, and four other controls. Regularly $199.
  • Valentina Studio Pro. The ultimate reports designer and professional database administration tool. Participants in Omegabundle for Xojo 2016 & 2017 can instead upgrade to UNIVERSAL. Regularly $199 or $239.
You can find additional information about Omegabundle Mini for Xojo Web 2017 from the Omegabundle website or order now through the Paradigma Online Store. Please allow up to three business days for all components to be supplied by email by participating vendors.

MBS FileMaker Plugin, version 7.5pr9

New in this prerelease of the 7.5 MBS FileMaker Plugin:
  • Improved speed of some routines to avoid black script list in workspace. Due to delay, macOS didn't wait for drawing to finish and showed black buffer.
  • Enabled CoreLocation and CLGeocoder functions for iOS.
  • Added WordFile.Append.
  • Changed ImageCapture to better handle device disconnect while scanning.
  • Changed PDFKit preview rendering for Mac to not rotate preview to be consistent to FileMaker showing the PDF.
  • Improved OCR.WriteToPDF to reduce font size if needed to make sure words are not too wide.
  • Added help menu entries for macOS to go to our website.
  • Added shell functions to asynchronous running where you get a script trigger when done.
Download at monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.

MBS Xojo Plugins, version 17.5pr9

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

DynaPDF Funktionen im MBS FileMaker Plugin

ThumbnailBei dem FileMaker Experience Event in der Schweiz habe ich eine kleine Präsentation über das MBS Plugin vorgetragen.

Das Video ist jetzt verfügbar: DynaPDF Funktionen für FileMaker
(Deutsch und 12:33 Minuten)

Falls Sie Fragen zum MBS FileMaker Plugin haben, melden Sie sich bitte bei uns.

Der nächste FileMaker Event wäre die MBS FileMaker Schulung am 7. Dezember bei der Denkform.

FileMaker Experience Event in der Schweiz

Für den 21. November 2017 organisierte die Medio-Ingeno AG den zweiten FileMaker Event in Meilen. Der erste war ja die FileMaker 16 Vorstellung und wir sind mal gespannt, ob es im Mai 2018 wieder einen Event zu FileMaker 17 gibt.

Mit über 50 Gästen war der Raum gut gefüllt und die die 6 kurzen Vorträge fanden reichlich Applaus. Die sechs Vorträge:
  • PDF Funktionen mit MBS Plugin und DynaPDF mit Christian Schmitz
  • iBeacons und FileMaker mit Alexis Gehrt
  • Adressen über GoogleMaps mit FileMaker abfragen (REST-API / JSON) mit Rico Meier
  • ScriptLog: Was der Debugger nicht kann mit Christian Sedlmair
  • Ergebnismenge in FileMaker zwischenspeichern (FoundSet) mit Martin Schwarz
  • FileMaker als Service-/Datenquelle (Data API) mit Christoph Dunkake
Viele nutzen die Möglichkeit Kollegen aus der Schweiz zu treffen und über aktuelles zu sprechen. Michael Valentin, Business Development Manager der FileMaker GmbH, stand für Fragen zur Verfügung und gab reichlich Auskunft.

Vor dem Abendevent hatte ich noch eine MBS Plugin Schulung angeboten. Wir haben uns einen Überblick Über das MBS Plugin verschafft und dann nachmittags ein Beispiel für die Dokumentenverwaltung zusammen gebaut. Unter anderem mit Anbindung von Flachbett bzw. Dokumenteneinzugsscanner mit ImageCapture (Mac) und WIA (Windows). Dazu dann noch OCR für die Texterkennung zur Volltextsuche und PDF Erstellung.

Wir freuen uns viele wieder zu sehen, eventuell Ende Mai, falls FileMaker wie angekündigt jetzt jedes Jahr eine neue Version raus bringt. Da die Cloud Update wohl eher alle 6 Monate kommen, sollte die Frühlingsversion bis dahin eventuell auch fertig sein. Und vermutlich haben wir im MBS FileMaker Plugin auch ein paar Frühlingsneuigkeiten zum Vorführen. Siehe fmnext.ch

Danke an das Team der Medio-Ingeno AG für die Organisation, Danke den Vortragenden für ihre Bemühungen, FileMaker für das Senden vom Michael Valentin und allen Teilnehmern für ihr Kommen.

Xojo Web Apps on FileMaker Cloud Server

Your client or you yourself may have a FileMaker Cloud server. Beside using it as a way to host FileMaker solutions you can actually do more with that server.

Data Files on FileMaker Cloud

Did you know you can put data files to be delivered by Apache web server into the /FileMakerData/HTTPDocs/httpsRoot folder?
You may need to login via ssh and set permissions on the folder to be writeable for you. Just inside the httpsRoot folder, you can upload any file you like to offer for download:


In this folder you can upload PDF documents or video files and than link them in emails or a WebViewer.

As an example, you can use MBS Plugin functions in a script to write files into this folder:

MBS("Text.WriteTextFile"; "/FileMakerData/HTTPDocs/httpsRoot/test.txt"; "UTF-8")
MBS( "Container.WriteFile"; "/FileMakerData/HTTPDocs/httpsRoot/test.pdf"; MyTable::MyContainer )

Now the files there are distributed by Apache Server to all users with the right URL, e.g.


This can greatly reduce the load on your FileMaker server for distributing files as well as allow you to provide files to users without using a FileMaker connection. If needed your solution can also write an .htaccess file to provide a simple password protection to a folder.

Xojo Console Apps

You can build Xojo console apps for Linux 64-bit, upload them to the FileMaker Cloud Server and just run it via ssh. That is no problem and no additional libraries are needed, unless you use a declare or a plugin with dependencies. For example some MBS Plugins for LDAP or SQL connections need additional libraries.

Xojo Web App as Standalone

You can build Xojo Web Apps and run them on this servers in addition to your FileMaker Web Direct solution.
A stand alone server can run there and use a higher port number. To allow the service, you need to login and run the app as daemon, e.g. with a & operator. See Xojo’s deployment documentation for linux for details. For your AWS server, please check security group settings (external firewall) and add a rule to allow the port. Also login to your server via ssh and add a rule to the internal firewall:

sudo firewall-cmd --permanent --zone=public --add-port=9001/tcp
sudo firewall-cmd --reload

This example open port 9001. For me port 9000 is blocked by some other service.
Now you can use your web app with an URL like http://yourname.filemaker-cloud.com:9001/ in a browser.

Xojo Web App with CGI

While stand alone can be more responsive by using web sockets and skipping apache + cgi as extra layers, you may prefer to use apache. The apache Webserver will do the SSL encryption and the CGI script will automatically launch the Xojo app on demand.

First, you need to install perl cgi module:

sudo yum install perl-CGI

And edit httpd.conf in /FileMakerData/HTTPConf to add another load module call:

LoadModule cgi_module /usr/lib64/httpd/modules/mod_cgi.so

Further down, you need to uncomment the AddHandler CGI line:

AddHandler cgi-script .cgi

Further down, we also need to allow ExecCGI for the folder, so you add this directory configuration:

<Directory "${HTTP_ROOT}/htdocs/httpsRoot">
Options +ExecCGI +FollowSymLinks +MultiViews
AllowOverride All

Restart server here to apply changes. I didn’t figure out the command to restart just apache, but if you know, please post a comment.

Finally you can upload your Xojo web app to a subfolder in /FileMakerData/HTTPDocs/httpsRoot/ and start it. Permissions must be correct: directory writeable, config.cfg writable and cgi and app itself be executable. But otherwise it should just work as like any other web deployment.


By having both FileMaker and Xojo apps on the same server, allows us to intermix both for building solutions. Using one server for both instead of two is a great cost saving. FileMaker 16 platform allows rapid database app design and provides REST Data interface as well as functions based on CURL to query services. With Xojo we can build custom services to run on the same machine and do things like pushing data from/to FileMaker. We’ll see what great solutions can be build by combining Xojo with FileMaker here in the future.

xDev Magazine and xDevLibrary's Huge Black Friday/CyberMonday Sale

We got notice about another sale for this week:

Thanksgiving is here and you get to save in our biggest sale of the year this weekend! Friday through Monday (November 24-27), take advantage of our generosity and get 20% off just about everything at our stores!

Just use coupon code CYBERMONDAY to get the discounted price during checkout.

For xDev Magazine, this means 20% off subscriptions, renewals, books, bundles, and more! The only limitation is the minimum order amount must be at least $25 and already-discounted bundles (such as the popular "Welcome to Xojo" bundle) are excluded.

XDevMag Store - Subscription Renewals

For xDevLibrary, you can save 20% on all digital books, articles, tutorials, and more -- everything offered on the store! Just use coupon code CYBERMONDAY to get the discounted price during checkout.

Xojo Developer Library

This is a once-a-year sale, but it only lasts through CyberMonday (Nov. 27, 2017). Hurry to take advantage of the great deals!

Big Xojo Sale For Black Friday

We got an announcement for the Black Friday sale at Xojo's store:

This Black Friday sale is THE biggest sale of the year for developers! Everything Xojo is 20% off for one weekend only!* That means new licenses, renewals and upgrades to Xojo Pro are ALL 20% off this Friday, November 24th through Monday, November 27th! In addition, all 3rd party products and the XDC Training videos are 20% off! Shop now!

Xojo licenses are available in the following options:

  • Xojo Pro - Get one license for Desktop, Web, iOS and Raspberry Pi, plus many extras like priority support and beta access. Also, your Xojo Pro license will work on up to 3 machines. Bonus, all current Xojo Pro users will automatically get access to Android when it is available.

  • Xojo Desktop - Develop and build apps for macOS, Windows and Linux.

  • Xojo Web - Build web apps that can run on Linux, Windows or macOS servers and support Chrome, Firefox, Safari and Internet Explorer.

  • Xojo iOS - Create native iPad and iPhone apps.

  • Xojo Raspberry Pi - Build console (non-GUI) applications that can run on Raspberry Pi.

Interested in upgrading to Xojo Pro? You can check your upgrade price here and come back during the sale to save an additional 20%. While you are there, grab some of the powerful 3rd party products to help expand your development!

And please, don't forget to help spread the word - tell your friends about this sweet deal to get them started with Xojo! Visit Xojo.com on Friday for the biggest Xojo sale ever! 

Xojo offers a 90-day money back guarantee. If you are not satisfied with your purchase you can get a full refund.

If your license is set to auto-renew during the sale, you don't need to do anything. Your auto-renewal will automatically process with the Black Friday discount.

PS: MBS Plugins are on sale on Xojo's store, too. But if you prefer to buy directly from us, we'd love to offer the same discount.

MBS Xojo Plugins, version 17.5pr8

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

MBS FileMaker Plugin, version 7.5pr8

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

Transparent Screensaver for macOS

Still my favorite screen saver. Have you tried it?

Nickenich, Germany - Monkeybread Software today is pleased to announce the release of Transparent Screensaver 2.4, an update to their popular screensaver utility for Mac OS X. The utility adds a variable transparency overlay screensaver to the list of screensavers in Preferences. With the screensaver running at 50% the effect is one of dimming the desktop and all open windows; 0% is black; 100% is completely transparent. With the screen lock option engaged, the user can continue to view their iMessage Buddy List, iTunes Library, or any open process or window, while waking their computer from screen saver mode is password protected.

If the user wishes to remain logged in to their computer, but prevent others from using it, he can lock the screen. This is done in System Preferences - Security - General. By selecting "Require password to wake this computer from sleep or screen saver," password authentication will be necessary to leave screen saver mode. With Transparent Screensaver the user can continue to view the desktop and all open windows while the computer remains inaccessible to others, screen locked.

Feature Highlights:
  • Transparent screensaver dims screen
  • Screen may be locked in transparent screensaver mode
  • Screen may be monitored while computer is inaccessible in screen saver mode
  • Prevents burn-in, maintains privacy, and protects security
  • Simple to use and install utility
Version 2.4 makes Transparent Screensaver Retina compatible. The utility is self-installing after download, allows variable transparency from 0% to 100%, supports a variable screen update rate of 0 to 30 frames per second, and includes two additional screensavers: pure white and pure black. Although screen burn-in (permanent damage to a monitor from continuous display of a single image over many hours) is less of a problem with modern LCD screens than CRTs, Apple still provides an optional screensaver function when there has been no input for three hours or less. At 50% or less transparency, Transparent Screensaver provides both protection from burn-in and the ability to monitor a locked screen.

"MBS Transparent Screen Saver is an ideal solution to privacy, security, and burn-in issues in Mac OS X," stated MBS CEO Christian Schmitz. "It incorporates all the benefits of a screensaver, while preserving screen visibility."

System Requirements:
  • Mac OS X 10.5 or later including macOS 10.13 High Sierra
  • 242 KB
Pricing and Availability:
MBS Transparent Screensaver 2.4 for Mac OS X is currently available as shareware, which is free to test for 30 days. A license is available from MBS for 15 US Dollars, or 10 Euro. Review copies are available on request. This update is free for all registered users.

Convert to MP3 with new Shell commands and ffmpeg

Today we provided an example to a FileMaker developer. The job is to convert the sound from a video (or audio) file to an mp3 file. As we recently got the new Shell functions, we can now use ffmpeg easily in FileMaker with a script like this: 

Set Variable [ $shell ; Value: MBS( "Shell.New" ) ] 

Set Field [ Shell::Output ; "" ] 

Set Field [ Shell::Error ; "" ] 

Commit Records/Requests [ With dialog: Off ] 

# Where the app is:

Set Variable [ $executable ; Value: "/Applications/ffmpegX.app/Contents/Resources/ffmpeg" ] 

# option: overwrite file

Set Variable [ $s ; Value: MBS( "Shell.AddArgument"; $shell; "-y" ) ] 

# option: input file

Set Variable [ $s ; Value: MBS( "Shell.AddArgument"; $shell; "-i" ) ] 

# Path to input file

Set Variable [ $InputFile ; Value: "/Users/cs/Desktop/movie.m4v" ] 

# and output file

Set Variable [ $OutputFile ; Value: "/Users/cs/Desktop/sound.mp3" ] 

# Run it!

Set Variable [ $s ; Value: MBS( "Shell.Execute"; $shell; $executable; $InputFile; $OutputFile) ] 

Set Variable [ $error ; Value: "" ] 

Set Variable [ $result ; Value: "" ] 

If [ MBS("IsError") ] 

Show Custom Dialog [ "Failed to run" ; $s ] 


# Loop while app runs and collect messages


# Wait a second or till it quits

Set Variable [ $s ; Value: MBS( "Shell.Wait"; $shell; 1) ] 

# And read output

Set Variable [ $error ; Value: $error & MBS( "Shell.ReadErrorText"; $shell; "UTF-8") ] 

Set Variable [ $result ; Value: $result & MBS( "Shell.ReadOutputText"; $shell; "UTF-8") ] 

Set Field [ Shell::Error ; MBS( "Text.ReplaceNewline"; $error; 1) ] 

Set Field [ Shell::Output ; MBS( "Text.ReplaceNewline"; $result; 1) ] 

# exit when done

Exit Loop If [ MBS( "Shell.IsRunning"; $shell) ≠ 1 ] 

End Loop

# We are done

Commit Records/Requests [ With dialog: Off ] 

End If

Set Variable [ $r ; Value: MBS("Shell.Release"; $shell) ] 

As you see we prepare new shell and than you can loop and call Shell.Execute with the next input file. When launch works, we run a loop to wait for result and collect output from both channels, stdout and stderr. The messages are put in the fields and when the tool is done, we exit. The script is universel and can be used to run any shell tool on Mac, Windows and Linux. Just make sure the paths are correct.

The new Shell functions are coming with 7.5 release in the next weeks. You can try the beta today.

PS: Instead of wait, you can use also the FileMaker Pause Script Step to pause.

MBS Workshop in der Schweiz

Am 21. November 2017 findet eine MBS Schulung in Meilen am Zürichsee statt. Wir treffen uns ab 9 Uhr im Restaurant Löwen in einem separaten Schulungsraum. Nutzen Sie die Chance die 5000 Funktionen des MBS FileMaker Plugins kennen zu lernen und neue Ideen für Ihre FileMaker Lösungen mit zu nehmen.

Geplantes Programm:
  • Präsentation zum MBS Plugin mit einem Überblick über die Funktionalität.
  • Demonstration von neuen Funktionen in der Version 7.5 (beta).
  • Entwicklung einer Dokumentenverwaltung:
    • Scannen von Dokumenten mit verschiedenen Optionen, automatisch und mit Dialog.
    • Für Windows mit WIA Treiber
    • Für macOS mit ImageCapture Treiber
    • Ablage der gescannten Seiten
    • OCR der Seiten
    • Umwandlung in PDF Dokument mit PDFKit für Mac
    • Umwandlung in PDF Dokument mit erkanntem Text mit DynaPDF für Mac/Win/Linux
    • Ablage der PDFs mit Text für Volltextsuche
    • Suche in PDF Dokumenten
  • Web Formulare ausfüllen
    • Beispiel zum Ausfüllen von Formularen in einem Web Store als Arbeitserleichterung
    • JavaScript ausführen
  • Zeit für Fragen
Die Teilnahme kostet 150 Fr. und ist vor Ort zu bezahlen. Mittagessen im Restaurant inklusive.
Maximal 12 Teilnehmer. Anmeldung bei uns: Anmelden

Am gleichen Tag lädt die Medio-Ingeno AG zu einem FileMaker Event ein: fmnext.ch
Ab 17:30 Uhr gibt es im Gewölbekeller im Restaurant Löwen in Meilen ein buntes Programm mit Vorträgen zu FileMaker.

Batch Emailer Application for Xojo as a sample project

For over ten years I use my own email sending applications to send newsletter to a group of email addresses. I recently talked with other Xojo developers and maybe some of them like to use this application for their own needs. Please note that this app is developed over 10 years, most settings are hard coded and the app and code is not necessarily pretty.

But here are features:

You can copy & paste a list of emails addresses with tab separated name and possible info text to the text area on the left. Than you can put in plaintext in the textarea in the middle. There is a also a tab panel to include html if you want. But I send 99% of my emails with plain text only. You can pass a subject list in the textfield on the top. The debug checkbox allows you to send email to yourself to test. The paste button allows you to paste email text with subject line as first line to the fields.

On the right you have the log listbox with messages from sending. On bottom left you can add an attachment. You also enter on the bottom the sender email addresses. As you are Xojo developers, you can enter your defaults in the Xojo IDE of course. Send button starts sending emails. The delay checkbox allows you to send emails with a delay, so you are not marked as spam sender by too many emails per minute.

The application uses the MBS CURL Plugin to build emails and send them. We use the CURLSMultiMBS class to run several CURL connections in parallel and get emails send quickly. But we also use this multi interface to prepare thousands of emails and push them as needed to be sent.

Please modify send method (and other places) to match your needs. This includes putting your name everywhere, your smtp credentials and server, your email address, the recipient for debug sending and a few other things. The email can contain %name% for the name of the recipient as well as %text% for some extra text parameter in the email recipients list.

The application writes a few log files in the app folder for emails sent including all the CURL debug output. When email sending fails, you will see we reduce the recipient lines on the left to the ones failed. Usually we than try it again to see if they go through second time.

Download: massemailer.zip

Please try it, please modify it and let me know what you made from it!
I’ll include the example with MBS Plugins and if you have changes, I could include them.

MBS Workshop @ Denkform

In Zusammenarbeit mit der DenkForm GmbH bieten wir eine Schulung zum MBS Plugin an. Am 7. Dezember 2017 (auch 1. März 2018) können Sie in Hofheim am Taunus an einer eintägigen Schulung teilnehmen. Lernen Sie die über 5000 Funktionen einmal näher kennen und wie Sie sie effektiv einsetzen. Sammeln Sie Ideen und verbessern Sie ihre FileMaker Lösungen durch den Einsatz unseres Plugins.

Das Monkeybread Software Plugin für FileMaker stellt eine vielseitige Erweiterung der eigenen Datenbank dar. Der Kurs bietet nicht nur einen tiefgreifenden Überblick in die Benutzung und Entwicklung, sondern bietet auch die Chance das Plugin günstiger zu erstehen.
  • Einführung in das MBS Plugin
  • Überblick über die Funktionsbereiche
  • Neues im MBS Plugin dieses Jahr und in der dann aktuellen Version 7.5
  • Rundgang durch ausgewählte Beispiele
  • Gemeinsames Implementieren von Plugin Funktionen in eine Datenbank:
  • Upload/Download mit CURL auf einen HTTP/FTP Server
  • Ausfüllen eines Formulares auf einer Webseite
  • Bilder bearbeiten
  • PDF Verarbeitung
  • Druckerfunktionen
  • Adressbuch und Kontakte abfragen bei Mac OS X.
  • Fragen und Antworten
Die Teilnahme kostet 99 Euro inkl. MWSt. und Verpflegung. Trainer ist der Plugin Entwickler und Monkeybread Software Geschäftsführer Christian Schmitz persönlich.

Details und Anmeldung bei der Denkform.

Im Anschluss besteht die Möglichkeit zum FileMaker Rhein-Main Stammtisch zu kommen. Bei einem leckeren Abendessen im Restaurant Bella Bari in der Nähe der Denkform können Sie sich mit anderen FileMaker Entwicklern aus der Gegend austauschen.

PS: Die Mindestteilnehmerzahl wurde erreicht und die Schulung findet statt.

Session ideas for next MBS Xojo Conference

During the London conference we got a few ideas for sessions:
  • Screen Layout best practice
  • Intuitive design of applications
  • Weak areas of Xojo and best practice to handle them
  • Xojo Versions, why you may use one version over the other for a project
  • GDPR, the new data protection rules in Europe and best practices
  • Brexit and how it affects your business as UK/EU developers
  • Tips to optimize projects for performance
  • Beginner Session to introduce Xojo to people new to the platform.
    (This could be put in a separate room and run in parallel to a advanced topic)
Maybe someone likes to volunteer and present about them?
Or you have more great ideas?

As I make conferences for the community, you are welcome to join and do great presentations. In Berlin I was quite happy to have so many presenters that I could reduce my own part to only one session. A thing that did not work for London, where I had to make three sessions myself to fill the schedule.

The next Xojo conference in Europe will be the MBS Xojo Conference in Munich in September 2018. See you!

Parsing VCard file

Today we had a client who needed to read in VCard files. The following script shows an early version of the script which loops over the desktop folder to import VCF file. For testing there was only one file there, so we skipped creating record as we simply wrote always in the same record.

# Loop over files on desktop

Set Variable [ $folder ; Value: MBS( "Folders.UserDesktop" ) ] 

Set Variable [ $files ; Value: MBS( "Files.List"; $folder; 1+4; ".vcf" ) ] 

If [ MBS("IsError") = 0 ] 

Set Variable [ $count ; Value: ValueCount ( $files ) ] 

Set Variable [ $index ; Value: 1 ] 

If [ $count > 0 ] 


# Read in vcard

Set Variable [ $filename ; Value: GetValue($files; $index) ] 

Set Variable [ $filepath ; Value: MBS( "Path.AddPathComponent"; $folder; $filename ) ] 

Set Variable [ $text ; Value: MBS( "Text.ReadTextFile"; $FilePath; "UTF-8" ) ] 

If [ MBS("IsError") = 0 ] 

# Normalize end of line characters

Set Variable [ $text ; Value: MBS( "Text.ReplaceNewline"; $text; 1) ] 

# Create new record here

# Process all text lines

Set Variable [ $LineCount ; Value: ValueCount ( $text ) ] 

Set Variable [ $LineIndex ; Value: 1 ] 


Set Variable [ $Line ; Value: GetValue($text; $lineindex) ] 

If [ Left ( $line ; 2 ) = "N:" ] 

# Name

Set Variable [ $z ; Value: Middle ( $line ; 3; Length ( $line )) ] 

Set Variable [ $list ; Value: MBS( "List.CSVSplit"; $z ) ] 

Set Variable [ $FirstName ; Value: GetValue($list; 1) ] 

Set Variable [ $SureName ; Value: GetValue($list; 2) ] 

Set Field [ CON::nameGiven ; $firstName ] 

Set Field [ CON::nameFamily ; $sureName ] 

Else If [ Left($line; 6) = "EMAIL;" ] 

# todo

Else If [ Left($line; 27) = "PHOTO;ENCODING=b;TYPE=JPEG:" ] 

# Photo as base64 coded JPEG:

Set Variable [ $data ; Value: Middle ( $line ; 28; Length ( $line )) ] 

Set Variable [ $LineIndex ; Value: $LineIndex + 1 ] 


Set Variable [ $Line ; Value: GetValue($text; $lineindex) ] 

Exit Loop If [ Left ( $line ; 1 ) ≠ " " ] 

Set Variable [ $data ; Value: $data & ¶ & $line ] 

# next

Set Variable [ $LineIndex ; Value: $LineIndex + 1 ] 

Exit Loop If [ $LineIndex > $LineCount ] 

End Loop

Set Variable [ $LineIndex ; Value: $LineIndex - 1 ] 

Set Variable [ $image ; Value: Base64Decode ( $data; "image.jpg" ) ] 

Set Field [ CON::imageOrLogo ; $image ] 

End If

# next

Set Variable [ $LineIndex ; Value: $LineIndex + 1 ] 

Exit Loop If [ $LineIndex > $LineCount ] 

End Loop

# Commit record

End If

# next

Set Variable [ $index ; Value: $index + 1 ] 

Exit Loop If [ $index > $count ] 

End Loop

End If

End If

To look in detail, we use Files.List to list the files. Mode 4 for visible items only and 1 to limit to files. We loop over all file names and use Path.AddPathComponent to add file name to the folder path. For the text we read it and replace all end of line characters with the mac version. When we hit the name entry in the lines, we get the first and last name. For a photo we need to collect all the lines for base64 decode and than display image in container. 
The script is not yet ready and probably needs some more work to cover all keys, but it may be a good start for other people. 

MBS Xojo Plugins, version 17.5pr7

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

MBS FileMaker Plugin, version 7.5pr7

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

Older blog entries:

2017-11-13 MBS Xojo products overview from London Conference
2017-11-12 Upcoming changes for 2018 in MBS Plugins
2017-11-11 5000 Functions in MBS Plugin
2017-11-10 Greetings from MBS Xojo Conference in London
2017-11-08 Prefetching records from databases
2017-11-07 FileMaker Experience Event in der Schweiz
2017-11-06 This week Xojo Training and Conference in London
2017-11-06 MBS FileMaker Plugin, version 7.5pr6
2017-11-06 MBS Xojo Plugins, version 17.5pr6
2017-11-05 SyntaxColoring in FileMaker for macOS High Sierra coming
2017-11-04 Transparent video playback in Xojo
2017-11-04 Trial license keys
2017-11-03 Import Calendar Items into FileMaker
2017-11-02 Disable edge touch gestures in full screen windows
2017-11-02 Video to show CoreML functions in MBS Plugin
2017-11-01 xDev Magazine Issue 15.6 Issue
2017-11-01 MBS FileMaker Plugin, version 7.5pr5
2017-11-01 MBS Xojo Plugins, version 17.5pr5
2017-11-01 CSV functions in MBS FileMaker Plugin
2017-10-30 Formatted Text Control 3.1.9


Nov 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