Wednesday, February 25, 2009

FileMakerAddict Interviews...
Loreli Voltmer
Project Administrator
MidAtlantic Trade Adjustment Assistance Center (MATAAC)

Loreli Voltmer serves as Project Administrator for the MidAtlantic Trade Adjustment Assistance Center (MATAAC), which provides financial assistance in the form of federal grants to help mid-Atlantic manufacturers meet and exceed goals to strengthen their position in today’s global marketplace. If you are looking for a great case study with regards to how easy it is for someone with a strong SQL background to make the leap to FileMaker Pro, you've found one. In a very short amount of time, Loreli has helped MATAAC make the transition from a SQL-based database (Microsoft Access) to FileMaker Pro quickly and easily. Read on to learn more about Loreli and her journey to the world of FileMaker, as well as some great advice for other developers making the leap to FileMaker!


How did you get started in IT?
I worked for Digital Equipment Corporation for 8 years as a Systems Analyst/Manager for a large Unigraphics CAD/CAM installation in Massachusetts. I learned Digital's proprietary VMS operating system and composed command files to assist in redundant tasks. I learned MS Access along the way and used it as a data repository and reporting system for capital equipment monitoring.

In 1995 I joined Watson Wyatt Worldwide and worked more closely with two database solutions; one was a flat file database, which I used to create IRA loans for our clients' employees and the other was a hybrid FoxPro solution, which was used for large (over 16K employees) national clients' medical and life insurance enrollments. The FoxPro system was used to generate enrollment forms, capture employee health elections, create confirmation statements and run election reports for multiple health maintenance organizations (HMOs).

My fascination with the various aspects and capabilities of databases grew and I subsequently sought out internal opportunities to strengthen my experience however possible during my eight years with Wyatt. I subsequently was involved in testing other enrollment systems such as VRS (voice response system), WEB-based enrollments, and Client Self-Service solutions.

In 2004 I moved to Keene, New Hampshire and joined Liberty Mutual Group in the Personal Lines division as a Rate File Analyst. I worked with an extremely complex flat file database for nearly a year until a web-based personal lines quoting system was developed. I learned and tested the quoting systems for ease of use and rate calculation accuracy.

In 2006 I moved to Pennsylvania, was hired by the MidAtlantic Trade Adjustment Assistance Center (MATAAC) and was reunited with Access! We subsequently migrated to FileMaker in 2007 and that's why I'm here (doing this interview).


How did you get involved in FileMaker development?
When I first came to MATAAC in 2006 I was a temp filling in for the Financial Manager. We were on Dell PCs and worked with an Access database that was developed externally. The database was password protected and did not lend itself to manipulation or enhancements easily. When I mentioned to our Director (Bill Bujalos) that I knew a fair amount of Access, we obtained a password from our software consultant and I began revamping the database to better accommodate our needs.

I was formally hired as a full-time employee by MATAAC in January 2007. My duties were to maintain and develop the Access database, provide administrative assistance for projects, which included web research and documentation services for our project managers as well as fill in for the financial manager as needed.

In July 2007 our office migrated to an all Mac environment. We purchased FileMaker Pro 9 and our Director asked me to move our data into it. I had never heard of FileMaker prior to installing it and was a bit apprehensive about learning it on my own, but that was the task at hand.


In terms of your FileMaker skills, you have come a very long way in a short amount of time. What resources did you find to be the most valuable to you as you learned FileMaker?
Initially I purchased FileMaker Pro 8 The Missing Manual because we were planning to buy FileMaker Pro 8.5 but FileMaker Pro 9 was available at the time of purchase. Alas, learning from a manual was not my cup of tea, so I found out about Lynda.com and this is hands down the absolute best resource I found and I highly recommend it to everyone I meet! I could not have achieved much of the success I have had without Cris Ippolite's tutorials on all of the modules in FMP.

I was given a free copy of The Everything Reference at one of the FileMaker Philadelphia User Group (FMPUG) meetings and most recently purchased Ray Cologon's FileMakerPro 9 Bible. Of the three books, I use the Bible most as well as the On-Line Help files in FileMaker.

