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

coconutBattery 3.9.14 - Displays info ab...
With coconutBattery you're always aware of your current battery health. It shows you live information about your battery such as how often it was charged and how is the current maximum capacity in... Read more
Keynote 13.2 - Apple's presentation...
Easily create gorgeous presentations with the all-new Keynote, featuring powerful yet easy-to-use tools and dazzling effects that will make you a very hard act to follow. The Theme Chooser lets you... Read more
Apple Pages 13.2 - Apple's word pro...
Apple Pages is a powerful word processor that gives you everything you need to create documents that look beautiful. And read beautifully. It lets you work seamlessly between Mac and iOS devices, and... Read more
Numbers 13.2 - Apple's spreadsheet...
With Apple Numbers, sophisticated spreadsheets are just the start. The whole sheet is your canvas. Just add dramatic interactive charts, tables, and images that paint a revealing picture of your data... Read more
Ableton Live 11.3.11 - Record music usin...
Ableton Live lets you create and record music on your Mac. Use digital instruments, pre-recorded sounds, and sampled loops to arrange, produce, and perform your music like never before. Ableton Live... Read more
Affinity Photo 2.2.0 - Digital editing f...
Affinity Photo - redefines the boundaries for professional photo editing software for the Mac. With a meticulous focus on workflow it offers sophisticated tools for enhancing, editing and retouching... Read more
SpamSieve 3.0 - Robust spam filter for m...
SpamSieve is a robust spam filter for major email clients that uses powerful Bayesian spam filtering. SpamSieve understands what your spam looks like in order to block it all, but also learns what... Read more
WhatsApp 2.2338.12 - Desktop client for...
WhatsApp is the desktop client for WhatsApp Messenger, a cross-platform mobile messaging app which allows you to exchange messages without having to pay for SMS. WhatsApp Messenger is available for... Read more
Fantastical 3.8.2 - Create calendar even...
Fantastical is the Mac calendar you'll actually enjoy using. Creating an event with Fantastical is quick, easy, and fun: Open Fantastical with a single click or keystroke Type in your event details... Read more
iShowU Instant 1.4.14 - Full-featured sc...
iShowU Instant gives you real-time screen recording like you've never seen before! It is the fastest, most feature-filled real-time screen capture tool from shinywhitebox yet. All of the features you... Read more

Latest Forum Discussions

See All

The iPhone 15 Episode – The TouchArcade...
After a 3 week hiatus The TouchArcade Show returns with another action-packed episode! Well, maybe not so much “action-packed" as it is “packed with talk about the iPhone 15 Pro". Eli, being in a time zone 3 hours ahead of me, as well as being smart... | Read more »
TouchArcade Game of the Week: ‘DERE Veng...
Developer Appsir Games have been putting out genre-defying titles on mobile (and other platforms) for a number of years now, and this week marks the release of their magnum opus DERE Vengeance which has been many years in the making. In fact, if the... | Read more »
SwitchArcade Round-Up: Reviews Featuring...
Hello gentle readers, and welcome to the SwitchArcade Round-Up for September 22nd, 2023. I’ve had a good night’s sleep, and though my body aches down to the last bit of sinew and meat, I’m at least thinking straight again. We’ve got a lot to look at... | Read more »
TGS 2023: Level-5 Celebrates 25 Years Wi...
Back when I first started covering the Tokyo Game Show for TouchArcade, prolific RPG producer Level-5 could always be counted on for a fairly big booth with a blend of mobile and console games on offer. At recent shows, the company’s presence has... | Read more »
TGS 2023: ‘Final Fantasy’ & ‘Dragon...
Square Enix usually has one of the bigger, more attention-grabbing booths at the Tokyo Game Show, and this year was no different in that sense. The line-ups to play pretty much anything there were among the lengthiest of the show, and there were... | Read more »
Valve Says To Not Expect a Faster Steam...
With the big 20% off discount for the Steam Deck available to celebrate Steam’s 20th anniversary, Valve had a good presence at TGS 2023 with interviews and more. | Read more »
‘Honkai Impact 3rd Part 2’ Revealed at T...
At TGS 2023, HoYoverse had a big presence with new trailers for the usual suspects, but I didn’t expect a big announcement for Honkai Impact 3rd (Free). | Read more »
‘Junkworld’ Is Out Now As This Week’s Ne...
Epic post-apocalyptic tower-defense experience Junkworld () from Ironhide Games is out now on Apple Arcade worldwide. We’ve been covering it for a while now, and even through its soft launches before, but it has returned as an Apple Arcade... | Read more »
Motorsport legends NASCAR announce an up...
NASCAR often gets a bad reputation outside of America, but there is a certain charm to it with its close side-by-side action and its focus on pure speed, but it never managed to really massively break out internationally. Now, there's a chance... | Read more »
Skullgirls Mobile Version 6.0 Update Rel...
I’ve been covering Marie’s upcoming release from Hidden Variable in Skullgirls Mobile (Free) for a while now across the announcement, gameplay | Read more »

