Category FileMaker Techniques

Non-editable text selection in FileMaker

How to protect data in fields from being edited, while still allowing the fields to be selected for copy / paste functionality.

One of the features that makes FileMaker so easy to use for data entry is that there’s typically very low friction between the user and the data. Specifically, fields on a FileMaker layout are usually just open and ready for editing. This makes it simple to just dive in and enter data, but the flip side of this low-friction environment is that critical data can sometimes be edited by mistake. As soon as the user moves off the record to “commit” the changes, your data is changed permanently.

FileMaker offers several methods to protect field data from being edited; The most common (and simple) is just unchecking the option for field entry in Browse Mode in the inspector:

Another common method is through the use of merge text on a layout. A third popular method to protect data from being edited on a layout is by using a calculated button bar segment. This works very well, and has the added benefit of enabling you to dynamically change and format the data.

But what if you want to select the data, copy it, and paste it elsewhere, but still protect it from being edited? This a familiar problem — users want to copy an entire address block, or an email address, or whatever, and paste it into an email or a document, but are unable to select the text.

There are three ways of making field data selectable, but not editable:

  1. Create a privilege set to prevent editing of the data
  2. Create a calculated field that displays the data
  3. Use HTML-formatted data in a webviewer to display the data

Privileges

If you set up a privilege set in FileMaker’s “manage security” settings, and then apply it to user accounts, you can effectively prevent users from editing fields under various circumstances. If, for example, you were to create a calculation (at the field level) that says a field can only be edited when a “Locked” boolean field is unchecked, then the user can select that field on a layout, but will be unable to edit the data unless that boolean field has been unchecked. The advantage here is that you can control the editing of data by user privileges, and so some users may be able to edit, while others may not. The downside is that it can become complicated to edit the user privileges at the field level, particularly if you have a large number of fields to deal with.

Calculation Fields

Setting up specific fields to replicate the data in editable fields will enable you to place any number of these fields on a layout and allow them to be selected without any ability to edit the data. Period. It’s easy to set up (you just take a field called “Name”, for example, and create a new calculation field called “cName” that simply calculates the “Name” field), and it requires no special privilege setups. However, the downside here is that you have to add new fields to your system. For just a few, this may be fine, but it’s not necessarily practical to duplicate many fields as calculated fields, just to allow for copying and pasting. On the other hand, you can do things like calculate an entire address block including spaces, carriage returns, and formatting all in a single calculation field and display that:

The above calculations display a nice, neat, formatted name and address block:

HTML in a Webviewer

This method works quite nicely, although it requires some knowledge of and comfort with coding HTML. It involves using HTML inside of a Webviewer to display data from fields, formatted as needed. Instead of putting some fields on a layout to display address data, you instead put a webviewer in that block, formatted to show the data as a small web page:

If you’re comfortable building HTML pages, then this is a good way to go, although data in Webviewers can load more slowly than native FileMaker layouts. There are also some formatting settings that need to be adjusted for a Webviewer object so that it seamlessly matches your layout. Specifically, you’ll want to turn off the progress bar and status messages, plus you may want to remove any fill colors and outlines from the object style.

As with any development platform, there are many ways to “skin a cat”, but sometimes it may be difficult to figure out which way is the right way. Hopefully, you’ve gained some new “cat-skinning” tricks from this!

Please don’t actually skin a cat. It’s just a figure of speech.


Training Classes Offered in May

We have received interest in upcoming FileMaker trainings, and we are thrilled to announce the return of our FileMaker training classes! This upcoming May, we are offering a training series for intermediate to advanced FileMaker developers. These classes will be taught by Matt Navarre, expert developer and owner of AppWorks.

The courses will be offered in a four-part series, where classes can be bought individually, or in a package deal for a total savings of $200. Each 4-hour class will be from 1-5PM on Wednesday afternoons in May. Each individual class is $400, with the package deal including all four classes for $1400. These classes can be purchased online.

Class 1 will focus on data tables and relationships. Topics covered during this class include types of relationships, identifying relationships, working with complex relationships, using external data sources, and more.

Class 2 delves into FileMaker layouts, and will include instruction on linking layouts to specific table occurrences, using portals to display data, using the chart object and additional topics.

Class 3 is a scripting-focused class. Topics such as creating and editing scripts, script triggers, perform scripts on server, scripting Tools, script Debugger and more will be taught.

Class 4 is a class dedicated to server setups for both internal and web connections. Web publishing server settings, WebDirect server settings, encryption at rest and other server encryptions to watch out for, and server admin console settings will all be covered in-depth. Class descriptions detailed here are not complete – please read full class details in the store section of our website.

Please let us know if there are any additional topics you would like to see covered in a class, or if you are unsure of your abilities. We are more than happy to work with you and assist with placement in our training classes. We want to challenge you, but we want you to understand everything you learn. Ultimately we want these classes to give you the tools you need to develop successfully.

Please also email eleanor@app.works if you are interested in FileMaker training, but seeking a more basic class offering for beginner developers. We would love to host a class series for beginners and will begin the scheduling process if there is sufficient interest.


New Service: Module Implementation

We are debuting a brand-new service offering that can be purchased in our online store. AppWorks will now install one of our downloadable modules into your solution, so that our clients can reap the benefits of our popular modules without the development hassle. We are offering this service for fmLog, fmSearchResults and fmRecentRecords. We’d recommend this option for beginning-level developers who may be uncomfortable fully integrating one of our modules on their own, but want enhanced functionality in their database.

Services Offered

Our implementation services vary based on the nature of the module. For fmLog, we will add logging functionality into a solution, for up to ten fields. For fmRecentRecords, we will add a history to the dashboard for up to 5 tables. fmSearchResults’ integration will completely integrate the module within your solution.

Our goal with our new integration offering was to offer our clients enhanced functionality from these modules, with no FileMaker expertise required. AppWorks’ integration services will ensure that the module is working properly and to its fullest capacity within your solution. Our integration services will save our clients time and effort so that they can focus on their business, not their database.

Additional Help

These integrations can be purchased alongside our modules, in our new store section of the AppWorks website. Our modules and module/integration packages can be found here. The online purchase of the integration will include the module itself and a designated block of time for the integration, which will be scheduled via email. We hope you find this offering helpful, and we can’t wait to help you get the most out of your solution. If you aren’t sure which integration(s) would benefit your company the most, reach out to sales@app.works and we can help make recommendations for your specific solution.


Contextual Menus in FileMaker

Ever wondered how the ‘contextual menu’ in FileMaker is created? Perhaps you’ve noticed that unlike Custom Menus, native functionality to customize them does not exist. Well, kind of. When you create a Custom Menu, the menu items that you enable or omit will have a direct effect on the items displayed in the contextual menu. This can be an unexpected side-effect in some cases. Using a plug-in is the only way (currently) to fully customize the contextual menu, but this post focuses solely on native functionality.

Read More


FM Pro 17.0.4 Advanced & FM Go 17.0.5 Updates

Two updates were released today by FileMaker: FileMaker Pro 17.0.4 Advanced and FileMaker Go 17.0.5 – both updates were released in order to address issues where ODBC connections were not closed properly.

Contact us if you need help updating to these newer versions, or if you are having any issue with closing ODBC connections and we would be happy to help.