Маленький весёлый робот — символ большого нововведения в новой версии MacOS X Tiger. Что особенного в Automator?
Automator — новое приложение от Apple для автоматизации Mac OS. Раньше для решения рутинных задач предлагался AppleScript, требовались умение программировать, желание и время для тщательного изучения самого языка. Automator же — разумный компромисс между автоматизацией и гибкостью. С его помощью любой сможет составить и запустить несложную последовательность, познаний в программировании вовсе не потребуется.
В Automator вы автоматизируете задачи, перетаскивая предварительно созданные действия (actions) из списка в форму последовательностей (workflows). Похожий на iTunes трёхколоночный интерфейс и тесная интеграция со Spotlight позволяют легко найти нужное действие. Как только последовательность создана, сразу же запускайте её или сохраните как дополнительный модуль либо отдельное приложение. Конечно, основная проблема в том, что вы попытаетесь вызвать действия, которых не существует. Тогда пригодится AppleScript. Другое решение — найти эти действия в Интернете, а потом скачать или купить.
Заменит ли Отто AppleScript? Скорее, дополнит и расширит сферу применения. До сих пор сценарий сам должен был управлять своим вводом-выводом и т. п. С Automator всё упрощается: не надо задумываться, как действие работает, вы просто составляете и запускаете последовательность. Когда-нибудь Automator будет использоваться шире, и вы, видя на сайте приглашение «скачайте действие для Automator, делающее то-то и то-то», без особых затруднений используете действия разных разработчиков и скриптеров, расширяя собственные возможности.
Как работает Automator?
Список приложений, для которых доступны действия. Также в этой панели содержатся группы с готовыми последовательностями. Если некоторые действия установлены и находятся в папке /Library/Automator, а приложение, к которому они относятся, не установлено, то ни приложение, ни соответствующие ему действия не отображаются.
Список доступных действий для выбранного приложения(ий). Отсортированы в порядке релевантности к последнему действию в вашей последовательности. Релевантность показана серой полосой справа в стиле Spotlight.
Текстовое описание действия.
Поиск действий по названию.
В панели последовательности (workflow) вы создаёте цепочку из действий для выполнения задачи. Просто перетащите мышкой имя из панели со списком действий в окно последовательности.
Действия — это кирпичики, из которых вы и создаёте последовательности.
Обратите внимание, в этой точке соединяются два действия. Одно отдаёт результат своего труда, а последующее его принимает. Рядом указывается название типа передаваемых данных. Название отдаваемых данных верхнего действия должно согласовываться с названием данных, ожидаемых последующим действием. Обычно они одинаковы.
После того как действие добавлено в последовательность, можно увидеть его опции, сделанные в виде обычных для Mac OS интерфейсных элементов. Здесь есть текст, значки, окна ввода текста, списки и т. д.
Кнопки запуска и остановки последовательности.
В меню есть полезная команда View l Show Log… При её выборе внизу окна Automator выезжает дополнительная панель, в которой будет отображаться полезная информация о работе ваших последовательностей.
View Results служит для контроля результата между действиями в случае возникновения проблем.
Пробуем
Давайте создадим простую последовательность (см. рис. 1). Она будет переименовывать в определённом порядке выбранные пользователем файлы.
Рис. 1. Рабочее окно Automator |
В левой крайней панели выберите Finder. В списке действий, доступных для Finder, выберите Ask for Finder Items и перетащите его в панель последовательности. Отметьте галочку Allow Multiple Selection, чтобы выбирать несколько файлов. Остальное можно оставить, как показано на рисунке. Теперь выберите в средней панели действие Rename Finder Items и перенесите в панель последовательности. Automator предупредит, что выбранное действие переименовывает файлы, и уточнит, не хотите ли вы добавить действие копирования. Нажмите Don't Add, если вы, как и я, знаете, что делаете, и не собираетесь копировать ещё что-то. В опциях второго действия в верхнем списке укажите Make Sequential. Остальные опции задайте, как показано на рисунке. Всё! Теперь можно запускать созданную последовательность.
После запуска вас попросят выбрать файлы. Нажмите кнопку Choose — файлы будут переименованы по порядку. Например, «Image-001.tif», «Image-002.tif», «Image-003.tif» и т. д. Расширения останутся неизменными. С опциями можно поэкспериментировать, получая вариации переименованных файлов (по дате или выполнить поиск текста с заменой), а можно добавить в середину последовательности действие с сортировкой.
Где сохранить последовательность?
Как мы уже видели, можно запускать последовательность прямо из Automator, но удобнее вызывать свои задачи по автоматизации, не запуская его. Для этого есть вызов последовательности, прямо откуда требуется. Последовательности могут быть сохранены как приложения, дроплеты, элементы ScriptMenu и даже дополнительные модули для других приложений.
Рис. 2. Вызываем последовательность из контекстного меню |
Чтобы сохранить последовательность как приложение, достаточно просто в Automator выбрать меню Save/Save As и в списке File Format указать Application. Но интереснее всего сохранение последовательности как элемента контекстного меню для Finder. Для этого выберите меню File l Save As Plug-in…, задайте имя и в списке Plug-in for выберите Finder. Теперь в любом месте в Finder вы можете вызвать контекстное меню и запустить нужную последовательность (рис. 2). Сохранённые так дополнительные модули-последовательности хранятся в ~/Library/Workflows.
Если сохранить последовательность как плагин iCal Alarm, её можно запускать по расписанию и автоматизировать работу программ даже в ваше отсутствие.
Позовите Отто!
Нас, конечно, интересует симбиоз Automator с издательскими пакетами. Первое, с чем он будет полезен, — файлы с изображениями и вёрсткой. Для работы с файлами всё уже есть — это действия в наборе Finder. Например, масштабирование изображений или присвоение заданного профиля их группе. Необходимые для этого действия ищите в списке действий для Preview. Если эти действия вас не устроят, скачайте готовые наборы для Adobe Photoshop. Где их найти и как установить, расскажу позже. Для программ вёрстки есть пока действия от третьих фирм, но надеюсь, что наборы действий вскоре появятся и непосредственно от производителей этих программ.
Если вы уже пробовали автоматизировать работу с помощью AppleScript, то для начала можете использовать действие Run AppleScript. Оно берёт результат предыдущего действия как исходные данные, запускает скрипт, который их обрабатывает или делает что-нибудь ещё, а затем возвращает результат следующему действию. Эта особенность Automator может служить мостом через пробелы из отсутствующих действий. Также вы оснастите уже готовые сценарии удобным (не только в использовании, но и в создании!) интерфейсом. Так их будет легче распространить среди пользователей, коллег или клиентов. Как говорилось выше, запускать такой сценарий можно по-разному.
Особенно силён Automator в автоматизации офисных и медиа-приложений — здесь ему нет равных! Так или иначе, но, пока мы работаем над изданием, пользуемся компьютером. Поэтому по несколько раз подряд приходится отправлять макеты в PDF по e-mail одним и тем же адресатам, планировать рабочее расписание в iCal, обрабатывать музыкальные композиции в iTunes и выполнять множество других нужных, но не особенно творческих операций. Только не говорите, что музыка для вас не важна! Тесная интеграция Automator с приложениями Mac OS позволит сэкономить массу времени на самых простых и незаметных мелочах. И сберечь его для творчества…
Рис. 3. Отправка PDF-макета на согласование двумя щелчками |
Вам надо регулярно отправлять макеты по e-mail на один адрес? Создайте последовательность из следующих действий: Watermark PDF, Compress Images in PDF Document, Run AppleScript, New Mail Message, Send Outgoing Messages. Задайте необходимые опции в действиях Watermark PDF, Compress Images in PDF Document, сжатие поставьте на JPEG, а качество на самый минимум. Действие Run AppleScript нужно только для того, чтобы связать два других действия с разными форматами данных, — в нём даже не надо ничего менять. В действии New Mail Message введите нужный вам адрес и другие опции. Теперь сохраните последовательность как дополнительный модуль (plug-in). В появившемся диалоге укажите имя будущего модуля и выберите в списке Print Workflow. Теперь при печати из любого приложения можете нажать на кнопку PDF, а в ниспадающем меню выбрать личный модуль (рис. 3). Документ будет распечатан без создания промежуточного документа на «Рабочем столе» (к нему добавится ваш «водяной» знак), запакован и моментально отправлен по указанному адресу.
Удобнее всего автоматизировать небольшие, простые задачи. Это связано с тем, что Automator обладает ограниченными возможностями для условного ветвления. «Тяжёлые» автоматизирующие решения усложняют рабочий процесс и становятся выгодными только в пределах одного рабочего места.
Под одну гребёнку
Допустим, вам надо масштабировать серию изображений, да так, чтобы размер изображения не вышел за пределы 600 пикселей. С Automator это делается чрезвычайно просто. Создаёте новую последовательность с действиями Get Selected Finder Items и Scale Images (чтобы их быстро найти, используйте поиск). В опциях второго действия выберите To Size (pixels) и введите «600». Теперь сохраните его как дополнительный модуль для Finder. В любом месте, на любом из дисков вы сможете вызвать контекстное меню, в подменю Automator найти свою последовательность и запустить её. Заметьте: в AppleScript пришлось бы написать не менее двух десятков строк кода, потом около часа отлаживать их и только тогда приступить к делу. Да и запуск — только из меню Scripts или в качестве отдельного приложения. А в Automator? Перетянули одно название, другое, сохранили. И всё! Согласитесь, Apple смогла сделать нечто необычное, но доступное для всех: дизайнеров, верстальщиков, других людей, которые с компьютером на «ты», но не имеют навыков программирования. В этом концептуальная идея Automator.
Дадим Отто в руки новый инструмент
А если хочется создать собственные действия? Используя AppleScript Studio (или XCode, если быть точным) и Interface Builder, вы быстро их создадите, включая интерфейс и всё остальное. Вы потеряете немного времени на исследование бесконечного количества элементов plist (чтобы сделать действие понятнее для пользователя), но для собственных нужд (особенно если сценарий уже написан) конвертировать его в действие Automator можно за полчаса. Как это сделать, см. здесь: http://developer.apple.com/macosx/automator.html.
Где взять готовые действия? Вот полезные адреса:
http://www.automatoractions.com (раздел сайта MacScripter); http://www.automatedworkflows.com (сайт компании Automated Workflows, LLC); http://www.automatorworld.com (сайт только об Automator).
Помните: действия Automator весьма мощны, будьте бдительны и устанавливайте только те, в происхождении которых уверены.
Это англоязычные ресурсы, а скоро восстановит работу российский сайт, посвящённый AppleScript (www.applescript.ru), и на нём будет раздел по Automator. Мне очень интересно создавать новые действия, так что заходите в гости и оставляйте заявки на форуме.
Кирилл Корчагин (aha-pupok@yezhe.ru), заведующий отделом допечатной подготовки издательской группы «ЕЖЕ».
Нужные вещи
Где Отто хранит своё добро?
/System/Libarary/Automator/ — все предустановленные действия.
/Libarary/Automator/ — все установленные вами дополнительные действия.
~/Library/Scripts — здесь обычно находятся элементы меню Script и последовательности, сохранённые как дополнительные модули (plug-in) для Script Menu.
~/Library/Workflows/Applications/ — в соответствующих подкаталогах хранятся последовательности, сохранённые как дополнительные модули.
~/Library/PDF Services/ — последовательности, сохранённые как дополнительные модули для печати (Print Workflow).