MightyData

FileMaker and WordPress Consultants

  • Company
    • About
    • Contact
    • Team
    • Artists
  • Services
    • Consulting
    • Development
    • Our Process
    • Coaching
    • Training
  • Results
    • Customers
    • Success Stories
    • Testimonials
  • Blog

Getting Faster: Installing Multiple Instances of FileMaker

August 15, 2012 by Darren Burgess 16 Comments

Multiple FileMaker installs on Mac OS

As you may have guessed by now, I love working in an optimized environment, designed for getting the crud out of the way so that I can focus on development. Just like a carpenter needs to not be thinking about the hammer, or the painter about the mechanics of the canvas, my computer and its operating system need to fade into the background, almost as if they were not really there at all.

Have you ever, in the course of working with a database, needed to do a long import, export or other time-intensive task?  For example, I have worked on a very large solution recently that required 4 hours to import the DDR into BaseElements. Not wanting to lose an entire 1/2 day to the task, I needed a solution where I could both perform the import and continue working on other projects.

More Than One Install

The best solution to this conundrum is to simply have more tools available. In this case, since I have two legal licenses of FileMaker 11 available to me, I have installed the application twice on my development machine.

Multiple FileMaker installs on Mac OS

Here are the steps to do so on Mac OS X:

  1. Rename the current installed version folder of FileMaker Advanced (or FileMaker). I used FMA11-A.
  2. Rename the installed FileMaker Pro Advanced application. Again I used FMA11-A.app.
  3. Install FileMaker/FileMaker Advanced again, using the second license key.
  4. Rename the folder and install application for this new installation. (FMA11-B in my case.)

That’s it! Now both versions can be run simultaneously. Note that when performing an update of the FileMaker software, the updater will ask you which installation you want to update. Select an installation, complete the first update, then run the updater again and it will update the other installation.

Two Tasks At Once

I can run that ginormous DDR import on one instance and be happily developing a solution on the other. It also means you can have two Manage Database windows, two data viewers or two script debuggers open at the same time. Or even two separate logins (Admin and User for example) into the same solution.

Here is a peek at what this all looks like in Finder.  Just for fun, I created new icons (download) for each of the installations. In OSX, use the finder info pane to change the assigned icon for an application:

Well, the icons are more than just for fun, as they provide a visual cue in the OSX dock and application switcher.  I hope you enjoyed this quick tip for setting up a more efficient FileMaker development environment.  I’d love to hear about your super-secret tips and tricks in the comments.

Filed Under: Rapid Development Tagged With: Demo file, FileMaker 11, Productivity, Software tools

Getting Faster: Multiple Monitor Setup

August 3, 2012 by Darren Burgess 11 Comments

Multiple monitors for productivity

As a FileMaker developer with a focus on delivery of high-value solutions as quickly as possible, I always look for ways to enhance my development environment to optimize speed and efficiency. As you can imagine, there are multiple tools that I need immediate and reliable access to throughout my development day.

Multiple monitors for productivity

Here are just a few of the resources (i.e. application windows) I need at my disposal:

  1. The FileMaker solution I am working on (potentially 1-6 windows at once)
  2. DataViewer and Script Debugger
  3. Manage layouts and manage scripts
  4. A text editor (usually TextMate)
  5. My development reference library
  6. Mail.app
  7. Safari
  8. BusyCal
  9. iChat
  10. OmniFocus
  11. Word/Excel

…and any number of other applications as needs dictate. Managing workflow with this many applications active requires a consistent environment. I need to be know where things are and be able to access them with as little friction as possible.

My Monitor Setup: 5 Screens

This is where a multiple monitor setup helps increase efficiency and allows me to focus my attention while simultaneously monitoring communication tools so that I can respond to immediate needs.

I current have 5 screens:

  1. 27″ Apple Thunderbolt Monitor
  2. 15″ Mac Book Pro
  3. 22″ LCD Monitor
  4. 24″ LCD Monitor
  5. iPad

