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 Publish Alicia's Stuff workflow

Summary: Alicia has her own library of creative assets she has made, for her coworkers to use. She uses iGet and Automator to ensure her coworkers around the world always have her latest stuff available on their local networks.

Background Story

Alicia is a designer and illustrator. Sometimes, she is called upon to work on specific projects, but a lot of her time is spent just coming up with stuff that looks cool. She might do a logo treatment a few different ways, put together a video montage, or do some T-shirt designs.

The way the art department at her company works, everybody is constantly checking out what everybody else is doing, trading and critiquing new creations, grabbing somebody else's work and running with it. But that gets harder when your team is spread all over the world. Alicia wants to make her stuff available, but not every little thing she creates is worth emailing a bunch of people scattered across Europe. She wants something to make her "portfolio" available to anybody who wants it, without having to think about it.

If she were a writer, she could just have an internal company blog. People could check it out if they wanted. But her medium is different. She creates QuickTime movies, Illustrator files, OmniGraffle layouts, and more. Files get huge. Sometimes they aren't even files at all, but Mac packages. Alicia uses Finder label colors like they're going out of style, and some of her older programs even still use the Mac resource fork for critical data. You can't just browse this stuff on the web, and a lot of it you can't even download with a web browser—you lose the forks, metadata, labels, and thumbnails. You have to zip it first.

Alicia solved her problem with an iGet Automator workflow. Nowadays, she just tosses her finished (or even half-finished) work into the "Alicia's Stuff" folder on her MacBook. Every night, her workflow is "published" to her colleagues around the world. Her latest stuff gets sent to the Macs she specifies. iGet's robust file transfer system can handle the huge files, but it's also smart enough to skip the files that already exist on the remote end. When she tweaks one, though, iGet notices that the local file is newer and different from the older version they might already have in London. Her workflow instructs iGet to move the older file on the remote Mac to the trash, and upload the newer one in its place.

The end result is that any co-workers who is interested can have their own up-to-date copy of "Alicia's Stuff" on their own Macs.

What does the Publish Alicia's Stuff workflow do?

For each coworker's Mac that Alicia has specified, it:

  1. Connects to the remote Mac securely, using the account set up for Alicia
  2. Uploads the "Alicia's Stuff" folder from her Mac to the coworker's Mac
  3. Skips files that already exist on the remote Mac, if they are the same
  4. Moves files that already exist on the remote Mac to the trash, if they aren't the same as the current version that Alicia has on her Mac.

Step 1. Get Specified Finder Items

This workflow action comes from the Finder, allowing you to select files and folders to be passed to the next step in the workflow. In this case, Alicia selects only one item, her "Alicia's Stuff" folder. This is the special folder that she puts all the work she wants to share into, and the only local folder used by this workflow.

Step 2. Upload Items

This workflow action comes from iGet, and is how you tell iGet to upload items to remote Macs. Alicia will use a sequence of this action, so she can upload her stuff to a few different Macs. Here, she specifies the following options:

screenshot of Alicia's workflow

Remote Host: Alicia enters the hostname of the remote Mac (fictionalized in this example).

Username: Alicia enters the username for her account on the remote Mac.

Password: Alicia does not specify a password, because she will use the password stored in the Keychain.

Port: Alicia leaves this blank (the default value, 22, is shown in grey). She would only need to change this value if the remote office was using port forwarding, or otherwise required her to use a custom port number to access the remote Mac.

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.

Step 3: Upload Items

This is exactly the same as the previous step in the workflow, except that Alicia specifies a different remote Mac, and in this case a different remote folder to upload her stuff into. Because the Upload Items workflow action outputs the same set of files that it takes as its input (that is, the local files that were uploaded), it can be chained together like this. Whenever somebody new becomes interested in getting a copy of Alicia's work, she can just add another action to the workflow in this manner.