Price Scanner via MacPrices.net

New low price: 13″ M2 MacBook Pro for $1049,...
Amazon has the Space Gray 13″ MacBook Pro with an Apple M2 CPU and 256GB of storage in stock and on sale today for $250 off MSRP. Their price is the lowest we’ve seen for this configuration from any... Read more
Apple AirPods 2 with USB-C now in stock and o...
Amazon has Apple’s 2023 AirPods Pro with USB-C now in stock and on sale for $199.99 including free shipping. Their price is $50 off MSRP, and it’s currently the lowest price available for new AirPods... Read more
New low prices: Apple’s 15″ M2 MacBook Airs w...
Amazon has 15″ MacBook Airs with M2 CPUs and 512GB of storage in stock and on sale for $1249 shipped. That’s $250 off Apple’s MSRP, and it’s the lowest price available for these M2-powered MacBook... Read more
New low price: Clearance 16″ Apple MacBook Pr...
B&H Photo has clearance 16″ M1 Max MacBook Pros, 10-core CPU/32-core GPU/1TB SSD/Space Gray or Silver, in stock today for $2399 including free 1-2 day delivery to most US addresses. Their price... Read more
Switch to Red Pocket Mobile and get a new iPh...
Red Pocket Mobile has new Apple iPhone 15 and 15 Pro models on sale for $300 off MSRP when you switch and open up a new line of service. Red Pocket Mobile is a nationwide service using all the major... Read more
Apple continues to offer a $350 discount on 2...
Apple has Studio Display models available in their Certified Refurbished store for up to $350 off MSRP. Each display comes with Apple’s one-year warranty, with new glass and a case, and ships free.... Read more
Apple’s 16-inch MacBook Pros with M2 Pro CPUs...
Amazon is offering a $250 discount on new Apple 16-inch M2 Pro MacBook Pros for a limited time. Their prices are currently the lowest available for these models from any Apple retailer: – 16″ MacBook... Read more
Closeout Sale: Apple Watch Ultra with Green A...
Adorama haș the Apple Watch Ultra with a Green Alpine Loop on clearance sale for $699 including free shipping. Their price is $100 off original MSRP, and it’s the lowest price we’ve seen for an Apple... Read more
Use this promo code at Verizon to take $150 o...
Verizon is offering a $150 discount on cellular-capable Apple Watch Series 9 and Ultra 2 models for a limited time. Use code WATCH150 at checkout to take advantage of this offer. The fine print: “Up... Read more
New low price: Apple’s 10th generation iPads...
B&H Photo has the 10th generation 64GB WiFi iPad (Blue and Silver colors) in stock and on sale for $379 for a limited time. B&H’s price is $70 off Apple’s MSRP, and it’s the lowest price... Read more

Jobs Board

Optometrist- *Apple* Valley, CA- Target Opt...
Optometrist- Apple Valley, CA- Target Optical Date: Sep 23, 2023 Brand: Target Optical Location: Apple Valley, CA, US, 92308 **Requisition ID:** 796045 At Target Read more
Senior *Apple* iOS CNO Developer (Onsite) -...
…Offense and Defense Experts (CODEX) is in need of smart, motivated and self-driven Apple iOS CNO Developers to join our team to solve real-time cyber challenges. Read more
*Apple* Systems Administrator - JAMF - Activ...
…**Public Trust/Other Required:** None **Job Family:** Systems Administration **Skills:** Apple Platforms,Computer Servers,Jamf Pro **Experience:** 3 + years of Read more
Child Care Teacher - Glenda Drive/ *Apple* V...
Child Care Teacher - Glenda Drive/ Apple ValleyTeacher Share by Email Share on LinkedIn Share on Twitter Share on Facebook Apply Read more
Machine Operator 4 - *Apple* 2nd Shift - Bon...
Machine Operator 4 - Apple 2nd ShiftApply now " Apply now + Start apply with LinkedIn + Apply Now Start + Please wait Date:Sep 22, 2023 Location: Swedesboro, NJ, US, Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.