In order to connect the LCD monitors, I use two Diamond BVU Display Adapters. These devices allow you to connect additional monitors to a system via USB. It requires one adapter for each additional monitor plus a software driver. The Windows driver is in the box, and Mac Drivers are available for download. They work well, although occasionally there can be screen flicker, graphic artifacts, or blackouts, and video performance is a bit laggy on the USB connected monitors. You will most definitely need a powered USB Hub in order to get all the USB cables hooked up.

With a multiple monitor setup, I can now position all of my application windows in a manner that allows quick access to resources. As a Mac user I make use of Spaces to organize my application windows.  For example, FileMaker and all of its required windows gets its own space spread out across all four monitors. iChat is present in every space on a secondary LCD. While I do move windows around, I try to maintain a set place for different windows so I know where they are. And, if my windows become disordered, I use the free application Display Maid to restore window positions and sizes in every space with a single keystroke.

My goal is to reduce and remove all friction in the environment so that I can focus on delivering high-value applications to our customers in the fastest manner possible.

Filed Under: Rapid Development Tagged With: Productivity, Software tools

More Reference Tools

June 29, 2012 by Anders Monsen 2 Comments

Reference guide in FileMaker Pro

The recent post from my fellow MightyData developer, Darren Burgess, caused me to reflect on my own developer reference tool. This is a tool I built using FileMaker, since there were times I needed the function reference offline, or without a floating help window. I built this tool a few years ago starting just with calculation functions, then adding more reference sections to keep everything in one place.

The tool went through some minor revisions the past few years. I added all script steps, a list of script triggers, a layout where the script triggers are spoken so I can get a sense of the flow or order in which they are fired, a list of all FileMaker errors, the fmsadmin commands, all the various system limits, ports for server, modifier keys, script trigger code numbers, and some keyboard shortcuts. As I came across something in FileMaker that I used and could be organized, I added it to my reference.

My Custom Library

As developers we tend to build our own code libraries and reference tools. In the past, I’ve stored my various libraries and notes in different places, from text documents to web pages, to MySQL databases and ftp folders. When I built my FileMaker reference it started small: I wanted to keep track of a few commonly used functions and examples so I could quickly re-use them. Once I started to add in the native functions, I found I couldn’t stop, and soon I had all the functions. Since these are available in the FileMaker help file, one might ask, “Why bother?” I preferred a simpler interface, and one I could manage myself.

This tool is comprised of individual tables for the sections, such as functions and scripts. Rather than store everything in one table, and make adjustments as I add types, I decided to keep all my types or categories separate. There is a simple dashboard interface that lets me jump to the various areas to quickly look up information.

Reference guide in FileMaker Pro

Developing this tool in FileMaker lets me experiment with several things, but as it’s a spare time effort, it remains continually under construction. Some of the information is basic – port numbers or error codes. Script steps are organized by type, with a goal of some day showing all the parameters so there no longer is a need to create a new script just to see these parameters. Rather than bringing up the Terminal and looking through the help, I can see all my notes at once.

Reference guide for FMS command line

Calculation Functions

Calculations often require trial and error. I set up the functions reference area so that I could test most functions without opening the Data Viewer, by evaluating the Code field (see below). This simplified method lets me quickly test some basic functions, and add notes as I come across certain behaviors or short-cuts. Though crude and limited compared to the Data Viewer, I’m able to extend this where the Data Viewer doesn’t work, such as FileMaker Go.

Reference reference for calculation functions

While not yet fully Go compatible, I ported over a version to FileMaker Go the moment this became available, giving me a reference-on-the-go. The smaller interface requires adjusting some features. The dashboard becomes more to the point. The space for notes no longer available, I considered using Show Custom Dialog. This does show more text while on the same record, but doesn’t allow editing. Still, having a quick reference in my pocket can be useful.

Wrapping Up

Reference guide on the iPhone

Although I’ve not added any FileMaker SQL references like Darren did with his Notational Velocity example, that seems like the next logical step. The key for any reference is to be comprehensive and useful, and as such my small tool cries out for a SQL section with examples.

