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:
Report
to the user what the logic is for deleting time sheets.
Re-enable
this schedule on FileMaker Server after installing a new FMS version. Determine
which day of the week to set it up for.
As
a developer seeing this for the first time, determine the purpose and expected
result of this script.
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:
The
script is easy to find within the workspace; follows clean naming convention.
The
purpose of the code is explicitly stated at the top.
Any
parameters for the script are explicitly stated.
There
are clear “Sections” of the script.
Any
calculations that are beyond the “basic” level have commenting, which can
detail the expected result(s).
All
business logic should be commented throughout the script where applicable. The
future developer should not draw questions or have to make assumptions.
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.
eSignature Add-on Download
Please complete this form to download the FREE file.
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.
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 datatext/html,
Download eSignature Application
Please complete this form to download the FREE file.
FileMaker Pro’s iOS SDK can make distributing your app a lot easier! If you’re dealing with a large user base, using SDK can create a ‘launcher file’ to distribute through MDM (Mobile Device Management). This can remove the steps of having your users download FileMaker Go, by pointing them to the correct host on numerous devices. In fact, you can keep the host address private.
Customization is a huge benefit because your app and its icon can entirely carry your own branding. If your organization has a suite of apps, your launcher file can have a custom landing page completely designed by you.
Additionally, with a launcher file, you’ll have the added benefit of better error handling. Since your launcher file will be a local app, you can trigger your own custom messages if a user can’t reach the host file. For example, reminding them to connect to a VPN. Perhaps you configure your launcher file with an OnFirstWindWindow trigger to open your hosted app.
In order to create your own: You’ll need a Mac, Xcode (an Integrated Development Environment that pulls all the tools needed to produce an App and is free to download), your own .fmp12 file, and the SDK. The SDK is only available through enrolling in FileMaker’s Developer Subscription: https://store.filemaker.com/product/FDS
Once you have these four items in place, you’re ready. You’ll need to get your hands slightly dirty with the Mac’s Terminal and Xcode, but don’t worry we’ll only be scraping the surface of these powerful applications.
Once you’ve downloaded the SDK and have stored it in a location of your choice, it’s time to open Terminal. You can find this in your Mac’s Application’s Utility Folder or by simply typing “Terminal” in a spotlight search.
On your command prompt, you’ll need to type in “cd,” add a space, and then type in the path of the directory that has the SDK, and press return. In this case, it was on my desktop.
*Pro Tip: Instead of typing out the path, drag and drop the folder right into the command prompt*
At this point, you’ve navigated in Terminal to the folder that contains the SDK and we now have to run the program “makeprojdir” in that folder. We’ll do that by typing “./makeprojdir”, a space, the project path, another space, and then the name of your app; in this case “ourApp”. Lastly, add a unique bundle identifier for your app, com.kyologic.ourApp and then hit enter.
*Note: The project path doesn’t need to exist; the project folder and its contents will be created as specified*
Within your newly created project folder, you’ll find a .xcodeproj file. Within the folder, “ourApp,” a PlaceHolder.fmp12 file will be swapped with our launcher file.
*In a multi-file solution you’d place all project files in this folder*
Now you’re ready to open your project in Xcode. Go ahead and click on your .xcodeproj file. Once Xcode is loaded, open up its preferences, navigate to Accounts, and be sure to enter your Apple ID if you intend to sign this application and build it into an iOS device during testing.
Xcode is a large program and can be daunting, but we’ll only be making a few edits. The first is modifying the configFile, which you’ll find on the left panel. There are a number of edits you can make here, but we’re just going to highlight the LaunchSolution variable to the name of your Launcher file.
Now you’ll want to import your app icons. You’ll find the place to drag and drop them within CustomAppMedia from within the project folder. You’ll want these icons sized according to Apple’s Human Interface Guidelines, found here: https://developer.apple.com/design/human-interface-guidelines/ios/overview/themes/
Connect an iOS device and at the top left of Xcode choose your device and hit the play button to see your app load onto your device’s springboard.
The goal of this post was to quickly get you up and running. It is recommended to go through the other steps in FileMaker’s iOS SDK Guide. If you were building beyond a launcher app, you may need to enable iCloud capabilities, access the phone’s camera, location, etc.
It is important to note that the SDK is binding your FileMaker solution(s) to a copy of FileMaker Go, so all of the iOS limitations that come along with FileMaker Go still remain. Another difference to note, the “Close File” script step will not work due to the nature of how iOS apps remain in memory and need to be quit from the app switcher.
There are tons of exciting possibilities using the SDK and we’d be excited to learn about how you use it. If you need help configuring and deploying your own custom app, reach out to us today!
Why implement a standard
navigation bar across the system?
For most systems, it is imperative that the user can get to many areas of the system in only a few clicks. Implementing this method of system navigation not only solves this problem, but also has some other benefits. It brings clarity to which area of the system the user is in, promotes standard navigation behavior which helps the user experience, and is very easy to manage and update once implemented
What does it look like?
Without using a standard navigation bar, keeping things
updated over time can be very time consuming and sloppy to manage.
By using this system, you only need to do a major setup one time. From there, any new layouts or modules will adopt and fit into the existing system without issue. You avoid having to go back to all other layouts and update their individual button bars.
Example: Adding a new module
In this case,
I added the “ContactInfo” table and created a Form and List view to display
this data. To update the navigation bar, all I needed to do was update one
script and my navigation was already completely set up!
The video below demonstrates this update and also showcases how the nav-bar is automatically updated on all layouts.
There are a few key components to setting up this system
navigation.
Startup script
Navigation script
Layout naming convention
Layout objects
1. Startup Script
2. Navigation Script
3. Layout naming convention
4. Layout objects
Layout in Browse mode
Layout in Layout mode
Naming convention for each individual button. Used in the “Active” calculation
Hide the condition for each individual button.
Setup for each individual button
Setup for Active Calc
In
Conclusion: Adding a new module
Utilizing this Navigation Bar
can save many hours in the long run, especially if you make frequent updates or
additions to your system(s).
If you’re struggling with
implementing any of these concepts, or have any questions, please feel free to
email support@kyologic.com where we can help you further!
“Apple aims to put the customer at the center of everything we do”- Apple at WWDC18
This is something Kyo Logic and Apple have in common. We aim to provide the most user-centric services with everything we do, whether it is consulting, training, or FileMaker Development, making your business easier to run is our primary goal.
Here are some takeaways in iOS 12 that we found best upheld Apple’s promise:
Screen Time:
Smartphones have become an addiction, especially amongst the younger generation. Apple (being the number one contributor to that addiction) has begun to address this issue by implementing a new feature on iOS 12 called Screen Time. Screen Time provides you with a weekly report of how much time you have been spending on your iPhone, how often you check your iPhone, and what apps you’ve been spending the most time on.
The user-centric aspect of Screen Time is how customizable it can be. Users can:
Set limits for the time they spend on specific apps, with warnings when you get close to your limit
Set limits on their children’s devices remotely to help limit their usage
Set Downtime for when apps won’t be displayed and indicate when specific apps aren’t usable
Screen Time is Apple’s way to contribute to solving a social issue that they’ve helped create, all while keeping the user’s decisions to choose their settings in mind.
Security and Privacy:
In the tech world, people are always worried about their online presence, and whether their data is safe or not. Apple and Kyo Logic are two companies that show a similar drive to keep our user’s data safe. As per usual, Apple touched base on how up to date their security and privacy software is, but something especially interesting popped up that we found notable.
We have all seen the relentless “like” and “share” buttons on almost every website nowadays. These buttons can track and take down information from the user without even clicking them. Apple has made the stride to get rid of their user’s worry by disallowing this ability with iOS 12’s new Safari. To keep with Apple’s general theme of the conference of keeping the user at the center of everything they do, Apple has made this function optional. Every time one of these buttons is in effect, the user will have to allow access.
Apple is keeping the customer in the center of its update by thinking ahead of possible security threats, yet also allowing the user to bypass this security measure if they choose to do so.
Swift and The Apple Learning Community:
As any FileMaker user could tell you, coding is the language of technology and the future. Apple has been spreading the idea of how learnable the ability to code is through the implementation of Swift and Swift Playground. Both technologies have been out for a couple of years now, but Apple is pushing to get the public involved in coding for free.
Apps like Swift Playground make learning how to code very easy, and especially fun for inexperienced coders. Apple says, “We think everyone should have the opportunity to create something that can change the world. So we’ve designed a program that lets anyone learn, write, and teach code.”(Apple)
This entire movement falls under Apple’s overarching goal of the Apple Learning Community. Apple is pushing to get coding classes in all schools, enabling the next generation to create mind-blowing and groundbreaking apps that could change the world. For even more information on the Apple, Learning Community click here.
With the release of iOS 12, Apple includes an entire learning community with abilities of the public to become teachers and students to spread valuable knowledge.
By creating an available source of valuable education, and catering towards our youth, Apple has been continually showing us how customer-driven they are both for-profit and the betterment of society.
iOS 12 Beta
If you would like to access the Beta of iOS 12, click here, and help Apple make it their best release yet!
Work Cited:
iCrackUriDevice. “LIVE: Apple WWDC 2018 – IOS 12 & MORE – Video Stream (June 2018 Keynote)!” YouTube, YouTube, 4 June 2018, www.youtube.com/watch?v=61U4_ygZolo
“Everyone Can Code.” Apple, Apple.inc, www.apple.com/everyone-can-code/.
With the release of FileMaker 17 comes a variety of helpful additions that add to the user’s experience. For a general overview of FileMaker 17’s new features, visit our previous blog post here. Users want the most out of their FileMaker investment, and FileMaker has answered with an amazing new feature. The FileMaker User Licensing program is an initiative made by FileMaker to include the entire FileMaker 17 Platform into one license. To further expand, this means that for every license a user gains access to; FileMaker Server, FileMaker Go, FileMaker WebDirect, and FileMaker Pro Advanced.
For user’s this is a huge upgrade, with the FileMaker User Licensing program, you unlock the maximum potential of the entire FileMaker 17 Platform with one license per user. Some key points made by FileMaker about the eligibility and new updates in the licensing program include:
A minimum of 5 users licensed, any more licenses required can be added on top of this baseline.
New FileMaker Data API- a feature where each license includes unlimited inbound data transfers and 2 GBs of outbound data transfer per user, per month.
All new contracts will now be managed under one unchanging license key. This makes the somewhat daunting task of licensing much easier to manage.
Individual FileMaker Pro Advanced licenses are still available to the user’s who do not want to utilize the program or do not fall under the required criteria.
Contact us here with any questions or concerns you may have with FileMaker’s new features or any other general questions about FileMaker 17!
FileMaker 17 is finally here, and we are excited to review all the new features included! FileMaker releases new versions of the powerful database annually and this year may be the best release yet. In this post, we will review all the new features that have been released in FileMaker Pro Advanced, FileMaker Go, FileMaker Server, FileMaker Cloud, and FileMaker WebDirect. In separate articles, we will provide a more in-depth look at some of our favorite new features and a breakdown of the new licensing programs!
What’s New in FileMaker 17!
Layout Mode was redesigned for streamlined development
FileMaker now allows users to add default fields when you create new tables
FileMaker will now be able to handle multiple email attachments
FileMaker Data API is no longer a trail feature and supports scripts and uploading files to container fields
FileMaker Go will now support local notifications
Users can now drag and drop text, photos, and files between apps while using FileMaker Go!
Development
Group Object Selection
While developing in FileMaker you have had the ability to group together objects but when you needed to modify, reposition, or resize an individual object inside the group you would have to undo the groupings. With the Group Object Selection, you are able to select individual objects within a group and modify as needed.
Redesigned Layout Mode
FileMaker has redesigned layout mode for a more streamlined design environment. The Inspector, Fields tab and Objects tab will now be pinned inside the document window, so you will no longer lose them on other screens while working!
Default Fields
Most developers include a group of standard default fields in every application that is created, FileMaker has now added default fields to help streamline the process of creating new fields such as primary key, creation date, modification date, and who the record was created or modified by. Just add a new table within FileMaker and these fields will automatically be created. These fields can be customized or removed via an XML file.
Scripting Enhancements
FileMaker has added two new scripting enhancements to FileMaker 17. First, they have enhanced the Perform Script and Perform Script on Server script steps by adding the ability to specify which script should run by name. Second, They have added support for using variables in the input field to populate and retrieve text within a Show Custom Dialog script step.
Multiple Email Attachments
FileMaker has had the ability to send emails directly from your application for some time but up until now, users have been limited to only one attachment. In FileMaker 17 users will now have the ability to add multiple attachments when sending emails.
Copy and Paste Custom Menus
Save time while developing but reusing custom menus that you have created in other FileMaker apps. All you have to do is copy menu sets, menus, and menu items and paste them into your file!
FileMaker Data Migration Tool
Using the FileMaker Data Migration Tool developers will be able to cut the time it takes while importing large data sets in half. The new command-line tool will help when you update your deployed custom apps.
Deployment
FileMaker Server Admin Console
For easier administration of FileMaker applications, the FileMaker Server Admin Console was redesigned to provide a streamlined user interface. The Admin Console will feature a Dashboard page to easily monitor hosted apps, connected clients, and system statistics. Administrators will also receive notifications that will provide more detail on how to handle errors if they occur.
Work While Reconnecting
If a network connection to FileMaker Server is lost while you are working you will be able to continue working on files that do not depend on the host until the connection is restored.
Cloud
FileMaker Cloud will support all new features for FileMaker 17. Users will also have the ability to use the Comodo SSL certificate for 60-day free trails.
Mobility
Configure Local Notification
FileMaker Go will increase iBeacon technologies to include local notifications. Any iPad or iPhone that is using FileMaker Go that is running in the background will display local notifications such a meeting reminds, or when an iBeacon is near. Just set up scripts that will send local alerts based on info from your device!
Auto-Complete
Auto-Complete has been a great tool on the Desktop in FileMaker Pro but now this feature will be coming to FileMaker Go! Start typing a letter or two into a text field and a list of items that match what you are typing will appear!
Drag and Drop
FileMaker users will not have the ability to drag and drop text, photos, and files between apps on the iPad while running a minimum of iOS 11.
Integration
FileMaker Data API
FileMaker first introduced the FileMaker Data API as a trail in FileMaker Server 16 as an easy way to integrate your FileMaker data to other popular apps and we services using the industry standard REST API. In FileMaker 17 this will no longer be a trail and will include powerful new features including support for FileMaker Server scripts and the ability to upload files to container fields. FileMaker has also added more standardized API formats to make the FileMaker Data API easier to work with.
Security
Account Lockout
Security has been the main focus for FileMaker in the most recent releases. To continue strengthening security throughout the FileMaker Platform, users will now be temporarily locked out of accounts after failed login attempts. Users must wait 5 minutes before they can attempt to log back in.
To learn more about FileMaker 17 or incorporate these awesome new features in your FileMaker database today give Kyo Logic a call!
Are you looking for a way to take your FileMaker Database to the next level? Harnessing the power of SQL in FileMaker can help you streamline and easily access more of your data.
What is SQL and what are the benefits?
SQL is an abbreviation for structured query language and is a standardized programming language best used for managing a relational database. SQL also allows you to perform various operations on data and is used by developers to write data integration scripts and setting up and running analytical queries.
When using SQL in FileMaker you can there are many different benefits such as:
Quickly obtaining data for use in scripts
Versatility: Summarize, Join, Union, Find Within
Requires no persistent structures
Potentially very fast
Completely programmable
Well, this all sounds great but how do you get SQL to run in FileMaker?
With the latest versions of FileMaker, you can utilize the ExecuteSQL() function right within FileMaker which will allow you to perform select queries. SQL works well with Let functions and is often used to store data in global variables. Both simple or complex arguments can be entered into an SQL statement.
SQL is a great way to utilize your data in FileMaker. Whether writing simple or complex arguments you will be able to quickly use the ExecuteSQL() function in FileMaker to perform queries.
If you would like to harness the power of your data in FileMaker but do not want to do the heavy lifting contact us today.
Do you have a FileMaker database that you use to manage your business processes? Are you looking for a tool that will allow you to see summarized and centralized data about your company in one easy view? Creating Dashboards in FileMaker will allow you to harness the power of your data to help your business run more efficiently.
FileMaker provides many excellent tools for creating powerful Dashboards that allow you to quickly scan information and identify important areas needing attention.
Follow along with John Mathewson of Kyo Logic as he walks through setting up and implementing Dashboards in FileMaker.
During the webinar you will learn:
Approaches for creating dashboards
Tips for successful implementation in your organization
Using pivot tables and graphs
How to establish Key Performance Indicators (KPIs)
Download Dashboards Demo
Please complete this form to download the FREE file.
We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.