4TH DIMENSION V16, FMREAUTHENTICATE
It was a Thursday night. The kids were in bed, I was sitting on the couch, prepping my notes for the next morning, looking forward to watching the next episode of Anthony Bordain’s Parts Unknown, when my wife asks me from the kitchen, “Hey hun, could you make me an iPad app?"
I began to feel my chance at gastro-economic world exploration slip through my fingers.
“What would the app need to do?” I asked.
After about 10 minutes of conversation, we decided that the app needed to quickly take contact information while asking the potential sales contact a few survey questions, all done from an iPad. I showed her the “Contacts” starter solution, but it proved to be overkill for her needs. So I decided to take her field requirements and start with a blank slate.
Since the iPad was going to be set up as a “kiosk” of sorts, I decided to keep the contents of the app within a single layout, using a slide panel to navigate between splash page, data entry, and confirmation pages. A single script controls the navigation between slide panels, checking required fields, and allowing the user to cancel. Logging in as an admin gives the user an additional pop-up button with options to search, export, and email data.
After about 20 minutes, I showed the app to my wife, she asked for a few adjustments, and in another 10 minutes, the app was good to drop onto the iPad.
With some careful planning and a bit of experience, a simple FileMaker solution can be built to fix a simple problem within 30 minutes. This experience brought me back to FileMaker basics and reminded me why I got into the platform in the first place. No plugins, no Java, no PHP, just FileMaker Pro. Plain and simple.
Not that long ago, we were looking for a quick and easy image to put on a postcard mailer. None of the stock photos that we could find seemed just right, and it’s hard to find a compelling picture of a database, anyway! I had seen some images recently on Facebook, where an algorithm looked at the words you used in your status over the course of a year and made an image out of them. So I started fiddling with the idea of creating a word cloud like that for Portage Bay Solutions.
It seemed like a hard thing to do in Photoshop, so I did what I usually do when confronted with a hard problem – I Googled it! Turns out there are lots of places you can generate a free word cloud.
I tried a bunch of them, like Word It Out, Tagxedo, TagCrowd, and Tagul before finally settling on Wordle. It seemed to have the best documentation, along with the best functionality, without being overly complicated. (I think you might be able to do amazing things with Tagul, but the learning curve seemed pretty steep.) Note: You must have Java for Wordle, so using a browser other than Chrome on a Mac may be the way to go with that.
I wanted to make sure that the colors I used in the word cloud were the same ones in use on our website, and there’s an easy way to do that, too. If you go to Web Colour you can enter any website, and it will analyze the colors it finds there and return them to you with the hexadecimal codes. I picked some nice contrasting ones from our site and used those in Wordle.
I recently found another cloud generator, called Wordaizer, that is a standalone app for Windows. Some of the clouds others have created with this tool look incredible, and I think if we need to create another in the future, I might try this one.
I think this is the second time I’ve written about travel and technology. The first time was many years ago when I wrote an article for my president’s column in the monthly newsletter of the Seattle Macintosh users group. That article was about trying to work from the Coast Starlight (Amtrak train) on its way from Seattle to San Francisco. That was before WiFi and cellular data networks. Actually, it was even before things like that were posted on the web, so I can’t even link to that article.
Now I’m writing about the recent trip I took to Seoul, Hiroshima, Kyoto, and Tokyo (yes, I tried to squeeze too much into one trip). Hiroshima is a very interesting city. One of only two places in the world where you can read informational plaques that refer to when an atomic bomb exploded. The Hiroshima peace memorial park and museum is very moving.
I made several notes that I thought were somewhat worth sharing:
From a technology standpoint, I would say traveling in Korea and Japan was perhaps actually easier than the US, since sometimes the airport and hotel WiFi networks in the US are only barely fast enough to get anything done.
Portage Bay Solutions is a database development firm based in Seattle, Washington that's been working with organizations of all sizes for over 20 years. Our customer service is top-notch; we answer and return calls promptly, stay within budget, and provide quality support to our clients during all phases of the development process.
DevCon 2016; Losing an iPhone; software updates
Sounds like it should be easy, almost built in, but it is not. Adding page numbers to PDFs is not a trivial task without additional software like Adobe Acrobat. Merging several FileMaker reports with additional PDFs and adding consecutive page numbers to the new document seems like it requires magic.
I recently had the opportunity to try my hand at this elusive problem and found that if you are familiar with Java and it is done correctly, it can make for a great solution to many workflow issues. A special thanks to Matt Petrowsky for his great example file that was very helpful at getting me started.
Here’s the situation: You have several reports that you create in FileMaker. You have additional PDF documents that you need to merge with them, and you also need them to be numbered so that you can email just one final PDF to your customers or team. To go through the process in Acrobat isn't too bad the first one or two times, but when you need to do it often, it becomes a real chore.
Fortunately, there is a great Java library called iText. I have worked with iText on other projects and have found it to be very helpful. iText is an incredible open-source Java library that allows you to create and manipulate PDFs. It is worth checking out if you are a developer. It is a great library; you can merge PDFs, number them, get details about pages, and even create pages with content.
With iText and Java, it would seem our job is almost done, but how do you get FileMaker to run Java? Well that is where the last piece of the puzzle comes in, via a great tool by 360Works called ScriptMaster. ScriptMaster is a plug-in for FileMaker that allows you to write FileMaker custom functions able to run Java and provide access to Java libraries, using a Java language called Groovy.
If we team these three items up, we’re almost there. Let me recap, you take FileMaker, add a ScriptMaster plugin (to run Java), add the iText Java libraries, and then write FileMaker custom functions with Groovy that use Java library classes. Now you can make all the magic happen!
Aside from solving the above problem, what else can you do once you have these dependencies in place? One example would be to create a Document Library where you can store PDFs. Given the tools by iText, you can capture details about the PDFs when you add them to the library - like page size and page count - and then store that information in FileMaker. Later, you can group documents of your choice together, change their order, even merge and number them on command. Once you have created a final PDF document you can add the newly merged PDF back into the document library. This provides a great deal of flexibility for managing PDFs. Couple that with some of FileMaker’s other features and with the click of a button FileMaker can merge PDF reports with external PDF documents, put signatures on them, number them, and email them. Ta-da!
You may have noticed the new name on the iText article. We have welcomed a new staff person, Xandon Frogget, recently. Xandon's background in FileMaker and his desire to help individuals make him a great addition to our team! He's written a little bit about himself:
I‘ve been working as a FileMaker developer for the past 12 years. Much of that time was spent working for OfficeMax/Office Depot creating propriety in-house software that automated production and print solutions. I love working with data and solving problems but I also enjoy working with people and making their lives easier.
I am a father of twin, 5 year old girls. My hobby/passion (other than building databases) is Robotics. One of my most enjoyable projects was building and refining an autonomous Bob Duallie baby jogging stroller for my girls when they were two. It allowed them to drive the stroller around using a Wii steering wheel, while the obstacle avoidance kept them from bumping into things. Talk about a milk run! Just kidding. We used it in parks or at the mall.
Presently I spend my spare time working on an autonomous wheelchair to figure out how to make people's lives easier. You’ll find me one Saturday a month with The Seattle Robotics Society tinkering with my wheelchair and learning about everyone else’s latest projects.
In any solution, buttons drive the majority of the user interface. Have you ever double-clicked a button, expecting to edit the text for the button label, but get the button setup dialog instead? Happens to me all the time. Years ago, I discovered a little trick to editing button labels without having to click a button, click the Text Tool, then return back to the button to edit the label. Sure, it may only save me about 20 nanoseconds, but when a single layout has a large number of buttons on it, that saved time adds up quickly. Besides, these little tricks are fun!
The trick? Group the button with another object.
In most solutions these days, buttons and icons go hand in hand. A handy way to use this trick is to always group buttons with either an image or container field that holds the related image icon. This way, there’s no need to ever ungroup the objects.
One of the technologies that really make it possible to work in a virtual office environment are remote tech support tools (remote control/screen sharing). I remember when I first started IT consulting - a depressingly long time ago - having to make emergency trips out to client's offices to fix a bug. Most of the time now, that is a thing of the past. It's also really handy for doing tech support on my parent's computers. :) It only takes a few minutes to remotely log into the other person's computer, vs going onsite or trying to walk someone through a series of steps over the phone.
We started out using a remote support appliance tool from a company called Bomgar. We've been happy with that for well over ten years, but Bomgar has discontinued support for our piece of hardware and so finding a new option became necessary. I would have just bought a new Bomgar Box, but the company has moved to focusing on the higher end of the market, organizations having dozens or hundreds of support technicians.
What do we want out of a remote tech support tool?
The ability to have the remote computer permanently accessible when needed
File transfer capability
Mac & Windows support (fairly standard these days)
For simple needs, the ability to screen share via Skype or might be all you need, and both are free. I don't think the performance with Skype is all that good and the free LogMeIn.com service doesn't permit file transfers. If you already use GoToMeeting for webinars, its ability to move screen control between meeting attendees might be sufficient. Once again, no file transfers though.
There are many paid options - GoToSupport, Teamviewer, LogMeIn (paid), etc.
In the end, we decided to go with Teamviewer to eventually replace our Bomgar appliance. Its expensive up front, but does not have monthly or annual fees. It has a Teamviewer Host version that allows unattended access to the remote computer and allows for bi-directional file transfers. Teamviewer has a webinar functionality as well, so you can do group meetings and presentations via the web. It does have iOS and Android support, though due to security restrictions in iOS, there is no ability to actual remotely control the device, which is unfortunate.
DevCon this year will include a new "Training Day" series, available without a full conference pass. You can get an entire day of instructor-led training by a FileMaker Business Alliance trainer for only $99 USD, at either a beginner or intermediate level. DevCon is in Las Vegas, Nevada this year, and the training day is July 20, from 8-5. To register for the full conference, or for either of the training options, go to http://devcon.filemaker.com. Early bird registration for the full conference ends on May 26.
FileMaker is issuing a new update to resolve issues with SSL certificates; it is doing so in two stages, with v13.0.9 available now and the v12 update available later. NOTE: If you have a mixed v12 and v13 environment, you should not upgrade until both versions are available. FileMaker Server 13.0v9 and FileMaker Pro/Advanced 13.0v9 are available now; FileMaker Go 13.0.9, FileMaker Server 12 Security Update and FileMaker Pro/Advanced 12 Security Update should be available within the next few weeks. FileMaker Go 12 will not be updated.
Kate Wheeler has passed the FileMaker 13 developer test and is now an FM 13 certified developer, the first of our staff so far to pass certification for the latest version of FileMaker.
FIleMaker 13 certification is the official credential offered by FileMaker, demonstrating an essential level of knowledege, experience, and skills in developing FileMaker solutions.
Let's wish John, Joe, and Chuck good luck as they take the test later this summer!
When I was ten years old, in about 1981, my father understood both how computers were going to become a much larger part of everyone's personal and professional life and how I was well-suited to working with them. I was always a math and science geek. The year before, he had set aside a section of the garage as my science lab and I spent hours there with elecric motors and what would today be considered dangerous chemicals. So he decided to get our family a used Atari 800 computer with a modem and a cassette drive.
I spent hours every day reading through the manuals and typing in BASIC programs from Compute! magazine. There was simply no turning back. Computer programming was in my blood. Regardless of whether I ended up making a career with those skills, I was certain to be writing software for the rest of my life in one way or another.
During my senior year in high school, while my father managed a small pizza restaurant in the foothills south of Yosemite, his boss found out that I could create software and hired me to write a small DOS program for his company to calculate the profitability of each pizza, which taught me two valuable lessons. Computers weren't just interesting machines, but could be used to solve real-world business problems, and companies would happily exchange money for software that gave them the tools to be more profitable. There were some detours on the way, but my professional mission has become to help businesses operate as effeciently as possible using modern digital technology.
The other event that occurred during that year was that my high school purchased a lab of 25 Macintosh SE computers, which gave me an entirely new platform to explore, this time including the novel graphical user interface and built-in networking. More hours were spent in experimentation and discovery, this time in helping to build the network at the school and maintaining it for the other students. I'd certainly found my platform of choice, and would continue to use Mac computers as my primary machines for the next two and half decades.
The next step in my evolution toward full-time programmer occurred after I studied Mathematics and Computer Science at UCLA. I was very fortunate to land a job at a major advertising agency in Los Angeles as the assistant IT director. Two weeks after I was hired, my boss gave notice and recommended me to replace him. I was 23 and found myself in charge of a network of 300 Mac and Windows machines just as the Internet was becoming widely known to those outside of academia and government contract work. In addition to diving into servers, web page development and connecting the internal network to the wider Internet, I found out that my predecessor had used something called FileMaker to track his purchase orders. Finding that it didn't do everything I wished it did, I began tinkering with it using the built-in scripting language and found that by tweaking its features I could save myself time by letting the computer do the work for me.
It didn't take long for me to discover that I enjoyed programming far more than administering a network, so I soon began to look for and find contract work building business systems with FileMaker. Its cross-platform abilities allowed me to use my Mac, but build systems for Windows users, and it was unmatched in allowing useful business systems to be built quickly enough to make it a viable solution for small budgets. Today, I spend most of my work day in FileMaker, turning raw ideas into useful software.
Over the years, I discovered another passion and a fortunate skill: Teaching. Perhaps it goes hand-in-hand with programming, but during my conversations with clients I find many opportunities to educate users on what's possible with computers and how they can save time and money with automation or other techniques. I also found that writing articles and books is a great way to demonstrate the power of digital technology, and so became involved in dozens of well-received articles and a few books over the years.
My passion for technology's ability to help people has only grown over the years as new devices and software are created and updated to become ever more powerful and useful. Smart phones and tablets enable us to take ever greater advantage of data regardless of where we are. Not only have all computers gotten cheaper and more powerful, but cloud computing provides server power at a fraction of last decade's cost. I've always been supremely fortunate to live in the age I do, and never more so than now, when new possibilities for pushing the mundane and repetitive tasks onto computers are uncovered every day.
With the release of FileMaker 13.0v2, the added functionality of the FMP URL protocol was reason enough to upgrade, but for us at Portage Bay Solutions, we were just as excited about the added option to “preserve external container storage” when importing data from containers between FileMaker databases.
There was much rejoicing when FileMaker added the functionality to store container data externally. Gone were the days of referenced files and broken container links. After changing one of our larger solutions to use externally stored containers, we soon discovered that our process of migrating data in these containers between two files was much more problematic than we had expected, so we switched back to embedded containers in order to maintain our current process of migrating container data.
Flash forward to the release of FM 13.0v2. We began testing the new functionality by changing all of the current internally stored containers to external containers. Fortunately, FileMaker makes this process easy by automatically creating the external links for internally stored files when the container’s storage options are reconfigured. When it came to import the data from one table to another, we found the process was the same as prior FM versions, but with one minor change to the import options: Specify the file, specify the import field mapping, check the checkbox to “Preserve external container storage”.
A database application provides many features, but a primary purpose is always the ability to locate whatever data you need at any particular moment. FileMaker excels in providing tools to specify very powerful search criteria, but many users never try them out, restricting their searches to the simplest kind and manually whittling away irrelevant records. However, if you take a little time to become familiar with FileMaker's built-in search tools, you may find that in many cases you can get exactly the records you are interested in and only those.
Software developers know an open secret about computers: They're very stupid. I don't mean they aren't powerful nor that we aren't able to accomplish amazing tasks with them, but all of the intelligence given to computers is imparted to them by programmers and users. While you can tell another person, "Go through all of the invoices for the past month and pull out those from customers in Washington where the invoice amount is $1,000 or more, or less than $50 that have not been paid," and the person will be able to do so with no further instruction, computers just aren't intelligent enough (yet) to understand what you mean. So for the time being, much of being efficient with these powerful machines is the skill of translating what we want the computer to do into what it understands. In fact, this is almost the definition of a software developer. But even if you don't earn your living writing software, knowing the details of your daily tools, such as FileMaker, will enable you to be much more productive.
For the complete tutorial, see Finds in FileMaker, Part 1, on the Portage Bay Solutions site.
FileMaker Pro 13.0v3 includes OpenSSL 1.0.1g, which is not vulnerable to the Heartbleed bug. In addition, the TLS heartbeat in OpenSSL is disabled, which removes the attack method used by the Heartbleed bug. Please update if these vulnerabilities may be an issue.
Apple released its latest major revision to Mac OS X last week. Mac OS X v10.9 (also known as Mavericks) introduces some interesting new features and, to a degree, synchronizes the user interface of Mac OS X with the recent iOS 7.0 upgrade. This is the first major OS X upgrade that Apple has released with no upgrade fees at all.
FileMaker released v12.05 for Mac OSX 10.9 compatibility; their official stance is that FileMaker v11 is not compatible with Mac OS 10.9. In my personal testing, I did not find any problems with running FileMaker v11 in Mavericks.
This should not be taken as comprehensive proof that there are no potential problems, but I was able to open, navigate around, and print reports without any trouble.
I have had essentially the same experience with 4th Dimension: no problems with either 4D v12 or v13 in Mac OS 10.9.
~ John Newhoff
For those conversant with FileMaker Server setup, we’re quite familiar with port 16000. According to the FileMaker knowledgebase article 10672, port 16000 is used to serve the Admin Console Launch Page. We recently discovered a “new” use for port 16000 that, until now, was undocumented in any KB article.
In our latest upgrade to one of our more complex FileMaker apps, E-Com, we rolled out an anticipated new feature that utilizes the interactive container fields and external secure storage released in FileMaker 12. Right off the bat, the majority of the clients were using the new feature without issues, but there were a few clients reporting that the feature was not working as expected.
These users were able to upload to and download from a container, but were unable to see the file in the interactive container. Of course, we went over every detail: file permissions, field permissions, network settings (both client and server), server settings, FMS settings,... cloud coverage? Did the Mets win last night? Did we remember to cross our fingers before we deployed on that server? We were at a loss. A call to FileMaker support was in order. In my years of working with FileMaker, I have had mixed results working with FileMaker tech support, but in this case they were able to help out.
After going over every detail with the support rep (who was very courteous), the rep decided to ask his fellow reps if they had experienced similar issues. A few minutes later...
“Is port 16000 open?”
“I mean... is port 16000 open from the server to the client (outbound)?”
That’s something that we didn’t think to check, so we did a port scan and, sure enough, port 16000 was not open to the remote users, but was open locally for the FMS Admin Console. We opened up port 16000 to the remote users and, sure enough, that did the trick.
So, if your solution is using interactive containers and users are reporting that they can’t seem to “see the files” interactively, check that port 16000 is open from the server to the users.
We’ve recently been working on designing a new set of features for a FileMaker solution used by one of our clients, Darwin’s Natural Pet Products.
Our client asked us to write a new order processing interface, including credit card charging, while maintaining PCI compliance (essentially, credit card number security).
We were able to meet these requirements through the use of 360Works Plastic, a 3rd party plug-in for FileMaker. The plug-in allows FileMaker to interact securely with 12 gateways, including Authorize.net.
The plugin comes with a sample file that includes demo code for every gateway.
The demo code is very handy for scripting transactions. The new version of Plastic supports payment profiles with Authorize.net. Payment profiles allow you to create a profile in Authorize.net by supplying the credit card data and billing data. Once submitted, you receive a profile ID, which is stored within the customer record (or credit card record if the customer has multiple credit cards).
Then, when you want to charge, authorize, or refund the credit card, only the payment profile ID needs to be supplied. The plugin also supports creating customer profiles and shipping profiles within Authorize.net. This functionality completely solves the problem of needing to support automated credit card charging without having to store the actual credit card number in the FileMaker application.
~ Kate Wheeler
Time for a completely non-technical newsletter article. I'm at Paradise Inn on Mt. Rainier for a quick, one-night stay and have no Internet access or cell service. Lacking either of these, I can't log into our newsletter database to remind myself of what I had started to write an article about. So, I'll just write about Mt. Rainier.
As I'm writing this, at 7:30am on Wednesday, May 22, it continues to snow steadily outside. I just checked, and it looks like we had an accumulation of about 6 inches overnight. Should make for an entertaining drive home in a couple of hours.
So, what am I doing down at Mt. Rainier in the middle of the work week?
I volunteer on the board of Washington's National Park Fund. We raise funds and help facilitate donations to the three major national parks in Washington (Mt. Rainier, Olympic, North Cascades). This weekend is the season opening of Paradise Inn and the National Park Service and Guest Services (the company that operates the lodge) invited many friends and family to a one night stay at the lodge.
It's an annual event that gives the seasonal staff at the lodge a 'shakedown' before paying guests start arriving. We listened to an excellent talk last night by Deputy Park Superintendent Tracy Swartout and then had a round of Mt. Rainier National Park Trivia (my team lost).
I'm looking forward to breakfast in the dining room shortly, and then a brief behind the scenes tour of some of the buildings at Paradise. Somewhat less looking forward to the drive home after that and getting back to work : (
Washington's National Park Fund is a great cause and a great bunch of people if you or your company is looking for a way to give and get involved.
Taking a FileMaker database to the next level often requires third-party tools. Let’s say you want to add Quickbooks integration or a rich calendar interface that will sync with the calendar on your phone. For features like this, we often turn to third-partly tools and solutions rather than build the requested feature from scratch.
FileMaker recently released a new website, Made for FileMaker, which serves as a hub of available FileMaker solutions for sale as well as plug-ins and external resources related to FileMaker.
The site has sections for database solutions, iPad/iPhone solutions, plug-ins, developer tools, readers and bar code scanners, and books/videos. The great thing about having a central site with all this information is that all the products are developed by FileMaker Business Alliance members. There is no need to look around at different developers' sites for the product you may need.
The site offers a variety of tools and plug-ins that can enhance any database. We have experience integrating many of the plug ins and tools offered on the site:
I spent a rather dumb amount of time recently trying to get my MacBook Pro to display more than 1920x1440 on my external 27" monitor. At that resolution, I'm just not taking very good advantage of the size of the monitor. In FileMaker (and other apps) having higher resolution allows you to deal with multiple windows and palette windows more effectively.
It turned out that my monitor simply wasn't capable of displaying anything higher than that resolution.
I decided to get rid of my old monitor and purchased an Asus monitor capable of displaying 2560x1440. It was a little expensive, but now I'm really enjoying the additional screen real estate, particularly in FileMaker when I'm using the debugger and data viewer.
~ John Newhoff
Portage Bay Solutions is a database development firm based in Seattle, Washington that's been working with organizations of all sizes for almost 20 years. Our customer service is top-notch; we answer and return calls promptly, stay within budget, and provide quality support to our clients during all phases of the development process.
Kate and I attended the Pause on Error conference in Portland this week. "Pause on Error" is a FileMaker developer’s conference organized by the FileMaker developer’s community rather than by FileMaker, Inc.
It’s a very interesting contrast to the ‘official’ FileMaker developer’s conference that is coming up in August. It’s a much smaller conference with consequently smaller sessions, which leads to a lot more discussion and less lecturing, which I very much enjoyed.
Over the two days of the conference, there were 30 sessions on a wide variety of topics. I particularly enjoyed the session put on by Todd Geist about creating a community-wide shared library of re-usable FileMaker code modules. I hope this idea takes off and certainly plan to participate.
We did a session on the second day of the conference on Issue (bug) tracking systems. We showed the tools we use for this, a combination of open source tools and home grown FileMaker applications, and moderated a discussion of the tools used by other developers.
I really enjoyed the conference and also spending a few days in Portland, a city I like almost as much as Seattle.
Hello, friends, fellow developers, and clients! My name is Joe Ranne and I'm the newest addition to the Portage Bay crew, hailing from the simple, big-small town of Omaha, NE. I want to give a bit of warning that this post will have very little to do with technically specific info, but rather general nerdery. Specifically speaking: me.
From tech support to I.T. Director, I like to think that I've seen it all. From the "computer won't turn on because it's not plugged in" to the "server room is full of smoke because a hard drive almost caught fire", nothing seems to catch me off guard these days. Like most tech-types, I've always dabbled in code, but it wasn't until 8 years ago that I really started diving into it. Which brings me to now. Portage Bay will be my introduction into full-time development and I'm looking forward to doing awesome things and expanding my inner nerd.
I think we can all agree that being a developer means embracing that little bit of "nerd" that lives in every one of us. Admit it: we all laughed the first time we met Nick Burns on SNL. The reality is, being a "nerd" defines, in some strange way, a large majority of who I am. Whether it's time with my family, new technology, classic cars, woodworking, antique furniture, music, golf, food, whisky, tobacco pipes, or programming, embracing my "nerdiness" allows me to be fully engaged and, therefore, enjoy them to their fullest. With that said, I fully embrace nerd culture and all that comes with it (minus the glasses).
So, I'm looking forward to more posts and engaging in this awesome community. If you have the opportunity to visit Omaha or happen to see me wandering around at a conference, feel free to say hello!
For more about me, check out my About.Me page.
FileMaker and 4th Dimension both have a similar requirement that a user needs the ability to launch either application and log into a specific database.
While FileMaker’s approach has been to create a URL protocol for this, 4th Dimension has created a registered file suffix, .4dlink, that allows you to create a simple custom XML file that a user can double click on to launch the database application.
When the user double clicks on a .4dlink file, the operating system launches 4th Dimension and 4D parses the xml file to get the server address. You can also embed a user name and password in the file if you would like to eliminate the need to enter those each time you log in.
4D has a good tech note on the .4dlink file that also includes a simple database that allows you to enter your database information and have it generate a .4dlink file for you.
With Windows 8, Microsoft has made a rather dramatic departure from the user interface of prior versions. The general understanding is that Microsoft is trying to create an integrated operating system that will work well for users on newer touch sensitive tablet devices, as well as more traditional desktop environments.
I have yet to use Windows 8 on a tablet device, and so I might not be Microsoft’s idea of an ideal target user, but I think I’m probably very typical of a technically capable Windows 7 user.
My first use of Windows 8 was to install it on a virtual machine on my Mac laptop, using VMWare Fusion. I wanted to test whether FileMaker 6 (obsolete for 8 years now) worked under Windows 8. The new operating system installed on the VM without any trouble, and I was then able to install FileMaker 6, which also installed easily, and in the limited testing I did, seemed to work ok. I created a few records and printed a simple layout.
I can’t say that this initial experience with Windows 8 made me a big fan. As an experienced Windows 7 user, I really don’t like having to re-learn where to access features that I’ve known how to use for years. Windows 8 boots up into a new tile-based interface (shown in screen capture above) and you have to click a tile to get to the traditional desktop. Once there, you no longer have a ‘Start’ menu, so you have to re-learn how to open applications, access control panel functions, etc.
My second experience with Windows 8 was significantly worse. I made the seriously incorrect assumption that I could purchase a Windows 8 mini-tower and downgrade it to Windows 7. After several hours of messing with this, I finally decided to give up, get rid of the Windows 8 system, and order a system with Windows 7 pre-installed. Just getting past the "secure boot" feature in Windows 8 in order to boot from the Windows 7 installer DVD took me over an hour.
I sound like a luddite, even to myself, but I’ll be sticking with Windows 7 for quite some time.
In December, we converted E-Com (our database for managing special education student data - used by over 70 school districts in Washington) to FileMaker v12. The process went quite smoothly. We have not experienced any difficulty in converting files from FileMaker v11 to FileMaker v12, as opposed to converting earlier versions (v6 and older).
We converted the database to take advantage of new features offered by FileMaker v12. Since E-Com uses a third-party plugin, we will switch to using the new "Install Plugin" script step in FileMaker v12. That will allow users to install or update plugins directly from a container field within the file itself, greatly simplifying the plugin deployment process.
We also plan to change document storage to the new external storage method available in FileMaker v12. One difficulty with shared documents in FileMaker v11 is that the external file must be placed in a shared location before it is stored as a reference in the container field in the file. Using "Managed Containers" in FileMaker v12, we are able to specify the storage location of the documents in advance on the server, so a shared location will no longer be a requirement.
We will also be re-working many scripts to take advantage of the new modal window type available in v12 to eliminate workarounds in earlier versions of FileMaker necessitated by the absence of this capability. We have plans to use the Execute SQL script to simplify the relationship graph and make scripting reports more powerful, as well.
Overall, this upgrade will provide a more stable system, with some nice new features for our E-Com users.
FileMaker 12 introduced a new function called Execute SQL, which allows you to use the SQL Select statement to perform queries against your FileMaker database, and get results back as a delimited value list.
This can be very helpful, as it allows for faster queries, as well as queries on tables without regard to relationships or context.
I’ve been using SQL for quite a few years in the process of the 4th Dimension development work I do, but for many FileMaker developers, the Structured Query Language (SQL) is unfamiliar and it can be a bit of work to learn.
Enter SQL Explorer, from Seattle-based Seedcode. SQL Explorer is an impressive FileMaker native tool for visually building SQL queries by selecting tables and fields from a set of lists. It can be very helpful in getting started with learning SQL.
Once you’ve mastered the basic Select statement with SQL Explorer’s help, check out W3Schools.com for an excellent, concise, source for documentation of SQL functions and extensions to the Select statement, such as Group By and Having.
Nov/Dec 2012 Volume: 3 Issue: 6
The Burke Museum at the University of Washington has been using 4th Dimension for over 20 years, to manage their collection of zoological specimens. The collection currently consists of close to 200,000 specimens and is growing rapidly. 37,000 new specimens alone were recently acquired from the University of Nevada, Las Vegas when they closed their natural history museum.
Their 4D application has traditionally been a homegrown database, undergoing development work by a series of Burke Museum staff members over the years.
With the rapid growth of the collection, the museum saw a need to accelerate the development of a number of features within the database and so sought some outside help with the 4D system, selecting Portage Bay for this project.
Some of the project goals are to upgrade to 4D v13, improve the consistency and flexibility of the user interface, add features for managing specimen loans, and rationalize the geographical tracking in the application.
One of the first things we’ve done to improve flexibility and consistency is to move the application intoFoundation Shell, a 4D programming framework. This greatly improves the consistency of the application and provides ‘standard’ features that modern users expect in a polished application, such as a multi-process/multi-window interface, window positions that are saved across logins, and consistent menu systems.
In addition to Foundation, we’ve integrated another third-party 4D component called ListMagic. Listmagic provides system users with the ability to individually customize the columns that will display for each table, to do likewise with the size and style of the fonts in the columns, and to manage alternating row colors.
The integration of these two components has given the Burke Museum the flexibility and consistency they were looking for.
We continue to move forward with other aspects of the project, currently working on fine-tuning the specimen loan management features. Next up will be the complex task of improving on the management of geographical data related to where specimens have been collected.
John and I spent the last few months preparing and studying for the FileMaker 12 certification exam, the official exam offered by FileMaker Inc.
The certification exam tests a developer's skill levels and understanding of all things FileMaker - from calculation formulas to server requirements. This test requires knowledge from across the board. FileMaker provides a comprehensive training series offering in-depth instructions along with demo files. In fact, the training guide can be useful to anyone wanting to learn more about the capabilities of FileMaker Pro 12 and FileMaker Go for the iPhone and iPad. Beyond the training guide, other resources are the product manuals, the FileMaker knowledge base and also white papers on FileMaker TechNet.
Technet memberships are now free. With the membership, you have access to a downloadable version of the training series, along with many other useful resources, such as webinars, video training series, iOS resources, sample files and more. It is a great one-stop hub for help with any FileMaker problem.
After months of studying the FileMaker resources, and sitting for the computerized 2-hour test, I'm pleased to announce that John and I are both FileMaker 12 certified developers.
About six months ago I misplaced my iPad. Not a terribly unusual event, I have an unfortunate tendency to lose things occasionally (ok, some might say frequently). Usually they turn up again pretty quickly. In this case though I could not find it anywhere. I had just returned from a business trip to Eastern Washington, and I thought I must have left it in a hotel or coffee shop (check out Pioneer Coffee in Cle Elum next time you’re there, great coffee shop).
So, out comes ‘Find My iPad’ which should magically tell me right where the missing device could be found. I’ve used it many times to locate my iPhone around the house. If you have a Mac laptop or an iOS device, I strongly encourage you to get an iCloud account so you can use this feature when needed.
Unfortunately, my iPad appeared to be offline and couldn’t be found. I called the last hotel I stayed at, but they said they couldn’t find it.
I finally decided to send a remote wipe command to it, hoping to prevent any of my data from being available to anyone that might find the iPad (this can also be done through your iCloud account).
I ended up figuring that some tech savvy person had found it and re-initialized it in the week between when I lost it and when I sent the remote wipe command.
Well, I’m embarrassed (and glad) to say that the iPad turned up this week. I had apparently fallen asleep watching Netflix and the battery drained all the way and the iPad slid behind the bed. This was at our family’s vacation place on Whidbey Island (available as a vacation rental), so I’m not there that often and with the battery dead, Find my iPad couldn’t find it.
So, the lesson here… Don’t wait for your iPad’s battery to run all the way down before you decide to lose it.
Portage Bay Solutions is a database development firm in Seattle, Washington that's been working with organizations of all sizes for almost 20 years. Our customer service is top-notch; we answer and return calls promptly, stay within budget, and provide quality support to our clients during all phases of the development process.
July/Aug 2012 Volume: 3 Issue: 4
Follow us on:
One of the keys to designing a high quality, easy-to-use database is creating a user interface that is pleasing to the eye. FileMaker 12 has made this task easier by adding 40 built-in themes. See our video on the topic:
In the video, I use the Inventory Starter Solutions that comes with FileMaker Pro 12. Along with all the starter solutions, this file comes preset with a theme in place. These themes define the color scheme, background image, fonts and sizes, hover colors, field boundaries and more.
Themes can easily be changed on the fly by first entering layout mode, then going to the Layout menu and selecting Change Themes. Here you will see a pop-up window displaying all themes. Clicking on each of these gives you a quick preview. Note: Unexpected changes may occur; always review the layouts after a theme change and make any necessary tweaks.
Another cool thing about these starter solutions is that they come with iPhone- and iPad-specific layouts. The themes are layout specific, not system-wide. Changing the theme for the desktop version will not change the look and feel of the iPhone or iPad layouts.
Using themes in FileMaker 12 definitely gives you a leg up in creating a smooth-looking, modern interface.
At this time, themes created outside of FileMaker Pro are not supported, but hopefully we'll see this in a future version of FileMaker.
The Nest thermostat has received a decent amount of press in the tech world, but if you've missed hearing about this device, you should check it out.
The manufacturer calls it 'the learning thermostat' because they've designed it to figure out for itself how it should be programmed; you don't have to learn how to program it. The Nest is compatible with standard 24 volt HVAC systems and can replace traditional thermostats like those made by Honeywell. Their website says that it is incompatible with millivolt controlled heating systems, but I was able to find a good web page with information on how to wire the Nest for my millivolt system (a gas fireplace insert).
The thermostat itself really has only one control - a dial that allows you to set the temperature. A proximity sensor allows it to light up and show you the current temperature and temperature setting when you approach the device. You can log into the nest from a web browser and see information about energy usage, increase or decrease the temperature, and set up schedules (if you choose). An iPhone/iPad app lets you control the Nest from your iOS device. The thermostat 'learns' from how you set the temperature and then automatically adjust the temperature for you. My favorite feature is that it will monitor your location if you have the phone app installed and will automatically lower the temperature when you are away.
Portage Bay Solutions is a database development firm in Seattle, Washington that's been working with organizations of all sizes for almost 20 years. Our customer service is top-notch; we answer and return calls promptly, stay within budget, and provide quality support to our clients during all phases of the development process.
It may go without saying, but database backups are just as vital, if not more so, than the design of your custom database application. With the introduction in FileMaker 12 of the new progressive backup feature, we decided to take an in-depth look at backup techniques/best practices, as well as the specific backup features offered by both 4D and FileMaker Server.
Both FileMaker and 4th Dimension are similar with regard to how your database is backed up. The server application has a built in backup function that briefly halts all database transactions while the database is backed up to a location specified by the database administrator. During this brief time period, people using the application are prevented from saving data changes. For this reason, you really want to keep the backup running quickly if you are running it during the day, which is especially common with FileMaker.
This often means that the backup will be stored on a hard drive on the same computer on which the database runs, and is thus vulnerable to any problem that might affect the server. So, a critical piece of getting your database backed up properly is to have a secondary mechanism that backs up your backup to a different location.
In the past, secondary backups were often done with a tape backup system, with tapes being rotated offsite in case of a disaster like an earthquake or fire. With the falling price of hard drives in the last decade, it has become common to back up to external hard drives. We have a number of clients that rotate a hard drive offsite for disaster protection.
Internet-based backup has come of age lately, allowing you to more painlessly store backups offsite (assuming you trust the internet backup vendor). Options for Internet backup include Crashplan Pro, Carbonite, Dropbox, Google Drive, and iCloud, to name only a few. How to configure each of these is beyond the scope of this article, but as an example, Dropbox can be used to easily get your database backup offsite – simply configure your backup to save the backup files to the Dropbox folder. Dropbox will take care of the rest.
One very important note with regard to using one of these Internet backup options is that they may not work if there is no user logged into your server. If you restart your server (Mac or Windows) your database will be accessible as soon as the restart is complete, but if you don’t log in after the reboot, applications like Dropbox may not function as expected. Dropbox is a good example of this issue in that your Dropbox folder will not be kept synchronized if the account under which the folder was created is not currently logged into the operating system. You’ll want to verify this functionality with any Internet-based backup tool you plan to use.
Keep in mind that regardless of how you run your secondary backup, you should not back up production files being actively served by FileMaker Server or 4D Server. The folder containing your live database files should be exempted from the secondary backup.
Over the years, FileMaker Server has made significant improvements to its backup tools. In version 7, we first gained the ability to schedule automatic backups. Version 9 gave us the backup schedule assistant, allowing easy creation and modification of backup schedules, as well as the option to verify backup integrity after performing backups, a very valuable feature that helps detect file corruption as soon as it occurs. In FileMaker Server 11, we had the option to save a clone of the file during backup, assisting in preserving data architecture. Now with the release of FileMaker 12, we have some major improvements to the standard scheduled backups as well well as an entirely new kind of backup process, progressive backup.
In the past, FileMaker Server scheduled backups would copy all files as defined by the schedule to the designated backup folder location. For solutions with large files, this process could take a long time and use up quite a bit of the hard disk space on the machine. Now in FileMaker Server 12 schedule backups will only copy files that were changed. The files that were not changed will be hard-linked to an existing previous copy. This will minimize the amount of disk space used by backups and also increase the speed of the backups. One important implication about this new process is that a backup file must never be opened from its backup folder, but copied to a different location and opened from there.
The progressive backup method improves application performance by backing up only the modified data in files. This backup runs significantly faster than the scheduled backups, since the entire file isn’t being backed up. In addition, the data in the progressive backup will never be more out of date than the backup interval you choose (10 minutes for example). Together with scheduled backups, FileMaker Server 12 delivers the tools to create a complete backup strategy.
You enable progressive backups, select the save path, and set the save interval from the "Folders" tab on the Configuration: Database Server settings page.
The table below shows the differences between scheduled backups and progressive backups and how the two work together to form a complete backup system.
|Scheduled (since FMS7)||Progressive (NEW in FMS12)|
|Ability to define which databases will be backed up, and how often. No limit to how often databases are backed up.||Not database specific. Cannot specify start and end time. If enabled, progressive backups will run continuously at designated interval (anywhere between 1-60 minutes).|
|Creates full copies of databases that have changed and hard links to databases that have not changed. Increased speed of backups with new container management tools.||Improves performance and runs more quickly by only backing up file changes (after initial full backup). Increases stability by running its own process.|
|Backups are saved to the local hard drive, but cannot be saved to the root of the hard drive.||Must choose to backup outside of FMS backup folder. Best practice is to save to an external hard drive or cloud backup.|
|Unlimited number of backups to keep (limited only by available disk space).||Maximum of 2 full backups kept.|
Our typical configuration includes both progressive and scheduled backups. Progressive backups are enabled at an interval of 10 minutes. We schedule nightly backups that keep 7 days of archives, weekly backups that keep 4 weeks of archives, and hourly backups that run every two hours from 8:00 am to 5:00 pm and keep the most recent 4 archives. For systems with large amounts of data, the backup every two hours during the day can cause noticeable delays for users during the day. In these cases, progressive backup now gives us an reasonable alternative to these backups scheduled during the middle of the day.
More information on FileMaker Server backups: http://help.filemaker.com/app/answers/detail/a_id/7464/~/creating-backups-with-filemaker-server
Both 4D Server and the stand-alone 4D application have a built-in backup function (this is in contrast to FileMaker, where only the server application has the built-in backup function).
4D is fundamentally different in terms of backup from FileMaker in one important respect: the existence of a transaction log file. For every single data change made to the 4D data file, 4D writes out an entry in a separate log file. If the database becomes lost or corrupted for any reason, the most recent backup is restored and then the transaction log is applied to that backup to bring the database up to the most recent possible point before the recovery became necessary.
For this reason, in 4D we generally do not have the hourly (or more frequent) backups common to FileMaker Server configurations.
Our standard configuration for our 4D customers is to have a backup running each night, with an archive of 7 to 14 days worth of backups, and a log file being maintained throughout the day. Ideally, the log file and backups are stored on a separate drive from the production database. 4D provides additional backup flexibility by allowing backups to be controlled programmatically as well. Developers can essentially write their own backup system for unique situations requiring this level of control.
You can find detailed backup configuration documentation for 4D on the following web pages:
4Dv11 Backup: ftp://ftp-public.4d.fr/Documents/Products_Documentation/LastVersions/Line_11/VIntl/PDF_Format/4D_v11_Design_Ref.pdf
4Dv12 Backup: http://doc.4d.com/4D-Design-Reference-13/Backup-and-restoring-of-the-application.200-832499.en.html
Follow us on:
We are excited to announce the release of the latest line of FileMaker products - FileMaker Pro 12 and FileMaker Go 2.0 for the iPad or iPhone.
FileMaker 12 and Go 2.0 come with a slew of enhancements and new features. Below is a summary of the more useful ones.
FileMaker Pro 12
FileMaker Go 2.0 for the iPad or iPhone
Download a free 30-day trial of FileMaker 12 to see all the new features, or upgrade today. FileMaker Go 2.0 works exclusively with FileMaker Pro 12 and FileMaker Server 12 and can be downloaded forfree from the iTunes App Store.
Here at Portage Bay it seems like just yesterday that 4D v12 was released, but time waits for no one, and so it is that 4th Dimension v13 was released this past month. With the release of v13, all releases prior to v12 are officially sunsetted. This means there will be no patches or updates released for 4D v11, 4D 2004, or any earlier releases. While it is unlikely that there will be immediate problems with these earlier versions, users of 4D versions earlier than v12 will want to be planning for an upgrade.
4D v13 introduces some great new features:
This is a very short summary of new features. You can watch a webinar or download documentation on the new features in v13. A free trial is also available. I’m really looking forward to working with this new version of 4th Dimension.
Seattle - 425.481.8175 | Austin - 512.763.7864
With the close of 2011, we are winding down one of the larger FileMaker 11 upgrade projects that we have had the pleasure to work on. The Snohomish County PUD (the second largest publicly owned utility in the northwest) had been using FileMaker 6 for quite a few years. The PUD was concerned about compatibility with Windows 7 and so decided to upgrade to FileMaker 11 prior to their district-wide Windows 7 update.
The FileMaker 6 implementation at the PUD consisted of many independent solutions in different departments, all hosted locally within the departments. It was decided early on that we would take advantage of the upgrade work to also consolidate these independently hosted solutions onto a central FileMaker Server, thereby significantly reducing infrastructure support needs and dramatically improving the security of the data.
With all but one department now upgraded and on the central server, the new FileMaker Server 11 implementation is hosting nearly 100 different FileMaker databases for 14 different departments at the PUD. These solutions cover a wide variety of business needs including managing vegetation trimming schedules, investment tracking, and customer service.
Completing the upgrade to FileMaker 11 and FileMaker Server 11 will insure that these business critical applications will continue to help the PUD pursue it mission of providing reliable, cost effective water and electricity to Snohomish County.
The FileMaker Pro 11 Quick Find feature makes searching your database a breeze. It works exactly like a web browser, where you can enter a word or phase in the search box and then hit enter to perform a find across all fields in all records. The Quick Find box also keeps a list of most recent Quick Find searches that can be easily accessed and re-performed at any time.
FileMaker has recently announced the official sunset of the FileMaker 9 product family. As of September 27, 2012 FileMaker 9 products will no longer be officially supported and upgrades from FileMaker 9 will no longer be available. Since upgrades to the current version of FileMaker from FileMaker 9 are discountedsignificantly, you may want to plan on upgrading before this date if you are still using FileMaker 9. The single license retail price for upgrading from FileMaker 9 currently is $179 ($299 for Advanced). After the sunset date, that will go up to the normal retail price for purchasing new licenses, $299 ($499 for Advanced) for a single license.
FileMaker has also announced a change to the upgrade licensing program. In the past, an upgrade purchase has included one year of maintenance, meaning that you were entitled to any new FileMaker releases that occurred for one year after purchasing the upgrade. Starting March 31st, 2012, maintenance will no longer be included in upgrade purchases and will have to be purchased separately.
The combination of the two changes makes upgrading prior to April of next year look like a particularly good idea.
Siri, the voice-activated personal assistant, is by far the most impressive feature of the iPhone 4S. Out of the box, Siri is programmed to assist with all sorts of tasks: place phone calls, schedule meetings, give the forecast, map directions, and much more. I’ve used Siri to search for coffee shops close by and dictated text messages without having to unlock the phone. Just ask Siri "What can you do?" to get full list of her capabilities.
But there’s more. Siri is teachable. You can tell Siri how the contacts in your address book relate to you (mother, best friend, boss, etc) so that you can say things like “Call mom” and Siri will remember who mom is. If you have a hard-to-pronounce name, you can teach her the correct pronunciation.
And she has a sense of humor. Check out this list of popular questions to ask Siri. My favorite is “Who’s on first?” Siri answers, “That’s right.” Siri is still in ‘beta’ version so we can expect her knowledge and skills only to expand in the future. People are discovering new tasks for her all the time. Just this month, a developer used Siri to start his car. I wonder how soon it will be before Siri is smart enough to read our thoughts!
FileMaker Server has been updated to 11.0v4 and the 4D product family has been updated to version 12.3. Both updates primarily address Mac OS X Lion (10.7) compatibility.