Please check the Claris™ Engineering Blog with a lot of interesting articles. Just recently they added one for plugin installation for FileMaker Server 19.3 with Data API:
- Enabling plug-ins for FileMaker Data API in FileMaker Server (June 24, 2021)
- Claris FileMaker 19.3.1 Platform bug fixes (June 23, 2021)
- FileMaker Platform performance improvements on Apple silicon (June 23, 2021)
- Verifying SSL for FileMaker Server (May 6, 2021)
- Uploading large databases to FileMaker Cloud using the FileMaker Admin API (March 18, 2021)
- Working around FileMaker Data API authorization timeouts (March 4, 2021)
- Modifying web publishing behavior for FileMaker Server (February, 8, 2021)
- Upgrading to FileMaker Server 19.2.1 (January 26, 2021)
- PHP bundling deprecation and removal from FileMaker Server (January 8, 2021)
- HTTP/2 support in FileMaker Server (December 22, 2020)
- Understanding FileMaker database memory caches (December 10, 2020)
- Migration options for FileMaker Cloud for AWS (November 11, 2020)
- Performance, stability, and reliability improvements in Claris FileMaker Server 19.1.2 (October 28, 2020)
- Considerations for configuring SSL certificates for FileMaker Server (October 20, 2020)
- Best Practices for Database Administration (September 25, 2020)
- Configuring Microsoft Azure Active Directory for authenticating FileMaker Cloud users (September 18, 2020)
- Authenticating Claris ID and Granting Access to FileMaker Admin API and Data API (August 27, 2020)
- Updated: Understanding Your Claris FileMaker Cloud Instance (January 19, 2021)
- Best Practices for Upgrading to FileMaker Server 19 (July 27, 2020)
- Top Tips: Optimizing Performance of FileMaker WebDirect in the Cloud (July 1, 2020)
- Top Tips: Optimizing Performance of FileMaker Custom Apps in the Cloud (June 5, 2020)
Years ago we added
TesseractMBS class to
MBS Xojo OCR Plugin in 2012. We decided to go with the Tesseract engine, which was available as C++ library with an open source license. We integrated Tesseract in version 3.02 and stayed with that version for a long time. Since each version requires compatible data files, we could not easily change the library without you guys changing data files.
That brings us to the version 4.11 of Tesseract. We had plans to use the new version and looked for a way to make the transition easy for our plugin users. But since the newer tesseract library exports a C interface, we can load it dynamically at runtime. We got the new
TessEngineMBS class for you and there we have a LoadLibrary() function to load the leptonica and tesseract libraries.
(more)
Years ago we added
OCR functions to
MBS FileMaker Plugin. We decided to go with the Tesseract engine, which was available as C++ library with an open source license. We integrated Tesseract in version 3.02 and stayed with that version for a long time. Since each version requires compatible data files, we could not easily change the library without you guys changing data files.
That brings us to the version 4.11 of Tesseract. We had plans to use the new version and looked for a way to make the transition easy for our plugin users. But since the newer tesseract library exports a C interface, we can load it dynamically at runtime. This way we can give you a
OCR.Load function to opt-in to use the newer library. If you don't do an
OCR.Load, you would keep the older version and your existing scripts continue to work as before. But once you loaded the newer library, you need the newer data files matching the library version.
(more)
New in this prerelease of the 21.3 plugins:
- Fixed issue with flagged function names for iOS App Store submission.
- Added BoundsBottom, BoundsLeft, BoundsRight, BoundsTop, Components, HasComponents, Version and XML to ZBarMBS class.
- Added AWSPresignURL function to CURLSMBS class.
- Cleaned up older code to remove pre macOS 10.7 support. We require 10.9 as minimum for years now.
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/ or
from Dropbox.
Or ask us to be added to our shared Dropbox folder.
New in this prerelease of version 11.3 of the MBS FileMaker Plugin:
Download at
monkeybreadsoftware.com/filemaker/files/Prerelease/, in
Dropbox folder or ask for being added to the dropbox shared folder.
Sometimes you need a preview picture of a PDF document. Our
PDF Library example shows how to browse a PDF with each page being shown in a record with a preview picture. Great to avoid interactive containers and especially avoid the user getting the whole PDF transferred from server to the client computer.
We have several ways to render PDF pictures:
DynaPDF.GeneratePreview
With DynaPDF Pro you can render PDF pages cross platform (macOS, Windows, iOS and Linux) as you have your own PDF engine on hand.
DynaPDF.GeneratePreview is a convenience function to quickly pass in a container value with a PDF inside and get back a PDF with preview. Great way to add previews when inserting a PDF on Windows or Linux. With a preview, the PDF can be shown in a non-interactive container.
Set Variable [ $OutputPDF ; Value: MBS( "DynaPDF.GeneratePreview"; $InputPDF) ]
The function has a flag to only give you an image, so you can also use it like this:
Set Variable [ $OutputPicture; Value: MBS( "DynaPDF.GeneratePreview"; $InputPDF; 1; "preview.jpg") ]
Of course you can do more with
DynaPDF.RenderPage as you see before.
PDFKit.GeneratePreview
PDFKit is the PDF library coming with macOS and iOS. You can use
PDFKit.GeneratePreview function to add a preview to a PDF container value like the one above and then store the PDF with preview in the database.
Set Variable [ $OutputPDF ; Value: MBS( "PDFKit.GeneratePreview"; $InputPDF) ]
You may run a bot to look through PDF containers, check with our
Container.GetTypes function if a preview is there and add it if necessary.
DynaPDF.RenderPage
With DynaPDF we can initialize the library with
DynaPDF.Initialize function and then load a PDF in memory and render individual pages. The following script imports the whole PDF and then renders a given page specified by the page number:
# Start new PDF workspace
Set Variable [$pdf; Value:MBS("DynaPDF.New")]
# Load PDF from container
Set Variable [$r; Value:MBS("DynaPDF.OpenPDFFromContainer"; $pdf; Test::data)]
# Import all pages
Set Variable [$r; Value:MBS("DynaPDF.ImportPDFFile"; $pdf)]
# Render one page as Picture
Set Variable [$r; Value:MBS("DynaPDF.RenderPage"; $pdf; $pageNumber)]
# Put in Container
Set Field [Test::PageImage; $r]
# cleanup
Set Variable [$r; Value:MBS("DynaPDF.Release"; $pdf)]
The
DynaPDF.RenderPage function can take much more parameters and you may specify the DPI you like to get. And you may specify various flags like for excluding form fields. You can specify the desired image file format (TIFF, JPEG, PNG, BMP or JPC) and pixel format (1bit, gray, RGB, BGR, RGBA, BGRA, ARGB, ABGR, CMYK, CMYKA and GrayA) or compression filter (Flate, JPEG, CCITT3, CCITT4, LZW or JP2K). For example the following call creates a 300 dpi CMYK tiff file:
Set Variable [ $r ; Value: MBS("DynaPDF.RenderPage"; $pdf; 1; 300; 0; 0; "default"; "CMYK"; "Flate"; "Tiff"; "test.tif") ]
If you need a DynaPDF Pro license, please check our pricing website and there we have a bundle of MBS Plugin for Server with DynaPDF Pro license.
PDFKit.GetPDFPageImage
With the
PDFKit.GetPDFPageImage function you can query the picture for a page using PDFKit on macOS or iOS:
Set Variable [ $OutputPicture; Value: MBS( "PDFKit.GetPDFPageImage"; MyTable::PDFContainer; $pageNumber; "jpeg"; "test.jpg"; 300; 1 ) ]
As you see we can specify page number, desired image type (JPEG, PNG, GIF or BMP), the DPI for the resolution and what box to use. Like DynaPDF we prefer crop box, but fall back to media box for the page. Media box defines the paper size, while crop box would tell the printing company, where to crop the paper to get the desired final page size.
Have you watched all those
videos from us about our plugins?
Learn what's in MBS Plugins. Get licenses for ChartDirector and DynaPDF Starter with
OmegaBundle 2021.
A client surprised me by presenting me a big calculation to send emails:
SMail(htmlText, EmRecipient, FromEmail, FromName, plainText, Subject, SMTPServer, SMTPName, SMTPpw, EmailID, Send)
Let ( [
$ToEmail = MBS ( "FM.executesql" ; "SELECT \"Email\" FROM \"RM\" WHERE \"EmailID\" = " & EmailID & " AND \"Type\" = 'TO' " ) ;
$ToName = MBS ( "FM.executesql" ; "SELECT \"Name\" FROM \"RM\" WHERE \"EmailID\" = " & EmailID & " AND \"Type\" = 'TO' " ) ;
$ToEmailcc = MBS ( "FM.executesql" ; "SELECT \"Email\" FROM \"RM\" WHERE \"EmailID\" = " & EmailID & " AND \"Type\" = 'CC' " ) ;
$ToNamecc = MBS ( "FM.executesql" ; "SELECT \"Name\" FROM \"RM\" WHERE \"EmailID\" = " & EmailID & " AND \"Type\" = 'CC' " ) ;
$ToEmailbcc = MBS ( "FM.executesql" ; "SELECT \"Email\" FROM \"RM\" WHERE \"EmailID\" = " & EmailID & " AND \"Type\" = 'BCC' " ) ;
$ToNamebcc = MBS ( "FM.executesql" ; "SELECT \"Name\" FROM \"RM\" WHERE \"EmailID\" = " & EmailID & " AND \"Type\" = 'BCC' " ) ;
$AttCont = MBS ( "FM.sql.execute" ; "" ; "SELECT \"Container\" FROM \"AT\" WHERE \"EmailID\" = " & EmailID & " AND \"Path\" IS NULL " ) ; AttCount = MBS("FM.SQL.RowCount"; $AttCont ) ;
$AttPath = MBS ( "FM.executesql" ; "SELECT \"Path\" FROM \"AT\" WHERE \"EmailID\" = " & EmailID & " AND \"Path\" IS NOT NULL " ) ; AttCountP = ValueCount ( $AttPath ) ;
$AttNameC = MBS ( "FM.executesql" ; "SELECT \"Name\" FROM \"AT\" WHERE \"EmailID\" = " & EmailID & " AND \"Path\" IS NULL " ) ;
$AttTypeC = MBS ( "FM.executesql" ; "SELECT \"Type\" FROM \"AT\" WHERE \"EmailID\" = " & EmailID & " AND \"Path\" IS NULL " ) ;
$AttNameP = MBS ( "FM.executesql" ; "SELECT \"Name\" FROM \"AT\" WHERE \"EmailID\" = " & EmailID & " AND \"Path\" IS NOT NULL " ) ;
$AttTypeP = MBS ( "FM.executesql" ; "SELECT \"Type\" FROM \"AT\" WHERE \"EmailID\" = " & EmailID & " AND \"Path\" IS NOT NULL " ) ;
(more)
The video of the MBS Plugin Talk session from
dotfmp conference 2021 is now available on YouTube:
Watch the
MBS FileMaker Plugin, June 2021 News video, which shows what is new in our plugins.
Thanks for Egbert to organize the conference and provide the videos.
You saw the following dialog in FileMaker 19.3?
You can use the checkbox, but it's not permanent. To make it permanent, you need to use regedit and edit the registry:
- Go to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft
- Create new key "Edge" if it is missing
- Inside Edge, create a new "WebView2" key.
- Inside WebView2, please create a new string value named "AutoLaunchProtocolsFromOrigins" with this value: [{"allowed_origins":["*"],"protocol":"fmp"}]
- Exit Regedit and start FileMaker Pro to check if fmp URL works now.
Sadly we can't do those commands with our plugin as it needs to happen with administrator permissions. It should then look like this in RegEdit:
If you automatically install FileMaker, you may do this via command line with a script or regedit import file.
Let us know if you have questions.
With Claris FileMaker 19.3.1 you can install the MBS Plugin 11.2 for the Data API process.
To install our plugin manually, just copy the plugin to /FileMaker Server/Web Publishing/publishing-engine/wip/Plugins/ folder. Then check in Admin Console to make sure you have plugins enabled for the Data API. The Admin Console doesn't list plugins for Data API. If the plugin is not yet available, you may need to restart the wip process or the whole server to recognize the new plugin.
The exact location is for macOS:
/Library/FileMaker Server/Web Publishing/publishing-engine/wip/Plugins/
For Windows:
C:\Program Files\FileMaker\FileMaker Server\Web Publishing\publishing-engine\wip\Plugins
And for Ubuntu Linux:
/opt/FileMaker/FileMaker Server/Web Publishing/publishing-engine/wip/Plugins
If you have no toggle for Data API plugins in your Admin Console, you may need to get a newer FileMaker Server version.
Our plugins creates you log files in the Logs folder for the output: StdErrDataAPI.log and StdOutDataAPI.log. This way you can watch messages written out via our
Trace function in scripts run via Data API.
Please try and don't hesitate to contact us with questions.
PS: This was actually asked to Claris via Ideas section:
Support plugins in Data API and older idea
Support plugins in Data API.
Nickenich, Germany - (June 24th, 2021) -- MonkeyBread Software today is pleased to announce their support for FileMaker version 19.3. Our MBS FileMaker Plugin 11.2 for macOS, iOS, Linux and Windows has been tested with FileMaker 19.3 and we like to report on compatibility:
Apple M1
Our MBS Plugin in version 11.2 ships with Apple Silicon support included. We built the plugin for macOS to include both code for Intel and ARM, so you have only one file to install. If you load external libraries like dynapdf.dylib or libxl.dylib please refer to the included updated libraries.
Ubuntu
Our plugin supports the new Ubuntu Linux distribution for server as well as the older CentOS 7.x distributions. One plugin version for both environments makes installing our plugin easy.
Data API
Since FileMaker 19.3 supports plugins for the DATA API, you can install our plugin into the right folder and enable plugins. Just copy the plugin to Web Publishing/publishing-engine/wip/Plugins folder for your server on macOS, Windows or Linux. Or install it by using the Install Plugin Script Step.
Windows Microsoft Edge
On Windows Claris moved the Web Viewer to use Microsoft Edge. Instead of the deprecated Internet Explorer engine, they now use new components based on the Chrome project. As of today our WebView functions do not support the newer engine.
All customers are welcome to try the new FileMaker version, update their plugin if needed. We can provide
trial licenses for testing or assist with ordering a newer license.
Please test your solution with the new FileMaker versions before updating all your clients and servers.
As you may have seen, Claris Inc. released the new version 19.3.1 of its FileMaker product family.
This update brings a lot of improvements to the product with Native Apple silicon support, Microsoft Edge support for Windows, Ubuntu Linux for Linux and the updated quick start experience. Read more in the releases notes.
MBS Plugin has been updated in
version 11.2 to take advantage of the latest FileMaker Plugin SDK for version 19.3. Our plugin works well natively on Apple Silicon as well as Ubuntu.
See
Announcement in the community: Claris FileMaker 19.3 is now available!
Claris Blog: More power. No limits. The latest Claris product release.
Claris FileMaker Pro 19.3.1 Release Notes
Claris FileMaker Server 19.3.1 Release Notes
Claris FileMaker Cloud 2.19.3.1 Release Notes
Downloads
To download the new version, you may use the download page for your licensed software (see your license email for a link) or use the in-product updater next week.
The first batch of
OmegaBundle orders is in delivery.
We process orders in batches every few days. And when you order your copy of the bundle, be prepared to have nothing happening for a day after the order. Then the delivery starts and you may quickly get something like 20 emails with license information and welcome messages.
If you don't get emails for a few days, please check:
Did your bank let the order go through on the credit card?
Did you check your spam filter? Put vendors on white list maybe?
Did you make a typo in the email address?
Every year emails end up in spam folders or bounce with typos.
If one of the vendors knows you, we can fix typos or have an alternative email address and deliver. If you have trouble with the web shop, please contact
Paradigma Software, Inc. They also can provide the invoice for bookkeeping.
A week after the order, check if you got all the licenses from the bundle you needed. Some requires to login somewhere to lookup the license key. But for MBS, you just get a couple of emails.
PS: For our DynaPDF licenses the Starter one is included in the bundle, but we offer discounted upgrades to Lite, Pro and Enterprise levels.
New in this prerelease of the 21.3 plugins:
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/ or
from Dropbox.
Or ask us to be added to our shared Dropbox folder.
New in this prerelease of version 11.3 of the MBS FileMaker Plugin:
Download at
monkeybreadsoftware.com/filemaker/files/Prerelease/, in
Dropbox folder or ask for being added to the dropbox shared folder.
Get the top developer tools and third party components for the Xojo cross-platform development platform at a huge savings.
Omegabundle for Xojo 2021 is a collection of the most useful tool sets, add-ons, digital books and components for use with Xojo Inc's Xojo development environment. If purchased separately and not including any additional offers, the total cost would be over $3871. Omegabundle for Xojo 2021 costs $399.99.
Xojo is an award-winning, cross-platform development tool for the Desktop (macOS, Windows, Linux), Web, iOS (iPad/iPhone) and Raspberry Pi. With Xojo, you can create native applications by using drag-and-drop to build your user interface and then one straight-forward programming language to enable the functionality. Xojo is powerful and modern, yet easy to use and learn.
Included Products
- Ohanaware App Wrapper (UPDATED). Prepare your application for the Mac App Store or Web Distribution (macOS only app)
- Ohanaware App Kit (UPDATED). A huge collection of declares and objects that Ohanaware has created over the years to help us with crafting better macOS applications. Your next macOS app starts here!
- ExeWrapper (NEW). Microsoft Authenticode Signing - right from Mac! ExeWrapper enables you to code sign Windows executables on a macOS machine. (macOS only app)
- DMG Canvas (NEW). Drag, drop and design your disk image's appearance and to easily and quickly create a fully assembled disk image ready to ship. (macOS only app)
- GrafittiSuite Desktop Edition (UPDATED). 55 (up from 53 from 2020!) incredible user interface controls for Xojo that add value and improve the professional appeal of your Xojo applications.
- XDL Library (NEW).Get some of the best articles from xDev Library, a brand-new ebook, Xojo Database Collection(XDL-0019), that weighs in at over 400 pages
- MBS Chart Director for Xojo (UPDATED). Professional, interactive, real-time charts in your Xojo applications on Mac, Windows and Linux. Desktop, Console and Web projects.
- MBS DynaPDF Starter Edition for Xojo (UPDATED). Create PDF files with your applications on Mac, Windows and Linux. Desktop, Console and Web projects.
- Paradigma Software Valentina Studio Pro 11 (UPDATED). Ultimate reports designer, database administration and forms creation tool that runs on all three operating systems - Windows, macOS, Linux. Select one OS version.
- Paradigma Software ValentinaDB ADK 10 for Xojo (UPDATED). Embed the ultra-fast, object-relational Valentina database into your applications and deploy royalty free - Windows, macOS, Linux, including Raspberry PI! Also works with local SQLite files and as a client to Valentina Server.
- Paradigma Software Valentina Reports ADK 10for Xojo (UPDATED). Generate visually rich reports as graphics, web pages or PDF from your Xojo applications on Windows, macOS, Linux including Raspberry PI! Also works with local SQLite files and as a client to Valentina Server.
- Paradigma Software Valentina Server Unlimited (UPDATED). 4-in-1 Reports Server, Forms Server along with two database servers: one built on object-relational Valentina Database and the other on SQLite. Report and forms serving works with MySQL, PostgreSQL, MS SQL Server and the included Valentina and SQLite servers
- xDev Magazine (UPDATED). Get back issues and a year’s subscription to xDev Magazine, the professional's magazine for developing with Xojo.
- XDC Developer Conference Coupon (NEW). Save $100 off of the XDC Developer Conference 2022 in London! Coupon must be used before the end of 2021.
(more)
You may know that our
MBS FileMaker Plugin has functions for barcode generation and recognition. The
Barcode.Detect function is based on the open source zxing library can recognize various types, but sadly not all QRCodes recently.
To solve this we add support for the zbar open source library with our new
Barcode.Scan function. Since the library is GPL, you have to include the library file with the application and load it at runtime with
Barcode.LoadLibrary function. You may get a zbar library from the project website or from our
Libs folder in download section. Our example project shows how to load the library at startup of application. On Linux you may just be able to install libzbar0 package and get libzbar installed.
When you like to scan a barcode, get a picture for the barcode. Make sure contrast is good and your barcodes are fully visible with a bit of border space around. Since scanning is done in black and white, you can preprocess the image to increase visibility with auto leveling, e.g.
GMImage.Level function. You call Scan() function and pass the picture and you receive a JSON array with barcodes found. You may get multiple result with different quality values, so you may pick the highest one. Sometimes a few lines or some text is recognized as a barcode. To increase reliability you may limit the list of barcodes types you like to have and thus ignore all others.
Supported types includes EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, Interleaved 2 of 5 and QR Code.
Our tests show that zbar can recognize a few barcodes, which didn't work with
Barcode.Detect. But since we also found EAN and UPC barcodes recognized in zxing, but not in zbar. Well, you may eventually use both to see what recognizes what.
(more)
You may know that
MBS Xojo Barcode Plugin has classes for barcode generation and recognition. The
zxing classes based on the open source zxing library can recognize various types, but sadly not all QRCodes recently.
To solve this we add support for the zbar open source library with our new
ZBarMBS class. Since the library is GPL, you have to include the library file with the application and load it at runtime. You may get a zbar library from the project website or from our
Libs folder in download section. Our example project shows how to load the library at startup of application. On Linux you may just be able to install libzbar0 package and get libzbar installed.
When you like to scan a barcode, get a picture for the barcode. Make sure contrast is good and your barcodes are fully visible with a bit of border space around. Since scanning is done in black and white, you can preprocess the image to increase visibility with auto leveling, e.g.
AutoLevelMBS function. You call Scan() function and pass the picture and you receive an array with barcodes found. You may get multiple result with different quality values, so you may pick the highest one. Sometimes a few lines or some text is recognized as a barcode. To increase reliability you may limit the list of barcodes types you like to have and thus ignore all others.
Supported types includes EAN-13/UPC-A, UPC-E, EAN-8, Code 128, Code 39, Interleaved 2 of 5 and QR Code.
Our tests show that zbar can recognize a few barcodes, which didn't work with
zxingQRCodeReaderMBS class. But since we also found EAN and UPC barcodes recognized in zxing (see
zxingMultiFormatUPCEANReaderMBS or
zxingMultiFormatOneDReaderMBS class), but not in zbar. Well, you may eventually use both to see what recognizes what.
(more)
Recently a client contacted us for a problem they have. A solution hosted via FileMaker Server with Web Direct shows a layout with a container. Users can click on a button to upload an image, which uses Insert from Device script step. But if the user has an iPhone, the uploaded image may be an HEIF one. The High Efficiency Image File Format is great to preserve images in high quality, but other tools may not be able to read it. And we run into the problem, that the container is marked to be of type JPEG, which confuses other scripts (see Container.GetTypes function).
Here is a script to look on the inserted image and convert it to PNG with our Container.ReadImage function:
# let user take a picture
Insert from Device [ Contacts::Photo Container ; Type: Camera ; Camera: Back; Resolution: Full ]
#
# check filename
Set Variable [ $name ; Value: GetAsText(Contacts::Photo Container) ]
Set Variable [ $extension ; Value: Right ( $name ; 5 ) ]
If [ $extension = ".heif" or $extension = ".heic" ]
# we got a HEIF image
#
# get new file name
Set Variable [ $name ; Value: Substitute($name; ".heif"; ".png") ]
Set Variable [ $name ; Value: Substitute($name; ".heic"; ".png") ]
#
# now convert to PNG
Set Variable [ $image ; Value: MBS( "Container.ReadImage"; Contacts::Photo Container; "PNG"; $name ) ]
If [ MBS("IsError") = 0 ]
# save on success to container
Set Field [ Contacts::Photo Container ; $image ]
Else
Show Custom Dialog [ "Read Image Failed?" ; $image ]
End If
End If
As you see we also rename the name for the container, so it matches the content. You can decide if you prefer JPEG (smaller, no alpha channel), PNG (higher quality and alpha channel possible) or another type.
This script can be used on FileMaker Server on macOS where our plugin can use the built-in system functions. Otherwise you can run it in FileMaker Pro or in your iOS app based on the FileMaker iOS SDK.
PS: fixed set field line to use $image instead of $name.
Since we got this nice database for JavaScript to do custom functions (see blog article:
Custom Functions in JavaScript), we further thought about doing this with FileMaker directly. Imaging to have your custom function in a central start database. Your solution opens, defines your own environment to store them and then loads all your custom functions from a table in the database. You may even have flags to define which are active vs. inactive, testing vs. production quality or maybe limited to admins. Once you have them loaded in memory, you can call them anywhere in any open file as long as FileMaker is running.
Here is our example database:
As you see we can define functions with as many parameters as needed. Then you enter the body of the function with whatever code you have in your custom functions. We got a button for macOS to format the calculation with our
Syntaxcoloring functions. Then we got a button to check errors, which will let FileMaker parse your code with the parameter definition included, so we can find syntax errors. Sadly we can't tell where the error is exactly, but we may tell you if the syntax is okay or what error code we got.
(more)
New in this prerelease of version 11.3 of the MBS FileMaker Plugin:
Download at
monkeybreadsoftware.com/filemaker/files/Prerelease/, in
Dropbox folder or ask for being added to the dropbox shared folder.
New in this prerelease of the 21.3 plugins:
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/ or
from Dropbox.
Or ask us to be added to our shared Dropbox folder.
We saw a presentation at dotfmp conference from Philipp Puls about him storing his custom functions in a table inside the database. With help of one custom function in FileMaker itself, he can run them all. This dispatcher function would use
execute SQL functions in
MBS FileMaker Plugin to query the expression by name, then add the parameter inside and evaluate it. Quite convenient to have all custom functions stored in one database. Based on that idea we developed two new ways at MBS to do custom functions in JavaScript and later without.
Custom Functions in JavaScript
Since
MBS FileMaker Plugin comes with a built-in JavaScript engine, which works without web viewer and even on a server side script, we can use it to define custom functions, which we can call anywhere in FileMaker:
This example database included with 11.3pr2 shows how to do it. It sets up the whole thing in the start script. With
JS.New we make a new JavaScript environment with the special name "js". Instead of getting a handle number from the plugin, we define the identifier ourselves. This way we can refer to this JavaScript environment everywhere. It's global for all files and all solutions opened in FileMaker and can be initialized in FileMaker Pro, Server (Scripting + Web Direct) as well as FileMaker iOS SDK based applications.
(more)
Event planning strategies for virtual conferences, online events and hybrid meetings
After my blog post
What is needed for a good virtual conference from last weekend, I got some feedback. Thanks for everyone replying. The setup listed in the blog post was heavily inspired from the
dotfmp conference, but other conferences may have a different and less chaos in the setup.
After over a year of virtual conferences, online meetings and a lot of cancellations, people are eager to get back to normal live. While some enjoy the virtual conferences, others dislike them. When we talked about the user group, it looks like some groups like to stay virtual, but others want to go back to local meetings in-person. Other groups may mix virtual meetings for presentations and in-person restaurant meetings for the social gathers. Like one month virtual and other month in-person. Quite a few people want to travel again, so long term virtual only conferences may no longer happen.
(more)
Xojo Inc. continues their way to add Android to the their
Xojo development tool. To given an update there is a
video on YouTube to watch and a
blog article:
After a few years of development the various branches come together. The UI classes (Mobile prefix) are getting ready, a lot of the framework parts are getting ready and the compiler also seems to work. This video shows the debugger with breakpoints and variables for the first time. And the classes for Android are the same as for iOS, except a few specifics. Currently there is a AndroidMobileTable vs the iOSMobileTable, but I hope that will get unified and we have one project for iOS and Android.
Sounds like most of the framework got ported already with a few classes still missing like Clipboard or introspection. Declares may work although we don't know how they work and whether they declare to Java libraries or to C libraries or both. We have not seen anything about plugins so far. Software needs to ship eventually, so at some point the team may decide which feature goes into first release, and what stays on the backlog. Plugin support including built-in plugins like XML, RegEx, XojoScript or Crypto may not make the first release. If that helps to ship it a few months earlier, it is fine for me.
There is no time frame indicating when Xojo with Android will ship. At the current rate, this may get finished in winter. We may see it shown off at
XDC in London next year. Whether this will be release or availability of a beta depends on the progress made till then. If things go quick, the pre-release testers may see it earlier, maybe even as a Christmas surprise.
Someday a beta will be given to testers. If you like to be part of a tester group, make sure you are signed up for the Xojo forum, the testers section there and you can try the next version in development.
Check out the
FMTraining.tv website. Richard Carlton and his team do a
daily free live stream about FileMaker to watch. And they have a huge library of FileMaker training material to watch and learn all about the Claris FileMaker product family.
A few days ago Christian Schmitz from Monkeybread Software joined a live episode to talk a bit about the
MBS FileMaker Plugin. Watch it on
YouTube.
Do you like this video?
Please let Richard know and send him your wishes or ideas for future live broadcast as well as topics for training videos. And check out the FileMaker Training bundles as well as their new book for FileMaker, updated for2021.
If you use WebViewer in FileMaker or HTMLViewer in Xojo on Windows with IE11 engine and you show PDF documents, you need a PDF plugin for IE. To check whether you have Adobe PDF Reader browser support installed for IE11, please start Internet Explorer (not Edge!), then go to the menu (gear icon in the toolbar on the right) and to the Manage Add-ons dialog:
Select toolbars and extensions first on the left, then go down to pick all add-ons in the popup menu. Then on the right, you should see Adobe PDF Reader in the list. This should show 32-bit and 64-bit versions there. If one is missing, repair your Adobe Reader installation. Seems like one version of Adobe Reader shipped this year where the 64-bit part was missing. You may get current one where it is included again.
PS: See also
Windows updates breaks PDF display in FileMaker
Please be aware that Microsoft Windows got an update KB5003637, which breaks FileMaker displaying PDFs in an interactive container.
You may want to not install this update for some time or uninstall it when you find it installed.
An upcoming FileMaker release may switch to use Edge/Chrome for rendering PDF documents, so this will get fixed soon by Claris.
Alternatively you can use our
MBS FileMaker Plugin to render PDF pages (
DynaPDF.RenderPage) and have them show as JPEG or PNG pictures in a container.
See also posting in Claris Community:
Suddenly PDF are not shown in FileMaker (since today !) in multiple computer / different customer
PS: the newer KB5004760 patch for Windows 10 may fix this.
New in this prerelease of version 11.3 of the MBS FileMaker Plugin:
Download at
monkeybreadsoftware.com/filemaker/files/Prerelease/, in
Dropbox folder or ask for being added to the dropbox shared folder.
Check out the
FMTraining.tv website. Richard Carlton and his team do a
daily free live stream about FileMaker to watch. And they have a huge library of FileMaker training material to watch and learn all about the Claris FileMaker product family.
On
Wednesday, 9th June 2021 at 1 PM PDT (22:00 o'clock in Germany), we may show you a few MBS Plugin examples and answer questions:
Please bring questions!
The Xojo group in Atlanta does another virtual meeting and since it is a lunch meeting, people from Europe have an easier time to join:
Hello Xojo fans,
We’re trying something new! We’ll be holding our monthly meeting tomorrow from 12noon to 1pm Eastern. Bring all of your Xojo and technology questions.
Meeting address: https://meet.jit.si/XojoATL
Password: Tacos
Time: 12noon to 1pm Eastern
Hope to see you there!
-Kevin
Atlanta EDT 12:00 = CEST 18:00 for me in Germany = 09:00 PDT for US West Coast
See you later there!
If you like to use databases in Xojo, you can use various plugins. There are built-in plugins for MySQL, SQLite, Microsoft SQL Server, PostgreSQL, Oracle and ODBC. And as an alternative you have MBS Xojo SQL Plugin with support for over 15 clients: 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.
Unless you use our plugin, which handles unicode well, you may run into the problem that StringValue doesn't return a string with encoding set. So we usually refer to code like the one below in a module to get a StringValueX to return string in a defined encoding:
(more)
Let's collect what you may need to run a virtual conference. This blog post may be updated later to add more details, so please send us feedback. MBS has hosted over 10 conferences/events in the past, but since we may run a virtual one someday, let's think about what may be needed for a company to run such a virtual conference:
Attendees
- Virtual conference, so no per person cost like food or chairs, so make it free to join.
- Use existing logins for company's forum/community to avoid people register again. Preferable single sign-on for everything.
- Email all your users, prospects and customers to let them know, early to mark dates in calendar and later to remind them.
- Take signups before and while the conference runs.
- Let attendees sign a checkbox or so for them being okay with recordings showing them if they ask a question or present in a session.
(more)
Check out the
FMTraining.tv website. Richard Carlton and his team do a
daily free live stream about FileMaker to watch. And they have a huge library of FileMaker training material to watch and learn all about the Claris FileMaker product family.
A few days ago Christian Schmitz from Monkeybread Software joined a live episode to talk a bit about the
DynaPDF functions in the
MBS FileMaker Plugin. Watch it on
YouTube.
Next video stream with MBS will be on Wednesday, 9th June 2021. And the recording from the Q&A session from 4th June 2021 should be available soon.
Do you like this video?
Please let Richard know and send him your wishes or ideas for future live broadcast as well as topics for training videos. And check out the FileMaker Training bundles as well as their new book for FileMaker, updated for2021.
New in this prerelease of the 21.3 plugins:
- Added AddCrossOriginWhitelist, RemoveCrossOriginWhitelist and ClearCrossOriginWhitelist methods to ChromiumBrowserMBS class.
- Added allowsImplicitAnimation property for NSAnimationContextMBS class.
- Added DeleteNamedDestByIndex and DeleteNamedDest methods for DynaPDFMBS class.
- Added ExcludeCSCount property, ExcludeCS and setExcludeCS methods to DynaPDFOptimizeParamsMBS class.
- Added OptionCAInfoBlob and OptionProxyCAInfoBlob properties to CURLSMBS class.
- Added OuterBorder property for DynaPDFBarcode2MBS class.
- Added pasteboardWriterForItem event for NSCollectionViewControlMBS control.
- Added registerCloudKitShare and registerCloudKitShareWithPreparationHandler to CKContainerMBS class.
- Added setDraggingSourceOperationMask method to NSCollectionViewMBS class.
- Added zbar library support with new ZBarMBS class.
- Changed MapKitViewControlMBS control to not raise exception on Windows/Linux if not supported.
- Fixed an issue with IDE crashing when you have a PDFViewControlMBS on a container in a window.
- Fixed bug with RenderPagePicture function in DynaPDFMBS not picking right page size for rotated pages.
- Fixed CKAcceptSharesOperationMBS constructor to proces the CKShareMetadataMBS objects.
- Fixed underflowColor and overflowColor parameters for setColorScale and setColorGradient methods in CDColorAxisMBS class.
- Fixed an issue with SetLocale in SQL Plugin, introduced in 21.2. Now using C locale for Windows.
- Improved our StyledText.RTFDataMBS function to handle line breaks better.
- Updated curl library to version 7.77.0.
- Updated DynaPDF version 4.0.53.147.
- Updated openssl library to version 1.1.1k.
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/ or
from Dropbox.
Or ask us to be added to our shared Dropbox folder.
New in this prerelease of version 11.3 of the MBS FileMaker Plugin:
Download at
monkeybreadsoftware.com/filemaker/files/Prerelease/, in
Dropbox folder or ask for being added to the dropbox shared folder.
Let us show you what is new in MBS Plugins since last conference.
(more)
For dotfmp 2021 we present what is new this year in MBS FileMaker Plugin:
(more)