Simplicity Is Bliss

“Simplicity is the result of hard work, complexity the one of no work at all.”- Taking it easy in Business, Personal Productivity and Technology. 
Filed under

things

 

Opening extensive Project Notes from within Things

Similar to my post yesterday on Accessing Project Support Material Folders from Things with AppleScript, the script featured in this post helps you to open or create and open a document with your project notes. Although Things supports notes on a project and task level, you may find it useful to have a separate document with more extensive notes at your finger tips when working inside of Things.

Functionality of the Script

The script does include some elements from the Project Support Material Folders script mentioned above and basically first checks if there is a project folder (if not you'll be asked if you want to create one) and if there is already a notes document in that folder. If there isn't you are asked whether you'd like to create one. I have created two versions of the script: One more generic one where you can choose the text editor of choice and one which is more specific to OmniOutliner Professional since it allows you to chose the OmniOutliner template on which you'd like new project notes documents to be based on.

As with the project folders script, you can invoke this script when you have selected a task that belongs to a Things project in the Things UI (independent tasks or tasks that belong to an Area of Responsibility or Person only will be omitted).

Installation and Configuration

  • Download the AppleScript (Generic Version, OmniOutliner Pro Version)
  • Put it into your user script directory, e.g. ~/Users/<your username>/Library/Scripts/
  • Modify the key parameters in the script as required
  • Configure your preferred way for running the script

Here are the parameters you can change to make the script working for your environment:

  • set projectsFolderName to "Support Material" – Change this into the folder name in which you keep all your project’s support material folders
  • set projectsPath to (path to documents folder as text) – This points to your standard “Documents” folder by default, if you use a different folder or a folder further down in the hierarchy , you can set it to a string with the folder path, e.g. “Macintosh HD:Users:Sven:Documents:Misc:Projects:”. It needs to end with a colon.
  • set fileExtension to ".oo3" - The file extension your project note documents should have, e.g. ".oo3" for OmniOutliner or ".txt" for TextEdit
  • set thePrefix to "_" - If you like to use a prefix to the filename in order to make it display on top of the folder's content list, e.g. "_", set it here. If you do not want a prefix please use "" (no space between the quotes).
  • set theSuffix to " Project Notes" - The filename of the project notes will be prefix plus project name in Things plus suffix, the later is what you can set here. Starting with a space is recommended for better readability.

The following parameter is only applicable to the OmniOutliner Pro version of the script:

  • set theTemplateName to "Project Charter" - This allows you to set the OmniOutliner template to base the document on. The name needs to exactly match the name of the template in OmniOutliner. It can also be "Default", if you have modified the default template or simply like to use it.

Changing the text editor To change the text editor in the generic version of the script from OmniOutliner Professional to your preferred one you need to find two (2!) lines of code in the script saying tell application "OmniOutliner Professional" and change them to the application name of your text editor, e.g. "TextEdit".

Running the Script

There are at least three different ways to invoke the script when working in Things. Unfortunately Things does not allow to e.g. add scripts to menu or tool bars, so we need to work around this with one of the following options:

  1. Use the Mac OS X Script menu which can be configured using the AppleScript Utility. It displays a menu bar item from which you can invoke scripts and with the Keyboard Setting in the Mac OS X System Preferences you can even assigned a keyboard short-cut for each script. The Things Wiki has a great description on how to get this working.
  2. Using Red Sweater's FastScripts does about the same thing, but with much more comfort since you can, for example, assign keyboard short-cuts to each script right from within FastScripts. It is pretty much the AppleScript Utility on steroids.
  3. Last option is to use an "Application Launcher" such as QuickSilver or Launchbar. You can simply call them using a distinct keyboard shortcut and type the name of the script or an abbreviation you have configured for it and run it.

The script is based on the work done by Jim Harrison for similar functionality in OmniFocus or TaskPaper, but I have modified and simplified the scripting significantly and made it work for Things. Let me know if the script works for you and if not which problems you encounter.

Loading mentions Retweet
Filed under  //   applescript   notes   omnioutliner   things  

Comments [0]

Accessing Project Support Material Folders from Things with AppleScript

Although Things from CulturedCode allows you to have notes with tasks and projects, even linking files, URLs and folders to the notes, I, like maybe many of you, keep a folder on my hard disk for the so called "Support Material" for each of my projects. The script introduced in this posts allows you to open, or if it does not yet exists, create the Project Support Material folder from within Things.

Functionality of the Script

The script is invoked, using different options (see below), while you have selected one or more tasks within Things that belongs to a project (tasks without a project or assigned to an Area of Responsibility or Person will get rejected). The Script than checks within a specified folder at the top level of your "Documents" system folder, if a folder for the related Things project (using the name of the project) already exists. If it does, it'll open it in a Finder window and bring it to the front, if it doesn't exist, you'll be asked whether you want it to be created.

Installation and Configuration

  1. Download the AppleScript
  2. Put it into your user script directory, e.g. ~/Users/<your username>/Library/Scripts/
  3. Modify the key parameters in the script as required
  4. Configure your preferred way for running the script

Here are the parameters you can change to make the script working for your environment:

  • set projectsFolderName to "Support Material" - Change this into the folder name in which you keep all your project's support material folders
  • set projectsPath to (path to documents folder as text) - This points to your standard "Documents" folder by default, if you use a different folder or a folder further down in the hierarchy , you can set it to a string with the folder path, e.g. "Macintosh HD:Users:Sven:Documents:Misc:Projects:". It needs to end with a colon.

Running the Script

There are at least three different ways to invoke the script when working in Things. Unfortunately Things does not allow to e.g. add scripts to menu or tool bars, so we need to work around this with one of the following options:

  1. Use the Mac OS X Script menu which can be configured using the AppleScript Utility. It displays a menu bar item from which you can invoke scripts and with the Keyboard Setting in the Mac OS X System Preferences you can even assigned a keyboard short-cut for each script. The Things Wiki has a great description on how to get this working.
  2. Using Red Sweater's FastScripts does about the same thing, but with much more comfort since you can, for example, assign keyboard short-cuts to each script right from within FastScripts. It is pretty much the AppleScript Utility on steroids.
  3. Last option is to use an "Application Launcher" such as QuickSilver or Launchbar. You can simply call them using a distinct keyboard shortcut and type the name of the script or an abbreviation you have configured for it and run it.

The script is based on the work done by Jim Harrison for similar functionality in OmniFocus or TaskPaper, but I have modified and simplified the scripting significantly and made it work for Things. Let me know if the script works for you and if not which problems you encounter.

Loading mentions Retweet
Filed under  //   applescript   finder   folder   support material   things  

Comments [0]

Automatically add Tasks delegated by Email to Things with Applescript

Things-Icon

I've recently published an Applescript that, with some help of MailTags automatically adds emails by which you delegated tasks to OmniFocus. Since only minimal adjustments in the code were required to make it work for Things as well, I've modified the script accordingly. Please refer to the original post for more details on functionality and background information since I'll keep it short in this post.

Script Functionality

  1. Based on a specific MailTag in Mail.app you can invoke a outbox rule which will start the script (I use "@Waiting" in MailTags as well and simply applied it to those emails I write which need to be tracked for response)
  2. The script adds a task with the title "<recipient> to come back re <subject>". The text in the middle can be configured in the script and if you have more than one recipient (CC and BCC recipients are ignores) the script will take the first recipient and add "and x more" automatically.
  3. The task includes a link back to the original message in the notes section (and the actual mail body, if desired), is automatically assigned with a "@waiting" tag (configurable) and placed into Things' inbox
  4. If you have Growl installed and running, the script will give visual feedback once the task has been created

Installation of the script

  1. You will need MailTags from Indev to later built the proper Mail.app outbox rule
  2. Download the script and copy it into your standard script directory, e.g. ~/Users/<your username>/Library/Scripts/
  3. Modify the script configuration based on your needs and setup
  4. Create a outbox rule in Mail.App that invokes the script if specific conditions, i.e. MailTags Keyword of the message is "@Waiting", are met

Customising the key parameters

Inside the script you can and very likely should change some configuration properties to match your requirements and setup.

  • property mailBody : true - You should change this setting to 'false' if you do not want the entire body text of the email to be pasted into the Things task's note section.
  • property MidFix : "to come back re" - Change this text to whatever you like to see in the task title between the email recipient's name and the email's subject.
  • property myWFTag : "@waiting" - This variable needs to exactly match the name of the tag in Things that you'd like to use for "Waiting For" items, i.e. "@waiting".

Creating the outbox rule in Mail.app

Next you need to create a outbox rule in Mail.app that looks similar to the one below. Again MailTags will be required to perform this action.

Mail.App Rule to invoke Script based on a certain MailTag

With this last step you should be up and running. Enjoy and please let me know how this script works for you.

Loading mentions Retweet
Filed under  //   applescript   gtd   mail.app   things   waiting for  

Comments [0]