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 > OmniPlan > OmniPlan Extras
FAQ Members List Calendar Search Today's Posts Mark Forums Read

 
Omniplan / Omnifocus synchronisation Thread Tools Search this Thread Display Modes
I've spent the last few hours of my life trying to populate OmniPlan with tasks from OmniFocus.

I have absolutely no idea why OmniGroup doesn't bother to integrate both apps or at least write some documentation how to export/import between them. Please please OmniGroup allow your customers use your two amazing products together... just like I can use OmniFocus on my Mac and iPad. If you are a customer who would also like this functionality please add a comment below.

In the meantime this is what I found out you can do.

1. Open OmniFocus and OmniPlan
2. Select the folder in OmniFocus that you would like to add to OmniPlan. This should show the list of tasks you want to import.
3. Select any task... then press the apple button and a to select them all
4. Go to spotlight (top right of screen) and type apple script to launch the editor.
5. Copy and past the script below and click run

-- Illustrative draft Ver 0.7

-- Copies anything selected in Omnifocus (Project or Context View) into Omniplan
-- Note that the whole sub-tree is copied, so only 'parent' elements need to be selected.
-- The destination is the currently open OmniPlan document.
-- (A fresh OmniPlan document is created if none is open)

property pPROJECT : "project"
property pTASK : "task"
property pITEM : "item"

on run
set {lstActivities, blnContext} to SelectedInOF()

PlaceinOP(lstActivities)
end run


-- TRANSFERRING TO OMNIPLAN

on PlaceinOP(lstTasks)
if (length of lstTasks > 0) then
tell application id "OPla"
if (count of documents) < 1 then
set oDoc to make new document
else
set oDoc to front document
end if

my PlaceTasks(lstTasks, oDoc)
end tell
end if
end PlaceinOP

on PlaceTasks(lstTasks, oParent)
tell application id "OPla"
tell oParent
repeat with oTask in lstTasks
set {strName, blnDone, lstSubTasks, strNote, strParent, dteStart, dteDue, dteDone, lngMins, blnFlagged} to oTask
if length of strNote > 0 then
set oOPTask to make new task with properties {name:strName, note:strNote}
else
set oOPTask to make new task with properties {name:strName}
end if
tell oOPTask
if dteStart is not equal to missing value then set starting date to dteStart
if dteDue is not equal to missing value then set ending date to dteDue
if lngMins > 0 then
set duration to lngMins * 60
end if
if blnDone then set completed to 1
end tell
if length of lstSubTasks > 0 then
my PlaceTasks(lstSubTasks, oOPTask)
end if
end repeat
end tell
end tell
end PlaceTasks


-- READ SELECTED OmniFocus CONTENT TREE(S) TO NESTED APPLESCRIPT LISTS - Ver.02

on SelectedInOF()
tell application id "OFOC"
set oWin to front window
set blnContext to ((selected view mode identifier) of oWin is not equal to pPROJECT)
tell content of oWin
set lstContentSeln to selected trees
if (count of lstContentSeln) > 0 then -- Whatever is SELECTED in content panel
set lstTrees to lstContentSeln
set blnAll to false
else -- EVERYTHING in the content panel
set lstTrees to trees
set blnAll to true
end if
end tell
{my Trees2List(oWin, lstTrees, blnContext, blnAll), blnContext}
end tell
end SelectedInOF

on Trees2List(oWin, lstTrees, blnContext, blnAll)
set lstTasks to {}

tell application id "OFOC"
repeat with oNode in lstTrees
set oValue to value of oNode
set cClass to class of oValue

if cClass is not item then
if cClass is project then
set end of lstTasks to my ListProject(oNode, oValue, blnContext, blnAll)
else if cClass is task then
set end of lstTasks to my ListTask(oNode, blnContext, blnAll)
else
set end of lstTasks to my ListContext(oNode, oValue, blnAll)
end if
else
set end of lstTasks to my ListUnProcessed(oNode, oValue, blnContext, blnAll)
end if
end repeat
end tell
lstTasks
end Trees2List