In addition, I attend as many webinars as I am invited to, even if I am not using the featured material right away. I find it is easier to learn something after you have had exposure to it. Many of the webinars are saved on the web and can be viewed at a later time to refresh one's memory. Webinar providers are FMWebSchool.com and Filemaker.com's site.


Tell us about the work that you are doing for the MidAtlantic Trade Adjustment Assistance Center (MATAAC).
Other than FMP database administration and development my tasks here at MATAAC include:

  • Automating/streamlining our processes of corresponding with our clients using the Email function within FMP wherever possible. Tasks like generating contracts and invoices are accomplished by populating specific layouts in FMP, then creating PDF files and sending them via email through FMP directly. We also send out satisfaction surveys and general informational notices to our active client base through FMP's email function.

  • Creating interactive PDF Forms for our clients to use for sending us required information relating to Petition submittal.

  • Remotely updating our company website (www.mataac.org) by using Adobe Contribute (CS3).

  • Submitting various documents via PDF format to the Economic Development Administration (EDA) in DC for approval, certification and filing. This is done outside of FMP.

  • Performing liaison duties amongst various external associations such as our website developer; the US Department of Labor who sponsors our sister program Trade Adjustment Assistance for Labor; our marketing communications company; and various other entities to exchange and update information for optimum mutual workflow.




What can you tell us about your plans to Web-enable the solution that you've developed?
We are overly excited about offering our clients access to the database to see their balances, check on project(s) progress and payment information, and give them the ability to search our Consultant database for referrals. We are also exploring the feasibility of a merger and acquisition bulletin board.


You've had the opportunity to work with an Access-based solution, and now a FileMaker-based solution as well. What are your thoughts regarding these two technologies? And do you have a preference as to which one you'd like to work with in the future?
I miss the familiarity of Access and its query-based methodology of data manipulation, including incorporating SQL statements into the queries. I liked the reporting features in Access better in that they were more flexible.

I don't especially like filling up the FMP tables with multiple fields and layouts rather than performing queries and reports like Access allows. Doing this has cluttered up the database to say the least and I'd prefer working with a more efficient and concise application. Some of my issues with FMP have been addressed in the new release.

I particularly like the Portal feature in FMP so the layouts can actively display data from other tables on the same layout. I like having the capability of naming objects and working with scripts to jump effortlessly between layouts and streamline redundant tasks. The ability to send data to Excel, Word and PDF is remarkably easy, as is the email utility, which we use frequently. I like working with multiple windows in FMP, too.

As I delve deeper, and learn the various capabilities of FMP I am sure I will much prefer FileMaker over Access.


If you could add a few features to the next version of FileMaker, what would they be, and why?
First and foremost, I would like the addition of a flexible querying tool for pulling datasets and comparing tables. The FMP Find utility can go just so far and if you accidently leave Find mode, you lose valuable query data and need to begin from scratch. I know I can create a script for redundant Finds, but most often the criteria changes on the fly and I'm not fully up to speed on writing scripts. Perhaps things will change when I am more versed at writing complex interactive scripts.

Secondly, I would like to get away from creating new fields every time I need a calculation or summary.


What aspects of FileMaker have you found to be the most difficult to grasp?
Scripting has been a tad cumbersome for me, mostly due to the syntax and canned selections to choose from. I believe once I truly get the scripting techniques down, many other aspects of FileMaker will magically become easier to produce.


Are you involved in your local FileMaker Pro User Group (FMPug)? If so, how has being involved helped you.
Yes, I joined the Philadelphia FileMaker User Group, which is the Philadelphia chapter of the international FileMaker Pro User Group (FMPug) and have been regularly attending meetings. We have guest speakers both on-line and in person and these presentations have exposed us to new techniques and warned us of certain pitfalls to avoid or work around.

I have picked up some tidbits of useful things such as password protecting a multi-user FMP environment; using color on the relationship graph and using multiple Table Occurrences (TOs), which I had not been using.

FM Enhancements and plug-ins are discussed at the meetings in addition to Operating System and application upgrade recommendations.

