Secure Your FileMaker Database with Encryption at Rest

Claris’ FileMaker platform offers a number of great avenues for keeping your data secured. One of these avenues is to secure the database itself using Encryption At Rest. To be as un-technical as possible, this keeps your data in an unreadable form that can only be opened with a secure key. So, if the database is stolen, the thief would have no way of opening and reading or extracting your data without also have your secure key.

We recommend encrypting ALL FileMaker databases with sensitive data.

How to encrypt a database?

The first step is to get the database onto a local computer. If the database is currently hosted using FileMaker Server, it must be closed and then removed from the server. You will then Open the Developer Utilities. (If you do not see Developer Utilities, it means that you do not have advanced tools turned on. There is a checkbox in FileMaker Preferences to turn this on)

You will select the file you want to encrypt, what folder you would like the encrypted file to be saved to and then select Solution Options.

Here, you will select Enable Database Encryption, enter a shared ID (or just leave the default one), specify one of the database’s Full Access FileMaker accounts and then enter your encryption key. (Make sure to keep the key on file. Once a database is encrypted, the ONLY way it can be opened is by entering that key). You can then choose whether or not to keep Open Storage, which relates to FileMaker’s container data. There are some situations where you may want to keep the container data open even though the database is closed. This should be determined on a case-by-case basis.

Alright! You now have an encrypted file. You will notice when you try to open it, it first asks for the encryption key before it asks for your username and password.

How does it work with FileMaker Server?

Now, you will upload the database back to your server. When you do so, you will see this alert:

When you open up your admin console, you will notice that the file is indeed closed.

You can open the file through the admin console, and when entering the encryption key select “Save Password” or through the command line as shown below.

By saving the password, when you close and open the database, it will open the database without asking for your encryption key.

How does the new FileMaker Server 19.1.2 Update Relate to this?

With the new FileMaker Server 19.1.2 release, you can now run two new system-wide scripts automatically through FileMaker Server’s script schedule.

The first script, SYS_Default_PurgeTempDB, clears the temporary cache of the server. If your server is not restarted often, this temporary cache can become quite large and affect the performance of the server. Now with this script, it can be cleared weekly, daily, or even hourly if needed.

The second script, SYS_Default_VefiryAllDB, will verify all databases on the server to confirm that none are corrupted. During the process, the server will close each file, run the verification, and then open the file back up. The server, however, can only open an encrypted file if its key is saved to the server using the command line script. Because we want this schedule to be run automatically, it is necessary for the encryption key to be saved to the server in order to run this script.

Replace DropDown Lists with a Faster Type Ahead

Has FileMaker’s dropdown list functionality left you wanting more?  While adding a drop down has the benefit of being quick to implement, often it’s behavior can leave a lot to be desired.  Not being able to filter the list by any word in a string (typing out the second word instead of the first for example) or being able to style the look of your drop down can be huge drawbacks.

Here’s a technique that is both powerful, speedy, and quick to implement.   By Creating a “text tree” in any table (as pictured below) we can utilize FileMaker’s relationships which supports multiple values (separated by carriage returns) to find records by our own specified amount of letters, words, or even data from multiple fields.  This technique doesn’t involve finds, and given how versatile it is, we can place it anywhere in our solution — allowing the user to find data without leaving the layout. For example, finding a name only knowing the last name.

Setting this up is fairly straight forward.  The first thing we’ll want to do is prep the data by adding a text field to our target table. In this demonstration we will be adding a full_name calc field to the People table. Our new text field will be an auto-enter calc breaking down each name into a text tree, like above.  This code can easily be copied & pasted into any solution. You just need to modify the input field.  It can also be modified to support longer word lengths, more words, and multiple fields within the local table.

Note: If you’re adding this to existing data, be sure to “refresh” the data, perhaps with a ‘Replace Field Contents’

Now that our data has a satisfactory text tree, let’s create two global fields in the table of the Layout we intend to use. The first field g_SearchField,  will be the field on the layout as the field the user will be typing into.  The second field g_Search_forRelationship will be used in a relationship to our Text Tree, displayed below:

Now, all that’s left is to place a portal on your layout. It’s context should be the table where your text tree is. Then you put a script trigger (onObjectModify) on your search field, which will move what the user types into your secondary global.  It will then refresh the relationship live while the user is typing without having to commit the data entry global.

Your trigger only needs to be a simple set field like so:

