Documents selected from Document Provider stay in OO but does not receive subsequent changes?

I fully realize that the use of external document storage is in beta, but I’m posting here to hopefully help with the development of this feature.

I used the document provider to grab an outline from DEVONthink To Go (DTTG). After making some change on OO in iOS I close the outline. The changes appear to propagate to DTTG, and subsequently to my desktop (using DEVONThink’s syncing).

I make some changes to that outline in OO on my Mac, save, let DEVONthink sync. Since the outline still appears in iOS under “Other Documents” my assumption is that it would pick up the changes made on the Mac and synced to iOS.

But this does not appear to be the case. If I wait for everything to sync up, then open the outline from the “Other Documents” section where it is still visible, the changes do not appear and the overlay indicates the file was last updated “on this device as YY:YY pm”.

So files in Other Documents seem to be able to push a change to a host application (via the document provider to the host application, this case DTTG), but do not receive subsequent changes.

The fact that changes made on another device are not received by the iOS device for outlines in the Other Documents section goes against the expectations that are established by making that document persist in the Other Documents section.

As I see it, the behaviour should be modified so that documents that remain in the Other Documents section are updated from their host application when changes are made on an external device. This would act like two-way sync, I suppose, and ensure that the user always had the most up-to-date version. This may be technically hard or impossible… and may vary depending on the host application.

OR

Documents accessed via the iOS document provider should not remain in the Other Documents section. The user should be required to re-select the file from the Document Provider every time. This would force the user to fetch the most up-to-date version from the host application via the Document Provider.

Currently it is possible for a user to:

  1. Edit an outline in Other Documents, which is synced back to the host.
  2. Edit that same outline on another device, such as a Mac.
  3. Revisit the document on iOS, where the changes from (2) will not be present
  4. The changes just made in (3) including the absence of changes made in (2) are then pushed back, causing data loss because anything done in (2) is abandoned.

I’ve only just started playing around with this so it is possible that this is a one-off anomaly, or perhaps an issue specific to using the document provider with OO and DTTG. I’ll have to noodle around a bit more to see if I can provide more details.

1 Like

Are you continuing to see this behavior? For the most part, all the syncing through the external document providers is not handled by us. Does DTTG have an app you can check to see if the iOS version was updated and just hasn’t updated in OmniOutliner for some reason?

Hi Derek,
Thanks for checking in.

I played around a bit more and continue to be able to reproduce the issue. DTTG does have an app (https://itunes.apple.com/us/app/devonthink-to-go/id395722470?mt=8) but doesn’t support viewing .ooutliner files. I could, however, check the “date modified” in DTTG to confirm that DTTG does have the most up-to-date version.

Relevant Hardware and Software:
iPad Pro
MacBook Pro
DEVONthink Pro Office (Mac)
DEVONthink To Go (iOS)
OmniOutliner (iOS and Mac)

(DEVONthink synchronizes its information between using a proprietary sync engine, with Dropbox as the method for transferring data)

So, to test, I did the following:

  1. On iOS, ensure DTTG is synced.
  2. On iOS, use the Document Provider (DP) to select OutlineA
  3. On iOS Make a change to the file (Added a line of text)
  4. closed the file
  5. On iOS Checked modification date on the file in DTTG, noting that it has correctly been updated (OmniOutliner –> DTTG) ✅ (So far, everything as expected)
  6. On Mac, Open OutlineA in OmniOutliner for on the Mac. Changes made in (3) are, as expected, present. (DTTG –> DEVONthink Pro Office –> OmniOutliner Mac) ✅
  7. On Mac, make a change to the file (added another line of text).
  8. On Mac, allow DEVONthink Pro Office to recognize the changes and sync.
  9. On iOS, let DTTG sync, check modification date of Outline A, noting that it has correctly been updated (OmniOutliner –> DEVONThink Pro Office –> DTTG) ✅
  10. On iOS, open OmniOutliner, navigate to “Other Documents” where OutlineA is still listed.
  11. On iOS Open Outline A, noting that OmniOutliner shows that the file was “last modified on this device at [TIME]”) and the changes made in (7) are not present (DTTG –> OmniOutliner) ❌

I did the above steps before writing them out here. Having now written them out, about 10 minutes has passed and I checked OmniOutliner on iOS to see if, after some time, the changes were pushed through the DP from DTTG to OmniOutliner, and they have not yet appeared. The version in Outline A in Other Documents remains out of date. So it seems like it is not a matter of time, either.

But, if it is the case that the “Host” application (DTTG in this case) is responsible for pushing changes to “Client” applications (OmniOutliner iOS, in this case) through the DP, then I gather that the issue with with DTTG’s implementation of the document provider.

(There is an easy workaround, which is to just use OmniPresence, so this isn’t a total show-stopper, but it would be nice to have the option of using the DP with DTTG).

Cheers,
Scott

Which Mac version of OmniOutliner are you using? Or more specifically, what OmniOutliner file type are you saving to? .oo3 or .ooutline? And if you’re using .ooutline, is it set to save as flat? This option is in the Document inspector > Format and Metadata section (on the Mac). Try using the flat format if you’re not.

Another good thing to try is seeing what version of the file you get if you remove it from the Other Documents location and re-add it. Removing from Other Documents does not delete the file like it does for other locations, it simply removes the bookmark to that file so you have to access it again using the + button.

If you’re using the .oo3 or the .ooutline package format, I’m a little surprised it works at all if it’s storing on Dropbox, but if DEVONthink actually manages it with a sync engine versus just storing it on Dropbox, that would explain it. Dropbox does not support file packages on iOS.

Hi Derek,
On the mac I am using OmniOutliner 5 (5.0.3 I believe). On iOS its 2.10.
I am using .ooutline, saved as flat (as per defaults for OO5). (Though I did have one .oo3 file that I had created in OmniOutliner for iOS which still creates oo3 files at the moment, but I since updated that on OO on the mac).

If I remove the file “bookmark” from the Other Files section and re-add it from the document picker, I get the most up-to-date version of the file. That was the inspiration for my second of the two recommendations: do not bookmark the file and force the user to fetch the newest version from the Document Provider. However, it sounds like host applications other than DEVONthink To Go update the bookmarked file just fine, so it seems to be an idiosyncrasy of DTTG. I’ll pop over to the forums there to see if others are experiencing the same thing and to get the word out to the developers over there in case there’s something they can do on their end.