NOTE: This website is obsolete. Nakahara Informatics, Inc. is no longer operational. This website has been preserved for historical interest, essentially as it appeared at the time of the last update (October 22, 2008), and the software available on this website may be used for free. However, there is no warranty of any kind, and these apps no longer work on modern OS X systems. Therefore, this may not be useful, except to historians and tinkerers resurrecting legacy systems.

The Mike's Install on All workflow

Summary: Mike uses iGet and Automator to make drag-installing the latest version of applications onto a dozen Macs as easy as doing it on just one Mac.

In his family, Mike is the resident "computer guy".

"It's a drill I've done a thousand times," say Mike. "Download the latest version of Firefox, and drag it to the Applications folder. Hmm, this update fixes some security bugs; better throw it on Mom's iMac upstairs, too. And you know there's no way my sister is going to update her computer on her own; better make sure to check that the next time I am at her house. Oh and what about Uncle Bob, and my buddy Jesse, and... there's just no end to it."

With iGet and a simple Automator workflow, Mike can install apps on a whole bunch of Macs in one step, whether they are in his house or across the country.

"It simplifies a task I do all the time, and helps keep everybody up to date," he says.

For convenience, Mike saved his workflow as a plug-in for the Finder. This makes it available from the Finder's contextual menu.

What does the Mike's Install on All workflow do?

It allows him to select one or more applications in the Finder, then right-click on it and choose his workflow from the contextual menu. That starts the workflow, which then:

  1. Installs the app into the Applications folder on his own Mac (there's no need to use iGet in this case, since he could just mnually drag it to the Applications folder himself, but he does it anyway just to keep it all a one-step process)
  2. Installs the app on his old PowerBook via the LAN
  3. Installs the app on his mom Rhonda's iMac via the LAN
  4. Installs the app on his sister Carrie's G5 via the Internet.
  5. Installs the app on his uncle' Bobs Mac Pro via the Internet.
  6. ...and so on...and so on...

This screen shot shows the workflow in Automator:

Screen shot of Mike's workflow in Automator
Mike's workflow in the Automator editor

Step by Step

This workflow is just a sequence of iGet's "Upload Items" action. Mike saves his workflow as a plug-in for the Finder, so the file(s) passed into the first step of the action are whatever is selected in the Finder when he runs his workflow. The "Upload Items" action is duplicated once for each Mac he wants to install onto. He specifies the following options for the first Mac:

Remote Host: Mike enters the hostname of the remote Mac. In some of these cases case, the remote Mac is in his house on the local network, so he can use the Mac's Bonjour name ("PowerBook") or the ".local" equivalent. In other cases, he's connecting via the Internet, so he must use an IP address or a Internet hostname. (To make the other Macs accessible via the Internet, he's set everybody up with Dynamic DNS or Hamachi.)

Username: He enters the username for the account to use to connect to the remote Mac.

Password: Mike does not specify a password, because he will use the password stored in the Keychain. (He actually relies on SSH public key authentication when connecting to his own Macs, in which case the password setting here is not used.)

Port: He leaves this blank (the default value, 22, is shown in grey), except for the step which installs onto his Uncle's Mac. Because his uncle's wife has a couple other computers, he's set them up with a router that does port forwarding. So for his uncle's particular case, he specifies port 10022.

Conflict Resolution: When iGet starts to upload a file to a remote Mac, and there is already a file with the same name in that location, it tests to see if the files appear to be the same. If not, this is called a "conflict". Normally, iGet asks the user what to do in this case. However, workflows often run without a human around, so this workflow action setting instructs iGet what it should do in the event of a conflict. Alicia wants to replace any existing files with the newest ones she has, so she selects "Move conflicting items to Trash". This causes the file on the remote Mac to be moved to the Trash, and Alicia's version to be uploaded in its place.

Upload to Folder: This is the folder into which the item(s) are uploaded. This folder must already exist. Also, it is worth noting that the path must be an "iGet-style" path, meaning that it starts with the hard disk name, and uses the slash character to separate folders.

That's All!

This simple workflow saves Mike a bunch of time. Each time there's a new Mac he wants to make part of his install group, he just adds a new "Upload Items" step to this workflow.