There you have it, please feel free to download the file and test it out yourself!

[wpforms id=”59476″]

Claris FileMaker is Now Available on Linux

As part of Claris’s new open release approach to FileMaker 19, the latest version of their platform now supports CentOS Linux. This includes all the features and benefits you’ve come to expect from FileMaker, as well as the most recent updates (you can read more about the most recent version of FileMaker here). While FileMaker Server was previously available for Windows and macOS, this marks the first time it’s been available on the open-source Linux system in many years.

This is especially exciting because a considerable number of businesses utilize Linux for both cloud hosting and their on-premise servers specifically for its security and stability.

In a press release, Claris noted that FileMaker Server for Linux includes key features like data integration via OData and the FileMaker Data API, server-side script schedules and plug-ins, and custom backup schedules. 

Claris also stressed that regardless of which operating system you’re using FileMaker on, you’ll be able to enjoy their new features like faster upgrades and better performance.

This year has seen Claris continue to innovate and bring major, requested features to their platform, and they show no signs of slowing. Have any questions about how you can create FileMaker applications for your business? Reach out to us here.

How Can FileMaker Work for My Business?

FileMaker is frankly an unassuming name for what’s actually an incredible suite of development tools. Custom applications created through FileMaker can streamline business operations and maximize employee effectiveness. Even if you’ve used FileMaker in the past, the changes and additions made in the last several years mean it’s a drastically different, more robust application.

What is FileMaker?

FileMaker began as a way to allow anyone to create simple bits of code to help automate or streamline processes at their small to midsize business. And while it’s still designed to give anyone access to designing simple tasks, it’s grown into something much greater. While the barrier for entry is still low, the skill ceiling is much, much higher.

As FileMaker evolved, it became a system that allowed those same small to midsize businesses to create (or hire someone to create) custom apps and platforms tailored specifically to their business. It’s effectively giving everyone access to the kinds of tailor-made internal platforms previously reserved for massive corporations.

How Does it Work?

In the simplest terms, for anyone with a low-code background (meaning anyone who isn’t a developer), FileMaker works as a series of databases that look similar to an Excel spreadsheet. FileMaker makes it simple to then create relationships between these databases. In these cases, a business owner could create a “relationship” that automatically sends an email out to a customer after a payment is recorded.

However, as mentioned previously, FileMaker can be much more complex. Certified developers— like Kyo Logic— can create GUIs (Graphic User Interfaces) and overlays that make these systems much easier to use, and those relationships can be amazingly complex. For these developers, they can use FileMaker to create a fully tailor-made, optimized CRM or ERP system.

It’s best to think of FileMaker like a paintbrush and set of paints. Anyone can pick them up and draw a picture, but the difference between a first-time artist and seasoned professional is massive.

What Does it Mean for My Business?

In the hands of the right development team, it means access to a custom-built platform like Salesforce or Netsuite at a fraction of the cost. Business can create a system to replace outdated and outmoded platforms they’re currently using. FileMaker is secure and scalable, so it can be used to create anything from a payment portal for a website, to an in-store point of sale system, to inventory management, to payroll databases. If a solution is needed, it can be crafted through FileMaker.

Are There Any Drawbacks to FileMaker?

For small to midsize businesses or projects, the answer is frankly “no.” FileMaker is flexible and feature-rich enough that there is very little it can’t do out-of-the-box, or be programmed to do by a knowledgeable development team. While it scales very well, it’s not ideal for massive corporations with thousands and thousands of concurrent users. But that said, departments within those large companies could very well use a FileMaker-based program for their needs.

How Do I Use FileMaker?

FileMaker and its associated services are available online, so setup is quick and easy. While some tutorials are available online, it’s ideal to take classes and get hands-on experience. That’s typically all one would need if they’re just looking to create something simple. However, professional developers take years of classes and credits, and typically have multiple certifications.

We recommend having a conversation with a FileMaker developer before making any purchases or commitments internally. It’s critical to understand the scope, goals, and expectations of the product. We’re happy to have a conversation with you to best assess your needs and make recommendations. You can reach out to us here.

FileMaker Pro 19.1.2 Updates

This past month saw the release of Filemaker Pro 19.1.2. This update is notable not only for the changes it brings; it’s also the first update to be rolled out under Claris’s new approach to FileMaker revisions. They’ve seen fit to release smaller changes as needed, whereas previously updates and changes were tied to the yearly FileMaker release. So while veteran programmers shouldn’t expect to see a changelog with quite the same scale as previous updates, there’s still a handful of exciting additions and helpful shortcuts.

