The Separation Model – Part 2

This second video in the series about the Separation Model doesn't exactly talk data strategy quite yet. The tables are there, the files are ready, but in order to start, you need to have a rough idea of what things will look like. How users will start to interact with the data. The first thing to solve is getting the data into the database!

In this video, I talk about the design approach and how I quickly get started on this new solution. I present a number of timesaving tips about working in Layout mode and focus on how conditional formatting is going to be a critical part of developing a separation model based solution.

Using a straightforward approach to your visual design and factoring that into your solution design, you can accomplish a lot of power with FileMaker without a lot of complexity and overhead. One primary example of this is shown in the video. The simple use of the word "Students" is used in every place where it will make immediate sense. This is in contrast to the fact that the data model is using the word "People" to track and manage the data its holding.

Watch this video to grab a number of great tips about using conditional formatting and how you can move ahead with the separation model for your own solutions.

AttachmentSize
KarateApp-Part-2.zip3.4 MB

The Separation Model – Part 1

After spending close to two decades working in FileMaker, I'm always amazed there's more to learn. Even to this day, I come up with new ways to utilize FileMaker.

Recently, I started working on a project for a local Karate School. They're just like any other small business, which ends up with a copy of Microsoft Excel and has more needs than the number actual spreadsheets they manage. Of course, we all know that keeping random bits of information in various spreadsheets is just terribly inefficient. So what's a FileMaker developer to do?

Well, this developer just had to solve the problem and use it as a great example to talk about a variety of development techniques and methods. This video is the first video in a series which will focus on the ground-up development of a new FileMaker 11 solution.

Whether you've been working with FileMaker for many years or you're just now getting back into things, this short video series should have a number of things which will help you become a better developer. This first video starts with the benefits of the separation model and how planning a data strategy is a critical step in the whole process.

AttachmentSize
KarateApp-Part-1.zip92.37 KB

Portal Navigation Consistency

As with many other development environments, FileMaker offers just enough features to make things happen (and, in the case of FileMaker, a bit more). It's when you use certain features beyond their intended use where you need to get creative.

One such feature are portals. These are primarily for the purpose of showing related data. However, it's just way too appealing to use them for many other things. One of the most common uses is for navigation.

There's a problem, however, when you leave from one record to visit another, via the Go To Related Record script step, the portal resets and causes a disruption in the user interface.

This FileMaker tutorial addresses that issue and focuses on Portal Navigation Consistency.

AttachmentSize
PortalNavigationConsistency.zip243.24 KB

Solution Updating

Automation is one of the primary keys to reclaiming your valuable time. You're taking it back from any manual process or a system where it requires your direct involvement or supervision.

When it comes to your solution, and the deployment model you pick, you're always going to have to invest some level of effort into releasing a new version. If you're doing this on FileMaker server alone, then the process may be exporting data from an older file and importing into the newer version. This can take many hours of time and also requires some downtime.

Obviously, you can't have users adding new data to the older solution while you take the time to import from a copy into the newer version. So, one potential solution with FileMaker is to use the Client Deployment model, also called the Separation Model. I covered this in the video just previous to this one.

In the Client Deployment scenario, you simply need an automated way to deploy new versions of the client which is used to access the data hosted on the server. This is the topic covered by this video. The method I personally use to update my commercial product the Theme Studio. The concepts discussed in this video apply to both a hosted solution and one which is deployed entirely on the desktop or device.

One thing to note is that getting the new version of a client to a user's device can be handled in many different ways. Via a FileMaker container in the data file, via HTTP, via a web link, via FileMaker's own AutoUpdate or some other creative way.

Hosted Solution Development

FileMaker seems like such an easy software solution. You simply craft your solution and open the file to start hosting it to peers on the same network. If you're wise, you use a copy of FileMaker server and take advantage of backups and server side scripts. This is especially important for your data, right? It's your data that's important. The user interface is simply a representation of that data.

Often, it's only when things start to bog down that attention is paid to performance and making things as optimized as possible. Fortunately, FileMaker client provides a very nice method for connecting to other FileMaker files - via the network.

The method of really taking advantage of client computing power is to put the Interface file there instead of on the server. Users are used to "updating" apps (even more so with the whole App Store thing). By putting the interface file on the client, you gain many advantages. A much faster perceived load time (since you can load any layout which does not show solution data until after a delay) and a number of operations which will run faster.

Your interface file can run as an Advanced stripped file and version enforcement can be managed via a script call to the Data file on FileMaker server. If simply reading this isn't exactly obvious, then watching this video should give you more insight into how the deployment model works.

Bit Based Checkboxes

