Article Tags
Click or tap one of the article tags to filter down to a smaller selection.
- Accounts
- Add-ons
- AI
- Alerts
- Analysis
- APIs
- Apple Maps
- Auto-Enter
- Barcodes
- Base64
- BaseElements Plugin
- bBox
- Breadcrumbs
- Button Bars
- Caching
- Calculations
- Calendars
- Card Windows
- Charting
- Checkboxes
- Code Editing
- Code testing
- Coding
- Color Picker
- Colors
- Conditional Formatting
- Containers
- Context Management
- Cropping
- Crypto
- CSV
- cURL
- Custom Functions
- Custom Menus
- Data API
- Data Capture
- Data processing
- Data structure
- Data Viewer
- Date Ranges
- Dates
- Debugging
- Deployment
- Developer Tools
- Dialog Boxes
- Docker
- Drag-n-Drop
- Drop-down List
- Dropbox
- Duplicates
- Duplicating records
- Encryption
- Error handling
- Events
- Excel
- ExecuteSQL
- Exporting
- External Authentication
- External Files
- Field Formatting
- Field Storage
- Fields
- File IO
- File Management
- File Sharing
- FileMaker Go
- FileMaker Server
- FileMaker Settings
- Filtering
- Find & Replace
- Find Mode
- Found Sets
- Functions
- Fundamentals
- Global Fields
- Global Variables
- Google Maps
- Google Services
- Graphics
- Grid
- Grouping
- Hierarchies
- Highlighting
- Icons
- Images
- Importing
- Indicators
- Inspector palette
- iOS
- Java/Groovy
- JavaScript
- Join Tables
- JSON
- Key fields
- Layout Design
- Layout Mode
- Layout Parts
- List function
- Logging
- Looping
- Mapping
- Marking Records
- Media Storage
- Menus
- Merge fields
- Messaging
- Microsoft Surface
- Mobile design
- MonkeyBread plug-in
- Multi-key fields
- Multi-option fields
- Naming Conventions
- Navigation
- New Release
- Node-RED
- Notifications
- Oauth
- Object management
- OCR
- OnGestureTap
- OnLayoutKeystroke
- OnObjectKeystroke
- Parsing HTML
- Perform Script on Server
- Performance
- Permissions
- Photo manipulation
- Pickers
- Pivot tables
- Pop-ups
- Popovers
- Portals
- Preferences
- Printing
- Privilege sets
- Product review
- Productivity
- Progress Bars
- PSOS
- Python
- Quick Find
- Record Locking
- Regex
- Relationship Graph
- Reporting
- REST
- Sankey
- Schema
- Script Parameters
- Script Triggers
- Scripting
- ScriptMaster
- SDK
- Searching
- Security
- Separation Model
- Set Variable
- Settings
- Shortcuts
- Sliders
- Snapshot Links
- Sorting
- Spelling
- Spreadsheets
- Startup
- Summary Fields
- SVG
- Syntax
- Syntax Highlighting
- Tab Controls
- Table View
- Tagging
- Terminology
- Text Parsing
- Themes
- Time fields
- Time Savings
- Tips
- Tools
- Transactions
- Tricks
- Twilio
- UI
- Updating
- User Interface
- Validations
- Value Lists
- vCalendar
- Virtual list
- Web Forms
- Web Scraping
- Web Services
- Web Viewers
- Windows
- XML
Our Library of Videos
In this Part 3 about the Separation Model, we head into the actual structure of the data. I start to address the issues you're faced with when trying to keep the data file as clean of "extra stuff" as possible. One REALLY good thing to ALWAYS remember is that adding more stuff to your FileMaker file means more to manage (and re-figure out) later on.
When it comes to using the separation model, you've always got a few things to worry about. The first of which is creating related records. As with all things, there's always more than one way to tackle something. Certainly, you can use FileMaker's default method of adding related records by simply throwing a portal onto the layout and connecting a data table occurrence with another data table occurrence. You could also continuously add fields until your tables have thousands of them (hint, not a good idea).
Within this project, I've opted to use FileMaker's Obligatory Create (yes, it's my own made up term for what FileMaker does). This is in contrast to adding a more generic record creation script within the data file and having that script report the id of the newly created record. The later approach is a method which I first saw at Pause on Error in Portland where the MVC (model/view/controller) was the topic of focus.
Using a Global Transfer method, in conjunction with an Obligatory Create, you gain a number of advantages. You can pre-validate your data, ensure requirements have been fulfilled and apply any data formatting prior to actual storage.
These are the topics discussed in this video, plus anything else related to moving the solution forward. One interesting thing to note is that nothing is permanent within your solution. When you start to investigate the files, try to find where things aren't quite working and see if you can figure out how you would solve them. Hint, the counts for items within the filtered portals on the Edit tab are not functioning properly. They'll need to be fixed.... which is coming up in the next video in this series.
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.
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.
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.
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.
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.
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.
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!
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!
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!