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.
Function | Starts at | Type |
Menu | 10000 | text |
Menu Items | 11000 | text |
QuickList | 12000 | text |
Regular Expressions | 13000 | text |
SendEmail | 14000 | text |
Window | 15000 | text |
CURL sessions | 16000 | text |
Midi Streams | 17000 | text |
GraphicsMagick Image | 18000 | text |
XL Books | 19000 | text |
DynaPDF Context | 20000 | text |
DynaPDF Table | 21000 | text |
SQL Command | 22000 | text |
SQL Connection | 23000 | text |
CoreLocation Geocoder | 24000 | text |
CoreGraphics Image Source | 25000 | text |
Addressbook Item | 26000 | text |
Calendar Item | 27000 | text |
SerialPort | 28000 | number |
Socket | 29000 | number |
PDFKit Document | 30000 | number |
Drag & Drop | 31000 | number |
TAPI | 32000 | text |
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.
New in this prerelease of the 4.5 plugins:
- Disabled code in OpenSSL trying to load config files.
- Added MountNotification.Install and MountNotification.Uninstall.
- Fixed bug with GMImage.Copy function.
- Fixed bug in Container.GetTypeSize.
- Fixed a bug with reading container data.
- Updated to GraphicsMagick 1.3.20.
- Updated to libJPEG 9.1.
- Updated to PCRE 8.36.
- Updated to libPNG 1.6.14.
- Updated to CURL 7.39.0.
- Updated to OpenSSL 1.0.1j.
- Updated LibXL to version 3.6.1.
- Fixed a bug where server license would not allow use in both Scheduled Scripts and Web Publishing/Direct.
- Added Webview.Cookies.ClearForURL, Webview.Cookies.Count and Webview.Cookies.Query.
- Changed Line Numbers to work in FileMaker Pro, too (not just advanced). Please report any window you see which has unnecessary line numbers.
- Updated to newer SDK.
- Changed SerialPort.Read and SerialPort.ReadHex to return empty text if no data was available instead of error code 35.
- Fixed a problem with license network check.
- Fixed a possible problem with stored registration on Mac.
- Improved code for future (e.g. better 64-bit support).
- Added Menubar commands to list menu commands, check if one exists, trigger one or change shortcut or visibility.
- Added FM.RunDataDesignReport function to automatically write data design reports.
- PHP support is deprecated and will be removed soon.
- Window and Webview reference numbers are now numbers returned as text.
- Functions check now text encoding parameters better and report errors for unknown text encoding values.
- Added suggestions when you use an unknown plugin function: [MBS] Unknown function: CURL.SetOptionVerifyPeer. Did you mean CURL.SetOptionSSLVerifyPeer?
- Added DynaPDF.GetTextWidth and DynaPDF.WriteDemoText.
- Added QuickList.AddList, QuickList.AddQuickList, QuickList.HasValue, QuickList.Remove and QuickList.RemoveValue.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.
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:
AUTH SSL
500 This security scheme is not implemented
AUTH TLS
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:
openssl x509 -inform PEM -in gd_intermediate.crt -out gd_intermediate.pem -text
openssl x509 -inform PEM -in gd-class2-root.crt -out gd-class2-root.pem -text
cat gd_intermediate.pem gd-class2-root.pem > gd-bundle.pem
That got me this pem file:
gd-bundle.pem
Now you can use CURL with security checks (OptionVerifyPeer and OptionVerifyHost on) and the log shows:
Server certificate:
subject: O=*.senior-systems.com; OU=Domain Control Validated; CN=*.senior-systems.com
start date: 2012-05-02 23:33:25 GMT
expire date: 2017-05-02 23:33:25 GMT
subjectAltName: ftp.senior-systems.com matched
issuer: C=US; ST=Arizona; L=Scottsdale; O=GoDaddy.com, Inc.; OU=http://certificates.godaddy.com/repository; CN=Go Daddy Secure Certification Authority; serialNumber=07969287
SSL certificate verify ok.
Works in FileMaker, Xojo and Real Studio via MBS Plugins.
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.
The connection string looks like this:
"Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=c:\test.dbc;Exclusive=No;NULL=NO;Collate=Machine;BACKGROUNDFETCH=NO;DELETED=NO;"
So we provide the name of there drive, the type of source (database file), the path to the database file and a few options. Maybe you don't need all those options.
Below the
FIleMaker script to connect. Please notice that we pass empty username and password after the connection string. And the last parameter is the client type which is always "ODBC" here.
Set Variable [$Connection; Value:
MBS(
"SQL.NewConnection")]
Set Variable [$result; Value:
MBS(
"SQL.Connect"; $Connection;
"Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=c:\test.dbc";
"";
"";
"ODBC")]
In
Xojo (or Real Studio) with
SQL Connection we simply set database connections string and type to connect:
dim con as new SQLConnectionMBS
const db = "ODBC:Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=c:\test.dbc"
con.Connect(db,"","",SQLConnectionMBS.kODBCClient)
In
Xojo (or Real Studio) with
SQL Database we have to prefix the connection string with "ODBC:" to
dim db as new SQLDatabaseMBS
db.DatabaseName = "ODBC:Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=c:\test.dbc"
if db.Connect then
So the next time you have a client with a FoxPro Database where you need import/export from FileMaker, Xojo or Real Studio, our plugin may come to rescue!
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 3.0.36.104 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.
Bob Keeney just wrote a nice review about App Wrapper 3, an useful tool for code signing and packaging your application.
See blog entry:
bkeeneybriefs.com/2014/11/app-wrapper-3/
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.
New in this prerelease of the 4.4 plugins:
- Added TAPI.CreateCall function.
- Added Container.DecodeFromBase64 function.
- Added DynaPDF.GetCheckBoxChar, DynaPDF.GetCheckBoxCharEx, DynaPDF.GetCheckBoxDefState, DynaPDF.SetCheckBoxChar, DynaPDF.SetCheckBoxDefState and DynaPDF.SetCheckBoxState for checkbox fields.
- Added option to SendMail.CreateEmail to specify text encoding.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.
FileMaker
6th November 2014, tonight the monthly meeting of
Rhein/Main area FileMaker developers in Lorsbach (near Frankfurt/Main, Germany).
Xojo
10th November 2014,
Xojo Users Group in Atlanta, USA.
13th/14th November 2014, the
Xojo event in Birmingham (UK)
2nd December 2014, the
London Xojo User group meeting.
I'll be tonight in Lorsbach and next week in Birmingham.
New in this prerelease of the 4.4 plugins:
- Improved SendMail functions to work with Microsoft Outlook correctly.
- Added SQL.SQLite3.EnableLoadExtension function.
- Added option to SendMail.CreateEmail to use ISO Latin1 instead of UTF-8 for encoding.
- Added DynaPDF.AddOutputIntent and DynaPDF.AddOutputIntentEx functions.
- Fixed a bug in Path.FilemakerPathToNativePath introduced in earlier prerelease.
- Added RegEx.MatchList, List.RegExMatch and QuickList.RegExMatch function.
- Added DynaPDF.CheckConformance function.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.
For our Germans speaking users:
Wir haben die Artikel zum MBS Plugin aus dem FileMaker Magazin gesammelt hier online gestellt: FileMaker Magazin Artikel:
- FMM 201105 Bilder skalieren mit dem MBS FileMaker Plugin, So bleibt Ihre Datenbank schlank
- FMM 201203 Arbeiten mit Dateidialogen, Komfortablere Dateiexporte per MBS Plugin
- FMM 201303 Script-Träger übers Netzwerk, Scripts triggern übers Netzwerk
- FMM 201303 Syntax Coloring, Berechnungen und Scripts bekennen Farbe
- FMM 201306 Zip-Archive auslesen, Bilder aus OpenOffice-Dokumenten extrahieren
- FMM 201401 Kalendertermine und Erinnerungen, Wie man Ereignisse aus FileMaker anlegt
- FMM 201402 Variablen, Globalisierte Lösungen per Plugin
- FMM 201405 Vorbereiten von PDFs für den Versand, Verkleinern großer Dateien
- FMM 201405 E-Mail-Versand, Mehr Möglichkeiten mit dem MBS Plugin
- FMM 201501 QuickList, Schnelle Listen für FileMaker
- FMM 201503 Neue Datensätze ohne Layoutwechsel, Mit Hilfe von SQL-Befehlen und dem MBS-Plugin
- FMM 201504 Datensätze effizient kopieren, Mit etwas SQL und dem MBS-Plugin
- FMM 201505 Wünsche werden wahr, Neues im „MBS-Plugin“ bei der FMK 2015
- FMM 201506 Authentizität durch Signaturprüfung, Daten übertragen und Veränderungen bemerken
- FMM 201601 iOS App SDK, Eigene iOS-Apps auf Basis von FileMaker
Wir empfehlen allen FileMaker Anwender ein Abo vom Magazin und den Kauf der alten Ausgaben. Das FileMaker Magazin ist eine excellente Quelle von Informationen, Anleitungen und Profitips.
New in this prerelease of the 4.4 plugins:
- Added TAPI functions.
- Updated DynaPDF to version 3.0.36.104.
- Fixed problem in XL.LoadBook introduced in pr5.
- Fixed container reading to work on Windows with network paths.
- Errors from file functions now include file path. e.g. when opening/creating a file failed.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.