As with every tool, there are pros and cons to building this reference tool in FileMaker. If I’m in the middle of something in another FileMaker solution, I cannot always get out of a modal window to check my reference. On the other side, I can experiment with design and interface using FileMaker, and as it’s my personal tool I can leave the mess unattended or shove it under a rug for another time. I think quite a few FileMaker developers have built their own reference tools. We have books, use the Internet for searches, but oftentimes we want to turn to something we use daily and assimilate the external knowledge into the familiar.

Filed Under: Rapid Development Tagged With: Development standards, Software tools

Getting Faster: Create a Development Reference

June 21, 2012 by Darren Burgess 1 Comment

Calculation functions in Notation Velocity

As a developer looking to deliver projects to my customers with the highest value, I am constantly looking for ways to increase my development speed. To that end I have created a developers’ reference library using a handy (and free) little application called Notational Velocity.  NV is an OS X application that allows for rapid creation and search of notes. While I have not tested such, apparently ResophNotes is an equivalent Windows application.  Both applications sync with SimpleNote, so you can get your notes on the web and on an iOS device.

Notation Velocity Library

NV uses a search-while-you-type field to allow you to search your database of notes. If the application does not find a match, you can simply hit enter and it creates a new note with the title you typed in the search field. Notes are stored as text files in a directory of your choosing and the app provides the necessary keyboard shortcuts for the power user.

SQL reserved words in Notation Velocity

My NV library currently has about 300 entries that include:

  • All of the FileMaker error codes
  • About half of the calculation functions
  • Various tested SQL statements
  • SQL reserved words
  • Commonly used calculations

Naming Conventions

Using naming conventions helps to organize the library. For example,  the FileMaker calculation function notes are named “fmfk” + FunctionType + Function Name, so that I simply can type “fmfkdes val” if I want to find the note regarding the ValueListIDs function:

Calculation functions in Notation Velocity

Hint: NV stores notes in a database in the application support folder on OSX. In preferences, you can change the location and choose to store the notes as plain text files.

My Development Library

So, who wants to collaborate on building a more comprehensive reference library?  I would be happy to share what I have created so far.  We could expand the library to include:

  • FileMaker Server error codes
  • The balance of the calculation functions
  • Windows and Mac keyboard shortcuts
  • Port numbers
  • Script steps
  • And more

You can download the current version of the library below.  If you have a suggestion to add to the library, please post a comment below.

20120626 Developers Reference

Filed Under: Rapid Development Tagged With: Demo file, Development standards, Notational Velocity, Productivity, Software tools

6 Text Editors for PHP Development – Part 3

July 6, 2011 by Anders Monsen Leave a Comment

BBEdit preference options, editing tools and keyboard shortcuts

This is the third in a 3-part series.

To conclude this series, we continue with the best paid Mac apps available. (See Part 1 and Part 2.)

BBEdit 9.6

I’m slightly prejudiced here as I’ve been using BBEdit for pure text editing since the mid 90’s. Habit breeds comfort. The big brother of TextWrangler, BBEdit costs $99.99, and has been around a long time. In areas it clearly shows its age, especially in the UI. It can be somewhat intimidating for the new user, and debugging errors can take time, indicating the need for better debugging tools, a topic for another time.

BBEdit has a vast array of keyboard shortcuts, and you can add your own. You also can create text clippings that can be invoked by typing the first characters of the file name in which you saved the clipping, which saves considerable time. Code intelligence speeds up development, but some of the word suggestions can be annoying (though this can be turned off). Balanced braces are not added automatically, but you do get hints when they are balanced, and you can select them to make sure they do balance.

Sometimes when writing a function in FileMaker with nested brackets, I’ll bring the function into BBEdit to verify the “(” are all balanced with a matching “)” – a feature I wish FileMaker had in the calculation dialog. BBEdit lets you either open documents in a drawer – no tabs – or independently. The latter is nice when you want to stack documents to compare them side by side. You can do this manually or have BBEdit show differences between the frontmost two documents. Although compared to new apps and IDEs, BBEdit seems somewhat old school, it remains my go-to tool for clean editing with lots of power, but minimal frills.

BBEdit preference options, editing tools and keyboard shortcuts

Coda 1.7