on ListProject(oNode, oValue, blnContext, blnAll)
tell application id "OFOC"
tell oNode
set lstChildren to trees of oNode
tell oValue
if (count of lstChildren) > 0 then
{name, completed, my ListSubTrees(lstChildren, blnContext, blnAll), note, "", start date, due date, completion date, estimated minutes, flagged}
else
{name, completed, {}, note, "", start date, due date, completion date, estimated minutes, flagged}
end if
end tell
end tell
end tell
end ListProject

on ListContext(oNode, oValue, blnAll)
tell application id "OFOC"
tell oNode
set lstChildren to trees
set oValue to value of oNode
tell oValue
if (count of lstChildren) > 0 then
{name, false, my ListSubTrees(lstChildren, true, blnAll), note, "", missing value, missing value, missing value, 0, false}
else
{name, false, {}, note, "", missing value, missing value, missing value, 0, false}
end if
end tell
end tell
end tell
end ListContext


on ListUnProcessed(oNode, oValue, blnContext, blnAll)
tell application id "OFOC"
tell oNode
set lstChildren to trees

if blnContext then
set strName to "No Context"
else
set strName to "Inbox"
end if

tell oValue
if (count of lstChildren) > 0 then
{strName, false, my ListSubTrees(lstChildren, blnContext, blnAll), "", "", missing value, missing value, missing value, 0, false}
else
{strName, false, {}, "", "", missing value, missing value, missing value, 0, false}
end if
end tell
end tell
end tell
end ListUnProcessed

on ListSubTrees(lstTrees, blnContext, blnAll)
set lstTasks to {}
repeat with oNode in lstTrees
set end of lstTasks to my ListTask(oNode, blnContext, blnAll)
end repeat
return lstTasks
end ListSubTrees

on ListTask(oNode, blnContext, blnAll)
tell application id "OFOC"
tell oNode
set oTask to value of oNode
set lstSubTrees to trees of oNode

end tell
if blnContext then
set oParent to containing project of oTask
else
set oParent to context of oTask
end if
if oParent is not missing value then
set strParent to name of oParent
else
set strParent to ""
end if
tell oTask
if (count of lstSubTrees) > 0 then
{name, completed, my ListSubTrees(lstSubTrees, blnContext, blnAll), note, strParent, start date, due date, completion date, estimated minutes, flagged}
else
{name, completed, {}, note, strParent, start date, due date, completion date, estimated minutes, flagged}
end if
end tell
end tell
end ListTask

-----------------
To export from OmniPlan to OmniFocus

Go to OmniPlan and export in OO3 format
In OF choose Import and select OO3 file
Map "assigned to" to Context, and finish the import
In Inbox, assign the whole set of tasks to a project
In context mode, delete all tasks that are not in the context with my name on it

Hopes this helps. Any other tips would be appreciated.

Last edited by tonyoconnell; 2011-12-29 at 10:07 AM..
 
Quote:
Originally Posted by tonyoconnell View Post
Hopes this helps. Any other tips would be appreciated.
Well, you could post links to the threads where you found this information, rather than reposting without attribution. That way, when the content on those threads is updated, anyone looking for it gets the latest stuff, instead of possibly stumbling across a static copy that is out of date.

Also, using Help->Send Feedback from within the app is a better way to make a feature request (or bug report) than posting to the forum. It's a bit hit or miss as to whether the right Omni staffer will see any given forum post (or whether any Omni staffer will see it!) but the email generated by Send Feedback goes into their tracking system and is eventually seen by someone whose job it is to handle it.
 
Sync has been talked about for a long time, and still no go. There is also no sync to iCal.

I am trying to get my work group on a work flow with OmniOutliner, OmniPlan, and OmniFocus, and it's like a 19th century collage. What gives?
 
 


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Similar Threads
Thread Thread Starter Forum Replies Last Post
omniplan and omnifocus jlenker OmniPlan Extras 4 2011-10-18 10:46 PM
omnifocus or omniplan? elektroglide OmniFocus 1 for Mac 19 2011-06-26 05:15 PM
OmniFocus vs. OmniPlan Fxdrew OmniFocus 1 for Mac 2 2008-07-01 02:49 AM
Omnifocus vs Omniplan? filmmaker OmniFocus 1 for Mac 7 2008-03-24 05:31 PM
iCal synchronisation nurbz OmniPlan General 0 2006-08-01 01:35 AM


All times are GMT -8. The time now is 03:11 AM.


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