shownotes_MCM20111207

Why Automator?
  Automator and srcipting provide powerful tools to Mac users, but I think many have trouble understanding when they would use it.
  Anytime you have a task that you often repeat
  When there is a process or functionality that is missing.
    Sometimes you may find a 3rd party app or utility, but often with Automator you could write it yourself.
      I did this with Safe Download Version and AppleScript
  When Automator and when AppleScript?
    You will likley use both. The work together and compliment each other
    Automator is easier to get started with and has built in "actions" that can be strung together.
      The ingredients-->recipie-->dish (food) metaphore
    Applescript is more like code. Stuff you can use to create your own ingredients if they don't exists
    There are resources for getting more actions and 3rd party apps can add in their own to the Automator Library
Understanding Automator Actions
  I covered a bit of this in the Intro to Atomator episode
  The "Actions" list is organized into categories based on application or function
    You can browse or also search by a key word or term.
    "image" for example would show you all actions that deal with doing things with images
  When you select an action you can see it's description in the Description View (lower right corner). You may need to expand it (icon looks like a window with upsidedown triangle).
    Tells you what the action does in a sentance or two.
    Requires - Explains what other actions or applications may be required to be running or used to work with this action
    Input - Tells you if and what the action requires to have coming into it to work
    Output - What will be returned (come out) of this action and be feed into the next action.
Some examples
  Go through the Send PDF to iPhoto example
    Need came out of a feature removed from iPhoto '11 and OS X
    Talk about starting points
      Workflow, Application, Service, Print Plugin, Folder Action, iCal Alarm, and Image Capture Plug-in.
      The main differences are where they will run and what the start with as input.
    Differences between 'PDF to Images' and the 'Render PDF Pages as Images' actions
      Why choose one over the other and how did I know which one to pick.
    Debugging using the Results
      For Services and Plug-ins you'll need to ususally add a “Get Specified Finder Items” action to the start temporarily
        The system will tell you if you forget and try to runt the workflow in Automator
      Run the workflow and look in the 'Results' section at the bottom of each action.
        icon, list, and
      Also look at the 'Log' at the bottom of the window. (View > Log)
    When I save this because it's a Print Plugin it goes to ~/Library/PDF Services and is availbale under PDF in the Print Sheet
      Name the workflow exactly as you want it to appear in the menu or Service drop down.
  Go through 'GetiTunesTrailer.app' workflow
    No obvious way to get a trailer from apple.com/trailers
    Workflow to take the URL and download the file to a specific location on the Mac
    Started with a Service that could run inside Quicktime
      The reason was that the trailer would open in Quicktime X, but there was no file "downloaded"
      Could possibly locate the cache?
      Actually you do a File > Export… from QuickTime
    My service would extract the URL and go to Apple Servers and directly download to a specified folder
    Needed to use some AppleScript to make this all happen
Adding in scripts
  Can use shell scripts and AppleScripts and this adds a ton of power
  Discovering what AppleScripts can do
    This just needs to be learned. Google it and I will also try to cover some in future episodes
    In the AppleScript Editor the 'Dictionaries' can be helpful
      Window > Library or File > Open Dictionary…
      All scriptable apps have dictionaries
      Organized into 'Suites' or groups of commands
      Have commands, like verbs in sentances. the actions, items (the nouns) and items have properties
  Automator 'variables' can store results for use later in the script. Set and Get value of variable actions
    Gets can be strung together to pass more than one into an action.