Just being in the proper forum allows one to ask questions and get a better understanding of how others are using FileMaker, what they are experiencing and how they work around or deal with challenging situations. The group is diverse and quite helpful, not to mention their enthusiasm for FileMaker is infectious!

Networking is key to this type of work no matter how long you've been in the business - it is forever changing and rather quickly at that!


What advice would you give to someone who is new to FileMaker and looking to become proficient with it?

  1. Go directly to Lynda.com and get a subscription to it, you will not be sorry!!

  2. Join your local FMPug group attend the meetings and ask questions of them whenever you're road blocked.

  3. Get into the habit of trying things and practice, practice, practice. Use a development database and move successful layouts, scripts, etc. into the Production database. Make frequent backups of both the Production and Development databases, especially prior to making any significant changes to layouts or relationships.

  4. Take any webinars offered by FMWebSchool and FileMaker, Inc. that interest you. Join FileMaker's TechNet forum.

  5. In general, submerse yourself in FileMaker, but if something becomes overwhelming leave it for a while and come back to it later. Sometimes we get too close to the problem and thus create blockages. By stepping back a bit things can manifest themselves in a new light, which is good, because it's usually around 2 a.m. when a resolution hits you!




What are your favorite things to do that don't involve work?
In addition to spending time with my brother, sister-in-law, two nieces and nephew, I enjoy the outdoors: biking, hiking, walking, and taking pictures. When I first moved to Northwest Philly I found a magnificent network of walking/biking/jogging parks and trails. I quickly found my favorite footpaths in Horsham and Lower Salford and my favorite all-around park is Peace Valley Park in Doylestown where I walk, jog, bike and kayak (and once I just sat and read a book)!

I joined LA Fitness and the racquetball league. I met some new friends and talented racquetball players.

In February 2008 I bought a Cannondale road bike and joined two local biking clubs - SCU (Suburban Cyclists Unlimited out of Horsham, PA) and BCP (Bicycle Club of Philadelphia). The members are friendly, love to eat, are quite verbose and energetic, and best of all, fun!

I also had a part time job doing picture framing for Michaels Arts and Crafts. This allowed me to produce tangible, finished projects, quite opposite to the on-going, never-ending task of developing a database! I have since left this job to allow time to enjoy life instead of working all the time!


Thanks, Loreli!

To learn more about MATAAC, please visit: http://mataac.org/

Wednesday, February 11, 2009

FileMaker Pro 10: What's Missing?

FileMaker Pro 10 is another release in what is without question a series of amazing product releases by FileMaker Inc over the past few years. Since FileMaker Pro 7, the development team at FMI has continued to raise the bar by introducing powerful functionality that makes our lives as developers much easier.

FileMaker Pro 9 added support for ESS, Script Groups, Conditional Formatting, and more. FileMaker Pro 10 added Script Triggers, dynamic reports, saved finds, the ability to send mail via SMTP, etc. FileMaker Pro has come a long way in a short amount of time.

So, what's still missing? What functionality do we still want or need that we don't yet have?

Below is a list of what I and a few other FileMaker developers that I spoke with (including Hal Gumbert of CampSoftware and Jonathan Stark) think is still missing. Think of it as a "wish list" for what we hope to see in FileMaker Pro 10.5 or beyond. Here's the list, in no particular order...


Layout Groups
We've had the ability to group related scripts into folders since the release of FileMaker Pro 9. I'd love to see a similar concept applied to layouts. Extending this idea a bit, it would be nice to be able to specify permissions at the layout folder level instead of having to specify them for each layout.


Filtered Table Occurrences
As someone with a strong background in SQL, I was excited when the concept of table occurrences was first introduced way back in FileMaker Pro 7. At last, I thought, we have support for views! In the SQL world, a view acts very much like a table, and can be used to provide access to a subset of the data in an actual table. For example, you can restrict the columns available, as well as the rows available -- and views can also include data that is joined from multiple related tables. Views are a great way to add a layer of abstraction to the underlying tables, and can also be used as a way to control access to data.

