The Omni Group
These forums are now read-only. Please visit our new forums to participate in discussion. A new account will be required to post in the new forums. For more info on the switch, see this post. Thank you!

Go Back   The Omni Group Forums > OmniFocus > OmniFocus Extras
FAQ Members List Calendar Today's Posts

 
AppleScript help: Create sub-task, project from task Thread Tools Search this Thread Display Modes
I'm fairly certain I'm missing something obvious here, but how do I create or duplicate a task so that it's within (as a subtask of) another task?

Also, is there an easy way, via AppleScript, to turn a task into a project (as though it were dragged from the task view to the projects sidebar)?

Thanks for the help!
 
Hrm... It appears that the only way to create a sub-task is to tell the parent task to create a new task. Not exactly intuitive, but it works. (I'd expect make new task at <parent task> to be the syntax.)

Then there's create a project from a task. I seem to have to do that by grabbing the properties of the task. No big deal, really. But what I'm trying to do is have a one-click way to take a task and turn it into a project with that same task within the project. (Specifically to take a singleton in a bucket and turn it into its own project as soon as it becomes clear it'll take more steps -- i.e. if it gains a "waiting" action)

What I can't seem to do is assign a task to a project, which seems entirely nutty.
 
Creating a project from a task would ideally work by just creating a new project "with properties {root task:MyTask}", but this isn't specifically implemented -- it might work, but there would be a root task that would probably get orphaned and then resurrected into the Inbox ... not good. I've logged <bug://bugs/43714> ('make new project' should accept a 'root task' in its properties) on this.

Assigning a task to an inbox item would just involve setting the 'assigned container' (can either use a project, its root task or any other task). With an existing task, you should just 'move' it where you want it (TN2106 says container properties should generally be read-only and 'move' should be used to update them).

Here are some examples:

Code:
tell application "OmniFocus"
	tell default document
		set MyProject1 to make new project with properties {name:"Test project 1"}
		tell MyProject1
			set MyAction to make new task with properties {name:"action"}
		end tell
		
		set MyProject2 to make new project with properties {name:"Test project 2"}
		move MyAction to end of tasks of MyProject2
		
		set MyProject3 to make new project with properties {name:"Test project 3"}
		duplicate MyAction to end of tasks of MyProject3 with properties {note:"I'm in 3 now!"}
		
		set MyInboxItem to make new inbox task with properties {name:"Stuffs"}
		set assigned container of MyInboxItem to MyProject1
	end tell
end tell
__________________
CTO, The Omni Group
 
Thanks, Tim! That's a great help. I was missing the "move to end of tasks" portion and was just moving to the project itself (which threw an error).
 
 




Similar Threads
Thread Thread Starter Forum Replies Last Post
Simple Applescript, Create Task, Assign resource, Assign dependency dexterama OmniPlan Extras 2 2012-11-18 01:25 PM
Applescript error number -1728 when trying to specify a project name for a new task benlanghals OmniFocus Extras 3 2011-12-30 06:55 PM
Applescript to change the Project of a task? Kha OmniFocus Extras 2 2011-12-19 03:10 PM
Add quick entry task with project using AppleScript iNik OmniFocus Extras 2 2011-08-30 01:40 PM
Create Task with Label kennedyma OmniFocus 1 for Mac 1 2011-06-01 09:05 AM


All times are GMT -8. The time now is 04:48 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.