Costing $99 (about the same as BBEdit), Coda looks and feels far sleeker than the venerable Bare Bones product. Created by the same people who make Transmit, Coda bills itself as an all-in-one development environment, with text editing, project management through what it calls “sites,” CSS design, Terminal access via SSH or local shell, and reference books. Coda’s UI is seemless. The Clips palette floats on the screen. You can split the main editing window multiple times, not just once like in BBEdit, and you can split vertically or horizontally.

The code completion comes with the reflexes of a cheetah. Adding new styles to CSS documents is a breeze. You can work locally or remotely, or work locally and publish to a remote host through the Sites. I wish it would default to open the site files in the navigation panel, and not just the last stored open tabs, but this is quickly fixed in the preferences.

Coda opening a site and all the associated files

Conclusion

I believe that the app you choose will generally reflect your personality. People with PHP experience who already have their favorite app won’t be swayed by any opinions above. After going through each of these six apps side by side I found some that complement each other, and some that make me consider my current choices. I’ve listed the version numbers next to each app, as things change over time as new versions are released.

Some other editors worth mentioning include SubEthaEdit, a great collaborative tool; the Java based jEdit ; Smultron, formerly free and now available at the Mac App Store for $4.99; Gnu Emacs a cross-platform tool based on Lisp; Bluefish Editor, with both native and Macports flavors.

TextWrangler is the minimum app one should have for any text editing. KomodoEdit, for the amazing cost of $0, is the next choice for day-to-day work. Coda’s UI is modern and self-contained, and for a relatively new app it is hard to resist. BBEdit works well for heavy lifting – searching multiple documents, comparing data, but shows its age. I’ve used it so long, I always held the belief that you could take it away when you pry it from my cold, dead fingers. I know people who feel the same way about EMACs and other text editing apps.

Whatever your ultimate choice, writing PHP code can be frustrating, time-consuming, and yet ultimately rewarding as you see patterns and discover shortcuts. Taking the time to become familiar with one or two text editors ultimately will save you hours of effort over time. Creating code snippets and storing these for further use via BBEdit, for example, almost makes me blush every time I call them with five or fewer keystrokes.

To learn more about building web pages to display FileMaker data using PHP, check out my PreCon session at FileMaker DevCon, Core Elements of PHP for FileMaker, Tuesday, August 2nd at 1:30pm.

Filed Under: Web Development Tagged With: PHP, Software tools

6 Text Editors for PHP Development – Part 2

June 29, 2011 by Anders Monsen 6 Comments

UltraEdit editing window with Function List and Tag List

This is the second in a 3-part series.

In my previous post, I covered a couple of free applications. In this installment, I look at two paid text editors, both with strong caveats.

UltraEdit 2.1

UltraEdit presents another clean, cross-platform option, albeit one that is not free. When I opened the app the first time, it hijacked all .php and .css files and made itself the default application. I prefer a choice in the matter, and although it took seconds to switch back, this was annoying. UltraEdit comes with a 30-day trial, and costs $59.95 for a full license.

You can open multiple files in a tabbed view. Line numbers are on by default, and color-coding manages PHP and HTML side by side. Find and Replace actions are separated via tabs in the Find and Replace window. You can create project workspaces or work with independent documents. If you have the screen real-estate you can display a variety of views, from files to function lists. This tool might be one to grow with and make the transition to an IDE easier. It also has a Windows feel to it, so if you’re making a transition to the Mac from Windows there might be a comfort factor here. I don’t know if UltraEdit stands out enough from the other apps to make me adopt it as a daily tool, but it’s still a strong app to consider.

UltraEdit editing window with Function List and Tag List

TextMate 1.5

TextMate‘s strength appears to lie in managing projects, or possibly other development languages like Ruby on Rails, not so much PHP. One very nice feature is that the project window lets you drag and drop a folder into the drawer, and you instantly have access to all the files. Each file you select opens in its own tab.

There are pros and cons with tabbed text editor views. The main advantage is real-estate, as you keep all windows within the application. The disadvantage comes when you want to compare documents side by side. Inside each document the color-coding shows up nicely, along with shaded areas where you can fold the code between matching tags. Line numbers were not apparent in the document, only the footer line. Also, the preferences in TextMate are sparse.