But FileMaker's table occurrences do not provide the power that SQL views do. They are simply a way to have a single table be represented multiple times on a database's relationship graph. They are mirrors of the tables that they represent. You can't specify which fields are available through a table occurrence, nor can you specify which records are available through one.

I would be thrilled to see this filtering functionality added to table occurrences. I'd also like to be able to specify table occurrence-based permissions as well.


Table and Field-Based Script Triggers
In an email conversation with Hal Gumbert, he mentioned that he'd like to see support for more event types. Hal wrote, "I think that events should also be on tables and fields. On Record Create, Modify, Delete and such. For Fields, on Create, Modify. Right now you can only run triggers via the FileMaker interface, but not via custom web publishing or importing. If these were on the table, you might not need to set the triggers on every layout in the database."

I agree! What we'd have at that point is something more like triggers in the SQL world. Think about how powerful those types of triggers would be! You'd never have to worry about whether a script was executed when data changed. For example, scripts could fire when records are imported. They could also be executed when records are added, modified, or deleted via Web interfaces or ODBC connections.

Hal also mentioned that he would like to see events related to the WebViewer as well. Specifically Hal would like to see "On Error, On Load Complete, On Form Change" events. I can see the value of those new event handlers as well.


WebViewer Enhancements
My clients always seem thrilled when I find clever ways of using the WebViewer in the solutions that I build for them, so anything that would make the WebViewer more powerful and flexible would be welcomed. In my conversation with Hal Gumbert, he said, "I'd also like to see more functionality with the webviewer to run scripts from the webviewer. We're using the MBS plugin, but there are issues with it. It would be nice to access page elements from FileMaker." Another great suggestion!


"Execute SQL" Script Step Enhancements
The Execute SQL script step, which gives us the ability to execute any SQL statement, has been frozen for so long now that I've almost given up on it ever being enhanced. But it is time to dust off that function and do something to it. Sure, it does give us a way to execute stored procedures from within FileMaker Pro. But my big gripe with it is that when you use it, it's like shooting into the dark. You have no easy way of getting back the results of the SQL statement. So if you call a stored procedure with it, and the stored procedure returns results (as either output parameters or a recordset), you can't see them. While I've found a way to work around this (and you can get this type of functionality using plug-ins), it sure would be nice if the work around wasn't necessary. And this enhancement would complement the ESS functionality very nicely.

It would also be nice if the Execute SQL script step acted like ESS does, where in a server environment, clients could execute SQL using the server's ODBC connection (instead of needing their own).


More Comprehensive Conditional Formatting
Conditional formatting is one of those functions that I wonder how I've ever lived without. And some of the tricks that you can do with it make it even more powerful. However, it would be nice to see conditional formatting extended to additional layout objects and layout parts as well. For example, to change the background color of a layout part based on a condition.

It would also be nice if you could hide an object entirely under certain conditions. Sure, you can simulate this by doing things like making text color the same color as the background. But it would be very nice if you could really hide an object.


Layout Layers
With tab controls we can simulate the concept of "layers" in FileMaker Pro. With script triggers in FileMaker Pro 10, simulating layers is now even easier. But this still feels like a kludge. I find it difficult to manage the tab controls with the border turned off, empty tab names, etc. It would be nice to have support for real layers.

Jonathan Stark suggested a similar concept, something that he referred to as "Layout Portals." He wrote:

I wish it was possible to embed a layout inside of another layout. If we could do that, the first thing I would do is stop using portals in favor of embedded table views. The workflow would go like this: You build an "Invoice Item List" layout based on the InvoiceItem table occurrence. Then, you build an Invoice layout based on the Invoice TO, and define a Layout Portal that points to the "Invoice Item List" layout, but you base the Layout Portal on the "Invoice to InvoiceItem" TO in order to limit the Invoice Items to only the related records. 

Furthermore, I'd have settings available in the Layout Portal Setup dialog that would allow you to override the defaults set on the actual layout (like changing views, modes, auto commit, etc...)

Now that sounds very cool!


