TweetFollow Us on Twitter

Tiger. Automator

Volume Number: 21 (2005)
Issue Number: 5
Column Tag: Programming

Getting Started

Tiger. Automator

by Dave Mark

In last month's column, we learned a bit about the bash shell, then played a bit with MySQL. I was originally planning on following that up in this month's column with an intro to combining MySQL and PHP. But in between then and now, I ended up moving my baseline machines over to Tiger and, well, I ended up spending just a boatload of time playing with Tiger. So much so, that I decided to postpone my PHP MySQL column for a month so I could write about my favorite new toy, Automator.

Getting Started with Automator

Automator is an application that ships with every copy of Mac OS X 10.4, a.k.a. Tiger. Contrary to popular belief, Automator is not a replacement for AppleScript. Automator is not a scripting environment. Rather, Automator is a powerful sequencer that allows you to sequence a series of commands, called actions, to create a custom workflow.

Still confused? No problem. Let's build a couple of workflows and you'll soon see the power of Automator.

Start by launching Automator. You'll find it just where you'd expect it, in your Applications folder. Figure 1 shows the Automator icon.


Figure 1. The Automator icon.

When you launch Automator, a new, untitled workflow window will appear (see Figure 2). The workflow window is divided into 5 main areas. The upper part of the window is called the toolbar. In the workflow window shown in Figure 2, the toolbar consists of the search field (on the left), and the dimmed Run and Stop buttons (on the right).

Below the search field is the library. The library is a list of applications that support Automator, as well as example and saved workflows. An application is said to support Automator by shipping with its own set of Automator actions. For example, in Figure 2's library, iTunes is selected, and the action list (just to the right of the library list) shows all the actions that shipped with iTunes. Each time you re-launch it, Automator steps through your list of installed applications and rebuilds its library and action lists.

    Want to build your own actions? Check out Ben Waldie's excellent Mac OS X Technology Guide to Automator. The first half covers the details of using Automator. The second half tells you everything you need to know to roll your own actions, in either AppleScript or Objective-C. $14.95 for the eBook, $29.95 for the print book. Here's the link:

    http://spiderworks.com/books/automator.php

    If you've got an existing app and are even thinking about adding Automator support now or in the future, the first thing you should do is make your app scriptable. Making your app scriptable allows/encourages others to write scripts and create actions that incorporate your application into their own workflows. Once people use your app in an essential workflow, they are much less likely to switch to a competing product. Brilliant!

In addition to the toolbar, library, and action areas, the workflow window also features a workflow area and a description area. As you'll see, the workflow is where all the work gets done. We'll build a sample workflow next. In Figure 2, the workflow area says Drag or add actions here to build your workflow. The description area contains a description of the currently selected action. In Figure 2, the description area describes the action Start iTunes Playing.


Figure 2. An untitled Automator workflow window.

Building a Workflow

Nothing will connect the synapses in your brain more than actually running Automator through its paces. Let's build a workflow. Our first workflow will prompt you to select a folder, compress the folder into a .zip archive, then create a new mail message and attach the archive to the message.

In your workflow window, click on Finder in the Library list. A list of all the currently available Finder actions will appear in the Action list. Click and drag the action named Ask for Finder Items from the Action list into the workflow area (see Figure 3).


Figure 3. Adding the Ask for Finder Items action to the workflow.

As you can see in Figure 3, the Ask for Finder Items action is represented by a subpane in the workflow area. Each action comes with its own user interface and an appropriate description in the description area (lower left area of the window). Each action is numbered. As you can see in the upper-left corner of this action, the action is number 1 in our workflow sequence.

Since we want our action to prompt for a folder, select Folders from the Type: popup menu. I selected Desktop from the Start at: popup so the Finder would start prompting me at the desktop. I changed my prompt to say Choose a Folder: and I left the Allow Multiple Selection checkbox unchecked.

To test this workflow, click on the Run button on the right side of the toolbar (top of window). A panel will appear, prompting you to choose a folder (see Figure 4). Maneuver your way to a folder you like, then click the Choose button. Note that you are only allowed to select a folder, not a file, and that multiple selections are not allowed. Just as you specified. When you click the Choose button, the workflow stops.


Figure 4. This panel appears when you first run your workflow.

Not very exciting, but it does what it was supposed to. It prompted me for a folder. Since Ask for Finder Items is our only action, once we clicked Choose or Cancel, the workflow exits. Sure would be nice to be able to get a bit of feedback, make sure things are running properly. One way to do this is to open the log window. Select Show Log from the View menu. Figure 5 shows my log window after I ran my workflow. Note that the log window is extensible (drag the little dot at the bottom of the window) and that it is wiped at the beginning of each run session.


