We got a screenshot to show
DynaPDF features in our
MBS FileMaker Plugin:
In detail:
- The click points example where you click on the image and get dots showing there.
- The example to show visually the difference between two PDF documents or pages (DynaPDF.ShowDifferences).
- The invoice example to create invoices without a FileMaker layout by doing the layout via DynaPDF table functions (DynaPDF.Table.Create).
- The page number example running on Windows
- An example to show search within a PDF document on iOS (DynaPDF.HighlightPattern).
- The watermark example to add Private Document on top of a page (DynaPDF.WriteDemoText).
- And the personalize PDF example on Web Direct where every visitor sees a personalized copy of the PDF with their name and page numbers (see blog article).
We got a nice collage to show you over 15 improvements to the FileMaker Pro user interface included with MBS Plugin for MacOS:
If you like to check if you can name them all, please look on full resolution image:
SyntaxColorizing.png
See also
Reasons for FileMaker Pro users on MacOS to install MBS Plugin
Please note that our FileMaker DevCon sale for 2019 ends soon.
The coupon code you picked up at our booth is valid for August only.
If you see crashes in FileMaker related to showing a PDF document inside an interactive container field, you may want to take a closer look.
Click details on the crash report and look which thread crashed. If you find that some code in com.adobe.acrobat.pdfviewer is crashing, we may have solution for you:
Thread 38 Crashed:
0 libobjc.A.dylib 0x00007fff6cf3869d objc_msgSend + 29
1 com.adobe.acrobat.pdfviewer 0x000000011902faa3 0x119018000 + 96931
2 com.adobe.acrobat.pdfviewer 0x00000001190304d3 0x119018000 + 99539
3 com.adobe.acrobat.pdfviewer 0x000000011901a380 0x119018000 + 9088
4 com.adobe.acrobat.pdfviewer 0x000000011901a224 0x119018000 + 8740
The PDF viewer plugin from Adobe helps browsers to show the PDF content. But Safari and other browsers have such a viewer built-in, so the Adobe one is not needed. And the Adobe control is optimized to run within a browser and not the FileMaker application. We recommend to remove it and avoid those crashes. Your users probably won't miss it and your FileMaker solution is more stable.
Some clients even automate this by putting a line like this in the start script:
$r = MBS("Files.MoveToTrash"; "/Library/Internet Plug-Ins/AdobePDFViewer.plugin")
We've see such crashes with other development tools (e.g. Xojo) and embedded webkit controls before. Once you remove the Adobe PDF Viewer plugin, the default PDF viewer will kick in and show PDFs.
New in this prerelease of version 9.4 of the MBS FileMaker Plugin:
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.
Zwei Stammtische am Rhein und Main laden ein zum Austausch mit anderen FileMaker Entwickler:
Dienstag, 3. September 2019
19:00 im Restaurant Portofino, St. Augustiner Str. 129, Bonn
Organisiert von Tischler IT-Consulting
siehe
filemaker-datenbank.de/fm-stammtisch/
Donnerstag, 5. September 2019
19:00 Uhr im Ristorante BELLA BARI, Hessenstraße 1, 65719 Wallau
Organisiert von der Denkform
siehe
denkform.net/schulungen-webinare/events
Themen sind die Neuerungen von der
FileMaker DevCon 2019 und die kommende
FileMaker Konferenz in Hamburg. 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 und in
Hamburg gibt es noch freie Plätze.
In FileMaker you can place a web viewer on your layout. But only when you actually load an URL into the web viewer, FileMaker will create the control and place it on the window. To solve this, we often load "about:blank" to get a blank web viewer.
To verify, here a FileMaker window in 3D view in debugger, where you see the view hierarchy without a web viewer:
And here after loading about:blank with the web viewer:
As you see FMWKWebView is now present and MBS Plugin can find it with
WebView.FindByName and other functions. Alternatively you can use
WebView.Create or
WebView.CreateOnPopover to add a web view via plugin functions.
Due to XDC 2020 we come to Nashville and stop by in New York. We'll attend the
New York FileMaker Pro Developers' Group meeting.
Please save the date:
19th March 2020
Times: 5:30 pm Meet & Greet, 6:00 pm – 8:00pm Presentation
We'll have a presentation to whatever is new in the MBS FileMaker Plugin 2020.
Looking forward to see a few FileMaker developers there!
If you are interested in private time for consulting, training or discussion MBS or FileMaker topics, we can of course schedule a meeting. Please contact me directly interested.
If you like to use dictionary in another language, you can now control the dialog to select dictionaries.
You can use our new
FM.ChooseDictionary function to set the dictionary. Once the function run, you can use
FM.GetDictionary to get the current selected item or
FM.GetDictionaryList to get the list.
This may be useful for people in e.g. Switzerland. They may use German localization, but would like to use the Swiss German dictionary instead of the regular German one.
Coming soon with next MBS Plugin prerelease. If you like to try now, please do not hesitate to contact us via email for a download link.
PS: We tried for Windows, but when asking the combobox for entries, we only get zero back. Maybe we can solve that someday, but until that day this feature stays Mac only.
New in this prerelease of version 9.4 of the MBS FileMaker Plugin:
- Notarized the disk image for MacOS Catalina.
- Added SpeechRecognition functions.
- Rebuild CURL code for Windows to fix issue in pr2.
- Updated to Xcode 10.3.
- Added error check to Encryption.Cipher to report if de/encryption fails instead of silently return no or garbage data.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.
This year we sponsor six FileMaker events for October 2019:
Beside hosting our own
conference for Xojo.
Please leave your cave and join the conferences, make contacts, learn new techniques and meet the Claris staff!
You want to convert a single page document to a two pages side by side document or even more pages per page with FileMaker?
With the help of the
MBS FileMaker Plugin and our
DynaPDF functions you can do it. You find an example database in the example folder coming with the plugin.
(more)
Here is a nice screenshot we made to show you what you can do with
MapView functions in
MBS FileMaker Plugin:
As you see we can show maps in 2D and 3D, normal and satellite, render snapshots, add pins and plan routes. For MacOS and iOS and all within FileMaker solutions. Try yourself!
When you try to load a DLL on Windows via our plugins, you may get back an error message on failure.
Error 126: The specified module could not be found.
You passed an invalid path to the DLL or you tried to load a DLL and it refers to another DLL, which could not be found. For example several DLLs belong together and they should all be in same folder, so Windows can find them. Or a Visual Studio Runtime DLL is missing for the version of the C runtime needed by this DLL.
You can use
Dependency Walker application to figure out which DLL is missing.
Error 127: The specified procedure could not be found.
The DLL was loaded, but then an expected function was not found. This could happen if you load the wrong DLL, which doesn't have the functions at all. Or if you have an older DLL, which does not yet export the required function.
Error 193: This is not a valid Win32 application.
Either this is really not a DLL or you mixed 32 and 64bit platforms and got the wrong one. Please make sure you use 32-bit DLL for a 32-bit application and a 64-bit DLL for a 64-bit application.
Error 998: Invalid access to memory location.
The path passed may be invalid and cause a memory access error.
Error 1114: A dynamic link library (DLL) initialization routine failed.
The DLL got loaded, but the initialization routine returned an error message. This may happen with Visual C libraries, if you try to load more statically linked libraries, then you have handles available. Memory may be available, but some handles have a limited list and loading too many DLLs (over 500) can run into a limit.
If you need to read HEIF or HEIC image files (High Efficiency Image File Format) in FileMaker on Mac or iOS, please check our Container.ReadImage function in MBS FileMaker Plugin:
Set Variable [ $path ; Value: "/Users/cs/Desktop/IMG_3552.HEIC" ]
Set Variable [ $container ; Value: MBS( "Container.ReadFile"; $path) ]
If [ MBS("IsError") = 0 ]
Set Variable [ $image ; Value: MBS( "Container.ReadImage"; $container; "PNG"; "image.png") ]
If [ MBS("IsError") = 0 ]
Set Field [ Untitled::image ; $image ]
End If
End If
So we may need to import the file into a container value first, if you haven't it in a container field already. Second, we use Container.ReadImage to read the image and convert it to a PNG file. PNG supports transparency and has lossless compression, so we prefer it over JPEG.
Alternatively you can use CGImageSource functions and get the images and any metadata like this:
Set Variable [ $path ; Value: "/Users/cs/Desktop/IMG_3552.HEIC" ]
Set Variable [ $ImageSource ; Value: MBS( "CGImageSource.CreateWithPath"; $path) ]
If [ MBS("IsError") = 0 ]
# you can get metadata as JSON to check later...
Set Variable [ $$MetaData ; Value: MBS( "CGImageSource.Properties"; $ImageSource ) ]
Set Variable [ $$ImageMetaData ; Value: MBS( "CGImageSource.Properties"; $ImageSource; 0 ) ]
# get image to show
Set Variable [ $image ; Value: MBS( "CGImageSource.ImageAtIndex"; $ImageSource; 0; "PNG"; "image.png") ]
If [ MBS("IsError") = 0 ]
Set Field [ Untitled::image ; $image ]
End If
Set Variable [ $r ; Value: MBS( "CGImageSource.Release"; $ImageSource ) ]
End If
Please do not hesitate to contact us with questions.
Once again Xojo Inc. sponsors an episode of the
Under the Radar podcast.
Originally pointed to by Paul Lefebvre's
tweet, I quickly subscribed as they talk about various topics for independent app developers and those episodes are very interesting. They face similar issues as myself and so I like to hear their solutions.
Thanks to David Smith and Marco Arment for their apps and the podcast.
Thanks to Xojo Inc. for supporting the shows.
Do you like this podcast? Or any other good podcasts not to miss?
Monkeybread Software today is proud to announce Combine PDFs 5.4, an update to their popular PDF merge and split tool for Mac OS. With a focus on ease-of-use, Combine PDFs is a lightweight utility which allows anyone to merge PDF files and images into a single PDF file. The user need only drag & drop files onto the program icon. The main window appears, allowing the user to set the order in which the files are joined.
Changes in Version 5.4:
- Requires MacOS 10.10 or newer.
- Upgraded to Xojo 2019r1 for dark mode support.
- Notarized.
Combine PDFs Website
Requires MacOS 10.10 or newer for 64-bit. Older 32-bit version stays available and still works very well.
This application is made with
Xojo 2019r1.
New in this prerelease of version 9.4 of the MBS FileMaker Plugin:
- Added Vision functions for text recognition, barcode detection and image classification on MacOS and iOS.
- Rewrote BlueThermProbe functions.
- Changed Syntax colorizing to not draw into hidden windows. This avoids crashes while closing debugger.
- Added UNNotification.SetNFCScript function for background scanning with URL trigger in NFC card for iOS.
- Added Text.ConvertToTextEncoding and Text.ConvertFromTextEncoding functions.
- Added more text encodings for Text.ConvertToTextEncoding function: CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125}, CP864, EUC−JISX0213, Shift_JISX0213, ISO−2022−JP−3, BIG5−2003, TDS565, ATARIST, RISCOS−LATIN1.
- Improved Java search for Java.Initialize function on Windows to find jvm.dll.
- Added fileNames parameter for FM.RunDatabaseDesignReport on MacOS.
- Updated DynaPDF to version 4.0.30.90.
- Fixed Files.FileSize for iOS.
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.
For the next
MBS Filemaker Plugins, we worked on including the Vision framework from Apple. Currently we have six new
Vision functions. We even include the new features coming with MacOS 10.15 Catalina release.
The Vision framework performs face and face landmark detection, text detection, barcode recognition, image registration, and general feature tracking. Vision also allows the use of custom Core ML models for tasks like classification or object detection.
For now we have
Vision.ClassifyImage function to classify image content,
Vision.RecognizeText to recognize text in a picture and
Vision.DetectBarcode to find barcodes in a picture.
Please try them later with version 9.4pr2 and let us know if you need more.
Since July 2019 we offers a new version of our FileMaker Plugin. Let me show you the new function and how you can use it.
New functions for better working with the MBS FileMaker Plugin
Maybe you have asked yourself how often you use the
MBS FileMaker Plugin. Now you can answer this question by using the "
Plugin.CallCounter" function. This function shows you how many times you called a
MBS FileMaker Plugin function. The call of this function also counts.
For a better debugging of the
MBS FileMaker Plugin we developed the “
Plugin.InstallSignalHandlers” function. With this function you install the signal handler invoked by the OS when the application crashes. Thats helps to detect what and where exactly is the problem. Usually you call this function only if we ask you to help on debugging a crash on Linux or MacOS. Our plugin then prints a backtrace to show where the crash happened.
New possibilities in debugging
New for the debugging is the
Trace.SetErrorsOnly function. If you call this and use our Trace functions you log only the
MBS FileMaker Plugin calls that return errors. Whether this option is set can be queried with the
Trace.GetErrorsOnly function. With
Trace.SetWithTimes the time is additionally logged.
Trace.GetWithTimes evaluates whether this option is set.
A helping tool for command line tools debugging is the new
Shell.GetArguments function. This function query a list of all arguments of the shell. Use it to look whether an argument that you need is missing.
Test your XML import
For better XML import debugging we offers you the
XML.Import.Errors function, which list all errors. It only reports each error once. With
XML.Import.ErrorCount you can count the errors. Because of this you can learn, whether you had errors during the import.
(more)
Vom 16. bis 19. Oktober 2019 findet die zehnte deutschsprachige
FileMaker Konferenz in Hamburg, Deutschland statt. FileMaker Anwender und Entwickler sind herzlich eingeladen sich anzumelden.
Die Veranstalter vom Verein FM Konferenz erwarten auch 2019 rund 180 Entwickler, Anwender, IT-Fachleute und Entscheidungsträger aus Wirtschaft, Bildung und Verwaltung. Rund um über 25 Fachvorträge und Workshops wird es viel Zeit zum Vernetzen in den gemeinsamen Pausen und beim Abendprogramm geben.
Dieses Jahr gibt es wieder eine
MBS Plugin Workshop, diesmal am 16. Oktober 2019 von ca. 9 bis 17 Uhr.
Anmeldung bei Monkeybread Software.
The CURL conference for 2020 is announced:
curl up 2020 will take place in Berlin, Germany in mid May.
When: May 9-10, 2020
Where: Berlin, Germany
Venue:
Co.up Community
Anyone interested in the
CURL project is welcome to join the conference!
For details, please check the
website.
Maybe we can arrange some developer meeting with our Xojo and FileMaker clients, too?
FileMaker itself understands a few text encodings. And with our various plugin formats we offer them directly to use within the plugin. We usually only document the short list: ANSI, Mac, Latin1, ISO-8859-1, Windows, Native, UTF-8 and DOS.
But the following encodings also work: ShiftJIS-Mac, ShiftJIS-Win, Korean-Mac, Korean-Win, Korean-Johab, ChineseTrad-Mac, ChineseTrad-Win, ChineseSimp-Mac, ChineseSimp-Win, Cyrillic-Mac, Cyrillic-Win, ISO-8859-5, CentralEurope-Mac, EasternEurope-Win, ISO-8859-2, Turkish-Mac, Turkish-Win, ISO-8859-3, ISO-8859-9, Baltic-Win, ISO-8859-4, Arabic-Mac, Arabic-Win, ISO-8859-6, Greek-Mac, Greek-Win, ISO-8859-7, Hebrew-Mac, Hebrew-Win, ISO-8859-8 or ISO-8859-15.
But what if you have a more exotic text encoding or an old DOS code page? Like CP865?
We added a new function
Text.ConvertToTextEncoding to convert from normal text to any encoding in a long list. The result is hex encoded as we otherwise can't really show you the text. So you can pass the hex encoded text in the specific encoding to other functions like
BinaryFile.WriteHex,
Socket.WriteHex or
SerialPort.WriteHex. If you need to decode back, you can use the new
Text.ConvertFromTextEncoding function.
(more)
After the conference is before the conference.
We are looking forward to meet all the FileMaker developers next year in Nashville.
Claris International Inc. hosts the Claris Engage conference in Nashville, August 3-6 2020.
We will probably attend and have a booth as usual, so see you there!
New in this prerelease of version 9.4 of the MBS FileMaker Plugin:
Download at
monkeybreadsoftware.de/filemaker/files/Prerelease/ or ask for being added to the dropbox shared folder.
Here a few pictures from the MBS FileMaker Plugin presentation at the FileMaker DevCon 2019 hosted by Claris International, Inc:
(more)
Please join our MBS Plugin Presentation at 12:00 PM on Wednesday. It's lunch time, so get some food and sit down in the theater for an update on what is new in the MBS FileMaker Plugin:
Come by to our booth, read the posters, ask us questions and talk with us about existing and future features.
We got flyers with our
DevCon2019 coupon code for the discount on licenses (20% on everything).
Please come and visit me in the booth #230 at FileMaker DevCon:
As usual you can come by, read the posters, ask us questions and talk with us about existing and future features.
We got flyers with our
DevCon2019 coupon code for the discount on licenses (20% on everything).
MBS Plugin Session on Wednesday, 7th August 2019 at 12:00 PM (noon) right in the theater, so you can bring your lunch and listen.