Real Indexes
To a large extent, indexes remain a mystery in the FileMaker Pro world. We have very limited control over them. It would be very nice if we had the ability to create indexes manually, based on the fields that we want included. It would also be nice if FileMaker Server had a way to suggest indexes based on an analysis of long-running and/or frequent finds being performed.


Ultra-Light FileMaker Pro Clients
This one isn't as important to me as it seems to be to other developers. A number of developers that I have interviewed over the past few years have mentioned the need for a lightweight, less expensive, "light" version of FileMaker Pro, allowing access to FileMaker Pro databases in a network environment. This "ultra-light" client would be stripped of the functionality needed to create or modify FileMaker databases. The reason that developers seem to want this is to make FileMaker even more affordable.


Client Installation from FileMaker Server
Wouldn't it be convenient if, in a network environment, we could install FileMaker Pro on our client machines by simply making a request to FileMaker Server? Server could keep track of the number of licenses purchased, the number in use, etc.

In an email conversation with Jonathan Stark, he combined the "ultra-light client" and "install from server" ideas into a single concept that he referred to as a "Zero-Install Thin Client." He wrote:

There should be a free "lite" version of FileMaker Pro that allowed anyone to connect to a FileMaker file hosted on server. It should work basically like the server admin console - browse to a link, download a little runtime, and boom - my mom has read/write access to my FileMaker database, without any install on her machine."

What a great concept!


Hosting Services Available through FileMaker Inc.
Another interesting concept that Jonatahan Stark mentioned involves hosting services provided directly by FileMaker Inc. He wrote:

FileMaker, Inc should offer hosting services. Newbies could host their files on FMI servers and pay based on bandwidth, number of connections, or size of database. In conjunction with my first suggestion, this would give the average joe an adoption path for the platform. Imagine: I am an entrepreneur with an idea, but scant programming skills. I download 30 day trial of FMP and build a simple file. I host it with FMI for free using their "basic" package service level. I can email links to the file to my mailing list. People can interact with the file with the zero install thin client. I start to get a lot of data in the file and I need more bandwidth, so I graduate to the "silver" hosting package and start paying $24/mo for 30 connection, or whatever. My 30 day FileMaker Pro trial period ends, so I buy a license for FMP. Etc, etc, etc... before you know it, they'll be buying FMPA and a membership to tech net. 



Integrated Version Control
Ok, I'm really dreaming big now! But imagine FileMaker with some sort of integrated version control system in place. FileMaker itself could keep track of changes to layouts, table definitions, relationship graph changes, script changes, etc. Yea, I'm dreaming.


Dependency Tree
Here's another interesting idea that Jonathan Stark presented. Ever look at a FileMaker Pro solution, and at something in particular (maybe a field or layout) and wonder if it safe to remove it or not? In other words, are there other objects in the database that are dependent on it, and if you were to delete this object, those dependent objects would break? Jonathan writes:

I know that there are 3rd party applications that will show you which objects are dependent on others, but it would be great if that was built into the application, and extended with logging features. Is this script called by any buttons, menu items, events, or other scripts? When was the last time this layout was viewed by a user? Has this button ever been clicked? 

These are all questions that can't now be answered, which lead to cruft build up, and eventually unmaintainable solutions. 



Unit Testing Macro
Another interesting suggestion from Jonathan Stark:

From a purely developers standpoint, a big drawback of FileMaker is that it is basically impossible to automate testing. Developers should be able to build a solution against a set of tests, and run those tests in an automated fashion at the click of a button. Delete a field and run your unit tests - did all tests pass? Yes? Sweet. No? Revert to back up. Lack of automated testing is a deal breaker for the big boys in enterprise IT. 



FileMaker API for PHP Enhancements
If you've ever looked at the large amount of information returned by FileMaker when using the FileMaker API for PHP, then you know where I'm going with this one. There is a LOT of meta data returned that, for me anyway, typically isn't needed. It would be nice if we had a way to make requests and choose to have the non-critical data suppressed. I think we'd see a very significant jump in performance as a result.