1. Support for external libraries. This is the feature Claris is touting as the most exciting part of this update, and for good reason. Developers can now easily pull add-ons from other libraries, like CoreML. And while the majority of these add-ons and features could work with FileMaker previously, the process is now much more straightforward. The end result is the ability to create feature-rich apps much more quickly. It also means FileMaker developers can create add-ons within FileMaker that can easily be ported to other apps. If a developer creates a new integration, they can even choose to offer it on the Marketplace for other users. Now everyone, across libraries, can pool resources and access more tools and tricks. In layman’s terms, it’s as if FileMaker just joined the developer-equivalent of the European Union.

2.  Two-way integration with JavaScript code. While JavaScript is technically just one of the libraries FileMaker now has access to, it’s worth discussing on its own. JavaScript has been around for 25 years, and has its own robust set of add-ons and tools that FileMaker can now easily take advantage of, including improved charting and integrated project calendars. Both of these are highly requested FileMaker features. Having access to them via JavaScript is nothing short of a game-changer.

3. More ways to integrate with cloud APIs through Claris Connect. While this particular feature requires Connect, this update to workflows bears mentioning. This update sees upwards of 50 pre-built APIs from popular cloud computing platforms like G Suite and Salesforce. While integration with these and other cloud APIs was always possible, this update makes the process of literally dragging and dropping the relevant connectors. It also makes it easier to automate workflows through these connectors, although Claris is officially branding these as “templates.” Seasoned developers can still use DAPI for integration purposes, but these additions make these processes easier for newer users.

4. Build apps in your browser. A tremendous quality of life change that allows developers to use the FileMaker Cloud service in their browser. It’s worth noting that this doesn’t allow access to all the features that would typically be available server-side (Claris has provided a list of what is and is not available here). However, it’s still a nice feature to add at a time when working remotely— and on a variety of devices— is incredibly common.

5. Support for Siri shortcuts and NFC tag reading. These additions are being introduced as a way to make mobile apps much more comprehensive. Users can now create shortcuts and activate them through Siri. It’s an addition that will make it much easier for mobile users to take advantage of the custom apps and FileMaker services. NFC tag reading will make it simpler for apps to read Near-field communication tags in retail stores and other locations as needed.

While these updates and changes won’t affect the end result for seasoned FileMaker developers, they certainly make certain tasks easier. Ultimately, this update is about making FileMaker more accessible for users, and it certainly succeeds. While developers won’t see their end results change, it does mean they’ll have an easier time navigating these (previously complex) integrations.

Truly, what’s most exciting here is seeing the additions Claris has been able to roll out without having to wait for the next annual update. We’re excited to see what’s in store in the months ahead, as Claris will undoubtedly continue to make changes and updates as developer needs evolve.

If you’d love to see how these features could work to streamline operations at your business, you can reach out to Kyo Logic here. We’d love to speak with you.

The Power of the Pomodoro – Time Management in the COVID World

The world we live and work in has changed drastically over the past few months, since COVID-19 entered our lives. It has been the biggest change that most of us have ever gone through. While this change has affected us in every aspect, from traveling, to socializing, to going to the grocery store, it has affected us equally in the workplace.

For the first time ever, it is now the rule as opposed to the exception to work from home. Thousands of companies are transitioning to full time remote workforces and this trend will not go away even if COVID-19 does. While it is certainly comfortable and easy to roll out of bed and start working, it is natural to lose focus more easily than when you were in the office.

If your new virtual work life has made it focusing on your work difficult, know that you are not alone and that we have a technique just for you. This is a technique that we at Kyo Logic have adopted for years and have found brings great results to our team, allowing our developers to focus on the task at hand even when all of the distractions in the world circulate around them.

The technique we use is called the Pomodoro, named after a tomato-shaped timer that the original inventor of the technique, Francesco Cirillo, used. 

The technique is pretty simple. You spend 25 minutes working on a task and then take a 5 minute break, making each Pomodoro 30 minutes. Now, there are no rules saying you have to do Pomodoros in 30 minute intervals. At Kyo Logic, we have modified our Pomodoros to be 60 minutes with 50 minutes working and a 10 minute break.

The reason why the Pomodoro is a powerful tool is because of two key factors: 

