Category Archives: FileMaker 17

  • 1

FileMaker 17: Default Field Customization

Tags : 

With the release of FileMaker 17 comes Default Fields, and thankfully they are customizable! This will be a time saver for all of us who copy and paste the same five (or more) fields into every table in every file, all the time. It may seem like a small savings at first, but will quickly amount to a lot of time and clicks. So let’s get started!

The 5 Default Fields from FileMaker

You just created your first new table in FileMaker 17 and (bam!) there are five new fields in the table already. “That’s awesome!” you thought, which was probably followed by “But how do I customize them?”  Don’t worry we’ll cover that next, but first let’s take a look at the fields that FileMaker has already provided:

  1. PrimaryKey – Unique identifier of each record in this table
  2. CreationTimestamp – Date and time each record was created
  3. CreatedBy – Account name of the user who created each record
  4. ModificationTimestamp – Date and time each record was last modified
  5. ModifiedBy – Account name of the user who last modified each record

Although naming conventions for them vary, the fields above are standard to most developers and should be for you too. They are incredibly valuable in maintaining the integrity of your data. If you are new to FileMaker or are unsure of their use, I recommend you keep them as they will come in handy in the future.

Customization

The fields that FileMaker have included by default are a great starting point, but this new feature becomes truly powerful when we customize them. Modifying the field names to conform to your specific naming conventions, and adding your additional ‘standard’ utility fields are just a couple reasons you should take the time to customize them.

Step 1:

Download the template file called DefaultFields.xml included in this article. You can also dig into the FileMaker Advanced 17 package folder to find it. If you choose the latter, be sure to exit the application before doing so and make a separate copy of the file in a different location where you can then modify it.

Mac:
In Finder, navigate to the FileMaker Advanced 17 folder and right-click on the application, then click ‘Show Package Contents’. From there you can navigate to the following file:
Contents/Resources/en.lproj/DefaultFields.xml

Windows:
C:\Program Files\FileMaker\FileMaker Pro 17 Advanced\Extensions\English

Step 2:

Open the XML file in a text editor and start customizing!
Side note: although I couldn’t find documentation from FileMaker on the grammar required, it’s fairly easy to gauge what options are available for each field and how to modify them.

Step 3:

Move your customized file into the following directory:
Mac: Users/Shared/FileMaker/Shared/
Windows: C:\ProgramData\FileMaker\Shared\

Step 4:

Open your FileMaker solution and go to File>Manage>Database to create a new table. Your new default fields should be created automatically. That’s it!

Turn Default Fields Off

If for some reason having FileMaker’s default fields added to every new table just doesn’t work for you, you can easily turn this functionality off (and back on again when you realize how valuable they really are!).

Step 1:

Create and save a blank file called DefaultFields.xml. Any basic text editor such as TextEdit on Mac or Notepad on Windows will work fine for this task.

Step 2:

Move this file into the following directory:
Mac: Users/Shared/FileMaker/Shared/
Windows: C:\ProgramData\FileMaker\Shared\   

 

What default fields are you excited to create?

 


  • 0

FileMaker 17: Admin API

Tags : 

If you manage multiple instances of FileMaker Server, maintenance would typically be performed by logging in to each via a web browser or running fmsadmin CLI commands. These methods become unwieldy when you need to make the same change or gather the same bit of information across several servers. A seemingly simple task now takes 30 minutes or more with multiple servers. For example, ensuring that servers have enabled the security setting “Host password-protected databases only” is a quick task for the first few servers, but surprisingly time-consuming when checking twenty.

The time-saving solution to administering a fleet of Filemaker Server instances is the Admin API. Prior to 17, the Admin API was only available in FileMaker Cloud. Now, FileMaker Server 17 running on Windows or Mac OS can be administered from any tool capable of generating HTTP requests, including curl, PHP, and Filemaker Pro Advanced. Given a list of server addresses, we can programmatically log in to each server to gather configuration information, close database files, run schedules, and more.

To start off, here is the sequence of curl commands necessary to enable the “Host password-protected databases only” setting on a single server:

Obtain a JWT token:

curl -X POST \
 https://example.com/fmi/admin/api/v1/user/login \
 -H ‘Content-Type: application/json’ \
 -d ‘{
“username”: “admin”,
“password”: “admin-password”
}’

Use the JWT token (“a-very-long-string”) to authenticate subsequent requests.

Change the security setting:

curl -X PATCH \
 https://example.com/fmi/admin/api/v1/server/config/security \
 -H ‘Authorization: Bearer a-very-long-string’ \
 -H ‘Content-Type: application/json’ \
 -d ‘{
        “requireSecureDB”: true
}’