Wrapping Up
It is important to stress again just how far FileMaker has come over the past several years. Longtime FileMaker developers will tell you that FileMaker Pro 7 marked a turning point in FileMaker Pro's evolution, and that it has been a fun, wild ride ever since. There are features built into FileMaker today -- features that we're probably starting to take for granted -- that just a few short years ago were either impossible to replicate or required expensive plug-ins. In other words, this is by no means a list of gripes or grievances. FileMaker Pro 10 is a fantastic product, and FileMaker is a great platform that just seems to get better and better.

When I asked Jonathan Stark what he felt was "still missing" he wrote: "I feel strongly that FileMaker is feature complete. If FMI never added another thing to it, I'd be cool with that. However, from a business standpoint, I have a concern: there are no young developers. I believe that this is due to the fact that there is no painless (i.e. free) way to get new people addicted to the awesomeness of the FileMaker platform." 


Do you think that there is something missing from FileMaker Pro 10? Got something you'd like to add to the wish list? Let us know!

Monday, February 02, 2009

Essential Tools for FileMaker Pro Developers

I'm often asked by FileMaker Pro users and enthusiasts about how they, too, can make the leap to doing FileMaker Pro work professionally. Many of these users are looking for ways to supplement their income. Others are passionate about FileMaker Pro, enjoy working with it, and want to focus their careers on FileMaker development. This article -- which lists some of the tools that every professional FileMaker Pro developer should consider investing in -- is the first in a series of articles that I plan to post that will give advice to those looking to become professional FileMaker Pro developers.

In order to be successful as a professional FileMaker Pro developer, you need knowledge of FileMaker Pro (and preferably knowledge of relational databases in general), real-world experience, a good business network, and more. You're also going need a number of different tools -- including software, hardware, and access to different services -- in order to complete projects efficiently and effectively.

The following list of "essential tools" includes several of the products and services that I've found to be the most helpful. For each product and service, I explain why I feel it is important, and whether or not it is truly essential or just "nice to have." I've also listed the current price where applicable, which might help with regards to budgeting.

A note to developers getting starting their own firms: While many of the products and services listed here are important, it is possible to be quite successful without them. When you are starting out, it is important to spend wisely. However, when it comes to purchasing the products and services on this list, don't think of them so much as expenses, but instead think of them as investments. It really doesn't take very much to get started!


FileMaker Pro 10 Advanced
FileMaker Pro 10 Advanced is the only absolutely essential tool for every professional developer. This is FileMaker's flagship product, used to design, develop, and maintain FileMaker Pro databases. Be sure to spend the extra money for the "Advanced" version of FileMaker Pro, which includes all of the functionality of the standard version plus advanced features that really will make a world of difference when it comes to doing advanced development (including support for custom menus, importing multiple tables at once, a script debugger, the data viewer, the ability to generate database design reports, and more).

Importance: Absolutely Essential
Price: $499 (full) or $299 (upgrade)
Info: http://filemaker.com/products/fmpa/index.html?nav=products-pro-advanced


FileMaker Training Series (FTS)
FTS is a collection of self-paced training modules that reflect the the official training curriculum of FileMaker, Inc. FTS is available directly from FileMaker Inc, and includes both a printed and digital copy of the FTS materials. Regardless of whether you plan to become a FileMaker Certified Developer or not, FTS is an ideal way to learn more about FileMaker -- even if you happen to be a long-time user of FileMaker Pro.

Importance: Essential
Price: $99, $49.50 for TechNet Subscribers
Info: http://filemaker.com/support/training/fts.html


FileMaker Certified Developer Status
While this isn't a product or service, getting certified as a FileMaker Certified Developer seems to be a key to the success of many professional developers. This is an industry-recognized credential, and a perfect way to gain recognition as a FileMaker expert! (Ironically, as important as I feel this is, I have yet to take the certification exam! Uggh! But I'm taking in a couple of weeks -- wish me luck!)

Importance: Essential
Price: $150 for the exam, offered at over 3,000 Prometric testing locations worldwide
Info: http://filemaker.com/support/training/certification/index.html


