Until there is a way to export completed items, is it feasible to download the XML files from the WebDAV server, search & replace (regex) the completed items, save the file and load it back?
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!
|
|
FAQ | Members List | Calendar | Today's Posts | Search |
Is editing the XML files to handle completes an option? | Thread Tools | Search this Thread | Display Modes |
Member
2011-12-16, 06:44 PM
Until there is a way to export completed items, is it feasible to download the XML files from the WebDAV server, search & replace (regex) the completed items, save the file and load it back?
Post 1
|
Member
2011-12-17, 10:57 AM
You want to export a list of your completed items, or you want to remove them from the database? I'm assuming the latter, based on your other posts.
Is it possible to edit the XML files by hand? Yes. Does it make sense to do so? Probably not. Without meaning to be too snarky about it, the set of people one might encourage to pursue this is pretty much the set of people who could figure out how to do it :-) To do this, you would probably want to use a Mac or a PC. You'll want your database to be compacted before starting (just 1 zip file). On the Mac, you'd mount the WebDAV volume from the Finder, select the database file, right-click and select Show Package Contents, which should reveal a file named 0000<.....>.zip. Unzip the file and you should get a file called contents.xml. Open that up with TextWrangler or something similar. I took the introductory database and marked a single item complete to serve as an example. Here is a snippet including the single completed item: Code:
<task id="auGxids5H9K"> <project> <last-review>2007-11-09T08:00:00.000Z</last-review> <next-review>2007-11-16T08:00:00.000Z</next-review> <review-interval>@1w</review-interval> <rank>-1073741824</rank> </task> </project> <added order="21">2011-12-17T19:26:29.833Z</added> <modified>2011-12-17T19:26:39.759Z</modified> <name>Get started with OmniFocus</name> <rank>-1073741824</rank> </task> <task id="nF1pkXhtoS3"> <task idref="auGxids5H9K"/> <added order="22">2011-12-17T19:26:29.833Z</added> <modified>2011-12-17T19:26:39.759Z</modified> <name>Watch the OmniFocus Quick Start video</name> <note> <text> <p> <run> <style> <value key="link">http://omnigroup.com/applications/omnifocus/quickstart</value> <value key="paragraph-alignment">left</value> </style> <lit>http://omnigroup.com/applications/omnifocus/quickstart</lit> </run> </p> <p> <run> <style> <value key="paragraph-alignment">left</value> </style> <lit>Note: be sure to mark this task complete when you're done!</lit> </run> </p> </text> </note> <rank>0</rank> <context idref="oQrYXVieqcS"/> <completed>2011-12-17T19:26:39.620Z</completed> </task> <task id="doOd0htrSs_"> <task idref="auGxids5H9K"/> <added order="23">2011-12-17T19:26:29.833Z</added> <name>Process items in OmniFocus inbox into projects and actions</name> <note> <text> <p> <run> <style> <value key="paragraph-alignment">left</value> </style> <lit>Note: be sure to watch the Quick Start video first for tips on processing!</lit> Code:
<task id="auGxids5H9K"> <project> <last-review>2007-11-09T08:00:00.000Z</last-review> <next-review>2007-11-16T08:00:00.000Z</next-review> <review-interval>@1w</review-interval> <rank>-1073741824</rank> </task> </project> <added order="21">2011-12-17T19:26:29.833Z</added> <modified>2011-12-17T19:26:39.759Z</modified> <name>Get started with OmniFocus</name> <rank>-1073741824</rank> </task> Whether or not you've got the technical chops to do this, it probably isn't a good use of your time. Pester Omni to supply a solution, or buy a cheap (used?) Mac and a copy of OmniFocus for Mac, or just delete them with the program one by one. Or maybe just leave them alone while you wait — OF for iPad can handle thousands of actions, though it will get a bit slower as the database grows. I find the excess search results to be the most annoying side effect, myself, though sometimes I want completed actions to show up, so I'm not pressing for them to be removed...
Post 2
|
Hmm. OK, just in case anyone is really considering going down this path…
Rather than editing your existing transactions, I'd recommend creating a new transaction which deletes the tasks in question, like so: Code:
<?xml version="1.0" encoding="utf-8" standalone="no"?> <omnifocus xmlns="http://www.omnigroup.com/namespace/OmniFocus/v1" app-id="com.omnigroup.OmniFocus" app-version="77.86.0.157059" os-name="NSMACHOperatingSystem" os-version="10.7.2" machine-model="MacBookAir4,2"> <task id="nF1pkXhtoS3" op="delete"/> <task id="nUPqu24qmxb" op="delete"/> </omnifocus> How do you link a transaction to the synced graph of transactions? Each transaction is named "timestamp=old[+old…]+new.zip", where the timestamp is formatted as YYYYMMDDhhmmss (year, month, day, hour, minute, second), "old" is a reference to a transaction id (or multiple transaction ids separated by "+") referencing to the last known transactions in the existing chain, and "new" is a new unique identifier representing the new state you're creating. So, when you see a transaction filename like 20111219002244=lebUEvIYfnr+ckxT--bo5bC.zip, that means the transaction was created on Dec 19, 2011 at 00:22:44 (Universal Time), modifying the "lebUEvIYfnr" transaction to produce a new "ckxT--bo5bC" transaction. The app picks long pseudo-random identifiers for the transactions it creates, but if you want you can name yours something simple like "MyState12" as long as that name isn't already present in any device's copy of the synchronized transaction graph. After all devices have synchronized with this new transaction, it will be coalesced with earlier transactions to form a new transaction state (the one with the timestamp "00000000000000") which will no longer contain those deleted tasks. Hope this helps!
Post 3
|
Member
2011-12-18, 07:23 PM
Ken, it was my hope that my description would scare off the innocent, and I wouldn't really be contributing to anyone's delinquency :-)
Post 4
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
How to edit points underneath drag handle? [A: Option-Command-Click] | lsamberg | OmniGraffle General | 2 | 2011-07-29 05:16 AM |
Option-scroll to zoom option | XedMada | OmniGraffle General | 0 | 2009-07-27 09:02 AM |
Sync never completes on one machine | CdtDelta | OmniFocus Syncing | 1 | 2009-06-28 06:20 AM |
5.0 b Why are layers locked down automatically when editing 4.x files? | dude | OmniGraffle General | 0 | 2008-01-23 06:29 PM |
Parent-only handle option | Nick Sloan | OmniOutliner 3 for Mac | 0 | 2007-11-13 10:28 PM |