Confirm the new security setting (optional):

curl -X GET \
 https://example.com/fmi/admin/api/v1/server/config/security \
 -H ‘Authorization: Bearer a-very-long-string’

Logout (also optional, but generally a good idea as only a few admin connections can be open at once):

curl -X POST \
 https://example.com/fmi/admin/api/v1/user/logout \
 -H ‘Authorization: Bearer a-very-long-string’ \
 -H ‘Content-Type: application/json’

To make these requests against a list of servers, you just need to programmatically set the host address (e.g. https://example.com), username, and password within each curl command. The screencap below illustrates how to achieve this using a FileMaker script. For the purposes of this blog post, I’ve hard-coded and stored these in plain text. In production you’ll want to store and retrieve credentials in a secure manner using a service like AWS Secrets Manager.

The Admin API will be a trial feature until September 2019. You can provide feedback to FileMaker here.


  • 0

FileMaker 17: Edit Grouped Objects

Tags : 

How many times have I been annoyed and delayed by having to ungroup something just to make a simple edit? Too many to count.

I often group many things together to aid in layout setup and positioning. Say you have a set of fields and objects that together make up a ‘widget’ or function (e.g. a custom calendar picker, or custom labeling for a radio button set, a set of fields for an address, etc), and you want to keep them all together in a particular arrangement. But then you might have to make a change to a font, or a hide condition, or a small tweak to the position of one item within the group. Now you can do all those adjustments without having to break the group and then re-group the objects when you are done!

There is a double whammy when there is a Hide Condition applied to a group, or a button action has been applied to non-button objects, e.g. a Text object. (To make it a button FileMaker makes it into a group, first. It’s a group of 1 object, but still a group.) In FileMaker Pro Advanced 16 you could apply a hide condition to a group, but then if you needed to edit one of the objects in the group, you had to un-group those items in order to make those edits. Breaking the group apart causes you to lose the hide condition or button definition on the group – at least FM was nice enough about it and would warn you that you were going to lose something when breaking the group. These types of groups will cause you to lose your calculation definitions as well as being slower to work with the sub-objects.

Even simple groups that don’t have an additional button or hide definitions will incur delays just because you’ll have to un-group and then re-group the items. (Minor, yes, but still delays – the keyboard shortcuts here help a lot, but even then it’s a delay.) Now in FileMaker Pro Advanced 17 you don’t have to break the group in order to edit items in that group, thus you won’t lose the hide condition. To be clear, in 17 if you break the group you WILL still lose the hide condition, you just won’t have to break the group nearly as often.

The user experience for this new feature is pretty darn intuitive and straightforward. In FileMaker Pro Advanced 17 when you first click on a group, it will highlight the group in the normal blue outline with drag handles – the same as it does now in FileMaker Pro Advanced 16.

When you click a second time on an object in that same group a dashed box shows up around the group as a whole, and the individual object you clicked on will have the typical blue highlight border with the drag handles:

This combination of borders gives you clear indication that you are still working in a group, but that you are editing a single object of that group. Once you have a single object of the group as your in-focus object, you can edit any of the definitions about that object – font, padding, size, position, etc. This can be done by dragging an object handle, using arrow keys (for movements), or making changes in the Inspector.

Another nice touch is that the dynamic guides are specific to whichever level of editing you are doing. If you drag an entire group the dynamic guides will display relative to the entire group.

With this new feature when you move a single object within a group with the mouse or arrow keys, the dynamic guides will show up with respect to that single object you are editing.

Here I moved the “Country” field down to create empty space and moved “Postal Code” over into the empty space. Notice that the group-bounding box increased in size – handily, the outer/group dashed-box dynamically changes size if you happen to move an object that defines one of the outer bounds of the group (the “Country” field in this case).

It’s really just like you are normally editing the single object on the layout, with the addition of the dashed box around the group. And FileMaker has made this single-object editing very simple to access – it doesn’t get in the way of attempting to edit that single object: If you double click an item that’s part of a group, you will still immediately start editing that item – the same as if it hadn’t been a part of a group. Thus, you can double click a text object and it will insert the cursor into that text object and allow you to start editing, or if you double click a field it will display the field picker dialog. You don’t have an extra click just because it’s in the group.

So make your work more efficient and less copy/paste happy by utilizing the new edit-within-group feature of FileMaker Pro Advanced 17. It will save you time and aggravation.


  • 0

FileMaker 17: New and Improved Licensing Programs

Tags : 

As a certified FileMaker license reseller, AppWorks is jumping for joy with the new and improved FileMaker License programs! After years of competing acronyms such as AFLT, FLT, AVLA, VLA, ASLA, SBA, etc., FileMaker Inc. has simplified the programs to: User Licensing, Concurrent Connection Licensing and Site Licensing. *phew*

Additionally, each program is available for annual contracts or perpetual use, and all of them come with a robust list of features.

Even better news (yes, it’s possible), the new licensing contracts will have one license key to manage the installation of all new products. Plus, it won’t change from release to release!

What does all products mean? With the release of FileMaker 17, each of the license contract types includes the entire platform of products. Let’s break down the programs and what products come with each:

User Licensing

According to FileMaker, Inc., “A user is a unique person who will need any type of access to the FileMaker Platform. A user can create or use apps to view, enter or modify data with iPad, iPhone, Mac, Windows or the web.” Under this new contract, each of your users will have access to all of the following:

  • FileMaker Pro Advanced
  • FileMaker Go
  • FileMaker WebDirect
  • FileMaker Data API
  • 3 FileMaker Server installations (one for dev, one for production and one for FM Cloud)

Perhaps the best news of all, with the release of FileMaker 17, purchases are based on the number of users after the initial minimum of 5 users. You can add new users as needed in increments of one!

For example, if your company had 8 FileMaker users, you’ve likely purchased AFLT or AVLA for 10 users for FileMaker Pro. But now your company has grown to 11. Rather than purchasing another bundle of 5 users for just one more person, you can renew under the User Licensing for 11 users.

Concurrent Connection Licensing

This is the right choice for you if the majority of your users are anonymous or occasional users who typically connect via the web. Again, under this new contract, each of your users will have access to all of the following:

  • FileMaker Pro Advanced
  • FileMaker Go
  • FileMaker WebDirect
  • FileMaker Data API
  • 1 FileMaker Server installation

For example, if your company had 12 employees in the office who logged into FileMaker Pro, 7 of whom would also need to log into FileMaker WebDirect, you’ve likely purchased a concurrent license for 5 connections. Now, you can renew under the Concurrent Connection Licensing for 7 connections and take advantage of all of the above. If you’re an existing customer with a concurrent connection contract, you’ll transition to the New Concurrent Connections licensing with the equivalent number of connections as you obtained in FileMaker 16, plus one FileMaker Server.

Site Licensing

This program is based on headcount in the organization, rather than users, starting at 25 employees. This is the right choice for you if you have an integrated WebDirect component into your solution for anonymous users that don’t install or use FileMaker Pro Advanced, but need access to read-only data, or entering data for a singular use.

Under this new contract, this program bundles:

  • FileMaker Servers*
  • FileMaker Pro Advanced
  • FileMaker Go
  • FileMaker WebDirect
  • FileMaker Data API

*The number of server installations matches the headcount of your company.

For example, if your company had 27 employees, but had an integrated WebDirect component into your solution, you’ve likely purchased a site license for 30 users and possibly had to purchase at least one FileMaker Pro Advanced license. Now, you can purchase a Site Licensing contract for exactly 27 users, and all users get to take advantage of the above. Reminder: anonymous users may access FileMaker WebDirect, but may not install or use FileMaker Pro Advanced.

Here’s what to expect with your new and improved products:

FileMaker Pro Advanced is the only option for desktop, and this means everyone now has access to the advanced features. POWER TO THE PEOPLE!  No need to worry about a FileMaker development takeover, you have the ability to turn the advanced features off for specific users.

FileMaker Data API

The release of FileMaker 16 provided the ability to connect with various APIs. Now with FileMaker 17, The server receives unlimited data transfers with inbound API Calls. Outbound API Calls use gigabytes from the shared annual data transfer cache. These gigabytes are metered at the server level. Below is the math behind the total mount of shared annual data transfers you have for your yearly contract.

 

Number of

users/concurrencies/seats

x

2 GB

per month

x 12

months

=

Shared annual

data transfer

For example, your company has a 5 user licenses your API data transfer total would be:
5 x 2 x 2 = 120GB for the year. If you need more than this, you can purchase additional API connections.

Still confused? Don’t worry – it’s a lot to take in all at once. AppWorks is here to answer any and all of your FileMaker licensing questions. Our staff are trained to help navigate you and your team through this transition and as always, we’re here for any of your training and development needs as well. Please call Shawn at 503.616.9422 x4 to learn more, or send her an email: shawn@app.works.