Subscription to FileMaker TechNet
"TechNet" is FileMaker's very own online community of FileMaker Pro developers, designers, and users. Through this paid service, you get access to exclusive technical information (white papers, tech briefs, etc), software (including a development license for FileMaker Pro Server Advanced), and discounts on other FileMaker Products (including the FileMaker Training Series materials). But the most valuable resource that you get access to is the online forum that other TechNet members participate in. Here, members can post questions and ask for advice, share ideas and concerns, collaborate with other developers, learn about great tips, and much, much more. Membership is only $99 per year, and I can tell you first hand that this service pays for itself.

Importance: Essential
Price: $99 per year
Info: http://www.filemaker.com/technet/index.html


FileMaker Server 10 Advanced - Developer Version
If you are planning on doing FileMaker / Web integration work, then you're going to need access to either FileMaker Pro Server or Server Advanced. For custom web publishing (using PHP or XSLT) you'll need FileMaker Server 10. For instant web publishing you'll need FileMaker Server 10 advanced. The problem, of course, is that FileMaker Pro Server doesn't come cheap. FileMaker Server 10 is $999 for a full copy, and $599 for an upgrade. FileMaker Server 10 Advanced is $2,999 for a full copy, and $1,799 for an upgrade.

However, as I mentioned earlier, with a TechNet subscription you get access to a Developer Edition of FileMaker Server 10 Advanced. This is a special, test-only license that gives you access to all of the functionality of FileMaker Server 10 and FileMaker Server 10 Advanced. The only limitation is that the license can only be used for testing and development purposes, and only allows you to develop and test shared solutions with FileMaker Pro clients and/or 3 web-based clients.

Importance: Essential
Price: Free with TechNet Subscription
Info: http://filemaker.com/technet/dev_license.html


FileMaker Pro 9 Bible by Ray Cologon and Dennis R. Cohen
If I had to recommend a single FileMaker Pro book that would most likely meet the needs of just about any FileMaker Pro user (regardless of their skill level), my choice would be FileMaker Pro 9 Bible by Ray Cologon and Dennis R. Cohen. I admit that I was never much of a fan of the previous FileMaker Pro Bibles, and was somewhat reluctant to give the latest version a try. But this is a complete re-write of the book, not just an update to the older editions. Ray Cologon has done a tremendous job with this book, covering topics that will appeal to beginner and advanced users alike. In fact, there are some topics covered in this book that I have yet to see covered anywhere else. Want to learn about the separation model? It's in here. The anchor-buoy graph technique? It's here. If you only have money in your budget to buy a single book on FileMaker Pro, this is the one to get!

Importance: Essential
Price: $39.00 list, $27.00 discounted online
Info: http://www.amazon.com/FileMaker-Pro-Bible-Ray-Cologon/dp/0470177438/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid=1233612120&sr=8-1


Web Publishing with PHP and FileMaker 9 by Jonathan Stark
Another question that I get asked (almost weekly, it seems) is: "I want to learn about Web publishing FileMaker Pro databases with PHP. What book should I get?" And anyone who has ever asked me this question has always gotten this answer: Pick up a copy of Jonathan Stark's "Web Publishing with PHP and FileMaker 9." This is the book that I wish had been around when I first started with PHP and FileMaker Pro Web development. While you don't absolutely need to know about HTML and PHP (as Jonathan does a great job of covering most of the basics anyway), having a Web background does help. But it is Jonatahan's detailed, yet engaging approach to covering the key aspects of the FileMaker API for PHP that makes this book so valuable. The code, and his examples, are easy to follow, and can be easily applied to your own projects. If you're looking to learn more about PHP and how to use the API to build dynamic, FileMaker-driven Web sites, then this book is exactly what you need.

Importance: Essential
Price: $34.99 list, $23.09 discounted online
Info: http://www.amazon.com/s/ref=nb_ss_b?url=search-alias%3Dstripbooks&field-keywords=Web+Publishing+with+PHP+and+FileMaker+9+by+Jonathan+Stark&x=0&y=0


