While we interact a lot with each other in your development community via forum, social media and tons of emails, we should not forget the importance of being in a live face-to-face setting with others. Being active in the developer community can bring many benefits. There is power in being connected to other developers who are active in the same area. It can be easy to skip meetings and not come to the annual conferences, but soon you may have skipped them for several years. Joining the forums is not enough, you need to be active and post regularly. But to build personal connections, you need to join the conferences and meet the persons behind the forum avatar.
We have some new functions for you related to the Windows standard font dialog.
For FileMaker, the new TextView.ShowFontPanel function can show the font dialog and let user change the font settings. For MacOS, the function will show the system font panel, which allows you to adjust font information asynchronously.
For Xojo, the new TextArea.WinShowFontPanelMBS function can show the font dialog for a text area. Please use NSColorPanelMBS class and NSTextViewMBS usesFontPanel property for MacOS. The panel floats and allows to change font information for current text area.
In both cases, the dialog shows with current font selection, than user can change them and the new font settings are applied to the current selection in the text.
Changes are coming to next prerelease of our FileMaker and Xojo Plugins. If you like to test today, please email us.
Due to WWDC, I'll come for a visit to California in June. As usual I like to meet other developers beside the conference and like to join local meetings for FileMaker developers in Los Angeles and San José area.
13rd June 2019 @ DIGFM
Database Interest Group for FileMaker: The user group hosted at FileMaker Inc. headquarters in Santa Clara, California. It's like a free DevCon in monthly doses. Meets 2nd Thursday of the month: 1:30pm, Meet & Greet; 2:00pm, Presentation
FileMaker, Inc (The Wedge), 5201 Patrick Henry Dr., Santa Clara CA 95054
FileMaker Developers in Southern California started in March of 1999 with a small group of FileMaker Pro developers getting together once a month to exchange development tips and ideas. Meets 2nd Friday at 9:30am
As you may know we have a JSONMBS class in our MBS Xojo Util Plugin to work with JSON data. The class is optimized for best performance, but some people prefer to use native Xojo classes like dictionary for representing objects.
For the upcoming 19.2 release, we'll add new convert methods to our class. You can convert from Xojo objects to JSON and back. This involves using dictionaries for the objects and Xojo arrays for the arrays in JSON. As we don't know what is in the array, we use arrays of variants.
This function checks what is in the variant and returns a matching JSONMBS object. String, boolean, integers and doubles are just wrapped with JSONMBS objects. Dictionaries are converted to JSON objects, but we only use text for the keys. Currency values are converted to double, colors to integers, dates and texts are converted to strings before processing them. We detect arrays of String, Object, Variant, Single, Double, Int32, Int64, Boolean and Currency and convert them to JSON arrays. Anything else can raise an exception about an unsupported type.
Convert as Variant
The counter-part function on the JSONMBS class returns the varisant matching whatever is in the JSON data. The plugin will create arrays of variant, dictionaries and values (string, double, int64, boolean and nil).
You probably saw the Workspace Innovation Platform campagne from FileMaker?
Use FileMaker to escape the work rut and automate manual processes. Two things that really help here: First the Perform Script on Server script step to offload work to the server and to do things in background. Than the use of plugins to provide the toolbox to do all the things which are not built-in to FileMaker itself.
We like to show you a few example workflows and how various plugin functions can help:
1. Image upload
User takes a new picture on iPad for new product to go into the webshop
FileMaker Go puts it in a record, triggers script on server.
On server using GraphicsMagick functions, a script normalizes image orientation to 0°, image file format is converted if needed to PNG or JPEG. Colorspace may be conveyed to SRGB if needed. Borders can be automatically removed. Thumbnails are made as needed with removed metadata for images going to public (e.g. GPS removed).
CoreML functions in MBS Plugins are used with machine learning model to detect image content and assign tags automatically to image to help to find this image later by keyword.
At FileMaker conference in Tulúm, we got a feature request to see invisible characters in FileMaker calculations dialog. With next MBS Plugin 9.2, you can press Command-I in the text editor and to toggle showing invisible characters. You may see tab characters, new lines and even unprintable control characters show. This applies both to calculation dialog and custom functions dialog.
Another thing we got are tab stops. By default there are 12 and we just double this to 24 for you. So you can use tab characters to organize your bigger statements. Pressing Command-R will show the ruler if you need it, so you can see the tab stops. While you can use various options there, the formatting will not be saved in FileMaker.
You can press Command-F to search for text, press Command-G to continue search and press Command-Option-C to copy text with style.
We try to make memory leak free plugins. That is difficult and may even be impossible to do 100%. But we try our best and if you find a memory leak, please let us know.
Especially for server applications running a long time, a leak can bring down a server. If you just leak 5 KB per second on a server script, this may be over 2 GB in a week ending up in swap storage. If it's slow enough, it will fill your server's disk with swap files, but if it leaks fast, it will also hit performance a lot!
We do static analyses on our source code to find leaks. We do use C++ classes to automatically free memory when they are released, e.g. on function end. And we use NSAutoreleasePools on Mac to collect objects and release later. We try to get memory management right and automatically get there. But there may always be things not found by us.
A memory leak you report should be reproduced in a small script/method, which can be run several times. First call my do initialization steps and trigger some framework initialization, but any subsequent call should result in a higher memory usage each time. This method may have a loop to the relevant steps a 1000 times to make it a significant leak. On the end, you should have leaked a few Megabytes, so we can look for big objects not freed or thousands of small objects of the same type. Make sure you do all the release/free calls as provided by the plugin.
Due to memory management, memory is allocated in chunks. Memory is freed with delay, so you may need a short pause for memory pools to be cleared. So two or three runs may allocate the chunks
A lot of frameworks we use do leak themselves. e.g. Cocoa framework on Mac has a lot of small leaks. So in general we are not really looking for leaks which just leak a few kilobytes every few minutes. Watching a Cocoa app in Instruments we see a lot of small leaks. We prefer to fix the leaks in our code!
The FileMaker unconference in Tulúm, México started. About 45 people sitting on the stage on a mixture of seats. Looks like not everyone is here yet, maybe due to the fabulous reception yesterday in the garden?
Looking forward to meet the FileMaker developers here and get new ideas. This is much different than the mass meeting at FileMaker Inc's DevCon.
With the new Continuity camera feature in MacOS Mojave and your iOS device, you can scan documents:
So you place the document on a table, you start the process on your Mac and than you take the iOS device to take a picture. The yellow area shows where the document is recognized, so you can scan it. iOS will do the crop and rectify steps and store the document as PDF. I needed, you can add more pages.
We'll also offer the possibility to show the popup menu with all options including selecting device for more than one of them. Screenshot is in German, but the texts are actually localized to your language.
As you may know there is a feature in MacOS Mojave called Continuity Camera. When an application shows a view which accepts services bringing in photos, you may receive photos from your iPhone. So when you are in TextEdit application, you can use contextual menu on the text area and choose Insert Photo from your phone. The iPhone asks you to shoot a photo and the image file gets transported back and inserted into the text view on your Mac.
Changed Printer.Print to only set collatePages is 0 or 1 and ignore parameter otherwise.
Changed ProgressDialog on Windows to respect DPI of display.
Changed SQL functions to not complain about missing functions with freetds.
Changed SQL.SetConnectionOption to pass more options to commands for MS SQL: SQL_ATTR_CURSOR_TYPE, SQL_ATTR_QUERY_TIMEOUT, SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_SCROLLABLE and SQL_ATTR_CURSOR_SENSITIVITY.
Disabled HealthKit for public release due to Apple's automatic tests. If you need a plugin with HealthKit, please contact us.
Fixed a problem with FMWrapper loading for Mac runtime apps.
Fixed a problem with NTML authentication with CURL functions on Windows.
Fixed an issue where notification on iOS would not show up in the app or trigger script.