1. It breaks up your day into multiple smaller periods, allowing you to focus each period on a single task. Everybody has been there on a day where you have more on your plate than you can possibly accomplish. It’s petrifying and can get overwhelming. We have seen that a side effect of having too much on your plate is that you spread your focus around to too many tasks, ultimately completing none of them. If you start your day by scheduling out your Pomodoros, you can know that as long as you follow the plan, you will get to everything you need. No need to worry!

2. It includes short, frequent breaks, which allow you to clear your mind, handle the items that would normally distract you from your focus and get yourself ready for the next task. This part of the Pomodoro is really what makes it special, especially in the virtual workplace. One of the biggest struggles that I and most of my team members have is transitioning focus from one task to the next. With the Pomodoro, focus transitioning is a built-in feature.

So, are you ready to take on your new virtual workplace one Pomodoro at a time? To help make this a reality, please download our free Pomodoro Timer below.

Download Pomodoro Time File

Please complete this form to download the FREE file.

Name(Required)
This field is for validation purposes and should be left unchanged.

Improve Your FileMaker Development with These Five Tips

FileMaker can be a powerful platform that if used wittingly, can help you build robust applications. Here are some of the valuable tools that can take your development to the next level:

  1. The Script Debugger

An outstanding standalone tool provided in FileMaker Pro Advanced that offers the capability of debugging scripts, which can be launched from the script workspace by pressing a button or even a script trigger.

A screenshot of a cell phone

Description automatically generated

The script debugger gives you full control of stepping into each script step and provides full details in the call stack from script parameters to sub scripts. It even lets you know from which file the script is from. This can come in handy when working in multi-file solutions. For more information please visit FileMaker documentation on script debugger – https://fmhelp.filemaker.com/help/16/fmp/en/index.html#page/FMP_Help/debugging-scripts.html

  • The Data Viewer

It goes hand in hand with the script debugger like peanut butter and jelly. It displays real time values for a currently running script’s variables and fields.

A screenshot of a cell phone

Description automatically generated

The “Watch” tab on the top right will give you the ability to specify fields or calculations to monitor whether during debugging or simply during general development and it works like a charm!

  • The Shape Tool

An often-underappreciated friend of mine which may seem like a graphical block to many; to me, it is a smart image resizing element of a layout that helps with proportioning and sizing of an image. In layout mode, you can create the shape you desire your image to be, in the appearance tab, change its fill to an image, and after selecting the image, the dropdown just below the image sample will give you the option to “Scale to fit” and voila! You can resize your image while not losing its original proportion.

A screenshot of a computer screen

Description automatically generated

On the right we can see the rectangle object with an image as the fill and to its right we can see the imported image with some proportion issues due to resizing, not to say it’s everyone’s preferred method of handling images in FileMaker, but it can prevent a lot of headaches.

  • JSON Script Parameters (JSONSetElement calc)

Surely many of you know or heard of JSON and some may or may not have used it in FileMaker. Let’s say you are used to making script parameters a straight forward text or number, or even a field, but how would you pass multiple parameters during a script trigger or when the user clicks a button?

A screenshot of a cell phone

Description automatically generated

With a few adjustments and a little bit of knowledge of JSON syntax, the sky is the limit! You can pass as many parameters as needed by adding multiple JSON elements to the JSONSetElement calculation in the script parameter. And from the script side, you can call the JSONGetElement calculation to grab the value of the element needed. For more information on JSON calculations you may visit: https://fmhelp.filemaker.com/help/16/fmp/en/index.html#page/FMP_Help/json-functions.html

A screenshot of a cell phone

Description automatically generated
  • Claris Community

The FileMaker community, now known as the Claris community, may not be a standalone tool for FileMaker Pro Advanced, but it is the place where bright minds collaborate and help each other get through some of the most difficult obstacles that FileMaker can present. You may discuss FileMaker Server, FileMaker Go, FileMaker WebDirect, and the list goes on, if you don’t believe us just ask them yourself: https://community.claris.com/en/s/

Scannability in Scripting

What is Scannability?

Scannability is an attribute of any written piece, including FileMaker scripts, that help the reader find pertinent information quickly.

Why is High-Scannability in scripting important?

  • Easier and faster way to understand the purpose and actions of the script
  • Reduced errors in comprehension of the code and recollection of the specifics
  • Reduced strain on developer’s focus

