Nickenich, Germany - (January 28th, 2016) -- MonkeyBread Software today is pleased to announce MBS FileMaker Plugin 6.0 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 6.0 has been updated and now includes over 3500 different functions, and the versatile plugin has gained more new functions:
With the new version we got a couple of new
DynaPDF functions. One is the new
optimize command to rebuild and repair PDF files. You can do that before archiving PDFs or before creating a PDF/A file. If you need to embed XML for your invoice PDFs, please check the ZUGFeRD examples. If you need to extract text from a PDF, you can now decide between
DynaPDF.ExtractText for the whole document or
DynaPDF.ExtractPageText for individual pages.
Our
JSON functions got a major update. We know can pass JSON around as both text and IDs. Using IDs can reduce the work the plugin does with parsing and speed up the process a lot. Please check the new functions
JSON.Parse,
JSON.CreateArrayRef and
JSON.CreateObjectRef to create references and work with them.
Do you have a LDAP server or one for Active Directory? We have
new functions to query LDAP server. You can perform a search and get back results. You can add, modify, delete and rename entries.
If you need to loopup an IPv4 or IPv6 for a domain name, you can use our new
DNSLookup functions. The reverse way is possible by looking up domain name for an IP.
For handling zip archives we got two new convenience functions:
UnZipFile.ExtractFiles expands all files from an open archive while
ZipFile.CompressFiles adds files to an archive. If you need more control, we still have individual functions for the tasks.
If you are unfamiliar with SQL, but you like to use powerful commands in FileMaker, please check our new Insert/Update/Delete commands.
FM.UpdateRecord lets you update a record without switching layout. With
FM.InsertOrUpdateRecord the plugin either updates an existing record or inserts a new one. And with
FM.DeleteRecord you can delete a record without a relationship or changing layout. And those functions are available for
multiple records, too.
For the FileMaker development, we got a new contextual menu entry for most list controls in FileMaker. Copy the list of fields or tables as text. Our Syntax Coloring feature is now off by default and turns on when you open script editor. This way regular users don't run into it.
We added
html functions for
clipboard, better
hash, more
FSEvents and
path, new
preferences and
window, better
list matching and
PDFKit functions.
Finally we updated DynaPDF to version 3.0.48.143, libXL to version 3.6.5.2, openssl to version 1.0.2e, SQLAPI++ to version 4.1.7 and SQLite to version 3.10.2
See
release notes for a complete list of changes.
Interested in DynaPDF Lite?
For January we have a special offer:
DynaPDF Lite for $469 instead of $669 USD. (save $200)
You can use the DynaPDF License from us for the Xojo, Real Studio and FileMaker plugin.
The license is valid for C/C++, Delphi, PHP and Visual Basic.
Interested? Please contact us.
(VAT may apply. Euro price is 429 €)
Mark your calendars and
register today for the
FileMaker Developer Conference 2016 in Las Vegas, Nevada from July 18-21. Join over 1,500 developers at The Cosmopolitan for the most intensive — and fun — FileMaker educational experience of the year.
Don't forget to visit the MBS booth
PS: Did you know that if you sign up as a company with a group of 4 developers, the 4th ticket is free?
New in this prerelease of the 6.0 plugins:
- Fixed RichText.ReplaceText to replace more than 100 items.
- Added Window.Maximize and Window.Minimize.
- Removed debug messages for launch of plugin.
- Added DynaPDF.GetTextDrawMode and DynaPDF.SetTextDrawMode.
- Changed goto line to animate and jump to the middle.
- Changed Syntax Coloring. Unless you open a script editor, relation graph window or debugger, we keep the colors off. This should avoid your clients see colors in text or search fields.
- Fixed a problem in email parsing to not mark some inline text segments as attachments.
- Changed Search Field in scripts. When you close script editor, the search is reset.
- Fixed bug in Syntax Coloring to make sure some letters like a single a is no longer red.
- Changed QTMovie.OpenContainer to work better with MP3 files.
- Updated SQLite to version 3.10.2.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.
DynaPDF has it's own documentation, which you can find included with our plugin: dynapdf_help.pdf.
In order to read it in a browser and for search engines to soon index it, I put the manual online as a webpage version:
monkeybreadsoftware.de/dynapdf/
Maybe it helps people. From time to time I can update it with current PDF file.
New in this prerelease of the 6.0 plugins:
- Fixed FM.InsertRecordQuery to copy containers, too.
- Added DynaPDF.Optimize function.
- Added FM.InsertRecordQueryIgnoreDuplicates function.
- Fixed problem in QuickList.MatchesSubString not splitting right.
- Improved XML.Import for some special XMLs.
- When copying scripts, the plugin now adds links to MBS plugin reference automatically.
- Added Window.GetTitleVisible, Window.GetTitlebarAppearsTransparent, Window.SetTitleVisible and Window.SetTitlebarAppearsTransparent.
- Added UnZipFile.ExtractFiles and ZipFile.CompressFiles functions.
- Added Flags parameter for Hash.MD5.HMAC, Hash.PBKDF2.HMAC, Hash.SHA1.HMAC, Hash.SHA256.HMAC and Hash.SHA512.HMAC so you can define if input is Hex encoded or not.
- Updated to newer plugin SDK.
- Updated SQLite to version 3.10.1.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.
If you like to optimize a PDF with DynaPDF in FileMaker, you can use a script like the one below.
It loops over a table with container fields and imports them all in one PDF In memory.
Than it optimizes the PDF and writes it back to a container field.
For your convenience I included the commands to use files, too:
#Initialize DynaPDF if needed
If [$$DynaPDFInited ≠ 1]
Perform Script [“InitDynaPDF”]
End If
#Clear current PDF document
Set Variable [$pdf; Value:MBS("DynaPDF.New")]
#For writing to file instead of container, pass path here:
// Set Variable [$r; Value:MBS("DynaPDF.OpenOutputFile"; $pdf; "/Users/cs/Desktop/test.pdf")]
#Load PDF from container
Go to Record/Request/Page [First]
Set Variable [$destPage; Value:1]
Loop
#Read from file
// Set Variable [$r; Value:MBS("DynaPDF.OpenPDFFromFile"; $pdf; "/Users/cs/Desktop/input.pdf")]
#or container
Set Variable [$r; Value:MBS("DynaPDF.OpenPDFFromContainer"; $pdf; Merge PDFs::InputPDF)]
#Import all pages
Set Variable [$r; Value:MBS("DynaPDF.ImportPDFFile"; $pdf; $destpage)]
If [GetAsNumber($r) >0]
Set Variable [$destPage; Value:$r+1]
End If
Go to Record/Request/Page [Next; Exit after last]
End Loop
#Repair & Optimize PDF
Set Variable [$r; Value:MBS("DynaPDF.Optimize"; $pdf)]
#Save to container
Set Field [Merge PDFs::FinalPDF; MBS("DynaPDF.Save"; $pdf; "Merged.pdf")]
Set Variable [$r; Value:MBS("DynaPDF.Release"; $pdf)]
DynaPDF 3 is already 5 years old and a lot of changed since then. Version 3 had the render feature as the big new function, but that involved to more. For example we got a print feature on Windows to directly send PDFs to a printer. Or the render features to write a multi page tiff file for a PDF.
For February DynaForms scheduled the release of Version 4 of the DynaPDF library. The big new features for Version 4 are a much improved PDF/A converter which supports version 1b, 2b and 3b of the PDF/A standard.
With DynaPDF Lite you can create PDF/A files and run the conformance check. This check is required to know which ICC color space to include as an output intent and whether the PDF conforms to the PDF/A standard.
Now if you have DynaPDF Pro plus the PDF/A extension, you can use the conformance check function to actually change the PDF and make it being conform. The current version of DynaPDF does those changes for PDF/A 1b. The converter for PDF/A 2b and 3b is currently in beta stage and will be ready soon.
Maybe more interesting on the PDF/A converter is the function to optimize and repair PDFs before archiving them. We can put in broken PDFs and they are rebuild completely. This fixes wrong items and removes duplicate parts, so the resulting PDFs are often smaller. Another optimization which runs optionally is to convert colors from various color spaces like Separation, DeviceN, and N-Channel color spaces to device color space. If you are interested in smaller images, DynaPDF can optionally scale down images in the PDF. e.g. reduce DPI of images and compress them as JPEG so they need less space. Finally DynaPDF can optionally delete invisible paths to further reduce file size.
More coming soon in our plugins.
PS: The Optimize feature can also be used to fix corrupted PDFs created in FileMaker 14. See
community thread.
One developer using MBS Plugin came with a request to connect to Rosette's API to query various functions on language detection and parsing.
From the website they got this cURL command line to translate:
curl "https://api.rosette.com/rest/v1/morphology/complete" \
-H 'user_key: [your_api-key]' \
-H 'Content-Type:application/json' \
-H 'Accept:application/json' \
-d'{"content": "The quick brown fox jumped over the lazy dog. Yes he did."}'
Now this translates very well into a FileMaker Script. As you see we start a new CURL session, set a couple of options, perform the transfer and check the result.
For building the JSON I highly recommend to check the latest 6.0 prerelease for the new JSON commands we have there. As this webservice is a REST webservice, the input and output is JSON encoded and our functions help to do this very efficiently.
# Start new CURL transfer
Set Variable [$curl; Value:MBS("CURL.New")]
# Set options like Verbose Debug Messages
Set Variable [$result; Value:MBS("CURL.SetOptionVerbose"; $curl; 1)]
# the url of webservice
Set Variable [$result; Value:MBS("CURL.SetOptionURL"; $curl; "https://api.rosette.com/rest/v1/morphology/parts-of-speech")]
# the header info for tagging, API Key comes from a global field.
Set Variable [$result; Value:MBS("CURL.SetOptionHTTPHeader"; $curl; "user_key: " & RosetteAPISettings::RosetteAPIKey; "Content-Type: application/json"; "Accept: application/json" )]
# We want a POST transfer:
Set Variable [$result; Value:MBS("CURL.SetOptionPost"; $curl; 1 )]
# Build JSON using the plugin function to properly encode a string:
Set Variable [$request; Value:"{\"content\": " & MBS("JSON.CreateString"; TextData::TextAsInput) & "}"]
Set Variable [$result; Value:MBS("CURL.SetOptionPostFields"; $curl; $request)]
#show our JSON in a field for debugging:
Set Field [TextData::CURLInput; $request]
#Run transfer
Set Variable [$result; Value:MBS("CURL.Perform"; $curl)]
# Check result and debug messages
Set Field [TextData::CurlDebug; MBS("CURL.GetDebugAsText"; $curl)]
Set Field [TextData::CurlOutput; MBS("CURL.GetResultAsText"; $curl)]
# Cleanup
Set Variable [$r; Value:MBS("CURL.Cleanup"; $curl)]
Need to run FileMaker always in 32-bit independent of the flag in Finder info window and independent of how you launch FileMaker?
One way is to simply remove 64-bit code from FileMaker. If you run in terminal the file command, you see that FileMaker 14 is a 32-bit and 64-bit universal binary:
file ./FileMaker\ Pro\ Advanced.app/Contents/MacOS/FileMaker\ Pro
./FileMaker Pro Advanced.app/Contents/MacOS/FileMaker Pro: Mach-O universal binary with 2 architectures
./FileMaker Pro Advanced.app/Contents/MacOS/FileMaker Pro (for architecture x86_64): Mach-O 64-bit executable x86_64
./FileMaker Pro Advanced.app/Contents/MacOS/FileMaker Pro (for architecture i386): Mach-O executable i386
Now to make it a 32-bit only app, run the following command (one line):
lipo -thin i386 ./FileMaker\ Pro\ Advanced.app/Contents/MacOS/FileMaker\ Pro -output ./FileMaker\ Pro\ Advanced.app/Contents/MacOS/FileMaker\ Pro
This removed 64-bit code and you now have a 32-bit only app:
file ./FileMaker\ Pro\ Advanced.app/Contents/MacOS/FileMaker\ Pro
./FileMaker Pro Advanced.app/Contents/MacOS/FileMaker Pro: Mach-O executable i386
For relative paths to work as above, you need to move in the right folder using cd command in Terminal. Please also make a backup and be aware that any updater will probably restore the app.
PS: Do at your own risk. If something goes wrong you need to reinstall FileMaker 14.
In the screenshot below, do you see all 4 FileMaker windows?
We have here:
- Normal window with status toolbar
- Window without toolbar, but with title bar
- Window with toolbar, but without title bar
- Window without titlebar and without toolbar
We'll see how useful this will be in the future.
Did you see the interview from Don Clark with me at last DevCon in Las Vegas?
Here it is:
If you like to watch, just go to
filemakerprogurus.com on the interview page.
New in this prerelease of the 6.0 plugins:
- Updated DynaPDF to version 3.0.47.141.
- Updated libXL library to version 3.6.5.2.
- Added contextual menus to most tables in FileMaker on Mac to copy content of table.
- Added SyntaxColoring.ContextualMenuEnabled.SetEnabled and SyntaxColoring.ContextualMenuEnabled.GetEnabled functions.
- Added Clipboard.GetHTMLText and Clipboard.SetHTMLText.
- Updated SQLite to version 3.10.0.
- For addressbook properties and labels you can now both pass with or without kAB prefix. So kABUIDProperty and UIDProperty work now.
- Rewrote most of JSON so you can now optionally use JSON reference numbers for JSON objects for faster processing.
- Added JSON.Release, JSON.CreateArrayRef, JSON.Parse and JSON.CreateObjectRef functions.
- Changed JSON.Add* functions to allow multiple parameters to be passed to add a lot of values.
- Added JSON.AddBooleanToObject and JSON.CreateBoolean functions.
- Fixed Plugin.Path function for Windows.
- Fixed bug in FM.SQL.Field function.
- Fixed a memory leak in the internal function to query idle time on Mac.
- Fixed a bug in FM.StopScriptIdle and in FM.RunScriptIdle.
- Added Preferences.HasValue and Preferences.DeleteValue functions.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.
FileMaker Inc. today put a new SDK online for creating iOS apps based on FileMaker Go.
So if you have Xcode and an iOS app developer account with Apple, you should be able to build an iOS app which includes your fmp12 file as user interface.
You can have your own icon, URL scheme, startup screen and much more.
Now I wonder if a plugin SDK for iOS is coming, too...
see
help.filemaker.com/app/answers/detail/a_id/15531
and
help.filemaker.com/app/answers/detail/a_id/15582/
Do you need to copy the contents of a table in FileMaker easily?
in your field definitions:
or in script debugger:
With next plugin version we will include a new feature: For all tables where FileMaker doesn't have it's own contextual menu, we can add one with a command to copy the content to the clipboard. This is very helpful if you like to copy a call stack or the list of fields from your solution. And probably 10 other tables you can now copy, too.
The copy is just a right mouse click away.
You may have seen the AES blog post recently for AES encryption in both PHP and Xojo (Real Studio). The same AES encryption works in FileMaker, too.
Here is the example script:
# prepare
Set Variable [$keyHash; Value:MBS( "Hash.Digest"; "SHA256"; "Text"; AES like PHP::keyPlainText; "UTF-8"; "hex")]
Set Field [AES like PHP::keyHash; $keyHash]
Set Variable [$IVHash; Value:MBS( "Hash.Digest"; "SHA256"; "Text";AES like PHP::ivPlainText; "UTF-8"; "hex")]
Set Variable [$IVHash; Value:Left($IVHash; 32)]
Set Field [AES like PHP::IV; $IVHash]
# encrypt
Set Field [AES like PHP::EncryptedData; MBS( "Encryption.Cipher"; "encrypt"; AES like PHP::algorithm; "hex"; AES like PHP::keyHash; ""; "text"; AES like PHP::dataPlaintext; "UTF-8"; "base64"; ""; "hex"; AES like PHP::IV )]
# decrypt
Set Field [AES like PHP::DecryptedData; MBS( "Encryption.Cipher"; "decrypt"; AES like PHP::algorithm; "hex"; AES like PHP::keyHash; ""; "base64"; AES like PHP::EncryptedData; ""; "text"; "UTF-8"; "hex"; AES like PHP::IV; "" )]
Interested in DynaPDF Lite?
For January we have a special offer:
DynaPDF Lite for $469 instead of $669 USD. (save $200)
You can use the DynaPDF License from us for the Xojo, Real Studio and FileMaker plugin.
The license is valid for C/C++, Delphi, PHP and Visual Basic.
Interested? Please contact us.
(VAT may apply. Euro price is 429 €)
There is a European Filemaker conference in english planed for Berlin, Germany:
.fmp[x]Berlin 2016
THE pan-European Unconference for FileMaker Developers
2. - 4. Juni 2016
GLS Campus Berlin, Kastanienallee 82, 10435 Berlin
If you like to join an english speaking conference in Europe which is not organized by FileMaker, you are right here.
With our
6.0pr5 plugin we included the FileMaker Runtime Shrinker for Mac OS X. Download it on our
prerelease plugin download page. This is a little tool which can shrink your FileMaker runtimes significantly. The application looks like this:
As you see we have 4 options:
- First you can remove PPC code. As FileMaker does not even run on PowerPC based Macs, you can safely remove the old PPC code. (for FileMaker 11-13)
- Second, we remove duplicate libraries. Yes, the runtime contains a few shared libraries several times and it works fine if you remove the duplicates.
- Third, there are some icon files in the runtime which are not assigned to file types, so the operation system will never use them. You can remove them easily with this option.
- Forth, you can remove 32-bit and/or 64-bit code for FileMaker 14. As the runtime requires OS X 10.7 you only need to ship either 32-bit or 64-bit depending on the plugins used. If there are plugins in the extension folder next to the runtime, those will also be shrunken.
- Finally you can reduce the number of languages you support.
When we click the shrink button with all options and leaving only one language, we get the runtime smaller and the result dialog:
As you see we save 54 MB (32%) for a FileMaker 14 runtime here.
We already had questions for a Windows version. FileMaker runtimes on Windows include a lot of DLLs and most are required as far as we see. You still can yourself delete some localization files if you like. Also you don't need to include the Microsoft Runtime folders on Windows 7 as far as we see. Those libraries do ship with Windows 7, but please test that yourself.
Please give it a try and if you have questions, please do not hesitate to ask us.
if you want to share this news with friends, please point them to our website/blog so they can download the latest version. This app will probably need updates regularly for newer versions of FileMaker.
New in this prerelease of the 6.0 plugins:
- Added more options for QuickList.MatchesPostfix and QuickList.MatchesPrefix.
- Added QuickList.MatchesSubString function.
- Updated Runtime Shrinker to version 2.0 for FileMaker 11 to 14.
- Fixed bug in ServerSocket.SendQuery when reporting connection errors.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.
PS: Version number on the pr5 is still 4.
Already 2015 is finished and we a looking forward to a great new year!
This is year 16 for our
Xojo plugins and year 10 for our
FileMaker plugin. Yes ten, even as we will deliver version 6. We synchronized version numbers to the year number long ago.
What was new in 2015?
- LDAP Functions
- CURL with multiple asynchronous transfers
- Markdown functions in plugin and via Javascript.
- Running JavaScript without webviewer.
- Excellent email sending functions for multiple attachments, right text encoding, properly encrypted connection and inline graphics.
- Elliptic curve cryptography
- and much more
In total 700 new functions for
FileMaker and 300 new classes for
Xojo with over 5500 new features in total. Year end we have 3500 functions in our
FileMaker plugin and over 57000 documented things in our
Xojo plugins. Over the years little babies get grown up.
Wishes for 2016?
We have quite a long list of wishes from people, but maybe you have a few new ideas?
Already on the list are new functions for
Xojo to talk directly to HID USB devices on Mac, Windows and Linux. For OS X we may get some AVFoundation movie classes for easier editing of video files.
A big thing to do could be rewriting scanner support for OS X and Windows in our FileMaker plugin. TWAIN is getting dated and drivers are harder to find for 64-bit.
Conferences 2016
We are looking forward to meet you. For
Xojo there is of course the
XDC 2016 in Houston, Texas. We have meetings planned for
Cleveland and Chicago and probably a few more to be named. We are still considering doing our
own European conference, but need to fix a date and location.
For
FileMaker, we plan to meet you at Las Vegas conference as well as the
PauseOnError in Cleveland. In October we probably have once again a few conferences in Europe for FileMaker in
Salzburg and other cities.