OOP Fundamentals: Quick and Dirty Guide to Testing

There are entire books written on testing. And it surely feels more an art than a science. My approach is similar to Kent Beck’s:

I get paid for code that works, not for tests, so my philosophy is to test as little as possible to reach a given level of confidence (I suspect this level of confidence is high compared to industry standards, but that could just be hubris). If I don’t typically make a kind of mistake (like setting the wrong variables in a constructor), I don’t test for it. I do tend to make sense of test errors, so I’m extra careful when I have logic with complicated conditionals. When coding on a team, I modify my strategy to carefully test code that we, collectively, tend to get wrong.

https://stackoverflow.com/a/153565/1015566

He goes on to add that different people will have different strategies and, at the end of the day, you just have to do what works best for you and your team. Extremely practical, and the approach I personally follow.

This won’t be a detailed post on every possible topic on tests and testing in Object-oriented Programming (OOP). There are many books about that already. Instead, this article will cover the basics of testing, so you understand how and why we test, and you can adapt it to your own needs.

Continue reading “OOP Fundamentals: Quick and Dirty Guide to Testing”

A fast, flexible Tableau Connector for FileMaker

Building a custom Tableau® Connector for Claris® FileMaker® enables faster, more reliable and more flexible connections between Tableau and FileMaker datasources, compared with the legacy Web Data Connector.

For a number of Beezwax client projects, we’ve installed and deployed a Tableau Connector (aka “TACO”) for FileMaker. The TACO was built using the Tableau Connector SDK (provided by Tableau) to connect to datasources on FileMaker Server. The TACO method uses JDBC rather than the FileMaker Data API for the connection between FileMaker and Tableau, and in our testing the performance of data extracts was up to 10 times faster.

Continue reading “A fast, flexible Tableau Connector for FileMaker”

The Value and Benefits of Transactions with Claris FileMaker

Let’s talk about Claris FileMaker and transactions! Join Vincenzo Menanno to discuss what transactions are, how they relate to FileMaker data operations (creating, updating, and deleting records), database normalization, and how to use transactional concepts to improve FileMaker performance, especially over a wide area network (WAN).

This is a live, virtual event as part of Claris Engage Beyond 2021.

Continue reading “The Value and Benefits of Transactions with Claris FileMaker”

bBox for FileMaker v0.98 with M1, GraphicsMagick & Sips

We are pleased to release bBox version 0.98, with with new image file functions and M1/Apple Silicon support.

bBox is a free utility plug-in to extend FileMaker solutions to easily use code libraries and macOS-based functions from Python, JavaScript, PHP, Ruby, AppleScript, C/C++, Bash/sh, XPath, and SQLite. Also included is a demo file that has over 220 examples of how you can put bBox functions to work for you.

Some of the changes in version 0.98 are:

  • M1/Apple Silicon binary
  • Ubuntu compatible version (in addition to CentOS)
  • updated to libxml2 version 2.9.12
  • added bBox_GraphicsMagick function & script step
  • added bBox_Sips function & script step
  • modifications to several functions & script steps to add parameters
  • fixed template text used in several functions & script steps to better describe parameters
  • limit POSIX commands to 3 cores
  • new mode to combine stderr with stdout

Continue reading “bBox for FileMaker v0.98 with M1, GraphicsMagick & Sips”

FileMaker Performance on Apple M1 | Astounding!

When the Apple silicon Macs with M1 chips came out, I read and watched many of the reviews. Most of them had great things to say about the promise of Apple’s new M1 chip…I was impressed. When I finally received my Apple M1 MacBook Pro, and started to use it…I was amazed.

Back in 2020, FileMaker Pro 19.2 wasn’t optimized yet for Apple silicon processors, but ran fine under Rosetta emulation. On my M1 MacBook Pro, it already felt much faster than running FileMaker “natively” on an Intel-based MacBook…I was astonished.

Today, I’m running the just-released Claris FileMaker® 19.3, with native support for Apple’s M1 chip, on a new MacBook Pro. It is, in a word: Astounding!

Continue reading “FileMaker Performance on Apple M1 | Astounding!”

OData for FileMaker – Examples, Tips and Nuances

This blog post is the second of a three-part series about the FileMaker OData API, introducing a demo file with more than 40 examples plus helpful tips, along with Q&A. Part one of the series highlighted some of the key features of the API which make it an exciting addition to the FileMaker platform. As a follow-up, this post will cover the basics and dig into the nuances of using OData with Claris FileMaker.

Continue reading “OData for FileMaker – Examples, Tips and Nuances”

Integrating FileMaker’s Data API and Ruby with the fmrest-ruby gem

We often work on projects that intersect two technologies near and dear to us: FileMaker and Ruby. This allows us to build robust web applications in Ruby on Rails, integrated with data sources from FileMaker solutions. When Claris introduced the FileMaker Data API we were naturally curious to try it out. At the time there was no off-the-shelf Ruby library for us to simply gem install, so we decided to roll up our sleeves and build one. Thus, fmrest-ruby was born.

This article will walk you through setting up and using fmrest-ruby in a Ruby on Rails project. Some level of familiarity with Ruby/Rails and FileMaker’s Data API is advised, although much of the content covered here is applicable to any Ruby project, Rails or not.