Figure 5. Automator's log window.

The log window is useful in tracking your progress, but it doesn't really show the result. In this example, it would be nice to get some feedback that Automator got the right folder. Automator provides an action, called View Results, that gives a bit of detail on the values returned by the previous action.

Click on the Automator entry in the library list, then drag the View Results action to the bottom of your workflow. Click the Run button. When prompted, select a folder and click the Choose button. Notice that the View Results action displays (see Figure 6) an AppleScript-looking result that reflects the folder you chose. You can select this text and copy it to the clipboard, if you ever find the need.


Figure 6. Adding the View Results action.

Take a closer look at the area, about 2/3 of the way across the action (from left to right), where the two actions actually connect. Figure 7 focuses in on this area. This area shows the type of data being passed along by the top action and expected by the bottom action. Notice that they match. Both actions are dealing with the same data type. As long as the types match, the data will get passed as expected and everything will end up just peachy-keen. If you pick an action that expects a different data type than you are passing, Automator will flag this by displaying the types in red and barking furiously (well, OK, not that last part). There will be times when you don't care about type mismatches (for example, if you are just ignoring the input) but that glaring red warning sign is really nice to have.


Figure 7. The interface between two actions.

Let's finish off our workflow. In the library list, click on Finder. In the action list, drag the action Create Archive into the middle of your workflow, below Ask for Finder Items but above View Results. Note that Automator automatically renumbers your actions so Create Archive becomes number two.

Figure 8 shows my version of the Create Archive action. Notice that this action features an Options disclosure triangle, which I've opened. Not all actions have Options. Worth looking for it, though. The Show Action When Run checkbox lets you customize the action's user interface, having the action prompt you for some or all of the settings instead of using the settings you specify.


Figure 8. The Create Archive action.

If you run the action again, you'll be prompted to choose a folder and that folder's contents will be saved as a .zip archive.

Let's add one last action. In the library, select Mail. In the Mail action list, select New Mail Message. Drag it below Create Archive and above View Results. Figure 9 shows my version of this action. Notice the options available to you. Run the workflow. You'll be prompted for a folder, the folder contents will be archived, a new email message will be created with the specified settings and the archive will be attached to the message. Cool beans! Now you're getting a real sense of the power of Automator. I totally love this app. Nicely done, Apple.


Figure 9. The New Mail Message action.

Take a Bow, BBEdit

One thing you'll notice as you look through the library list, is that nestled in among all the Apple applications that feature their own actions is our old buddy BBEdit. By the time you read this, there are sure to be other apps that ship with their own actions, but BBEdit was the first third party application to ship with Automator in mind. Figure 10 shows a list of the BBEdit actions.

Note that you'll need to have BBEdit 8.2 or later installed in order for the BBEdit actions to show up in Automator. Don't have BBEdit? Download the demo from http://bbedit.com. It doesn't suck!


Figure 10. The BBEdit actions.

One Final Example

I know this column is running a bit long, but I just can't help myself. Gotta do one more example. I think this one is very cool.

Start by launching iCal. In the Calendar menu, select Subscribe..., then enter this URL:

webcal://ical.mac.com/ical/DVDs.ics

Now click the Subscribe button. Your calendar should be populated with a new, weekly item called DVD Releases. Wouldn't it be cool if you could access that info in BBEdit? Maybe use BBEdit's actions to format the list in some cool way, then send the list as an email to your DVD-swapping buddies? Well, I'm not going to do all that work for you, but I will get you started.

In Automator, close any open workflows, then create a new, untitled workflow by selecting New from the File menu.

In the library list, click on iCal. Drag the action Find iCal Items to the workflow area. From the Find: popup menu, select Events. Notice that the action name changed to Find Events in iCal. Now make the Whose: sequence of popups read Calendar, then Is, then DVD Releases.

Now drag another iCal item, Event Summary, into the workflow, below the first action. In the For: popup menu, select This Week.

Finally, click on BBEdit in the library list, then drag the action New BBEdit Document to the end of your workflow. Figure 11 shows my final workflow.


Figure 11. The BBEdit workflow.

Go ahead and run the workflow. Note that the Event Summary action can take a while to cook through all the new DVDs. Figure 12 shows the BBEdit window that appeared when I ran my workflow. Note that I have my BBEdit prefs set to soft-wrap at 80 columns.


Figure 12. The new releases in a BBEdit window.

Until Next Month...

There is just so much you can do with Automator. Your assignment, should you choose to accept it, is to clean up the DVD listings. You'll want to take a look at the BBEdit actions Concatenate, Search and Replace (use grep), Delete Lines Containing, and Sort Lines. Of course, there are any number of ways to skin this cat.

