Custom metadata not available

I upgraded to Pro on May 1, 2020. I installed a few custom metadata fields and entered data. Now, I am not seeing any of the fields in the Custom option for the files. I have the Data option in the Preferences, but there are no options available there. The “About” window shows a registered version of Pro. When I open the Install Add-Ons option from the DT3 menu, the option for Addition Scripts is checked, but the Install button doesn’t seem to do anything.

Any thoughts? Thanks.

Custom metadata enabled in Preferences > Data should be available in e.g. Tools > Inspectors > Info > Custom. Or do you refer to another “Custom” option?

That’s the one.
Here’s the full window from one group (nothing in inspector>custom pane:

Here’s the Preferences > Data pane:

Please choose Help > Report Bug while pressing the Alt modifier key and send the result to cgrunenberg - at - devon-technologies.com - thanks!

Done! Thanks for the help.

Did you get to the bottom of this issue? Do you need additional cases to help you reproduce it?

This has happened to me a couple of times now. From the logs, the custom metadata entries seem to be being removed during sync. I have ended up with an empty CustomMetaData.plist file on both of my Macs now.

Did you remove any definitions on your own?

I have never removed any definitions manually via the UI. Here’s the timeline.

Installed DT3 on both Macs. Definitely noticed the custom metadata in the preferences because I remember thinking it was cool and I should come back to them.

Set up syncing, got DT To Go as well, added those devices as well. Everything syncing over WEBDAV just fine.

Yesterday, noticed that I didn’t have the custom metadata in the preferences on either machine, don’t know when it disappeared, went looking here. Found a thread from May saying that stopping DT, removing the plist file and restarting it would restore the values. I did that on both machines one at a time. Observed that the problem seemed to be fixed on both machines.

Came back today and the values have been removed again. Both of the plist files are empty again, both sync logs indicate that values were removed as part of the sync from the webDAV location.

So I’ve never removed any values through the UI, but I did remove an empty file from each machine while that copy of DT was stopped, causing them to be replaced with the defaults.

I guess it’s possible that doing the fix that way pushed something to the sync location before the file had been rebuilt? I wouldn’t be surprised; sync is hard. But that wouldn’t explain why I lost the values (on both machines) in the first place.

Hope that helps.

When I say the plist files are “empty”, I mean they are well-formed XML files with an empty property array, not literally empty files.

both sync logs indicate that values were removed as part of the sync from the webDAV location

The message or a screen capture of the message would be helpful here.

From the machine I’m on just now:

2020-07-30 15:51:21,593 INFO: Garbage collection complete.
2020-07-30 16:50:33,254 INFO: Database Playground: Will send 0 items and 1 reading positions to WebDAV (sync-iay.dtCloud <https://nas02.cs.iay.org.uk:5006/DEVONthink>)
2020-07-30 16:50:33,336 INFO: Garbage collection complete.
2020-07-30 16:50:56,379 INFO: Removed metadata definition mddate (DTWebDAVLocation <sync-iay.dtCloud>)
2020-07-30 16:50:56,379 INFO: Removed metadata definition mdcompany (DTWebDAVLocation <sync-iay.dtCloud>)
...
2020-07-30 16:50:56,379 INFO: Removed metadata definition mdtip (DTWebDAVLocation <sync-iay.dtCloud>)
2020-07-30 16:50:56,379 INFO: Removed metadata definition mdreimbursable (DTWebDAVLocation <sync-iay.dtCloud>)
2020-07-30 17:04:57,886 INFO: Database Active: Will send 4 items to WebDAV (sync-iay.dtCloud <https://nas02.cs.iay.org.uk:5006/DEVONthink>)

(Not a public URL, only on my private network)

Same on the other machine, but 15 minutes later.

Which version of DEVONthink 3 and DEVONthink To Go do you use?

DT 3.5.1. AFAIK DT To Go is the current one, I don’t know where I can find the version number for that. It was just purchased last week, though, so if you haven’t issued an update then it will be what’s current on the store.

Did you ever modify the custom metadata definitions, e.g. add your own ones or modify/remove the default ones, on one of the computers?

No, except as described above by removing the (semantically empty) plist files to try to get the original definitions back.

I tried removing the plist file from just one machine today (with the DT app on that machine not running) to see if it would propagate. It didn’t seem to, and a bit later the plist file on that machine had been overwritten again. I’ll try and lay aside a couple of hours when I am not doing anything else to see if I can solidly reproduce what triggered that.

This would be great, thanks!

Well, that was quick.

  • Started at 15:30 local time with two machines. They are synced together via WebDAV.
  • 1530: both machine have empty list of custom metadata in preferences, plist files are this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array/>
</plist>
  • Machine 2 (Desktop) file is 2020-07-30 16:50
  • Machine 1 (Laptop) file is today 11:14
  • 15:35 stop DT on machine 1, remove plist file, start again
  • File on machine 1 is now 6KB, dated 15:35, data preferences shows all default custom metadata greyed out again
  • Do nothing in DT on either machine for 30 minutes
  • 15:44 file on machine 1 has been overwritten again with the 182-byte “empty” one. Machine 1’s preferences no longer shows any custom metadata.
  • Machine 1’s sync log, in part:
2020-08-03 15:35:57,437 INFO: Garbage collection complete.
2020-08-03 15:44:16,931 INFO: Removed metadata definition mddate (DTWebDAVLocation <sync-iay.dtCloud>)
  • Machine 2’s sync log, in part:
2020-08-03 15:21:00,516 INFO: Database Active: 0 items added, 0 items modified, 1 items changed, 0 items deleted
2020-08-03 15:44:15,831 INFO: Database Active: Will send 1 items to WebDAV (sync-iay.dtCloud <https://nas02.cs.iay.org.uk:5006/DEVONthink>)
2020-08-03 15:44:15,906 INFO: Garbage collection removed 1 obsolete manifest entries.
2020-08-03 15:44:15,943 INFO: Garbage collection will remove 2 obsolete items/files
2020-08-03 15:44:15,960 INFO: Garbage collection complete.

It will be more obvious to you how to interpret that than it is to me, but it looks like machine 1 never pushed the added custom metadata items in a way that machine 2 ever saw, and that later machine 2 caused its empty list to be synced back and picked up by machine 1. I’m a bit suspicious of the timing, though, because the two logs are so close together.

Let me know if there’s anything I need to do to get you more information.

This appears to be a Synology NAS.
Are you using any kind of Synology’s applications that may affect the WebDAV sync directory?

That’s right, it’s a Synology DS415+ running the latest software release for that hardware.

I don’t run much on that machine, it’s mainly an iSCSI host (don’t ask). Other than the WebDAV server I think I’m just running their download manager for BitTorrent stuff. I don’t think they should be affecting each other, though, as I set up the WebDAV server to talk to its own shared folder (DEVONthink).

The folder’s on a (standard for this device) btrfs file system. I poked around in the settings a bit and the only thing I can see that might have some relevance is that there’s a setting for how often file access times are recorded: it’s set to Daily, but the other options are Monthly and Never so it seems unlikely that’s relevant (I’d expect sync to be based on modified times in any case).

In this case it’s more or less the expected behaviour, the default templates are not handled the same way until customized. Meaning that after deleting the plist on computer 1, none of its definitions was user-defined anymore whereas the synchronization assumes that the empty list on computer 2 is customized but empty.

Are you able to reproduce the issue by deleting the empty plist first on both machines and then starting to synchronize the computers again?