The biggest downside for the new PHP developer is dealing with code completion. In TextMate this requires that you start typing and then press the ESC key. The function still does not fill in the parameters. For example, in_array just codes as red text and contains nothing after the term. Possibly there are ways to enhance this through some additional programming. After seeing other FileMaker developers advocate for this tool, I’ve tried several times to get comfortable using with no success.

You can download a 30-day trial version. The cost for TextMate is $57. I expected something more for the price so I can’t recommend this for PHP development.

TextMate Start-up screen with drag and drop hot-spot

In comparing these two paid apps to the free ones in my previous post (TextWrangler and KomodoEdit), both in my opinion fall somewhat short. As I see it, these types of apps should be relatively intuitive, but both UltraEdit and TextMate made me spend time cleaning up, or finding features and ways to use them. In the next post I cover two additional paid apps, both with fewer limitations than these.

Filed Under: Web Development Tagged With: PHP, Software tools

6 Text Editors for PHP Development – Part 1

June 27, 2011 by Anders Monsen Leave a Comment

TextWrangler editing window and side-drawer with multiple documents

This is the first in a 3-part series.

Anyone new to PHP development with FileMaker will need a text editor application to write the PHP, HTML, CSS, and other code outside FileMaker. In this series of three posts, I’ll review some of the better-known text editors for the Mac OS. I researched this information to prepare for my PreCon session at FileMaker DevCon, Core Elements of PHP for FileMaker, Tuesday, August 2nd at 1:30pm.

I’m not necessarily talking about “best practices”. For full-time PHP development, you would typically use an integrated development environment (IDE) with revision control and project management for local and remote files. However, an IDE is a major investment in learning (and in some instances money), and the leap to a fully-fledged IDE rarely happens all at once.

Most users start off with an advanced text editor that still has rich features to help with development. I’m not going to cover all available applications, only ones which I have used over the years. The six apps that I will review are sufficiently different, and users will develop their own preferences; in some cases it may be useful to have more than one available. As I do most of my development in the Mac OS, all the tools I mention are Mac-oriented, though two of them are cross-platform.

Although every Mac comes with TextEdit, it is far from ideal for reasons because it lacks “code awareness.” For example, it does not have color-coding, so you can see the code on the screen at a glance (PHP vs. HTML), or element recognition, the type of elements in each language (function vs. string). Also, TextEdit tends to save documents in Rich Text Format (RTF).

Still, free is good, and two of the six apps I cover are free. These free apps have virtually all the features that you need, and one in particular is worth as much as some of the paid apps.

TextWrangler 3.5

One of the first things I do when setting up a Mac web server is to install TextWrangler. Made by Bare Bones Software, who also make BBEdit, this application is perfect for development at zero cost. It comes with many of the features as its big brother, such as multi-file search, document comparison, color coding, and a vast array of keyboard shortcuts. There is no code complete or clippings (although you can store documents in a Text Factory folder). I would hesitate to use TextWrangler for large projects, but it’s perfect for quick work.

TextWrangler editing window and side-drawer with multiple documents

KomodoEdit 6.1

A quantum leap from TextWrangler is the cross-platform app KomodoEdit. I first heard about it from MightyData’s own Visionary of Value, Kirk Bowman, while reading through the DevCon materials from his session on PHP and FileMaker in 2009. Free and cross-platform? What’s not to like? I’ve promoted this app in my own classes on PHP and FileMaker because of the instant value.

Clearly, the people who developed this software see it as a gateway to their full-fledged IDE, and they advertise this option in the Start Page when you launch the app. The default extension is a text file, but a simple change in the preferences and your new documents are created with .php extension instead.

KomodoEdit is like a mini-IDE, handles project management quite nicely, and even debugs code within the document (to some degree). If you make a common beginner mistake such as leaving off a semi-colon, the area around this gets a red underline to alert you that something is wrong. You can split the text window (like Excel), code folding is intuitive and visual, and the preferences allow a great deal of fine-tuning.

