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.

 
AAPL
$116.47
Apple Inc.
+0.16
MSFT
$47.98
Microsoft Corpora
-0.72
GOOG
$537.50
Google Inc.
+2.67

MacTech Search:
Community Search:

Software Updates via MacUpdate

Cobook 3.0.7 - Intelligent address book....
Cobook Contacts is an intuitive, engaging address book. Solve the problem of contact management with Cobook Contacts and its simple interface and powerful syncing and integration possibilities.... Read more
StatsBar 1.9 - Monitor system processes...
StatsBar gives you a comprehensive and detailed analysis of the following areas of your Mac: CPU usage Memory usage Disk usage Network and bandwidth usage Battery power and health (MacBooks only)... Read more
Cyberduck 4.6 - FTP and SFTP browser. (F...
Cyberduck is a robust FTP/FTP-TLS/SFTP browser for the Mac whose lack of visual clutter and cleverly intuitive features make it easy to use. Support for external editors and system technologies such... Read more
Maya 2015 - Professional 3D modeling and...
Maya is an award-winning software and powerful, integrated 3D modeling, animation, visual effects, and rendering solution. Because Maya is based on an open architecture, all your work can be scripted... Read more
Evernote 6.0.1 - Create searchable notes...
Evernote allows you to easily capture information in any environment using whatever device or platform you find most convenient, and makes this information accessible and searchable at anytime, from... Read more
calibre 2.11 - Complete e-library manage...
Calibre is a complete e-book library manager. Organize your collection, convert your books to multiple formats, and sync with all of your devices. Let Calibre be your multi-tasking digital... Read more
Herald 5.0.1 - Notification plugin for M...
Note: Versions 2.1.3 (for OS X 10.7), 3.0.6 (for OS X 10.8), and 4.0.8 (for OS X 10.9) are no longer supported by the developer. Herald is a notification plugin for Mail.app, Apple's Mac OS X email... Read more
Firetask 3.7 - Innovative task managemen...
Firetask uniquely combines the advantages of classical priority-and-due-date-based task management with GTD. Stay focused and on top of your commitments - Firetask's "Today" view shows all relevant... Read more
TechTool Pro 7.0.6 - Hard drive and syst...
TechTool Pro is now 7, and this is the most advanced version of the acclaimed Macintosh troubleshooting utility created in its 20-year history. Micromat has redeveloped TechTool Pro 7 to be fully 64... Read more
PhotoDesk 3.0.1 - Instagram client for p...
PhotoDesk lets you view, like, comment, and download Instagram pictures/videos! (NO Uploads! / Image Posting! Instagram forbids that! AND you *need* an *existing* Instagram account). But you can do... Read more

Latest Forum Discussions

See All

Ubisoft Gives Everyone Two New Ways to E...
Ubisoft Gives Everyone Two New Ways to Earn In-Game Stuff for Far Cry 4 Posted by Jessica Fisher on November 21st, 2014 [ permalink ] | Read more »
Golfinity – Tips, Tricks, Strategies, an...
Dig this: Would you like to know what we thought of being an infinite golfer? Check out our Golfinity review! Golfinity offers unlimited ways to test your skills at golf. Here are a few ways to make sure your score doesn’t get too high and your... | Read more »
Dark Hearts, The Sequel to Haunting Meli...
Dark Hearts, The Sequel to Haunting Melissa, is Available Now Posted by Jessica Fisher on November 21st, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Meowza! Toyze Brings Talking Tom to Life...
Meowza! | Read more »
Square Enix Announces New Tactical RPG f...
Square Enix Announces New Tactical RPG for Mobile, Heavenstrike Rivals. Posted by Jessica Fisher on November 21st, 2014 [ permalink ] With their epic stories and gorgeous graphics, | Read more »
Quest for Revenge (Games)
Quest for Revenge 1.0.0 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0.0 (iTunes) Description: The great Kingdom of the west has fallen. The gods ignore the prayers of the desperate. A dark warlord has extinguished... | Read more »
Threadz is a New Writing Adventure for Y...
Threadz is a New Writing Adventure for You and Your Friends Posted by Jessica Fisher on November 21st, 2014 [ permalink ] In the tradition of round-robin storytelling, | Read more »
SteelSeries Stratus XL Hardware Review
Made by: SteelSeries Price: $59.99 Hardware/iOS Integration Rating: 4 out of 5 stars Usability Rating: 4.5 out of 5 stars Reuse Value Rating: 4.25 out of 5 stars Build Quality Rating: 4.5 out of 5 stars Overall Rating: 4.31 out of 5 stars | Read more »
ACDSee (Photography)
ACDSee 1.0.0 Device: iOS iPhone Category: Photography Price: $1.99, Version: 1.0.0 (iTunes) Description: Capture, perfect, and share your photos with ACDSee. The ACDSee iPhone app combines an innovative camera, a powerful photo... | Read more »
ProTube for YouTube (Entertainment)
ProTube for YouTube 2.0.2 Device: iOS Universal Category: Entertainment Price: $1.99, Version: 2.0.2 (iTunes) Description: ProTube is the ultimate, fully featured YouTube app. With it's highly polished design, ProTube offers ad-free... | Read more »

Price Scanner via MacPrices.net

Save up to $400 with Apple refurbished 2014 1...
The Apple Store has restocked Apple Certified Refurbished 2014 15″ Retina MacBook Pros for up to $400 off the cost of new models. An Apple one-year warranty is included with each model, and shipping... Read more
New 13-inch 1.4GHz MacBook Air on sale for $8...
 Adorama has the 2014 13″ 1.4GHz/128GB MacBook Air on sale for $899.99 including free shipping plus NY & NJ tax only. Their price is $100 off MSRP. B&H Photo has the 13″ 1.4GHz/128GB MacBook... Read more
Apple Expected to Reverse Nine-Month Tablet S...
Apple and Samsung combined accounted for 62 percent of the nearly 36 million branded tablets shipped in 3Q 2014, according to early vendor shipment share estimates from market intelligence firm ABI... Read more
Stratos: 30 Percent of US Smartphone Owners t...
Stratos, Inc., creator of the Bluetooth Connected Card Platform, has announced results from its 2014 Holiday Mobile Payments Survey. The consumer survey found that nearly one out of three (30 percent... Read more
2014 1.4GHz Mac mini on sale for $449, save $...
 B&H Photo has lowered their price on the new 1.4GHz Mac mini to $449.99 including free shipping plus NY tax only. Their price is $50 off MSRP, and it’s the lowest price available for this new... Read more
Check Apple prices on any device with the iTr...
MacPrices is proud to offer readers a free iOS app (iPhones, iPads, & iPod touch) and Android app (Google Play and Amazon App Store) called iTracx, which allows you to glance at today’s lowest... Read more
64GB iPod touch on sale for $249, save $50
Best Buy has the 64GB iPod touch on sale for $249 on their online store for a limited time. Their price is $50 off MSRP. Choose free shipping or free local store pickup (if available). Sale price for... Read more
15″ 2.2GHz Retina MacBook Pro on sale for $17...
 B&H Photo has the 2014 15″ 2.2GHz Retina MacBook Pro on sale for $1799.99 for a limited time. Shipping is free, and B&H charges NY sales tax only. B&H will also include free copies of... Read more
New Logitech AnyAngle Case/Stand Brings Flexi...
Logitec has announced the newest addition to its suite of tablet products — the Logitech AnyAngle. A protective case with an any-angle stand for iPad Air 2 and all iPad mini models, AnyAngle is the... Read more
Notebook PC Shipments Rise Year-Over-Year as...
According to preliminary results from the upcoming DisplaySearch Quarterly Mobile PC Shipment and Forecast Report, the global notebook PC market grew 10 percent year-over-year in Q3’14 to 49.4... Read more

Jobs Board

*Apple* Solutions Consultant (ASC)- Retail S...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
Project Manager, *Apple* Financial Services...
**Job Summary** Apple Financial Services (AFS) offers consumers, businesses and educational institutions ways to finance Apple purchases. We work with national and Read more
*Apple* Store Leader Program - College Gradu...
Job Description: Job Summary As an Apple Store Leader Program agent, you can continue your education as you major in the art of leadership at the Apple Store. You'll Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
Senior Event Manager, *Apple* Retail Market...
…This senior level position is responsible for leading and imagining the Apple Retail Team's global event strategy. Delivering an overarching brand story; in-store, Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.