SmartPill PHP Edition by Scodigo
There are so many powerful, valuable, helpful FileMaker Pro plug-ins available today that make our lives as FileMaker developers so much easier. These extensions to FileMaker Pro allow us to build solutions that we might not otherwise be able to build. And while there are a number of plug-ins that I think every developer should own, the one that has proven the most valuable to me is Scodigo's SmartPill PHP Edition.

The reason: While SmartPill is a single plug-in, it packs the punch of a whole slew of other plug-ins. With it, you get access to the functionality of PHP, so if you can do something with PHP (and there isn't much that you can't do with PHP these days!), with SmartPill you can do it directly within FileMaker Pro. "Like what?" you ask. Well, how about sending and receiving email messages. Sending files to and receiving files from FTP servers. Consuming Web services. Encrypting and decrypting data. Reading from and writing to zip files. The list goes on and on. Got money for a single plug-in? Buy SmartPill!

Importance: Essential
Price: $89 for a single user license (quantity discounts, site licenses, and developer pricing also available)
Info: http://www.scodigo.com/


Subscription to FileMaker Advisor Magazine
FileMaker Advisor is the only print magazine that covers FileMaker Pro in depth. If you want to learn about what's hot -- and learn from some of the top FileMaker Pro experts around -- then you need to get your hands on this magazine. It is full of tips and tricks, in-depth "how-to" articles, product reviews, and more. And while it is a bit on the expensive side (at around $99 per year), it is the only magazine of its kind.

Importance: Somewhat Essential
Price: Starting at around $99 / year
Info: http://my.advisor.com/pub/FileMakerAdvisor


MacBook Pro
Need a machine to do your FileMaker Pro development work? My recommendation is Apple's powerful, versatile, and reliable MacBook Pro. Regardless of whether you're a "Mac guy" or a "Windows guy," there are several compelling reasons to choose a MacBook Pro as your primary development machine. First of all, it is portable. Being an independent developer, I find myself almost always "on the go" -- a "mobile warrior" if you will. With the MacBook Pro, my office travels with me, and that is very important when it comes to servicing my clients. Equally important is the fact that, with virtualization software (such as Parallels or VMware -- see below), you can run Windows on your Mac, and essentially work on two platforms at once. This becomes very important when working on a project where the users are using both Windows and Mac-based machines, allowing you to easily test your solutions in both environments.

But perhaps the most important reason that I recommend using a MacBook Pro (or any Mac for that matter) is that they simply work! Sure, MacBook Pros are a little on the expensive side (with 15-inch models starting at around $2000), but they are worth every penny of it. With a Mac, there is no need to configure this and reconfigure that. Simply turn it on, and get to work!

Importance: Nice to Have
Price: 15-inch models start at $1999, 17-inch models start at $2799
Info: http://www.apple.com/macbookpro/



Virtualization Software (Parallels or VMware Fusion)
As I mentioned earlier, being able to test your solutions (whether they be pure FileMaker Pro-based solutions, Web-based solutions, or a combination of the two) in both the Mac and Windows environments can be very important. If you're using an Intel-based Mac, the easiest and most convenient way to do this is to use virtualization software, which lets you run Windows-based applications on your Mac.

The two leading products that provide this functionality are Parallels and VMware Fusion. Both have equally passionate users who will go on and on about the pros and cons of each product, so you should do some research to determine which one best meets your needs. (I use Parallels for no other reason than I am familiar with it.)

Importance: Nice to Have
Price: $79 for Parallels, $79.99 for VMware Fusion
Info: http://www.parallels.com/ and http://www.vmware.com/products/fusion/


One last thing...

FileMaker DevCon
Again, not necessarily a product or service, and not necessarily "essential" (although some might disagree!). But if you have the opportunity to attend DevCon, I highly recommend that you do. This is the premier event for the FileMaker community. Surround yourself with fellow FileMaker professionals and enthusiasts, learn from the experts, and have fun -- all at the same time! If you think you're "into" FileMaker now, wait until you get back from DevCon!

Importance: Nice to Have
Price: $1495 ($1295 if you register early), plus travel, lodging, etc.
Info: http://www.filemaker.com/developers/devcon/index.html


Do you know of a product or service that you think is essential? Let us know!