The new year is starting with a week of
FileMaker broadcast sessions and you can watch them live for free or later on
Youtube:
We start on Monday with showing
FileMaker enhancements on macOS. Since we have so many, we split it in two days with introduction on first day and second day for Script Workspace. This way we have more time to explain each feature in detail. Maybe you know a few, but I bet you find a new gem here!
For Windows, we could do a session, too. Since we have hotkeys on Windows and can also inspect clipboard with the XML FileMaker stores there, it would be possible to make some nice things for FileMaker on Windows. e.g. press a hotkey, show a dialog with snippets and then insert them into the current script. See blog post
Insert snippet for FileMaker on Windows. Interested? Let us know.
The year 2021 will end in around three days. Do you need some more licenses?
- Last chance to update licenses purchased in 2019.
- You can order licenses for 2022 or later and have delivery plus payment done in 2021.
- And of course you can order updates for several years in advance for all your MBS products.
- As all Xojo plugin, LibXL and DynaPDF licenses are per developer, you should check if you got a new developer in your team this year and adjust licenses to match team size.
- For FileMaker please check if you have enough license for the number of seats or servers you have in use.
Especially if you run on a budget and you want to spend some money in 2021, you can buy updates for several years in advance.
For the next year, we have a few little changes to do.
We may go next year to cleanup a bit. That may include moving some classes/functions to use functionality from Windows 8/8.1, so the minimum for those plugins will be that version. If you need Windows 7, you may then be required to keep older plugin versions. Also we may want to move to use more Visual Studio 2019 features, so some plugin parts may start to require the newer runtimes. Not a quick change, but more part by part, where we see benefits. And of course you could always use an older plugin for some special project running on old hardware.
On macOS we'd like to get rid of Addressbook framework. You may need to move to newer functionality provided by Contacts framework. If needed, we may add more functions for Contacts in the plugin. Let us know what you miss to make the change.
For Linux, we may ditch GTK 2 and link directly to GTK version 3. This can simplify some coding for me and since Xojo uses GTK 3 exclusively for years, it shouldn't cause trouble for developers.
Let us know if you have questions.
Frohe Weihnachten und ein gutes neues Jahr!
Merry Christmas & Happy New Year
Joyeux Noël et Bonne Année
Buon Natale e Felice Anno Nuovo
Franziska, Sebastian, Michael, Monika & Christian Schmitz
New in this prerelease of the 21.6 plugins:
- Fixed drawing into pictures for console apps after Xojo disabled GD Drawing there, broken since Xojo 2021r2.
- Fixed problem in ScintillaControlMBS with focus.
- Fixed crash with ScintillaControlMBS when cursor images are missing.
- Fixed a problem with FindRecords in FMDataMBS class not working.
- Renamed AutoC properties in ScintillaControlMBS to AutoComplete.
- Fixed problem from pr3 with NSImageMBS constructor in console projects.
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.6 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.6 plugins:
- Fixed a problem in email parser, which didn't get multi part right on Linux for MimeEmailMBS class.
- Added more methods and properties for ScintillaControlMBS.
- Added support for tab character in text replacements with WordFileMBS class.
- Added ScintillaLoaderMBS class to load huge documents in chunks.
- Updated to LibXL version 4.0.1.
- Fixed a problem in Graphics class with DynaPDFMBS where in some case the font was not set and DynaPDF reported an error about missing font.
- Changed Scintilla to embed the library for Windows (32/64 bit) and macOS 64-bit.
- Adjusted event names of our Desktop Controls to match Xojo's event names.
- Fixed Constructor and MenuItem function in NSMenuItemMBS class to work for DesktopMenuItem.
- Added ShowInfoBar property for ScintillaControlMBS class to define whether we add info bar on macOS.
- Added more error constants for CBCentralManagerMBS class.
- Remved logging with "native path:" for when plugin creates CFURL.
- Added methods for NSPrintOperationMBS class to handle DesktopHTMLViewer.
- Added constructors taking DesktopHTMLViewer for IEWebBrowserMBS class.
- Added 100 more methods for DesktopWindow instead of Window.
- Removed Shell method for InternalSQLiteLibraryMBS class. Please use command line tool instead.
- Changed window properties to variant, so you can use DesktopWindow there for WindowsShortCutMBS, WindowsPrintDialogMBS, WindowsPageSetupDialogMBS, WindowsICMSetupMBS, WindowsBlueToothSelectDeviceDialogMBS, TwainMBS, TaskDialogMBS, OpenDialogMBS, DirectShowVideoWindowMBS, WindowsStoreContextMBS, WindowsFileCopyMBS, WindowsFontDialogMBS, WindowsPreviewHandlerMBS, WindowsStoreContextMBS, ParentChromiumFrameMBS and ChromiumBrowserMBS classes.
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.6 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.
Since several clients asked, so we like to inform you that we do not use log4j package anywhere at Monkeybread Software.
Our plugins for FileMaker and Xojo can live very well without Java.
But we offer the functionality to use Java functions to load and execute Java software within your application. So in case you load a jar package with our plugin, please check whether it contains log4j package.
And in general it may be a good idea to make sure you have up to date software. For your server, it may be good to limit the outgoing traffic, e.g. disallow LDAP queries except maybe to your own LDAP or Active Directory server.
To all companies using open source software: Please consider to budget money and development time to contribute to the various open source projects, so they are not depending alone on someone maintaining them in their spare time. See also
Dependency on xkcd.com
Once again our friends in Canada organise a FileMaker conference in Montreal, so time to practice some French:
Update: Conference moved to 15th September!
Le Regroupement FMQC.CA vous convie à son grand rassemblement, les 24-25 mars 2022, à l’Auberge Saint-Gabriel du Vieux-Montréal, afin d’apprendre les astuces enseignées par des intervenants de la scène internationale et de découvrir les nouveautés de la plateforme FileMaker qui nous tient tant à cœur et qui nous passionne.
Un total de 14 sessions et topos seront présentés par des intervenants provenant de la France, des États-Unis, de l’Ontario et du Québec. La CQDF 2022 regroupera près de 100 développeurs de tous les niveaux, qui ensemble, rejoignent un bassin de plus de 5000 utilisateurs FileMaker de tous les coins du Québec ainsi qu’ailleurs dans le monde.
Situé en plein cœur du Vieux-Montréal, l’Auberge Saint-Gabriel est à quelques minutes de marche de la station de métro Place d’Armes (ligne Orange). L’accès internet sans fil sera offert tout au long des conférences.
Vous pouvez vous inscrire directement sur le site web de la conférence avant le 12 juin 2022 et ainsi profiter d’un rabais «Réservation hâtive» de 50$ sur les frais d'inscription.
Monkeybread Software sponsors this event and if possible, I hope to see you there!
Last year we started sending out a surprise Christmas packages to clients. For 2021, we do this again with twenty different recipients.
As a special surprise for our customers we ordered 20 nice packages with delicious food. Those are present boxes from Fattoria La Vialla, which is an Italian farm producing organic food in the Toscana. Two weeks ago the palette arrived:
We picked 20 customers. A few older, a few newer, a few we know personally, a few we never met so far.
And today we sent the last packages on their way. If DHL delivers you a box, please accept it with our best wishes.
We hope all packages arrive in good condition and before Christmas. Enjoy and have a merry Christmas time!
The year 2021 will end in less than three weeks. Do you need some more licenses?
- You can order licenses for 2022 or later and have invoice, delivery and payment done in 2021.
This way you secure the current pricing and the possibility to keep upgradeability for older licenses. - And of course you can order updates for several years in advance for all your MBS products.
- As all our Xojo and DynaPDF plugin licenses are per developer, you should check if you got a new developer in your team this year and adjust licenses to match team size.
- For MBS FileMaker Plugin please check if you have enough license for the number of seats or servers you have in use.
If you upgrade to unlimited seats or servers, the plugin won't need to check the usage counts.
Especially if you run on a budget and you want to spend some money in the old year, you can buy updates for several years in advance.
If you need help to decide what Xojo, FileMaker or plugin license you need, we may be able to assist you.
New in this prerelease of the 21.6 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.6 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.
In the last years we saw a lot of need for various edit controls in Xojo. The built-in TextArea is fine for a lot of people, but some need more. A couple of people extended the built-in control with various extensions, but those are always limited by what the platform can do. MacOS is quite good with NSTextView used as implementation and you see a lot of stuff via our
NSTextViewMBS class to e.g. insert a picture. On Windows the RichEdit control is a bit limited, but we still got a few
TextArea extensions in our plugins:
Next a few people started to write Canvas based control on their own. Like the
Formatted Text Control for Xojo, which is now open source and can be used as an editor for styled text. Then recently we got notice of the
Better Code Editor (BCE) Control from Garry Pettet. This may also help a few people and have it as source code in their projects and modify it.
But I looked for more and thanks to a little tip from Norman on my visit in September, I got pointed to the
Scintilla project. That is am open source C++ library defining an editing component, which we can host in a plugin based Xojo control:
ScintillaControlMBSThe description from their website shows what we may get in Xojo:
As well as features found in standard text editing components, Scintilla includes features especially useful when editing and debugging source code. These include support for syntax styling, error indicators, code completion and call tips. The selection margin can contain markers like those used in debuggers to indicate breakpoints and the current line. Styling choices are more open than with many editors, allowing the use of proportional fonts, bold and italics, multiple foreground and background colours and multiple fonts.
We may not get all things right into the control for the first release, but since the control seems to work fine for macOS and Windows already, I am confident we can ship this as a 1.0 with our next plugin release in January. There is still a long todo list, but we like to give interested developers a preview. Please try it in next pre-release.
Things we may do later, if possible include support for Linux. Maybe we can provide the library within the plugin instead of an external library. And we may improve the API to be more Xojo like, add printing functions, marker pictures or async loading.
This control should provide a great editor for XojoScript code in various projects. Also editing other things like SQL statements, JavaScript, JSON or HTML in your project. It has a great performance and should handle huge texts better than all the other choices.
Please try it in the next days and let us know what you think!
For a couple of years we do various things in FileMaker Script Workspace like
syntax coloring. We got a copy command once we started to read all lines in a script. Later we added checks to find usage of
undeclared variables, so you easier spot typos in your variable names. Now we go one step further: We scan for variables and present you a list of names we know.
When you have a script open in the Script Workspace and you open a calculation dialog, you can now auto complete. Just go into a calculation dialog for a Set Variable or Set Field or any of the other script steps taking a calculation. Then type something. We have a switch there, so only when you type a $ symbol, our plugin activates. Otherwise it lets the request pass to FileMaker to auto complete field and function names.
To find the variable names, we scan the script from the current selected line for currently up to 500 lines upwards. The limit can be adjusted with
SyntaxColoring.CheckVariableDeclaration.SetLimits function if needed. We hope that is for now enough to find the common variable names you like to use. If you keep working in one script workspace, we retain global variable names, we see, so you may see them in auto complete for multiple scripts.
Like with the variable check, we support declaring variables in comment lines. That is a kind of workaround for the plugin not seeing into global variables list from FileMaker or parsing Let statements. You can define comments with a prefix @variable, @parameter or @constant or actually shorter with @var, @param and @const if you prefer. The plugin will notice them and use them for variable name checking as well as auto complete. If you use common global variables in the script, you may just declare them on the top as a comment:
# This script uses the following global variables, initialized in our start script:
# @variable $$UserName
# @variable $$WebServiceAuth
This feature was developed on the weekend of 27th/28th November 2021 and a bit tuned in the following week. We also got a command for the context menu to copy the list of variables defined in a script. Please try it soon with either pr1 or better pr2 tomorrow. Let us know if you see issues, problems or it just works for you.
More details here
If you like to see the IDs for your value lists and later reference them in your scripts, check out the new option in the upcoming
MBS FileMaker Plugin in version 11.6pr2 or newer:
If enabled in preferences dialog or via
SyntaxColoring.SetShowValueListIDs function, the
MBS FileMaker Plugin will query FileMaker's ValueListNames and ValueListIDs functions to assemble the lists and show right in the table the ID.
You can use
FM.ValueListIDForValueListName and
FM.ValueListNameForValueListID later in scripts to pick the name of a value list by ID or otherwise. Or just do the same via custom functions if you prefer that.
We'll provide 11.6pr2 next week, so keep checking our blog or mailing list for the announcement.
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.
We show you what is new for MBS FileMaker Plugin in the upcoming version 11.6 and answer user questions.
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 for 2021.
Have you seen the
updated roadmap from Xojo Inc.?
It lists ARM 64-bit support for Windows and Linux as items they work on. And I put in a some work the last weeks into building our plugins for Windows 64-bit ARM. We had Linux 64-bit ARM completed a few months ago. Still the plugins only compiling doesn't mean they will run right away. There will certainly a new plugin SDK for those targets, so we'll have a few changes and then try them once a Xojo version ships and we can build test applications.
Since we got ARM 64-bit support, I hope adding Android in the future should be easy for all the console enabled classes. But still it may be very useful to have SQL, DynaPDF or Encryption classes available there, too.
See older blog post
Linux 64-bit ARM support coming to Xojo,
Build System Updates for new targets,
Building for future Xojo targets and
Building plugins for Linux on ARM.
Please know that the roadmap lists various items Xojo Inc. works on, but not all and not necessarily in the order they ship. The listed items tend to be the ones, which takes multiple releases to get finished. Smaller items, which can be done in a few days by an engineer, may not be listed there.
New in this prerelease of version 11.6 of the
MBS FileMaker Plugin:
- Added SQL.GetFieldAsNumber, SQL.GetParamAsNumber and SQL.SetParamAsNumber to better handle numeric values.
- Changed how we handles numbers in SQL functions to better handle numeric values and avoid conversion of numeric to floating pointer numbers.
- Changed variable coloring and checks to allow exclamation mark in variable names.
- Changed XML parsing to explicit disable network access.
- Fixed a case where @param comments where not found with several spaces before the variable name.
- Fixed a problem in CURL.GetHeaderAsJSON introduced in v11.5.
- Fixed an edge case for syntax coloring with block comments to color the full comment.
- Fixed Container.ReadFile to read empty files.
- Fixed SyntaxColoring to colorize calculations starting with $ variable.
- Updated archive library to version 3.5.2.
- Updated cpuid library to version 0.51.
- Updated curl to version 7.80.0.
- Updated expat library to version 2.4.1.
- Updated lz4 library to version 1.9.3.
- Updated openssl to version 1.1.1l.
- Updated ssh2 library to version 1.10.0.
- Updated SystemInfo.CPUBrandString to work on Apple Silicon.
- Fixed a potential problem in SQL.InsertOrUpdateRecords function where it could crash with too many primary keys.
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.6 plugins:
- Added ShowAllAnnotations for MKMapViewMBS class.
- Changed XML parsing to explicit disable network access.
- Fixed a bug where some functions like GetWindowsColorProfileMBS returning a FolderItem cause an InvalidArgumentException when running on newer Xojo versions.
- Updated archive library to version 3.5.2.
- Updated CPUBrandString method in SystemInformationMBS module to work on Apple Silicon.
- Updated cpuid library to version 0.51.
- Updated curl to version 7.80.0.
- Updated expat library to version 2.4.1.
- Updated lz4 library to version 1.9.3.
- Updated openssl to version 1.1.1l.
- Updated ssh2 library to version 1.10.0.
- Updated taglib library to version 1.12.
- Fixed a bug with CTFontMBS not returning file path in older Xojo version.
- Added PropertyName and CountProperties methods to DirectShowPropertyBagMBS class.
Download:
monkeybreadsoftware.com/xojo/download/plugin/Prerelease/ or
from Dropbox.
Or ask us to be added to our shared Dropbox folder.
Just four months till the
XDC 2021 in London, England. Tickets are still available for $850 USD till
15th February 2022 instead of $950 later.
This conference was cancelled due to new rules for quarantine when entering the United Kingdom.
It will be held
March 30-April 1st, 2022 in London, England at the
Holiday Inn Bloomsbury. This conferences is the best place to meet Xojo developers from around the world in real live, make contacts, present yourself as expert and learn what is new in Xojo. Tickets are available in the
Xojo store and if you bring your partner, you can order an extra guest ticket for the dinner events.
Check out the
conference highlights video if you want to see what it's like - or ask one of the many attendees from the forum!
Wether you are full or part time Xojo developer, this is your chance to learn all about the Web 2.0 framework, the Android progress and what's new in the Xojo world.
To get there, please use public transportation. The piccadilly line brings you right from Heathrow Airport to Russell Square Station, just next to the hotel. That trip should cost about 3 £ and you may just pay by tap in/out with your NFC enabled credit card or phone. Otherwise buy an Oyster card and load money on it if you don't have such a card. If you come by Eurostar train through the tunnel from France, you can exit Pancras station and just walk to the hotel. Otherwise take one station via subway to Russell Square Station. That station is right behind the hotel block.
We hope that the whole Covid-19 trouble dissolves when spring starts and we can all meet safely. Please only make refundable travel plans to be sure in case this gets cancelled.
See you soon there!