Text Automator Action Pack Updated to 4.0.5

The Text Automator Action Pack has been updated to version 4.0.5. Changes include:

  • Read Text File Action - Updated to include a popup menu to specify the encoding type of file to be read. Options include Plain Text, Unicode (UTF-8), and Unicode (UTF-16).

This action pack extends the power of Automator with 30 actions for performing text manipulation functions in Mac OS X.

The new version is available in the Mac App Store.

Display Notification Center Alert Automator Action 1.0.1

Added support for international and unicode text.  Get the action here!

Display Notification Center Alert Automator Action 1.0.0

I've written a new Automator action for displaying a notification center alert in Mountain Lion.  You can use it to display a notification when a workflow is complete, to remind you to buy your wife flowers, or anything else that might require a custom alert. I hope you find it useful.

-Ben

P.S. If you like this, please check out my other Automator actions.

Configuring the action for use. You can specify a title, subtitle, and message

A Notification Center alert displayed by the action

A Notification Center message displayed by the action

 Display Notification Center Alert 1.0.1

 

Version History

2012-08-26 - Version 1.0.0
2012-08-29 - Version 1.0.1 - Added support for international and unicode text

Text Automator Action Pack Updated to 4.0.4

The Text Automator Action Pack has been updated to version 4.0.4. Changes include:

  • Find and Replace in Text Action - Updated to support finding/replacing certain unicode characters
  • Remove Duplicate Paragraphs From Text Action - Added an option to ignore empty paragraphs

This action pack extends the power of Automator with 30 actions for performing text manipulation functions in Mac OS X.

The new version is available in the Mac App Store.

Adobe InDesign Automator Actions Released in the Mac App Store

I'm pleased to announce that my ID Automator Action Pack, which includes 20 actions for interacting with Adobe InDesign in Mac OS X Lion and Snow Leopard, has been released in the Mac App Store. It can be found here.

Information about my other Lion action packs can be found here.

-Ben

Text Automator Action Pack Updated to 4.0.3 – Includes 2 New Actions

The Text Automator Action Pack has been updated to version 4.0.3. Changes include:

  • Added a new 'Add Prefix to Text' action
  • Added a new 'Add Suffix to Text' action

This action pack extends the power of Automator with 30 actions for performing text manipulation functions in Mac OS X.

The new version is available in the Mac App Store.

File and Folder Automator Action Pack Updated to 4.0.1

The File and Folder Automator Action Pack, which includes 21 actions for interacting with files and folders in the Finder, has been updated to version 4.0.1. Changes include:

  • Fixed a bug in Filter Finder Items by Size action
  • Fixed a bug in Unlock Finder Items action

The new version is available in the Mac App Store.

Now Available: New Mac Automation Made Simple Videos!

Peachpit has bundled a new series of my Mac Automation Made Simple videos on Automator.  They're now available for purchase as DRM-Free downloads, so you can play them on your Mac, iPhone, or iPad.  Topics in this 8-part series include:

  • Automate generating job folders - If you use job folders for multiple projects to keep organized, learn how to save time and reduce errors by building workflows in Automator to create job folders consistently and quickly. You'll also learn the basics of actions and variables in Automator.
  • Batch-create folders from an Excel list - If your workflow ever requires you to create a large number of folders or sets of subfolders with specific naming conventions, Excel and Automator can work together to eliminate the manual creation of folders. By using the powerful features in Excel to build lists of file names in large numbers and use Automator to process those lists into hundreds of folders in minutes.
  • Display Growl notifications for new content - File sharing over a network is great for larger files that you wouldn't send via email, but how can you be sure that you're always notified when a new file lands in your folder? Learn how to team Automator with the popular notification software Growl to build a great workflow that eliminates the need for you to get an email or phone call notifying you of new files.
  • Schedule backups via a network - Do you manually back up your Mac to a server? If so, you've probably had to set up calendar reminders and run through the process on a regular basis or risk losing your data. In this lesson, learn how to make that process automatic and painless with Automator and iCal.
  • Share files via Dropbox - Take the powerful PDF tools offered in OS X a step further by building your own Print Plugin with Automator. You'll learn how to set up a Print Plugin that automatically posts any document you print to PDF to the online file sharing tool Dropbox. You'll also learn the basics of setting up actions to rename files to be friendly for upload tools by removing offending characters.
  • Batch-convert image files to PDF - If you've ever had the daunting task of scanning a book or a box of images with a flat bed scanner, you know that it isn't easy to combine all those files into a single PDF without some heavy-hitting applications like Photoshop and Acrobat Pro. But what if you don't have those applications or are just looking for an easier way? Learn how to set up a quick and easy way to combine multiple images into a single PDF without the hassle.
  • Batch-process images for iPhoto - If you're like most people with a smart phone, an amature photographer or have a large photo digitizing project on your plate, you'll import, manipulate and save hundreds to thousands of images a year. In this lesson, you'll learn how to unleash the power of Automator and free third-party tool to streamline your workflow and make importing images to your iPhoto library a snap.
  • Batch-process multiple InDesign files to PDF - Exporting multiple InDesign files to PDF can be as quick and easy as dragging and dropping your files. You'll learn how to create a drag-and-drop application with AppleScript and Automator that opens, exports, names, and saves PDFs from InDesign. You'll be able to use the same custom application for both InDesign CS4 and CS5.

