View Single Post
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>
This transaction (with its delete operations) can be linked to your normal graph of transactions and synced across all your devices, and you don't have to worry about having a hand-edited copy of a transaction on one device which doesn't match other copies of that same transaction on other devices.

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!