Continue reading “Integrating FileMaker’s Data API and Ruby with the fmrest-ruby gem”

OData for FileMaker – New Player in an Old Game

This blog post is the first in a three-part series about the FileMaker OData API, highlighting key features that make it an exciting addition to the Claris FileMaker platform.

Continue reading “OData for FileMaker – New Player in an Old Game”

OOP Fundamentals: The Decorator Pattern

The decorator pattern is one of my favorite patterns. It is simple, extensible and powerful. It feels like it follows the essence of object oriented programming beautifully. Sadly though, it is also easy to be misused or misunderstood. So, in this post I will show you the essence of the decorator pattern, illustrated with a few examples.

Continue reading “OOP Fundamentals: The Decorator Pattern”

OOP Fundamentals: The Dependency Inversion Principle

The dependency inversion principle is one of the cornerstones of object-oriented programming. Without it, there is no object-oriented design. It’s that important.

Continue reading “OOP Fundamentals: The Dependency Inversion Principle”

Integrating your dev workflow with WSL

Windows Subsystem for Linux, or WSL for short, is a quite impressive piece of technology, and one of the best moves Microsoft could have made to attract developers. Particularly web developers.

Continue reading “Integrating your dev workflow with WSL”

Using REST and cURL with FileMaker 19’s Data API

FileMaker 19 introduced a couple of important new features related to using the FileMaker Data API. Here, we’ll cover an overview of the new authorization endpoint, Validate Session, API versioning updates, as well as a new script step, Execute FileMaker Data API.

At the end of this article, you’ll find the demo file for learning more and trying out various REST and cURL functionality with FileMaker’s Data API. Enjoy!

Continue reading “Using REST and cURL with FileMaker 19’s Data API”

Dark and Light Modes: 3 Simple Paths to FileMaker UX

FileMaker 19 introduced support for Dark Mode. Not only does the application’s chrome support Dark Mode (like many applications), but developers now have the ability to detect the OS Dark Mode setting.

Let’s look at three easy techniques to give FileMaker Pro users a choice between Dark Mode and Light Mode, plus an option to automatically adapt modes based on OS settings.

Continue reading “Dark and Light Modes: 3 Simple Paths to FileMaker UX”

Composition over Inheritance, with JavaScript examples

If you are into object-oriented programming, you most likely have heard about composition over inheritance. The concept itself is simple: Whenever possible, prefer to compose objects rather than introducing inheritance.

Continue reading “Composition over Inheritance, with JavaScript examples”

Setting FileMaker’s startup file from CLI

We had a client that was upgrading their system to FileMaker 18. They had already pushed new FileMaker Pro clients out to their user’s desktops. But now that the upgraded system was ready, how could they give users a quick and easy way to launch right into the new database system?

Continue reading “Setting FileMaker’s startup file from CLI”

Dynamic Forms with JavaScript and FileMaker Web Viewers

Using the FileMaker platform we can harness the power and wow-factor of modern web interfaces. This post shows how we can build dynamic data-entry forms for use in our apps.
Continue reading “Dynamic Forms with JavaScript and FileMaker Web Viewers”

Connect FileMaker Server to Oracle Server and Oracle Cloud Using ODBC and TCPS

A longtime enterprise client recently asked us to integrate a FileMaker Server with an Oracle server. No problem, right? This task requires some development to optimize the database schema and script the data sync, but using FileMaker and an ODBC driver to connect to Oracle is straightforward.

Continue reading “Connect FileMaker Server to Oracle Server and Oracle Cloud Using ODBC and TCPS”

How to enable WebKit and JavaScript debugging in FileMaker Web Viewers

FileMaker supports bidirectional communication between a web viewer and data or scripts. So, you may find yourself doing more development using plenty of web code and JavaScript integrations.

If you’re having difficulty getting your HTML, CSS, or JavaScript to render in a FileMaker web viewer, there’s a great way to help inspect and fix it. You just need to know the hidden option to enable WebKit debugging in FileMaker web viewers.

Continue reading “How to enable WebKit and JavaScript debugging in FileMaker Web Viewers”

Claris Connect in action

Doing the simple is hard. Someone recently reminded me of this when discussing business workflow. Tasks like scheduling, calendaring, communicating and sending notifications are individually manageable, in a world where tools for these tasks exist online. Calendars, email, databases, Slack, and a collection of other apps and services make this possible.

Continue reading “Claris Connect in action”

Beezwax Web Team Code Review: a blog post with ulterior motives

I have ulteI want you hacking, at Beezwaxrior motives.
Continue reading “Beezwax Web Team Code Review: a blog post with ulterior motives”

InspectorPro 7.2 for FileMaker – Faster on M1!

Everything about the M1 Apple silicon leaves you simply delighted and surprised. It’s like the first time you drive a super-charged Tesla and feel the rush of powerful acceleration OR I imagine it’s like when Han Solo first blasts the Falcon into light speed: it must be experienced to be believed.

Continue reading “InspectorPro 7.2 for FileMaker – Faster on M1!”
1 2 3 27