KomodoEdit is hands down the best free text editor for the Mac, and even better than several paid apps. I have on occasion run into strange issues with inconsistent color-coding. Also the soft-wrap option adds a distracting character on the right side of the screen when text wraps. But these are minor issues. And did I mention that it’s free?

KomodoEdit start page

Filed Under: Web Development Tagged With: PHP, Software tools

Inspecting Inspector Pro

April 29, 2011 by Kirk Bowman 5 Comments

Searching for dormant calculations in Inspector

Recently I presented Inspector Pro by Beezwax to our development team during our weekly Innovation Meeting. Most of our team is familiar with BaseElements by Goya and I wanted to expose them to another tool. Personally, I have been using Inspector since it was called Analyzer in the FileMaker 6 days. As a result, I am very comfortable with the user interface of Inspector. (For the record, I use both tools equally although each has different strengths.)

Before I go further, I need to point out two things. First, “Inspector” is also the name of the palette to change element properties in FileMaker Pro 11. This article is not about that. Second, to use Inspector (or BaseElements), you need to have FileMaker Pro Advanced (FMPA) to generate a Database Design Report (DDR). The XML version of the DDR is imported into Inspector to create an analysis of the database.

Key Features

Inspector Pro 3.0v2 was released in March, and as a long time user, I was excited to see what changed in this new version. Of course, Inspector provides standard features like list and details views, a search interface, and reports for the elements in your database. Rather than a comprehensive review, my purpose is to highlight 10 features that caught my attention.

  1. Native FileMaker Finds – Inspector uses a custom interface with Quick Find and portals to display elements in your database. Now they have added “Raw Data” views so you can search the elements using native FileMaker finds.
  2. Find Dormant Calculations – A dormant calculation is one that has been disabled by turning off a field option (like Auto-enter by calculation) or changing the field type from Calculation to something else. On the Calculations screen in Inspector, you can enter “Dormant” in the Quick Find to view all the dormant calculations.
    Searching for dormant calculations in Inspector
  3. Apply Security Perspective – Inspector imports the settings for the Privilege Sets as part of the DDR. On the various screens, you can see what the effect of a specific privilege set is by selecting one from the Security Perspective drop-down.
  4. Display Changes Inline – If you have analyses of two versions of the same database, you can display the changes for a specific element “inline”. My only concern with this feature is it seems to require significant processing as it takes a few seconds to display (although it could be my computer).
  5. Script Step and Function Reports – These reports display an inventory of the script steps and calculation functions including how many times each is used. This is helpful to see, for example, how much the database uses If vs. Case.
    Calculation functions report in Inspector
  6. Index Percentage Report – This unique report shows the percentage of fields that can be indexed and the percentage of fields that are indexed by table. It also includes a bar chart for visual reference if you run Inspector using FileMaker (not the runtime).
  7. Script Trace Report – This report shows the entire code for a parent script, including subscripts with indentation, in one document. This saves having to jump in and out of multiple script windows in FileMaker.
  8. Open with FileMaker Go – If you host the database with FileMaker Server, you can open Inspector using FileMaker Go on the iPad. This is helpful if you need to review an analysis and you do not have enough screen real estate.
  9. Customize FileMaker Go Compatibility – As I write this article, FileMaker Inc. (FMI) has released FileMaker Go 1.2. Not only does Inspector show FileMaker Go compatibility when viewing scripts, it includes preferences so you can update the status of compatibility when FMI release a new version of FileMaker Go.
  10. Customize Detection and Comparison – Inspector also has preferences to customize how issues are included in a Detection Report and which elements are included in a Comparison Report. This is very useful if you only need to review certain elements types.

Also, Beezwax has setup a Wiki for the documentation including tutorial videos for some of the key features. Both the help text and the videos are useful for learning how to get more out of Inspector.

I continue to use Inspector each time I start to work with a customer who has an existing solution. Having this tool in my toolbox helps me get the best perspective on the database and ultimately, the customer.

Filed Under: Rapid Development Tagged With: Software tools

Let’s get started on your project.

It will be more fun than you think.

Get in Touch

  • Company
  • Services
  • Results
  • Blog

Copyright © 2023 · Parallax Pro Theme on Genesis Framework · WordPress · Log in