FileMaker, for all it's ease-of-use, does things in a particular way to make things easy - on purpose. Checkboxes are a prime example. When searching for information within a database, people typically search based on what they understand. The word "Customer" or "Vendor" makes sense, because that's the term you use.

However, there are times when storing things in a more optimized fashion is desirable. This is especially the case when you wish to disassociate the value displayed with what is stored in the database.

Since FileMaker will store the string value "Customer" within a field, when you decide to split customers into "Prospects" and "Customers" you'll need to do some data manipulation to break things out. Unless, you've used ID values or some other type of abstraction from the value shown vs. what is stored.

In this video, I present how you can use Bit based math in order to store the values of a check box (or any other number of items within a logical group). This works especially well when you want to emulate the OS native check boxes in the current versions of FileMaker.

AttachmentSize
BitBasedCheckboxes.zip244.68 KB

Column Actions make things easier

Many users, and probably some developers, of FileMaker may not even know, or forget to use, the hidden power tools which FileMaker provides by default. These hidden gems appear right under your mouse cursor when you right click on any field (better known as a column).

When you know they're there, they make a lot of data maintenance and management much easier. The trick with teaching users they exist, isn't as much of a trick as it is just making them obvious.

In this video, I walk through a technique called Column Actions. Essentially, you use either a dedicated value list, or one dynamically generated, which presents a number of actions possible for each of the columns within a list view. The number, and type, of options you use is limited only by your imagination. In this video, I present some of the more obvious ones.

If you're seeking to make actions easier within your database, then it's very likely this video will have the information you need!

AttachmentSize
ColumnActions.zip251.49 KB

Two Cool Developer Tools

You could just say I'm "too cool for school", simply because there are very few FileMaker developer tools I've found, which really scratch that itch. No, I don't really have that much ego, but using a plain old web browser to search for elements within FileMaker Advanced's Database Design Reports was always good enough for my needs. Storing my personal technique files in other FileMaker file also did the trick, it's a simple drag and drop.

It wasn't until I finally sat down and spent some time with ClipManager and when I discovered Developer Assistant that I started to rely on some of these developer tools - aside from my own Theme Studio which I use for myself.

In this video, I walk through the features I enjoy about these two tools and why I highly recommend them. They make your daily work in FileMaker that much more enjoyable and productive. There's a good number of reasons to leverage these powerful tools and watching this free video may help you decide.

If you're watching this within the first few months of 2011 then make sure and catch the ClipManager 4 coupon code at the end of the video for an extra cool 20% off!

Understanding Data Access

Security negligence. Yes, it's a really sad fact - yet it's totally true in many cases. Security is often one of the after thoughts of many FileMaker systems.

Yet, many FileMaker solutions are what I would call "hack-n-go" systems. Someone starts to hack away at the problem, and you arrive at some usable results pretty quickly. Then you host - and go. Heck, people can start using your FileMaker database the day you create it. You can improve it live, right on the server as people provide you with feedback. Not suggested, but certainly doable - even working on a peer-to-peer setup. Open FileMaker, click the sharing box and away we go.

It's both one of the big benefits and shortcomings at the same time. Mostly for a few critical reasons. One of them is "Delete this record?" combined with "Oh! Wait, I didn't mean to click that button" and others like "What's this 'Replace field contents...' option?".

While turning off the Replace field contents is simply a file wide menu switch, considering the accidental record deletion issue is a more serious item that requires implementation of some type of security.

In this 50 minute video (yeah, a lot to cover) I've packed a wealth of knowledge about managing security. Even the veteran FileMaker developer may find some tips about using some of FileMaker's own features to better manage their data level security. If you've got some tips to add or find a glaring security hole in what I've presented, then please report the bug. ;) Watch and Enjoy!

AttachmentSize
UnderstandingDataAccess.zip249.02 KB

Attractive Sorting Indicators

Isn't is great when you know what the status is? I'm sure you appreciate walking into a mall and knowing whether a store is opened or closed based on that sign in the front door - you know, the classic open/closed sign they just flip around.

It certainly prevents you from having to walk over to the store and rapping on the door to see if someone is there - in other words, expend the extra effort to find out what the status is. The same thing applies to your user interface. Giving a visual indicator of status is a great feedback tool when a user is using your solution.

In this video, I walk through the use of a single script which is attached to a very attractive sort indicator. Adding this feature to your database gives your user a nice indication of the sorted state of your list views. It uses conditional formatting to accomplish the sort indicator so there's no extra fields, relationships or table occurrences to deal with.

It's portable, and can be added or extended within a few seconds to account for as many different fields as you desire. Watch the video and dissect the technique file for a better understanding!

AttachmentSize
AttractiveSortingIndicators.zip243.37 KB

Pages