domingo, agosto 08, 2004

Compartiendo ejemplos de AppleScript

Si bien el código del script incluido en Primeros pasos en AppleScript no es para nada complejo, nunca fue fácil darles ejemplos de scripts a los usuarios que querían aprender AppleScript. Por un lado, copiar ejemplos escritos no sólo es lento y difícil, sino que al copiar también se suelen cometer errores de sintaxis, que son justamente la clase de errores que un novato no está en condiciones de corregir fácilmente. Por otro lado, cuando se copia un script de una página web, es muy común que esos ejemplos omitan caracteres y espacios que dificulten la compilación del script. Para solucionar estos inconvenientes, el Editor de Scripts que viene con el Mac OS X 10.3 (Panther) es compatible con el protocolo URL de mensajería o URL Protocol Messaging.

Este protocolo, comúnmente llamado AppleScript URL protocol y de la forma applescript://, permite encapsular scripts en una página web o en un archivo PDF que el usuario, con un simple clic, puede transferir automáticamente a su Editor de Scripts (identificado como com.apple.scripteditor). Según el tipo de acción especificado en el enlace, el script se abrirá en una ventana nueva (action=new), se insertará en el punto de inserción de la ventana activa (action=insert), o se agregará al final del script de la ventana activa (action=append).

El AppleScript URL protocol es un método confiable y seguro para compartir scripts. Para que se ejecute la transferencia de un ejemplo es necesario que el propio usuario realice una acción directa y bajo ninguna circunstancia un script transferido con este protocolo puede ejecutarse automáticamente e instalar, por ejemplo, un troyano.

Para ver como funciona el protocolo, hacé clic en este enlace. El Editor de Scripts abrirá una nueva ventana con las dos líneas ya conocidas:
display dialog "Hola!"
beep 3


Nota: Como se habrán dado cuenta, en el ejemplo de código omití el signo inicial de admiración. La razón es que la versión actual del Editor de Scripts no es compatible con caracteres no incluidos en el standard ASCII.
En esta página hay ejemplos funcionales de las tres acciones compatibles con el protocolo. Si querés compartir scripts mediante esta clase de enlaces, no es necesario que los codifiqués a mano: Apple incluye varios scripts en esa misma página —transferibles a tu Mac con un solo clic—, que solícitamente codifican el script copiado al portapapeles.

Otra opción para codificar automáticamente scripts es bajarse gratis Convert Script to Markup Code, una aplicación muy completa de Jonathan Nathan.