Noch 7 Monate bis zur FileMaker Konferenz 2020 in Malbun (Liechtenstein) und zur MBS FileMaker Plugin Schulung am Mittwoch vorher.
Vom 17. bis 20. Juni 202028. bis 31. Oktober17. bis 19. Juni 202122. bis 24. Juli 2021 findet die elfte deutschsprachige FileMaker Konferenz in Malbun, Liechtenstein statt. Aktuell werden Sprecher gesucht mit interessanten Vorschlägen für Sessions. Bitte reichen Sie Ihre Vorschläge bis zum 10. Dezember 2019 einreichen. Wir haben schon fleissig vorbereitet und diesmal fünf Vorschläge eingereicht.
Die Veranstalter vom Verein FM Konferenz erwarten auch 2020 rund 120 Entwickler, Anwender, IT-Fachleute und Entscheidungsträger aus Wirtschaft, Bildung und Verwaltung. Rund um über 20 Fachvorträge und Workshops wird es viel Zeit zum Vernetzen in den gemeinsamen Pausen und beim Abendprogramm geben.
Für den Deutschsprachigen Raum ist diese Konferenz das Treffen des Jahres. Hier finden Sie vom Anfänger bis zum Profi Kontakte zu anderen Entwicklern. Lernen Sie was es neues gibt, lernen Sie wie man Probleme löst und erzählen Sie den FileMaker Mitarbeitern was Sie sich für die Zukunft bei FileMaker wünschen!
Die MBS Plugin Schulung vorher findet voraussichtlich am 17. Juni 202016. Juni 202121. Juli 2021 statt (im gleichen Hotel).
Interesse an mehr? Die Claris Engage Europe 2020 vom 26. bis 28. Oktober 2020 bietet deutlich mehr Vorträge, mehr internationale Teilnehmer und vor allem FileMaker Mitarbeiter aus den USA, die gerne mal einen Blick unter die Haube von FileMaker bieten.
Less than four months till the XOJO.CONNECT 2020 in Nashville, Tennessee, USA. In the Black Friday and Cyber Monday sale you can get a ticket $200 off from the regular $999 ticket price.
It will be held March 25-27, 2020 in Nashville, TN at the Sheraton Music City Hotel. This conferences is the best place to meet Xojo developers from around the world in real live, make contacts, present yourself as expert and learn what is new in Xojo. Registration is currently $200 off full price till Monday night. Please sign up early to get the best deal.
Xojo Inc. runs their yearly Black Friday weekend sale:
The biggest sale of the year for developers!
Everything Xojo is 20% off for one weekend only! That means new licenses, renewals and upgrades are all 20% off this Friday, November 29th through Monday, December 2nd. Also, all 3rd party products and Xojo Developer Conference videos are 20% off! XOJO.CONNECT tickets are also discounted to the early bird price. No coupon required.
Save on new licenses, renewals and upgrades.
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 of your own machines.
Xojo Pro Plus - Everything in Xojo Pro, plus an extra level of support.
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.
Interested in upgrading to Desktop, Xojo Pro or Xojo Pro Plus?
You can check your upgrade price here and come back during the sale to save an additional 20%. Upgrades from Xojo Lite to full Desktop are available by contacting Customer service at email@example.com.
Tell Your Friends
Help spread the word about Xojo - tell your friends about this sweet deal to get them started with Xojo. Xojo comes with a 90-day money back guarantee.
XOJO.CONNECT 2020 Special Offer
We have already reached the end of our early bird pricing, but we will still offer the special $799 discounted price during this sale! Save $200 though Cyber Monday.
*Xojo Cloud is not included in the sale.
This sale includes third-party items in the Xojo Store. If you like to order directly from us, please use coupon code BlackFridayMBS in our web shop or email use for an invoice or Paypal link (for new licenses only).
For years we told people to use prepared statements. But recently we run a test to see what happens in real world. So we created a login form on our website. The login form, does never log you in and just writes down the login credentials to a database using prepared statements. This page is not linked and no human should ever find it. But there are bots testing whether you have some common folder names like "wordpress", "admin" or "login".
After a few weeks, we checked the database and got hundreds of login attempts. At least 100 per month come to our form. Most of the things entered in our form are attempts to exploit the SQL with an SQL injection. We see common patterns like the following values for user name:
' UNION ALL SELECT NULL--
' UNION ALL SELECT NULL,NULL--
' UNION ALL SELECT NULL,NULL,NULL--
' UNION ALL SELECT NULL,NULL,NULL,NULL--
' UNION ALL SELECT NULL,NULL,NULL,NULL,NULL--
' UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,NULL--
' UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,NULL,NULL--
' UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL--
' UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL--
' UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL--
If you don't use prepared statements, this would end the string of the username comparison and combine the result with an second result with the given number of NULL values. If this is valid SQL, it may execute. e.g. if you have a query like
"SELECT UserID FROM Users WHERE Username='"+username+"' AND Password='"+Password+"'"
the attack will be successful. Instead of the proper way:
"SELECT UserID FROM Users WHERE Username=? AND Password=?"
The user names from above will end the quote from user name, do the union and declare the rest of the line to be a comment with the two dashes. If the first try works, the login may first succeed and second the attacker knows we have one field in the result.
Did you know that in Xojo you can have a desktop project to run also optionally as command line tool?
With App.ArgumentsMBS the MBS Xojo Plugins provide a convenient way to get the command line parameters. Your application can query them at startup in app.Open event and check whether there are commands which need to run as command line tool. You may get arguments like file paths to open via OpenDocument event, so you may decide about the console or desktop mode with other parameters.
If you detect no special commands, you just continue with your normal application flow. Otherwise, you branch into code to do the console portions of the application. When this returns, you can do a flush on StdoutMBS and then use ExitMBS(0) to quit the application and return error code zero. Or return any other exit code, so if the application is called in a batch environment in a shell script, you can detect whether there was an error.
In your method doing the console portion, use StdInMBS class to read input and StdOutMBS class to write output. For Windows there is a special call to StdoutMBS.AttachConsole method needed to connect StdOutMBS to the current command window.
Like to try this? Just check "Console and GUI in one project" example project coming with the MBS Xojo Util Plugin.
In this article Stefanie introduces some of the new functions of the MBS Plugin version 9.5.
The list dialog
At first we start with news about the list dialog for Windows and Mac. With the list dialog component we show a list dialog with entries and you can select an item. With the new plugin version you can add a new third button to this dialog. For example it can call an information website for this dialog. In the following script we create a listdialog with two items and an info button.
r = MBS( \"Clipboard.SetFileMakerData\"; \"ScriptStep\"; xml );
r = MBS( \"RemoteControl.PressControlKey\"; 1 );
r = MBS( \"RemoteControl.PressKey\"; \"v\");
r = MBS( \"RemoteControl.PressControlKey\"; 0 )
]; 1 )"; 0)
This is an example expression, which registers in one line a hotkey in FileMaker. If you press Control-F7 in Script Workspace, the plugin will put the XML on the clipboard for a loop counting up from 1 to $count. It uses press key functions to press Control-V on Windows to paste the XML right into script workspace.
Please check HotKey.Register and SyntaxColoring.AddContextMenuCommand functions to learn what other expressions you can use. While on MacOS we can use context menu to trigger those commands, you can install them on Windows as hotkeys and do similar things.
As you may know we have Shell functions in MBS Plugin. For next version, we'll add some new triggers, so you can even emulate a terminal window in FileMaker:
Why this may be useful? You can configure the Mac to not allow Terminal to run for a limited user account and still have your own terminal window available for support, which is controlled by permissions in FileMaker.
JSON is a very popular data format, because it is easy readable for humans and can be easily parsed by software. It is a data format often used to transfer data in APIs over the Internet. The MBS FileMaker Plugin supplies you with a lot of JSON functions, optimized for performance and usability.
"color":["blue", "white", "pink"]
"color":["blue", "black", "pink", "purple"]
Validating the JSON and format it
If we get a JSON it is usually unformatted and the direct reading can be confusing for you as developer. With the function „JSON.Format“ in combination with „JSON.Colorize“ you can format and color the JSON text to understand the data structure much easier.
If you want to write a JSON by your own, you have different possibilities to do this. You can enter a JSON as a text and remove needles blankets with „JSON.Compact“ function.
Attention: Strings are in quotes in JSON. If you want to write a quote in FileMaker you must escape the quotes with a prefix backslash (\"), else you get an error. Some special tip for Mac users: The escaping in huge texts can take lots of time, because of that you can use the search and replace function that the MBS Plugin provides you for Mac. You can search for " and replace them with \" using our find bar, saving you some time. But you should pay attention on the quotes that should’t be escape and change them back manually.
It is advisable, to check a JSON for errors and validate the JSON. For that you have the „JSON.IsValid“ function. Here we parse the JSON, but don't return an error message, but just 0 for an error and 1 for okay.
If you call this on start of solution (in development mode), you register a hotkey Control-F5 to write a text file with contents of data viewer into a text file on desktop. Useful for a quick copy to later compare values:
Run once and you can press the hotkey to write current script to a folder, which you can track for version tracking. If you prefer XML, use menu commands to do select all(Menubar.RunMenuCommand with ID 57642) and copy content to clipboard (menu command 57634). Then use Clipboard.GetFileMakerData to read XML and write to file.
PS: You like to get formulas formatted like above? Simply copy them with Command-Option-C or use SyntaxColoring.Format function in your script.
There is a problem with Apple's automated checks for the iOS and Mac app stores. Apple checks if you call private API functions from them and you may get a notice like this:
We identified one or more issues with a recent delivery for your app, "EverTools" 1.8.3 (22). Please correct the following issues, then upload again.
TMS-90338: Non-public API usage - The app references non-public selectors in Frameworks/MBS.fmplugin.framework/MBS: batteryWarningLevel, cardNumber, connectedDevices, connectionState, dateOfBirth, deviceIdentifier, deviceList, duplicate, features, high, isBluetoothAvailable, low, picture, protocolVersion, reading, removeDevice:, sdkVersion, sendCommand:, sensors, sex, softwareRevision, startScan, versionNumber. If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/
Those functions are part of the MBS Plugin 9.5 and relate to our support for bluetooth card readers and thermometers. It's really annoying that Apple forbids you to name an objective-C function isBluetoothAvailable in your application. We'll put in a workaround so newer plugin for iOS will not use those function names.
Please don't hesitate to contact us if you have questions or need the fixed plugin.
xml = MBS( \"Clipboard.GetFileMakerData\"; \"ScriptStep\" );
/* search and replace */
xml = Substitute ( xml; SearchText; ReplaceText);
/* put XML back on clipboard */
r = MBS( \"Clipboard.SetFileMakerData\"; \"ScriptStep\"; xml );
/* paste script steps */
r = MBS( \"Menubar.RunMenuCommand\"; 57637 )
Copy and paste this into the data viewer and evaluate it once to add the command to the contextual menu. Now you can just select a few lines, choose the menu command and we do a search and replace. The new lines are pasted below the old license and you can review them.
Recently we had a client from Belgium who was interested in reading eID, the electronic ID cards given out by the country of Belgium.
Those cards are normal smart cards and we already provide functions via our Smartcard functions to read the data from those cards including the pictures.
Now this client is interested in using FileMaker iOS SDK, so our traditional SmartCard APIs won't work. We implemented the iOS SDK from Zetes for the client and added new EIDSDK functions for the next MBS FileMaker Plugin.
Claris Inc. deprecated the FileMaker runtime feature in version 14 and recently announced its removal for the upcoming version 19 in May 2020. If you still depend on building runtimes, it's time to consider moving yourself and your customers in a new direction.
You can of course continue for a few years with FileMaker Pro 18 Advanced to create and deploy runtimes. But it is time to tell your clients that this won't work forever. A security policy change, a newer version of MacOS or Windows OS, or a switch in CPU architecture to ARM could stop the applications from working. Other changes like a new codec for images, some new web protocols or other features will not be supported in runtimes and probably a change in future OS could affect you badly causing crashes on launch or when working with some features.
To continue distributing your solution with FileMaker, please check the options:
You can continue with the runtimes until they fall apart.
You can ask user to migrate to an iPad or iPhone and use FileMaker Go with your solution.
You could sell the database alone and let your users get a copy of FileMaker themselves. That may be a good thing to let your customers know: When the runtime stops and they need to use the applications, they could buy a FM Pro themselves and contact you to help to move the database.
You may be able to join the SBA program and bundle FileMaker Pro with your software. This may enable you to sell a standard solution for more than one seat and provide a server version. As you get a discount for FileMaker licenses, this could be a bit cheaper then using regular licenses. And there was a discussion at the conferences that in future FileMaker may offer a program to buy license packages and split them up for customers in need of less then 5 seats for a server.
You could offer clients the new FileMaker Cloud to host the solution if they don't want to host themselves and they have at least 4 or 5 users. This may be a great way forward for clients, who don't want to maintain a server and still want to use the solution with multiple users and enjoy proper security and backups.
So you may offer people to license your solution and use it with FileMaker Go or their own copy of FileMaker Pro. You may offer for 2 or more users your solution as SBA version or with 4 or 5 as Cloud solution. Joining FBA program or register with a FileMaker distributor is a good way to increase your margin and receive discounts for buying licenses in bigger quantities.
For example you can offer 1 seat for e.g. $99, 2 or more for something like $20/month, optional with server for 5 or more and of course the cloud solution for something like $50 per month. But you have to find a way forward which makes Claris happy, yourself happy (with a good margin) and your customers happy. If your solution is not worth the price asked, this may require you to let a few customers go.
Themen sind die Neuerungen von der FileMaker Konferenz und der FileMake Roadmap. Gerne auch Fragen an uns zum MBS Plugin. Bei Interesse bitte gerne direkt beim Veranstalter anmelden bzw. auf die Mailingliste setzen lassen.
Falls sonst noch Bedarf an Schulung, vor Ort Entwicklung oder FileMaker/Xojo Hilfe besteht, bitte wegen Terminfindung bald bei uns melden.
PS: Für die MBS Plugin Schulungen bei der Denkform gibt es noch freie Plätze.
Nickenich, Germany - (November 12th, 2019) -- MonkeyBread Software today is pleased to announce MBS FileMaker Plugin 9.5 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, macOS, 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 9.5 has been updated and now includes over 5900 different functions, and the versatile plugin has gained more new functions:
Visiting conferences in October in Europe provides a lot of new ideas. This release comes with two enhancements to FileMaker itself (for MacOS), where the ideas came up at the conferences. First we now show you the cursor position above the text fields when entering expressions or custom functions. When you select text, we even show the selection length.
Second, with SyntaxColoring.AddContextMenuCommand method you can define your own commands for the contextual menu in script workspace on MacOS. We provide a few examples in the documentation to edit script steps or insert new ones. As you can leverage the built-in MBS commands in the menu commands, you can use XML transformations, run SQL queries, Shell or AppleScript commands and read/write text files in your expressions. You can define expressions to check syntax and coding standards for scripts, insert common snippets or do search & replace within the script. We hope the FileMaker community will collect useful commands.
The DynaPDF functions can now create XFA stream sections in the PDF document, read and write XFA data. With the DynaPDF.GetUserRights function you can query the permissions the user has on the imported document. We improved the library loading, so you can now just pass "" for the library path. If path is empty, we will use the platform specific default name. And if empty text or just a file name is provided, we look for the library files in the same folder as the plugin.
For Apple maps on MacOS and iOS we have a couple of new properties to set for points including enabling drag with a custom drag image. Points can now change their image and define an extra selected image. Overlays can change colors and line width. Maps can be zoomed programmatically and with MapView.MouseCoordinate function you can query the coordinate below the mouse cursor.
The list dialog now supports a third button, you can show on screen keyboard via Window.ShowKeyboard function and query whether dark mode is enabled on a Mac. Our preferences dialog now supports dark mode, SmartCard.ReadFile supports more cards, GMImage.NewFromContainer can handle JPEG and PNG passed with wrong type and documentation includes now links to release notes and blog articles.
This version includes a few important bug fixes for running the plugin on a sever. The background threading for CURL and SQL got improved to avoid crashes. Our Linux plugin for FileMaker Cloud for AWS got an important fix to avoid crashes with buffer overrun after several hours of running. Please update your servers to avoid running into those issues.
Finally we updated DynaPDF library to version 188.8.131.52, LibSSH to 1.9.0, openssl to 1.1.1d, SQLAPI to 5.0.1, SQLite to 3.30.0 and zint library to 2.6.7
Nickenich, Germany - (November 12th, 2019) -- MonkeyBread Software today is pleased to announce MBS Xojo Plugins 19.5 for macOS, Linux and Windows, the latest update to their product that is easily the most powerful plugin collection currently available for Xojo. MBS Xojo Plugins have been updated and now includes over 2600 classes and 65,000 documented features, and the versatile plugins have gained more new functions:
We support over 12 years of Xojo versions from 2006r4 to the latest 2019r2 release. Older Real Studio plugins are still available on request. Our SQL Plugin got updated to support newer API 2.0 calls with ExecuteSQL and SelectSQL methods and using RowSet class. We continue to provide the older APIs for use in older and current Xojo versions. To mitigate switching between versions we even provide NativePath for Real Studio and AbsolutePath for Xojo 2019r2 via plugin.
For Windows we developed a replacement for the IPCSocket class in Xojo. With our WindowsPipeMBS class you can create named pipes and exchange data between two processes without going through the network stack (and firewall) and without going through the file system. We even include methods to allow connectivity between a service running in the background and an user application on the desktop.
The classes for JPEG and PNG handling got a major upgrade. We now include JPEG Turbo library. Once activated, you can speed up JPEG compression and decompression by factor 2 to 5 (in our testing). For PNG, JPEG and TIFF classes you can now pass file paths as string instead of FolderItem. PNGReaderMBS class got options to strip or invert alpha channel, read gray images to memoryblock without expanding them to RGB or convert RGB to grayscale images.
We now use SQLAPI in version 5, so a couple of things changed on the SQL Plugin. As each connection can now decide which client library to use, you can now decide per connection whether you use built-in libraries for SQLite, CubeSQL or PostgreSQL or your own library. We offer many database specific commands directly on the relevant SQL connection or command classes. For API 2.0 you can now query RowSet for SQLCommandMBS objects. For CubeSQL we have SendData and ReceiveData methods to send and receive files. SQLPreparedStatementMBS class is updated for changes in Xojo 2019r2.1.
Due to changes in variant handling, use of datetime class and SQLPreparedStatement changes, we highly recommend this update to everyone using Xojo 2019r2 or the upcoming 2019r2.1 version. Changes in the implementation of various functions moving from older to newer APIs make this release a recommended update for everyone targeting MacOS Catalina.
For our WebKit 2.x browser implementation in WKWebViewControlMBS control we now support private browsing. The new WKUserScriptMBS class allows you to add custom user scripts to each website.
We updated ResourceForkMBS class to work on 64-bit MacOS target and added 64-bit Linux support for Rockey2 dongles. Our DynaPDF classes got new methods to handle XFA streams. With ClearStringContentMBS method you can now clear the content of a string to not leak passwords in memory. The map views shown by the plugin can now programmatically change the zoom level.
Finally we updated DynaPDF library to version 184.108.40.206, LibSSH to 1.9.0, openssl to 1.1.1d, plugin SDK to Xojo 2019r2, Rockey 2 SDK to v2.201r10, V1.41 for Linux, V1.21 for Mac, SQLAPI to version 5.0.1, SQLite to version 3.30.0, zint library to 2.6.7.
12. November 2019 - Monkeybread Software veröffentlicht heute das MBS Plugin für FileMaker in Version 9.5, mit inzwischen über 5900 Funktionen eines der größten FileMaker Plugins überhaupt. Hier einige der Neuerungen:
Bei der FileMaker Konferenz in Hamburg gab es zahlreiche neue Ideen für Pluginfunktionen. Unter anderem auch zwei Wünsche für FileMaker selber, die wir direkt für MacOS umsetzen konnten. Erstens zeigen wir jetzt über einem Eingabefeld für eine Formel oder eine eigene Funktion die Textposition an. Wenn Text ausgewählt ist, zeigen wir die Länge der Auswahl an.
Zweitens können Sie mit der Funktion SyntaxColoring.AddContextMenuCommand eigene Befehle definieren für das Kontextmenü im Skript Arbeitsbereich (bei MacOS). Wir zeigen mit einigen Beispielen in der Dokumentation wie man Skriptschritte ändert oder neue einfügt. Sie können sämtliche MBS Funktionen für die Menübefehle verwenden inklusive XML Transformationen, SQL Abfragen, Shell oder AppleScript Befehle und natürlich auch Textdateien lesen oder schreiben. Sie können Befehle definieren, die ihr Skript auf Fehler analysieren, Standards überprüfen, neue Skriptschritte einfügen und im Skript Suchen & Ersetzen. Interessierte FileMaker Entwickler werden sicher bald selber passende Befehle veröffentlichen, die sie verwenden können.
Die DynaPDF Funktionen können jetzt XFA Daten in ein PDF Dokument einbetten, vorhandene Daten auslesen oder ersetzen. Mit der neuen Funktion DynaPDF.GetUserRights fragen Sie die Zugriffsrechte für das aktuelle PDF ab. Wir haben die Funktionen zum Laden von dynamischen Bibliotheken verbessert, so dass Sie jetzt als Pfad "" angeben können und wir nehmen den Standard Dateiname für die Bibliothek. Und wenn der Dateiname angegeben wird und kein vollständiger Pfad, dann schauen wir im Pluginordner nach.
Für Apple Maps auf MacOS oder iOS haben wir neue Eigenschaften für Punkte inklusive der Möglichkeit Drag & Drop zu aktivieren. Punkte können jetzt ihr Bild ändern und separate Bilder nehmen für normal, angeklickt und Drag & Drop. Overlays können die Farbe und die Linienbreite ändern. Stellen Sie die Vergrößerung für eine Karte per Skript ein und fragen Sie ab, welche Koordinate sich gerade unter dem Mauscursor befindet.
Der Listendialog unterstützt jetzt einen dritten Button, Sie können mit dem Window.ShowKeyboard Befehl die Bildschirmtastatur anzeigen lassen und abfragen, ob der Darkmode auf einem Mac aktiviert ist. Unser Einstellungsdialog unterstützt jetzt den Darkmode am Mac, SmartCard.ReadFile unterstützt mehr Karten, GMImage.NewFromContainer kann JPEG und PNG verarbeiten, die mit falschem Typ übergeben wurden, und die Dokumentation enthält jetzt Links zu Versionshinweisen und Blogartikeln.
Diese Version enthält einige wichtige Fehlerbehebungen für die Ausführung des Plugins auf einem Server. Das Threading für CURL und SQL wurde verbessert um Abstürze zu vermeiden. Unser Linux-Plugin für FileMaker Cloud für AWS hat eine wichtige Korrektur erhalten, um Abstürze mit Pufferüberlauf nach mehreren Stunden Laufzeit zu vermeiden. Bitte aktualisieren Sie Ihre Server, um diese Probleme zu vermeiden.
First we got questions for subscription pricing. First we don't sell the plugin licenses as subscriptions. We ask you to keep the license up to date and buy maintenances. And you can buy them for up to 5 years in the future. But we will continue to have a nice kind of licensing, where we do not technically force you to buy the updates.
You can continue to keep the old license with the old plugin files until they break. Please be aware that newer FileMaker / Xojo versions may break them as well as newer versions of the operation system. Looking on security related changes in the plugin and used libraries, it is highly recommended to keep the plugins updated to get latest versions of them.
If you like to see it as subscription, please consider the update price as subscription price. For first purchase, you pay a year to get current version and a year of updates, which defines the purchase price.
For the conferences we used to offer 20% on everything as discount. This is a great incentive for visiting the conference and buying some of the software you see for a special show price. With yearly licenses, some people tend to only buy at the conferences and that is the direction we don't like.
Starting with next conferences we limit discount to new licenses only. Also with more conferences here on the horizon, we may reduce the conferences where we have a booth and just put up some posters and be available for questions.
We'll continue to sponsor as many conferences as possible and prefer to sponsor those where we can attend. If you have details on a conference we may attend or sponsor, please let us know.
As you know we didn't change prices for ten years, but are always looking on fine tuning them. For Xojo plugins, we continue to de-emphasise buying individual parts and prefer to sell Complete plugin set licenses.
With DynaPDF 5 on the horizon, pricing is expect to change and we allow all existing users to order up to 5 years of maintenance for todays prices.
Last versions for 32-bit on MacOS?
Next year, we may upgrade to MacOS Catalina. That could break our ability to build for 32-bit. In that case version 9.5 for FileMaker or 19.5 for Xojo may be the last ones to support 32-bit on macOS. This is just a warning and you should be on our list for FileMaker MacOS 32-bit version or Real Studio Plugin version if you asked for them before.
As all MacOS versions since 10.7 from year 2011 are 64-bit operation systems, 32-bit is only needed for older OS versions. But we only support MacOS 10.9 or newer, so there is hardly any use for 32-bit plugins.
As you may know Xojo deprecated AbsolutePath a few years ago and removed it in Xojo version 2019r2. Now we have projects ranging from old Real Studio versions to latest Xojo versions. I currently have 12 difference Xojo versions installed, three Real Studio versions and two REALbasic versions. We use the QuickLook plugin from us to have each project show version number in the icon.
Recently we added NativePath to FolderItem class for REALbasic and Real Studio. Newer code using NativePath now compiles even in Real Studio. For projects in Xojo 2019r2 we now add AbsolutePath function for FolderItem, so older code using it can still be built. For some projects we even switch between various versions. For example develop on Windows with Real Studio and just use Xojo for building the 64-bit version.
Of course we know that we should get rid of AbsolutePath. But the problem is in compatibility and in the detail. Older projects put file references as AbsolutePath into documents to find related files. Newer versions of the applications now use NativePath or GetSaveInfo functions. But we still want to read old documents with old paths and resolve them. It would be a support nightmare if clients call support about projects not finding their files.
For MBS Plugin 19.5 we add AbsolutePathMBS to folderItem class for all versions of Xojo and Real Studio. We got NewFolderItemFromAbsolutePathMBS function to resolve the absolute path. This even works fine in MacOS Catalina as far as we see.
Recently a couple of users asked how to access network shares on a FileMaker Server. The built in commands from FileMaker are all limited to documents and temporary directory. But with the MBS FileMaker Plugin (and other plugins) you can access other places on the server.
A common use case is to put a second hard disk on the server, create a backup folder there and have a scheduled script copy over some files regularly from the documents folder to the external hard disk. You may get a permissions errors. But you can simply solve this by explicitly giving right permissions to the folder to make it accessible for FileMaker server scripting process executing plugin functions.
So let's talk about those accounts. There are various accounts used on a FileMaker Server when working with network shares or folders on disks.
The account your script is logged in to the FileMaker Server, e.g. admin account. Or let's say better a limited account named "backup", which may not need to access all tables in all files. You can query this name with Get(AccountName) in your script.
The account the FileMaker server runs on the system. For MacOS this is usually a separate user named fmserver. You can query this name with MBS( "SystemInfo.UserName" ) function.
The account you login to a remote file server to mount the network share. This may just be a normal login name or with a domain controller something like "SRV2012\bob".
The account of the local admin, who logs into the server to see the desktop.
Now the admin on the machine may use his account (4) to login and see the desktop. He can use FileMaker admin console in the browser and use his account on the file server (3) to mount a network share and optionally attach it to a local drive letter, e.g. Z.
If a script running under the account "backup" (1) on the FileMaker server tries to write to the network share, it only has the permissions of the FileMaker Server scripting process (2). Access is denied as the network share is mounted exclusively for the local admin (4).
There are two solutions:
You can mount a network share both on MacOS and Windows to allow access for all users. This can be tricky and there are various tutorials on the web.
You can use MBS Plugin with Files.Mount function to have your script mount the network share itself, do its business and then unmount it via Files.Unmount function.
We do prefer the second way as it's more secure. The network share is only mounted for a short time period and only accessible to the FileMaker server while mounted. Even if someone is using the computer, they may see the drive letter, but not access it.
If you have questions, please do not hesitate to contact us.
For our MBS Xojo Images Plugin we added support for libjpeg-turbo. The new JPEGTurbo plugin part encapsulates the libraries for MacOS, Windows and Linux, all built with SIMD instructions for better performance.
In Xojo the JPEGTurboMBS module provides the API pointer, which you can pass via SetAPI functions in JPEGImporterMBS or JPEGExporterMBS classes. Then the next load or save uses the new functions which work with higher performance.
Speed improvements are notable, but of course depend on your test images and computer configurations. We have seen speed increase by factor 2 to 5 here.
Please try the classes soon and report any feedback you have. Included in 19.5pr7 upload.
Next year in April our company will turn 20 years old.
We'll plan to have a big party here in Germany near our office with over 100 guests.
Invitations are going out this month in several batches.
If you like to join and you miss an invitation, you can contact us and ask whether your invitation got lost.
As people confirm they are coming, we'll add them to the guest list. If we run out of space, we may put people on the wait list.
If you can't make it, please respond soon, so we don't need to contact you again later.
New in this prerelease of version 9.5 of the MBS FileMaker Plugin:
Changed trace functions to log name of script and file if changed from last MBS call.
Changed DLL loading for DynaPDF.Initialize and XL.Initialize functions to look for given DLL path, try 32/64 DLLs. If only file name is given, we look into plugin folder, too. If no file name is given, we try default file name.