Want to learn more about Automator? I already mentioned Ben Waldie's book (http://spiderworks.com/books/automator.php). Here's a pair of web sites dedicated to Automator:

http://automator.us

http://www.automatorworld.com

These sites are both well worth the visit. Lots of great examples, downloads, and other great resources. Enjoy, and see you next month!


Dave Mark is a long-time Mac developer and author and has written a number of books on Macintosh development. Dave has been writing for MacTech since its birth! Be sure to check out the new Learn C on the Macintosh, Mac OS X Edition at http://www.spiderworks.com.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

WhiteCap 6.7 - Visual plug-in for iTunes...
WhiteCap is a sleek and sophisticated music visualizer and screensaver that features futuristic, wireframe mesh visuals with dynamic backgrounds and colors. WhiteCap contains thousands of visual... Read more
Dropbox 24.4.16 - Cloud backup and synch...
Dropbox is an application that creates a special Finder folder that automatically syncs online and between your computers. It allows you to both backup files and keep them up-to-date between systems... Read more
Amazon Chime 4.2.5645 - Amazon-based com...
Amazon Chime is a communications service that transforms online meetings with a secure, easy-to-use application that you can trust. Amazon Chime works seamlessly across your devices so that you can... Read more
Notion 0.1.8 - A unified workspace for m...
Notion is the unified workspace for modern teams. Features: Integration with Slack Documents Wikis Tasks Note: This application contains in-app and/or external module purchases. Version 0.1.8:... Read more
Google Chrome 58.0.3029.81 - Modern and...
Google Chrome is a Web browser by Google, created to be a modern platform for Web pages and applications. It utilizes very fast loading of Web pages and has a V8 engine, which is a custom built... Read more
Notion 0.1.8 - A unified workspace for m...
Notion is the unified workspace for modern teams. Features: Integration with Slack Documents Wikis Tasks Note: This application contains in-app and/or external module purchases. Version 0.1.8:... Read more
WhiteCap 6.7 - Visual plug-in for iTunes...
WhiteCap is a sleek and sophisticated music visualizer and screensaver that features futuristic, wireframe mesh visuals with dynamic backgrounds and colors. WhiteCap contains thousands of visual... Read more
Dropbox 24.4.16 - Cloud backup and synch...
Dropbox is an application that creates a special Finder folder that automatically syncs online and between your computers. It allows you to both backup files and keep them up-to-date between systems... Read more
Google Chrome 58.0.3029.81 - Modern and...
Google Chrome is a Web browser by Google, created to be a modern platform for Web pages and applications. It utilizes very fast loading of Web pages and has a V8 engine, which is a custom built... Read more
Amazon Chime 4.2.5645 - Amazon-based com...
Amazon Chime is a communications service that transforms online meetings with a secure, easy-to-use application that you can trust. Amazon Chime works seamlessly across your devices so that you can... Read more

Latest Forum Discussions

See All

ChordFlow (Music)
ChordFlow 1.0.0 Device: iOS Universal Category: Music Price: $6.99, Version: 1.0.0 (iTunes) Description: ChordFlow is a chord sequencer with a unique 4-track polyphonic arpeggiator, extensive chord library, MIDI out and Ableton Link... | Read more »
The Walking Dead: A New Frontier is out...
The newest season of Telltale Games'The Walking Dead is well underway. After the release of the third episode, "Above the Law" about a month ago, episode four, "Thicker Than Water" is hot and ready for more zombies and gut-wrenching emotional... | Read more »
Best games we played this week
Another week, another new wave of mobile games do dive into. We've dug through the list of apps that came out this week to tell you which apps are worth your sweet time. And while there weren't too many games this week, there were some big ones.... | Read more »
Vignettes (Games)
Vignettes 1.0.1 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0.1 (iTunes) Description: Vignettes is a casual but unique exploration game without text or characters, where objects shapeshift as you spin them around... | Read more »
Get Me Outta Here is an 80s retro shoote...
Are you ready to fight some aliens? Because Crescent Moon Games has released the retro shooter Get Me Outta Here on iOS devices today. [Read more] | Read more »
Get a bunch of Apple productivity apps f...
If you're an Apple Mac owner, you're probably aware of the host of Apple productivity apps the company includes in all new Mac purchases. Apps like iMovie, Keynote, and of course, GarageBand. While you used to be able to also buy these apps... | Read more »
Terra Mystica (Games)
Terra Mystica 1.03 Device: iOS Universal Category: Games Price: $9.99, Version: 1.03 (iTunes) Description: Short Summary:≈≈≈≈≈≈≈≈≈≈≈≈≈ | Read more »
Ms. Spell (Games)
Ms. Spell 1.0 Device: iOS Universal Category: Games Price: $.99, Version: 1.0 (iTunes) Description: Cast spells and battle monsters in this turn based game, that has you delving into ever the changing Dreadwood to retrieve the lost... | Read more »
Invert - A Minimal Puzzle Game (Games)
Invert - A Minimal Puzzle Game 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Invert is a minimalist puzzle game for fans of brain teasers, logic puzzles, and Rubik's Cube fiddlers. | Read more »
Evergrow: Paper Forest (Games)
Evergrow: Paper Forest 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Solve puzzles in the handcrafted forests of Evergrow through the eyes of an imaginative child and his parents. Discover... | Read more »