Sold as a set, or individually, you can find them on Peachpit's website.

Adobe Illustrator Automator Action Pack Updated to v1.07

The Adobe Illustrator Automator Action Pack (now version 1.07) has been updated to allow .ait documents to be opened.  The Ultimate Productivity Automator Action Pack (now version 3.19) has been updated to incorporate this change, as well.

More info or download a demo of the actions...

Sandboxing a Cocoa-AppleScript (AppleScriptObjC) Application

If you're a Mac developer, then you are probably aware that Apple will soon be requiring all applications submitted to the Mac App Store be sandboxed.  A sandboxed AppleScript-based application is kind of an oxymoron. Sandboxing denotes that an application will run in its own isolated environment, for security reasons.  Meaning that it doesn't have access to other applications on your Mac.  However, this goes against the nature of AppleScript, which is designed as an inter-application scripting language.  By writing AppleScripts, you can intertwine your various applications together to form complex workflows and automate time consuming things you would otherwise need to do manually.

So, how can you, an AppleScript developer, deal with sandboxing and get your app into the Mac App Store?  You can request temporary entitlements (translation: may not be supported in the future) for the apps and processes with which your app interacts.  Here are the general steps, which will vary depending on the actual function of your app:

1. Use Xcode to create your Cocoa-AppleScript app (AppleScriptObjC app)

2. In the Project Navigator, select your project

3. In the Project Editor, select your app's target

4. In the Summary tab, configure the following settings:

click to enlarge

- Enable Entitlements - Select this checkbox to turn entitlements on for your app

- App Sandbox - Select this checkbox to turn sandboxing on for your app

- File System - If you plan to use file/folder user interaction commands, such as "choose file", "choose folder", and "choose file name", then set this dropdown to "Read/Write Access".  Do the same if you plan to use commands such as "open for access" and "write".

5. In the Project Navigator, select the .entitlements file that should have been created automatically

6. Add an entry for "com.apple.security.temporary-exception.apple-events".  If you will have multiple entitlements, set this to be an array. Otherwise, set it to a string.  Add UTI entries for each application your app needs to target. For example, for the Finder, add "com.apple.finder". For iTunes, add "com.apple.itunes". If you don't add a temporary Apple Events entitlement and the necessary UTIs, then your app will produce errors when attempting to target external applications.

click to enlarge

7. If your app will write to a directory in the user's home folder, add an entry for "com.apple.security.temporary-exception.files.home-relative-path.read-write".  Set this to be an array, and add paths to any folders you will write to, beginning each with a slash. I.e. /Desktop/ represents the user's Desktop.

That should do it.  Build and run your project, and check Xcode's debug console for problems.

Download an example of a sandboxed Cocoa-AppleScript Xcode project here.

Official documentation for sandboxing an app can be found on Apple's developer website.

Note that sandboxing doesn't affect strictly AppleScript applications.  Other applications could potentially be affected, as well, including Automator* and numerous popular third-party applications.  Well, to be fair, these applications could still work.  They just couldn't be submitted to the Mac App Store once Apple's sandboxing requirement goes into effect, at least not without employing temporary entitlements.

For more on the growing controversy regarding sandboxing and inter-application communication, check out:

* In theory, Automator actions contained within a sandboxed application should not need to be sandboxed themselves.  This is because they would technically fall under the scope of the application that loads and runs them - in this case - Automator.  So, their capabilities should be governed by Automator's sandbox, which, due to the nature of Automator, should allow them to run unimpeded.