Claris FileMaker Server 19.2.1 is the last version on CentOS and will be supported till October 28, 2022. The next Claris FileMaker Server release will require Ubuntu. We expect this to be released within a few months.
Our MBS FileMaker Plugin already runs fine on Ubuntu servers with pre-release FileMaker Server software. If you’re interested in testing FileMaker Server on Ubuntu, send an email to ets@claris.com to be considered for the External Testing Site (ETS) program. Then you can install a server in a VM and install our current MBS Plugin.
If you have a Linux server, you may just spin up a new one later this year, install Ubuntu and a newer Claris FileMaker version. Then copy your database over and change DNS to point to the new server. Don't try to upgrade. Keep the old server as a backup, ready to take over if the setup of the new one fails. Once you migrated, you can then retire the old server (VM).
In case Claris decides to support Linux on ARM 64-bit in the future, we can would be happy to build our plugin for such a platform.
For my birthday last Sunday I got a lot of nice emails, greetings and comments. But a few people went further and surprised me with letters, cards and even some presents!
We collected them all and put them on a fish net in the hallway, so we can remember them.
Thanks everyone for your good wishes and heart-warming texts. The Xojo people for example printed a special postcard with several pictures with me and staff on it.
See you all soon on the next conferences!
We continue to be a Claris Partner as we just renewed our FBA membership:
It is already nine years since we applied for this and being a Claris Partner helps:
The listing on the website as well as recommendations to prospects by Claris employers helps to bring business to your company. You get a discount for license purchase so you can make some money selling your solution bundled with the FileMaker licenses and offer one stop shopping to your clients. You can list your products on the marketplace and use Solution Bundle Agreement if you like to sell a lot of bundles. Access to beta versions, extra training sessions, exclusive partner meetings and a few test licenses are included. And you can bundle tools like the data migration utility with your solutions.
If you like to become Claris Partner, you can read more on the Claris website.
Updated DuckDB to version 0.25. Please note that the binary format for files is not compatible with older version. Please export and import into new database.
Changed a couple of internal text functions to recognize that text with UTF-8 as a BOM for UTF-16 or UTF-32 and then reinterpret bytes to handle that. Useful for Shell.ReadOutputText, when a command line tool outputs UTF-16 instead of expected UTF-8.
Changed CURL functions to not print password for SFTP transfer in debug log. Left overs from debug session in 11.1 betas.
Changed our buttons for Data Viewer to hide if we can't evaluate as no file may be open.
Changed plugin on Server to log StdOut and StdErr to log files for Windows and MacOS, as we did before on Linux.
Changed SQL errors to add field name for SQL update statements for type mismatch errors.
Changed XL.Initialize to accept empty path and pick the file name automatically per platform.
1st April 2000 I founded my company. Well, I registered as a business by getting my business registration (Gewerbeanmeldung) here in Germany.
That was 2 months before I finished school (Gymnasium). While alternative civilian service (Zivildienst) and my time at the university, the company run well and I didn't have to depend on my parents or student loans. Actually the company got me so busy over the years, that I spend less time at university and since 2007 this is my full time job.
I had a few clients in that time interested in development in REALbasic, a very young development environment which started two years earlier. At that time I had a website with a few freeware utilities, so people could see that I can do development. Two years later the demand for plugins got so high, that end of 2001 I started publishing my own plugins. And since 2006 I got into FileMaker Plugin development.
Thanks everyone for supporting me over the years!
PS: If you need a new license this weekend, use coupon code Birthday for an 21% discount.
In a good tradition to inform about a new Xojo release, please let me point to what's new and special. My point is different than the official announcement and I look forward to see other fellow Xojo developers to publish blog articles about their views.
The new release brings a few well needed bug fixes, a few new items and a few nice goodies for us. First the IDE itself is built for Apple Silicon, so you can enjoy native speed on the new Macs from Apple. On the way to this goal, the XojoScript plugin got updated for Apple Silicon and helpers are now built with Apple Silicon support. Xojo Inc. got their own LLVM based compiler to output code for Apple Silicon, update the linker and also the just-in-time compiler in XojoScript. Kudos to Xojo Inc. as they are one of the first to fully support the new CPUs.
A big change is the rewrite of JSONItem class. Under the hood they now use a C++ library alle yajl internally. This makes the JSON processing a lot faster in Xojo, but has a bit different behavior. Some of the subtile changes may cause trouble, so please try with your projects and see the improvements. Testers found and reported a few possible issues and Xojo Inc. already fixed them. There should be a big upside on performance with a little downside of smaller behavior changes. Web 2 benefits greatly from this change and gets a performance boost internally. Speaking of Web 2, the WebLocation control is back. Hurray!
If you do iOS, you may be happy to see that Apple no longer complains about some bundle identifiers used for the plugins. Now you can submit your Xojo app to the App Store once again including various plugins. Plugins enabled for iOS include the XML, SSL Socket, SQLiteDatabase, RegEx, Encodings and Crypto ones within Xojo itself.
The new UserAuthentication class looks interesting to do authentication via face or finger print on supported devices. But as far as I see it uses the same API as we do for our LAContextMBS class, which works for macOS and iOS.
The Web 2 framework got a lot of attention with new controls, a lot of bug fixes and small improvements. We still have to wait for something like a style editor and a way to get old projects migrated preserving the custom styles for individual controls. And we still have a couple of leaks in the web framework, but looks like they are not yet found and fixed. For the time being you may enjoy an improved WebFileUploader performance and the JSON speed-up.
MBS Plugin 20.5 and newer should work fine. Older versions may run into issues. Please check release notes for our plugin to learn what we changed over time. For iOS development with our plugins, please use version 21.1. Remember that our current 21.1 plugins support Xojo from version 2006r4 to 2021r1.
Nevertheless, this is a solid release and we used it for a few things the last weeks and had no issues with our projects. Please try it and report feedback to Xojo soon. What have you noticed?
The new MBS Xojo Plugins 21.2 are coming early April 2021 and include the new CDViewPortControlBaseMBS class to build a control based on ChartDirector with two connected views.
When using MBS FileMaker Plugin, you may need to combine a lot of functions together to get some work done. That makes our toolbox of functions so flexible to use for your needs. Let us show you four examples:
Regularly import files from hot folder
First you start with Schedule functions to run a script regularly every few minutes in FileMaker Pro. Independent of SetTimer script step, so you can have multiple of them.
You look into a file path with Files.List to get a list of file names in the folder.
By using our List functions you compare the current file list to the one from last run. For example List.And would find similar files in both files, while List.FindUnequals would find the ones different.
Next you use Path functions to build file path by taking folder path and the file name. Use Path.AddPathComponent to not care about slash vs. backslash.
A function like Hash.DigestFile may quickly get you a SHA512 secure hash of the file.
You can do a search in FileMaker to check whether the hash is known. Or use our FMSQL functions to do the check with a FM.ExecuteFileSQL call to do a "SELECT COUNT(*) WHERE hash=?" SQL query to count the records and either get back 0 or 1.
To read the file you may use Container.ReadFile function and get it in a variable first.
You can then create a new record for the file with FileMaker script steps. Or you use FM.InsertRecord to create record for it without switching layout.
If you do a document database, you may go for a PDF document and use our PDFKit functions or DynaPDF functions to extract text for PDF, maybe split the PDF and make preview pictures for the pages.
For image files, you may use GraphicsMagick functions or CGImageSource functions to extract metadata for image files like camera model or GPS coordinates.
For next MBS Xojo Plugins we add a new RabbitMQ plugin part to wrap the open source RabbitMQ C library and bring the functionality to Xojo.
RabbitMQ itself is an open-source project implementing a message-broker software. It's a server software to do message queues and then there are various clients available to use the services.
The connection class allows to connect and then use the services. This includes managing queues and exchanges, so you can declare a new queue if needed. Then you can send messages to the queue or receive messages. We already got 10 example projects made for you to try the various things by translating a few C examples. Since you can install RabbitMQ yourself on a local VM, you can just try it locally.
We built the plugin for all platforms we support, which includes macOS, iOS, Windows and Linux for both 32/64 and Intel/ARM targets. We include OpenSSL library, so you can use with and without SSL options. As usually the plugin handles memory and error management and hides a couple of low level stuff, especially all the value serialization with arrays, tables and variants.
Coming soon for 20.2 pre-release for you to test. Let us know if you have questions.
Feedback is welcome. The conversion process creates an index of functions, script steps and guides. We also remove some JavaScript to make it work better.
For Windows and Linux, you can use Zeal application.
But first what is DynaPDF?
The DynaPDF library is a full featured PDF library for C developers and we provide you a Xojo integration as a plugin. With DynaPDF you get functionalities to create, edit, merge, analyze or sign PDF files within your Xojo application. With DynaPDF you can e.g. write an invoice for your customer in which you integrate a barcode with payment information and attach the always same terms and conditions to the PDF document. This invoice can also be converted to PDF/A for archiving purposes.
While your users can open a PDF and do some operations in Acrobat Reader (or the full Acrobat product), our plugin allows you to do things automatically in your code. You write the code to use the plugin to apply changes to many PDFs. Like process a folder of 100 invoices, extract text from each and look for vendor names in them to tag them automatically. Or use regular expressions to find the bank account and amounts.
Different Licenses If you want to use the MBS Xojo DynaPDF Plugin, you need a suitable license of DynaPDF and the MBS Xojo DynaPDF Plugin. You can of course just test the plugin without a license and try all functions before you order. There are four different license levels available for DynaPDF. Which license you need depends strongly on which methods you plan to use. For example, if you only want to insert links in a new PDF document, a starter license is sufficient. If you also want to add a page to an existing PDF document, you need a Lite license for the import feature. If you want to read images from existing PDF files or import single PDF pages from another PDF document, you need a Professional license. Same applies for rendering pages for display or printing. With the additional PDF/A converter license, you get the possibility to convert already existing documents from PDF to PDF/A. All MBS DynaPDF licenses can be used for Xojo, FileMaker, C/C++, C#, Delphi, Lazarus, PHP, VB, VBA, and VB .Net with the appropriate DynaPDF versions.
(more)
Seems like Claris Inc. is running like crazy and got much more productive the last months.
Instead of waiting a year for changes to show up, things are now going much more quickly. New stuff shows up every few weeks.
Looks like they have dozens of projects running in parallel. We saw a few things publicly announced in the vision webinar recently. Since we are taking part in testing and we develop plugin, we can already try a few things coming closer to release. Keep an eye on the announcements and future roadmap videos from Claris. Although at the current pace, a release may come before that.
What does agile development mean?
Projects are run with parallel developments in various area, separated in source code branches. Usually every 2 weeks a sprint ends and the project managers prioritize items for the next sprint. They schedule the work for the developers and review progress. When things are ready, they get merged in the main branch and go in the next release. Otherwise they stay in the backlog and may get more attention in the next sprint. Instead of having features planned a year in advance, Claris can now go within a few months from planning to shipping.
A consequence of that is that new features are not as old as they used to appear. You may see things labeled preview over several versions until the feature is completed. Be sure to try new features and report issues as soon as possible, so you can get a bug fix for the next release. With 3 or 4 releases a year, we may get used to upgrade your FileMaker installations much more often.
For a plugin developer, we may see more often changes to the plugin interface. A new SDK may now come for every new release within a year. And you may need to follow closer with the plugin versions to the releases as we can't make sure our current plugin may load in a future release. Often not a bug directly, but more likely, the plugin may make assumptions about the environment, which may no longer be true. We fix those things as we notice them, but we may not put them in the release notes beside some note like "Updated to newer plugin SDK". Don't expect old plugins to work and enjoy the new versions coming!
And now we wait for the next FileMaker version to enjoy our plugin even more.
Over the years we got requests for alternative database plugin classes for use with Xojo (formerly REALbasic). In 2009 a client requested a native plugin for Microsoft SQL Server, so we started writing a SQL Plugin and got a deal with SQLAPI to use this C++ library as the base of the plugin. Over the years, we contributed lots of changes and bug fixes and helped funding adding CubeSQL and SQL Anywhere support to SQLAPI.
As of today, we support CubeSQL, Centura SQLBase, DB2, Firebird, Informix, InterBase, MariaDB, Microsoft Access, Microsoft SQL Server, MySQL, ODBC, Oracle Database Server, PostgreSQL, SQL Anywhere, SQLite, SQLCipher and Sybase. Well received features include using named parameters for prepared statements, full unicode support, threaded connect & execution, bulk row transfer, streaming blob values, and offering database specific options for advanced features. And recently we got even edit/update support for RecordSet and newer RowSet classes. Yes RowSet is supported!
You can use our plugin with one of two interfaces and even mix them. SQLConnectionMBS is our native interface for using all the nice features. This includes SQLCommandMBS class for doing both statement preparation and handling the result set. With SQLDatabaseMBS class, we have a database subclass, which makes transition easier for existing Xojo developers and use PreparedStatement interface and RecordSet class.
Recently I was happy to see that two books are listed for FileMaker on the book stores. And as both arrived within a few days, I had the luck to read in both of them.
If you like to have a book handy for some free time to sit on your couch in the garden and read something, you may want to get both:
They are very different in their style and content, while both covering FileMaker. Mark walks over all the aspects in FileMaker, talking about every feature, going through the dialogs, discussing the options and it's a great reference manual to quickly dip into a topic. On the other side Richard has a very open and direct approach and will not just talk about FileMaker, but includes topics about the business aspect of development. How to best handle projects, clients, tools and add-ons. The little anecdotes in-between are very entertaining and show you easily what to do and what to not do.
On the way through the book Mark not just shows features in FileMaker, but also builds an example with the reader. Great for a bigger to follow this step by step. When you dip deeper later in the book, you get comprehensive guides on topics like ExecuteSQL, which shows the FileMaker specifics there.
While Richard works his way through various features in FileMaker, he has an eye for what can go wrong. For a few ancient features in FileMaker, he simply recommends to not use them for new developers creating newer solutions. As he explains why not to use them, the reader may learn the downsides and concentrate on newer features doing the same job, but better. And of course Richard shows how to do things, especially to keep them future proof and avoid possible trouble later.
Since FileMaker went into agile mode and now releases frequently, the books will get updated regularly with newer content. So we expect to buy fresh copies every year. And even if you know FileMaker well, it may be worth reading them. You always find something new you didn't know!
Last week the new books arrived from XDevMag.
Always great to have all the articles from one year of the Xojo Developer Magazine in one book, where you can just browse through when you have some time in your hammock.
We'll give away a few over the year at various Xojo meetings, once they start to take place again.
If you like to get one yourself, you can order them in the XDevMag book store.
When you consider ordering them, better pick several years and let them ship together at a package price. There are also academic and subscriber discounts available.
We rebuild the the DynaPDF library for iOS, so you can use the current version of DynaPDF with your FileMaker iOS SDK apps when using the MBS FileMaker Plugin.
We include four variants in our download:
DynaPDF for iOS Device armv7 and arm64
DynaPDF for iOS Simulator x86_64, i386 and arm64
When building your iOS app, just include the dynapdf framework file in the frameworks folder inside the app and call DynaPDF.Initialize in the start script passing the framework name and your license key.
The result should be OK if everything worked. If you get an error message including "mach-o, but wrong architecture", well you did copy the wrong framework file.
You can use lipo command line utility to remove the architectures you don't need.