What does High-Scannability look like?

It is a clear naming convention for scripts, which looks like:

You will also find a detailed purpose/notes, clear sections of scripts, business logic details, and effective comments.


What does Low-Scannability look like?

Below is the same script without all of the above elements discussed. Consider the difference in time spent between the Low-Scannability version and the High-Scannability version. Try to imagine these different scenarios considering the difference in the two:

  1. Report to the user what the logic is for deleting time sheets.
  2. Re-enable this schedule on FileMaker Server after installing a new FMS version. Determine which day of the week to set it up for.
  3. As a developer seeing this for the first time, determine the purpose and expected result of this script.
  4. Debug an issue when creating time sheets (especially if they are not properly linked to an appointment).

What practices should developers employ to ensure their code has a High-Scannability level?

It all starts with this: Adopt the perspective of a future developer. Assume this future developer is lacking any knowledge of business logic or any other elements of the code base.

From here, make sure your code meets the following criteria:

  1. The script is easy to find within the workspace; follows clean naming convention.
  2. The purpose of the code is explicitly stated at the top.
  3. Any parameters for the script are explicitly stated.
  4. There are clear “Sections” of the script.
  5. Any calculations that are beyond the “basic” level have commenting, which can detail the expected result(s).
  6. All business logic should be commented throughout the script where applicable. The future developer should not draw questions or have to make assumptions.

Kyo Logic eSignature Add-on – How to turn a Database Feature into an Add-on

With the recent release of Claris’ FileMaker 19, Claris introduced a new tool called an Add-on, which allows you to drag and drop a ready-built feature into your database at the drop of a hat. Watch the video below to learn how to take an existing feature in a database and turn it into an Add-on. We will be using our eSignature Application as a base, so feel free to download that file and follow along.

 

Download eSignature Add-on

Please complete this form to download the FREE file.

Name(Required)
This field is for validation purposes and should be left unchanged.

Kyo Logic eSignature Application – Using the Power of CLARIS FileMaker 19 to Enhance your Application

With the recent release of Claris’ FileMaker 19, developers around the world are reveling in all of its new capabilities. Today we will be taking a deeper dive into two new capabilities: WebDirect Card Windows and JavaScript in Web Viewers. We will show you how they can be utilized to greatly enhance your FileMaker database.

WebDirect Card Windows

            Since the release of FileMaker 16, Card Windows have taken the FileMaker world by storm. They have allowed databases in FileMaker Pro and FileMaker Go to layer a window on top of another window as shown below.

Starting with FileMaker 19, this functionality has now been brought to WebDirect!

JavaScript in Web Viewers

FileMaker has added a new function to Web Viewers called “Allow JavaScript to perform FileMaker scripts.” You can see below where to navigate to turn this on in the Web Viewer Setup.

What this allows you to do is enter the below JavaScript function into the JavaScript code in your Web Viewer. This will trigger a FileMaker script to be run as a result of an action taken within the Web Viewer.

[arve url=”https://test21.kyologic.com/wp-content/uploads/2020/05/Signature.mp4″ /]

In the eSignature Application tool we utilize the open source signature pad code provided here https://github.com/szimek/signature_pad  (Thank you Szymon Nowak!) as the base for the web viewer code.

We have set up each element of the code in its own field in the HTM_Html table and combine the individual elements into the HTML_Calc field, which is what the Web Viewer reads and displays.

The elements in our code, which have been added to our FileMaker functions, are JSFM1 and JSFM2.

JSFM1 Is the Function that will be called upon selecting Save and JSFM2 upon selecting Cancel from within the Web Viewer.

Here is a look at what the field JSFM1 contains:

As you can see here, when the Save button is clicked the function will run and, assuming that it is not empty, will first save the image as base 64 encoded text and then run the script SaveSignature in FileMaker.

SaveSignature simply pulls in the dataURL as the parameter, decodes and formats it to be a png. Than sets it to the container field and closes the card window. It’s as easy as that. No more unnecessary data api work arounds!

It is important to note that with FileMaker 19, it is no longer necessary to base64 encode your web viewer code on WebDirect. In order for the FileMaker.PerformScript function to work from within a web viewer in WebDirect, the webviewer code cannot be base64 encoded and must start with data:text/html,

Download eSignature Application

Please complete this form to download the FREE file.

Name(Required)
This field is for validation purposes and should be left unchanged.