With MBS FileMaker Plugin 4.5 we reorganized the IDs in our plugin. Now you can see from the ID where it came from. So ID 14012 is an email. Except if you used more than a 1000 regular expressions and also reached that ID there. But in general we don't expect a lot of people use the plugin so much until they restart FileMaker.
CoreGraphics Image Source
Drag & Drop
As you see most IDs are nowadays returned as text and not as numbers. If you just keep them in variables, things should go right. And for storing in fields, simply use text fields. Storing them in number fields may also work as long as you later read the numbers without dot and decimals. "12345" will work, but "12345.00000" may not.
As you may know DynaPDF can write PDF/A and PDF/X files. For that you need have a Pro version and use a couple of special functions. First when writing a PDF you use SetPDFFunction to set the PDF Version to one of the PDF/A versions.
First you call CreateStructureTree function to start a tagged PDF. Next you can set flag ifPrepareForPDFA for import flags to tell DynaPDF you plan to create a PDF/A file. Next you can run CheckConformance to check and fix the plugin for PDF/A conformance. Finally you use AddOutputIntent to required color profiles.
The PDF above are okay when you don't import existing PDF files. For existing PDF, you can use CheckConformance. If you have our extra addition PDF/A extension for DynaPDF, the DynaPDF library can fix most of the issues with existing PDF/A to convert them to the required format. But this extension costs extra (599 Euro). So not everyone needs it, but some will certainly.
All the functions mentioned above are available for MBS Plugin users for Filemaker, Xojo and Real Studio.
Today we had a client who wants to use our MBS Plugins to list a directory on a FTP server. It works well without encryption, but fails with SSL. The questions why?
First thing was to enable verbose (OptionVerbose) to see log and got those messages:
500 This security scheme is not implemented
234 AUTH TLS OK.
SSLv3, TLS handshake, Client hello (1):
SSLv3, TLS alert, Server hello (2):
error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
So the server does not support SSL, but only TLS. And for TLS we got a handshake error, probably because we started with SSLv2. Because with OptionSSLCipherList set to "SSLv3", we got further a step:
SSLv3, TLS handshake, Client hello (1):
SSLv3, TLS handshake, Server hello (2):
SSLv3, TLS handshake, CERT (11):
SSLv3, TLS alert, Server hello (2):
SSL certificate problem: unable to get local issuer certificate
Now we just need to disable verification of peer and host or provide the right certificate and it works!
Just one of the new challenges we got recently. Due to bugs in SSL, a lot of servers disable SSL and only allow via TLS.
If you want to use CURL plugins with GoDaddy ftp service, you may see the message in the log like this: "SSL certificate problem: unable to get local issuer certificate".
Now normally we just recommend to get the cacert.pem from curl website and use it with the CAInfo option. But here this fails and gives again the same error message.
To solve it, we need the certificates from GoDaddy, but not just one, but the root and an intermediate one. So on the repository website I downloaded the gd-class2-root.crt and gd_intermediate.crt files. Now I converted them with openssl and joined both pem files into one:
If you ever need to connect to a Microsoft Visual FoxPro database from FileMaker, Xojo or Real Studio, you can use our MBS Plugin to do this.
We simply use the built in ODBC driver from Microsoft to connect. Our connection string is configured to work without setting up a data source. This avoids users to configure their system and just provide the path to the database file.
Sometimes you download a text from the web and see that there are hidden or strange characters in front. That is often the byte order mark. It tells you what type of text encoding you have. e.g. the byte sequence EF, BB, BF for UTF-8 (written as hex characters). If you use wrong encoding, they look like this: Ôªø (MacRoman) or ï»¿ (Windows ANSI). So when you see those characters, you have a Text which should be decoded as UTF-8 and not with the encodings you used!
So in FileMaker, you can read text as UTF-8, detect the BOM character and remove it for further processing:
# Read text as UTF-8 Set Variable [$text; Value: MBS("CURL.GetResultAsText"; $curl; "UTF-8")]
# get first character
Set Variable [$c; Value:Code(Left($text; 1))]
# is it the UTF-8 BOM? If [$c = 65279]
# remove it Set Variable [$text; Value:Middle($text; 2; Length($text)-1)] End If
# now use the text
Set Field [CURL Test::Text; $text]
At any time you can create the BOM character for UTF-8 with Character(65279) and put it in front of text, before sending it via plugin functions to a file, a socket, a server or a serial port.
Nickenich, Germany - (November 11th, 2014) -- MonkeyBread Software today is pleased to announce MBS FileMaker Plugin 4.4 for Mac OS X or Windows, the latest update to their product that is easily the most powerful plugin currently available for FileMaker Pro. As the leading database management solution for Windows, Mac, 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 4.4 has been updated and now includes over 2800 different functions, and the versatile plugin has gained more new functions:
If you work often with lists, we have a couple of list functions for you like reverse, sort and logical operations like and, or, not and xor. For processing large lists with thousands of entries, the QuickList functions can give a great speed improvement.
Users of the EyeOne color measurement devices from X-Rite can now use our plugin in combination with the EyeOne SDK to measure colors. So you can build powerful color management solutions in FileMaker.
For our Windows users with a telephone system, we have now functions for the telephone API. This allows you for example to show a customer record for a phone call. Or to dial automatically for your application user.
Fans of regular expressions can now use them to match text in FileMaker. In combinations with our list functions you can query a list for matching entries. If you need more details, you can also compile a regular expression and run it with a text. Than you can query details on the result like the position of matched sub patterns.
We updated DynaPDF library to 22.214.171.124 and included more functions in our plugin: You can now create PDF/A files with checking conformance, applying improvements and add output intents. We have new font functions, functions to work with checkbox fields and functions to create named destinations for links within the document.
Our functions to send emails got a major upgrade. Now we are compatible and tested with Microsoft Outlook. Also you can now specify the text encoding and a custom message ID.
The Mac functions for rich text can now write to file/container and replace text. We got a new function to format JSON texts, GraphicsMagick now writes TIFF files directly to container and we can decode base64 text to file in container.
More details in the release notes. Please take the time to check our 300 example databases and check where you can use our plugin features in your solutions.
This app can be used both for FileMaker runtimes and applications created with Xojo. This way you can get your app into Mac App Store or simply avoid the Gate Keeper warning after downloading unsigned applications.