Cancelling Dialogs Under the Windows operating system, the Show Custom Dialog script step shows a message box with a close box. If users click the close box, then the message dialog will be dismissed. At first, this appears to cause problems but, once you realize that the close box returns a message choice of "1", then you can trap for it with the Get(LastMessageChoice) function. Your best bet is to interpret the close box as a cancel. This will allow you to place your Cancel button for the dialog at the rightmost position which also returns a message choice of "1".
Jaymo David Knight started calling me JoMo years ago and it kinda stuck. It's evolved from JMO to the current Jaymo but you can call me anything as long as you are friendly. Other nicknames include Hoss, n2 and Wiz.
Level: Intermediate Category: General Tuesday, May 9, 2017
The new release schedule, designed to get fresh versions of FileMaker to the public faster, is in full swing with the release of FileMaker 16. It took the FileMaker 16 development team just one year to program a fully featured upgrade with changes to Pro, Go, Server and WebDirect. A truly amazing feat. While FileMaker 15 was a platform upgrade, with few visible changes to Pro or Advanced, FileMaker 16 focuses back on the desktop application we all love to program. Everything begins at the desktop so it really should be the center of attention in every FileMaker release IMHO! I think this version will leave experienced developers very satisfied.
There are hundreds of new features and enhancements in FileMaker 16 so I'm not going to cover every single one. I'll focus on the changes that tickle my fancy, mostly those added to the desktop version. Undoubtedly, there will be other blogs, videos and downloadable tips covering features I don't even mention. Please comment below with any good information you find below. Feel free to include URLs. I'd also recommend visiting the new features section in the FileMaker Pro or Advanced 16. There you'll find a brief overview of all the new features so you can decide which ones you want to explore further.
Layout Objects Window My favorite feature, by far, is the Layout Objects window. It's more of a palette but I'm not complaining. It allows for incredible control over the editing of objects in layout mode by employing an entirely different paradigm. Layout mode is great but with layouts getting more and more complicated, it's straightforward display of objects, as they will appear in browse mode, sometimes gets in the way of certain operations. The Layout Objects window feature makes me think of the series "Agents of Shield" when they are using the 3D hologram computer to quickly explode rendered objects, with the flick of their wrist, into individual pieces in order to examine it more closely.
When displayed, the Layout Object window shows all objects from a single layout in a list view. The list is ordered from the topmost object in the layering order to bottom-most. If you have complicated layouts, you're going to want to start naming all of your objects, or at least the ones that don't display a name. For example, you'll see the field name as defined in Manage Database but buttons will just display "button". You literally could see an entire screen full of "button, button, button" without good object naming conventions. Up to this point in my career, I've only named objects as needed for the Go to Object script step but I may change my lazy ways to optimize this new tool.
When an object is clicked in the Layout Object window, the associated object is selected in standard layout mode. The same is true in reverse as well. If the Layout Object window is open, selecting an object in layout mode will reveal that object in the palette. Of course, multiple contiguous objects can be selected using a Shift-Click key and discontiguous objects with a Command-Click or Ctrl-Click. Hopefully you are starting to see how the Layout Object window can make locating objects or groups of objects, and ultimately modifying them, significantly faster.
Objects grouped via the Arrange menu will be listed individually as well as by group, with an expansion triangle to show the objects that make up the group. Objects grouped inside Portals, Tab Controls and Slide Controls will only appear once inside the object grouping them. Knowing these intimate details will significantly increase the power of this tool. For example, it may not be obvious you can control-click or right-click an object in the palette and assign conditional formatting, script triggers and even name the object. This is much easier than moving your mouse to the layout to make the change and shows how well thought out this feature is.
The list of objects can also be filtered by object type or search criteria. Both filter methods can be useful. For example, you could display just the fields. This would allow you to then select all the fields on the layout and change the characteristics in one fell swoop. Previously, this was only available through esoteric keyboard commands and isn't nearly as flexible. Imagine filtering the list of objects by an assigned object name and changing the characteristics of multiple object types in a single mouse click. Indeed, this feature will make editing layouts significantly faster.
SIDE TIP: There are two methods for selecting like objects prior to FileMaker 16. The easiest is to select a tool and then choose Select All from the Edit menu. Another approach is to select the object and type the keyboard equivalent of Option-Command-A (Macintosh) or Ctrl-Shift-A (Windows).
But, that's not the best part. Objects selected in the Layout Objects palette can be hidden from the standard layout mode. Not deleted but hidden. It's as if they are just gone from layout mode (yet, still visible in browse mode). It's easy to do, just select your object(s) and click the eyeball icon. This is especially helpful on complicated layouts with stacked objects or overlapping objects.
I have a calendar solution that uses 42 portals for every possible day location on a monthly view. Layered over the portals are a dozen of objects that perform various jobs like highlighting the current day, displaying the event, a detail button and much more. Trying to make one change on an object in the middle of the stack requires me to move all the objects covering it into the gray area of the layout, make the changes and move everything back. Not just once but 42 times! Yikes! Imagine just temporarily hiding those objects that are in the way. I could name each object with a similar group name so filtering and hiding would be a breeze. I don't know about you, but this one feature alone is making me salivate all over my keyboard!
There are a few other nifty tools in the hidden menu, mentioned previously, that are better mentioned at this point since they deal with object visibility. It's possible from the context sensitive menu in the Layout Objects window to hide all other objects, hide objects in front or hide all objects touching the object whether they are in front or behind. With these three features, it may even be possible to avoid naming all your objects and still take advantage of object visibility in a meaningful way. Imagine all the objects covering the one you want to edit, temporarily disappearing with one mouse click so you can edit without disassembling and reassembling a stacked, overlapping or grouped object. I'm sold!
Window Cards If the Layout Objects palette is my favorite layout tool, then Window Cards is my favorite browse mode feature. It's not that it does anything new, it's just the way it does it. Think of it as a cross between a layout, custom dialog and a popover. It's really a carryover from the Macintosh OS but taken a step further. Essentially, it allows you to display a dialog that's modal only in the current window, but since the dialog is based on a layout, the potential is far greater than a simple dialog.
While I haven't had the time to fully examine all the possibilities with this new feature, I do have a few ideas. In fact, I'm not sure this feature will be fully explored for months after it's release. Till then, hopefully these simple ideas get your juices flowing. So... my first idea is to create a picker. Since a Window Card can show a list view, there is no need for a complicated portal with a filter. Try that Popover! Imagine clicking on a button to populate a foreign key and displaying a window card in list view with a script triggered find filter. And, the possibilities are endless with all the abilities of a layout!
Other ideas include dialogs with actual pictures in them. How long have developers been asking for the Show Custom Dialog script step to do more! No more limits on button choices, button styles, field input or dialog size. You can create as many buttons as you like using the myriad of choices available with FileMaker themes, styles and icons. Since the Window Card size can be specified via the New Window or Go to Related Record script step, the only limit for your dialog is the window containing the Window Card. You can actually make a Window Card larger than the containing window but that seems to defeat the purpose so I wouldn't recommend it. If you don't specify the dimensions of the Window Card, it will size appropriately to the enclosing window.
Other features of this "dialog on steroids" includes all the standard options available to the other new window types including window name, layout choice, size and position. The window options interfaced with a checkbox are unavailable for good reason with the exception of close. However, there is a new window option only available to Window Cards that allows you to dim the enclosing window, making the Window Card stand out while making the user feel like they haven't gone somewhere else, as can occur with other New Window features that open separate windows. Trust me... this can be very disconcerting for users when a new window appears. Window Cards do a much better job of marrying the new window to the current window than any other feature. In this regard, they allow for more information to be displayed in a single window, much like a Popover but with far less limitations.
Calculation Dialog Enhancements Updating all the calculation dialogs in FileMaker has been going on since FileMaler 14 and continues in 16. It's a lot more work than it may seem to the laymen. With this release, the much anticipated Data Viewer calculation dialog has been updated. The ODBC Data Source has also been updated but it's not frequented as often so I'll focus on the Data Viewer improvements.
It has all the features of the other calculation dialogs including the revamped interface and auto-completion of field names and functions. There are also a few enhancements specific to the Data Viewer calculation dialog. My favorite is the resizable splitter pane between the formula and results area. How I've longed to see the complete result of my return-separated list creations without scrolling or holding my mouse over the expression in the Watch tab list to see a tooltip that displays for just a few seconds. Now I just resize the result area and I can see everything!
Another nifty feature is the automatic evaluation that automatically recalculates the result as you type. This may seem like an insignificant feature until you consider working on a complicated formula and have to keep clicking the Evaluate button. It can be a real pain in the rear and waste valuable development time. Automatic evaluation is the default but it can be unchecked right in the Data Viewer calculation dialog to revert to the original click to evaluate method.
A nice little feature the team slipped in the functions listing, for all calculation dialogs, is the triangle expansion. If you are viewing functions by type, the categories are collapsed so you can find the function types more quickly. When you find the category you want, expand the triangle to see the functions. While I don't use the functioning listing often, preferring to type the function names from memory, I occasionally forget the parameters of a lesser utilized function and like to double-click it into the formula. While testing out this feature, take note that a single click on a function displays a definition in the lower right corner of the dialog, much like the Script Workspace.
MDI to SDI I bleed rainbow colors but when I heard about the single document interface (SDI), I wept for joy for all you poor Windows developers who have been waiting for this fateful day. Long gone is the clunky program window of the multiple document interface (MDI) and it's window sizing issues. No longer do all maximized windows unmaximize just because one window is changed. No more worrying about the program window size in relation to the screen... you can use the entire screen now. It's also not just a boon for Windows developers. Now cross-platform developers don't need two different window sizing routines.
Copy/Paste Value Lists You might miss this one in the sea of big features. What it lacks in impact, it makes up in time savings. No more copying the return-separated values in a custom value list and creating a new one and then pasting. Just one copy and paste will do the job! There's no fancy screen shot I can show you since there are no buttons to reveal the feature. You just have to know it's there and use the keyboard equivalents. Now, the process isn't going to be as easy for a value list based on the contents of a field. If a table and/or field doesn't exist in the destination file, the value list will paste with unknown, just like a copied script.
WebDirect and Server PDF and Print WebDirect solutions can now use the Print, Print Setup and Save Records as PDF script steps. The FileMaker Script Engine, a component of FileMaker Server, now supports the Print Setup and Save Records as PDF script steps for all hosted solutions. Print is not supported on FileMaker 16, just Print Setup to support the generation of PDF documents!
So, what does this mean for WebDirect clients? Quite simply, you can now print or create a PDF from WebDirect with the same fidelity as Pro or Advanced! FileMaker Server renders the output so you don't have to use the print engine from the web browser. That means you get sliding objects, sub-summary reports, better page breaking and all the other wonderful layout features you are used to in a FileMaker client. Even though FileMaker Server can't print, it can save a PDF report in the middle of the night and send it out to a group of people via SMTP email. Wow!
All the Rest As I said earlier, there are hundreds of small changes, enhancements and additions in this release of FileMaker but I'm not going to cover them all. There are 21 new calculation functions just to give you an idea but for me, they don't get my adrenaline flowing Check the new features area of FileMaker 16 online via your web browser to see if there is something that really meets your unique needs. And, by all means, take it for a test drive by downloading the trial version of FileMaker 16!
This blog is completely free. Please support it by clicking on one of the advertisers at the left side of the window. Thanks so much!
Great article - thanks. I have a large database running on FM14 and use FM14 to administer it.
If I download 16 to start learning it, will it interfere with or overwrite my earlier version? I ask because FM16 is not compatible with Server 13, and I cannot risk having anything go wrong with my existing solution. Moving onto 16 will have to be a well orchestrated and timed event.
My hope is that I can download 16 and start working on a back up copy of my database, and that of I need to do anything with the live one, I do that with 14. Am I correct? Thanks in advance
I looked at the web site and all the screen shots appear to be showing. Is it just one screen shot or all of them? Is it all the articles on the blog or just this one? Try clearing the cache on your web browser and restarting it. Reply via the email I sent you so we can continue our discussion. The comment section is not really built for a give-and-take discussion. Thanks.
MDI to SDI is really a joy. One feature I've always wanted to have is a dropdown button that behaves like a popover so there would be no need for stacking two fields over.
I've just received an email for your FileMaker 16 Bonus videos. Thanks John.
I agree. I stack fields way to often. FMI did make one improvement to popup menus that makes them act more like drop-down lists. They added the ability for you to type the space bar after the popup menu is selected via a tab. Then, you can use type ahead just like a drop-down list. I've completed the outline for my 16 video series so will be recording soon. Thanks for the support!
As a matter of fact, I just gone done recording some videos covering Window Cards, Layout Object Window and the new Calculation dialogs. I am going to post these on YouTube as well as places where people have purchased my videos already. My next goal is to get a three part video series on FileMaker 16 done. It will cover new stuff but mostly focus on good programming skills.
I notice that a lot of themes have been removed from FileMaker 16. Is there something on the horizon to replace them? Is there a good repository of custom themes that could be imported? Let us know. Thanks. JJ
The development team felt there were too many themes and some were outdated. Every feature requires development man hours so they felt their time was better spent elsewhere than on themes few developers were utilizing. For now, any theme applied to a layout in a previous version will continue to work in FileMaker 16 and display in the Themes dialog box. If you like a particular theme, make a template for each one you want to preserve and it will carry forward to FileMaker 16 (or one template containing a layout for every theme). Themes can either be imported or carried forward by duplicating a template to begin a project. The only repository of themes I'm aware of his my template set available on the Database Pros web site which contains one template for every theme.