Price Scanner via MacPrices.net

Apple now offering Certified Refurbished 13-i...
Apple is now offering Certified Refurbished 2016 13″ Touch Bar MacBook Pros for $270-$300 off original MSRP. An Apple one-year warranty is included with each model, and shipping is free: - 13″ 2.9GHz... Read more
MyGiHealth Digestive Symptom Tracker Version...
My Total Health, Inc. has announced the release of MyGiHealth 2.1, an important update to their digestive symptom tracker developed exclusively for iPhone, iPad and iPod touch devices. MyGiHealth is... Read more
Galaxy S8 Materials Costs Highest by Far Comp...
The new Samsung Galaxy S8 equipped with 64 gigabytes (GB) of NAND flash memory carries a bill of materials (BOM) cost that comes out to US$301.60, much higher than for previous versions of the... Read more
iCarMode 4.0 Car Dashboard App For iOS Integr...
Indie developer Diego Resnik has announced the release of iCarMode 4.0, an update to his productivity app developed for iOS devices. iCarMode has positioned itself as a true car dashboard app,... Read more
How to save $150+ on Apple’s 13-inch 2.0GHz n...
Apple Authorized Reseller B&H Photo has non-Touch Bar 13″ 2.0GHz MacBook Pros on sale for $150 off MSRP for a limited time. Shipping is free, and B&H charges NY sales tax only: - 13″ 2.0GHz... Read more
15-inch 2.2GHz Retina MacBook Pro, Apple refu...
Apple has Certified Refurbished 2015 15″ 2.2GHz Retina MacBook Pros available for $1699. That’s $300 off MSRP, and it’s the lowest price available for a 15″ MacBook Pro. An Apple one-year warranty is... Read more
Apple Certified Refurbished iMacs available f...
Apple has Certified Refurbished 2015 21″ & 27″ iMacs available for up to $350 off MSRP. Apple’s one-year warranty is standard, and shipping is free. The following models are available: - 21″ 3.... Read more
Save up to $160 with Apple refurbished 9-inch...
Apple has Certified Refurbished 9″ and 12″ Apple iPad Pros available for up to $160 off the cost of new iPads. An Apple one-year warranty is included with each model, and shipping is free: - 32GB 9″... Read more
27-inch Apple iMacs on sale for $200 off MSRP
Amazon has 27″ iMacs on sale for $200-$201 off MSRP, each including free shipping: - 27″ 3.3GHz iMac 5K: $2099.99 $200 off MSRP - 27″ 3.2GHz/1TB Fusion iMac 5K: $1798 $201 off MSRP - 27″ 3.2GHz/1TB... Read more
13-inch 2.7GHz Retina MacBook Pro on sale for...
B&H Photo has the 2015 13″ 2.7GHz/128GB Retina Apple MacBook Pro on sale for $130 off MSRP. Shipping is free, and B&H charges NY tax only: - 13″ 2.7GHz/128GB Retina MacBook Pro (MF839LL/A): $... Read more

Jobs Board

*Apple* Mobile Master - Best Buy (United Sta...
What does a Best Buy Apple Mobile Master do? At Best Buy, our mission is to leverage the unique talents and passions of our employees to inspire, delight, and enrich Read more
*Apple* Retail - Multiple Positions - Apple,...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
*Apple* Mac Computer Technician - GeekHampto...
…complex computer issues over the phone and in person? GeekHampton, Long Island's Apple Premium Service Provider, is looking for you! Come work with our crew Read more
*Apple* Mobile Master - Best Buy (United Sta...
**489879BR** **Job Title:** Apple Mobile Master **Location Number:** 000402-Utica-Store **Job Description:** **What does a Best Buy Apple Mobile Master do?** At Read more
Best Buy *Apple* Computing Master - Best Bu...
**500058BR** **Job Title:** Best Buy Apple Computing Master **Location Number:** 001092-Columbia Heights-Store **Job Description:** **What does a Best Buy Apple Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.