Seeking advice: accessing documents stored in DT for Mac from non-Apple devices

Hello,

I believe my question is somewhat out of scope, but I would appreciate it if DEVONtechnologies support and/or fellow forum folks could provide some advice.

Is it possible to gain access to all the documents stored in my DEVONthink databases from a non-Apple desktop (running Linux, but I don’t think it matters)? I find it tricky because the documents are a mixture of imported and indexed files, so the best approach I can think of is periodically manually export all the files on my Mac, but I’d like the process to be more automatic if possible at all.

(To clarify, I’m not seeking to access DT’s proprietary database files, just the files is sufficient. DT Server would solve this, but I can’t justify upgrading from Pro to Server for my simple needs.)

Thank you in advance! :slight_smile:

You could run an SMB server on your Mac and make it serve the DT database directory as well as your indexed files.

BUT: You should make very (very) sure that this is a read-only serve. Otherwise, you risk corrupting your DT installation.

A better alternative might be to actually export the files to a separate directory, which you then mount via SMB. This can, of course, be automated with a smart rule that exports everything regularly (once a day, once a minute - depending on how much data we’re talking about and how often it changes).

2 Likes

Hello and thank you for the reply!

I was under the impression that the database format used by DEVONthink is proprietary and thus cannot be understood by other programs:

It did not occur to me that DEVONthink might be able to automate the export process. This makes the export-to-SMB route much more appealing to my needs!

They are just folders (“directories” in Unix parlance). One can access them, and it should be ok for read-only access. However, it is discouraged because it’s too easy to modify something involuntarily.

You’ll have to write a minimal script for that, since the smart rules do not offer an export action. AppleScript/JavaScript however do offer an export method that “exports a record and all its children”. You’ll probably have to experiment with that. AFAIK, this preserves the group hierarchies.

1 Like

Oh, I was indeed able to find my imported files in their non-proprietary formats stored in the .dtBase2 files. However, I think the indexed files are not stored inside, right?

Thank you for the tip, I’ll see what I can achieve from here!

Well, that’s the difference between “imported” and “indexed”. It’s explained in more detail in The Really Fine Manual.

1 Like

Yeah, I suspected so. So that makes it unviable in my case to only have access to the (read-only) database files.

What makes you think that that’s the case?

  • You could create a smart group for all your indexed files and export that from DT;
  • You could (since you’ll have to script anyway) use a shell script to copy your indexed files from their original location(s) to the one you want to serve to Linux;
  • You could add the folder(s) that you index to the SMB server to export.

In which way make these options anything unviable?

2 Likes

Oh, indeed! Thank you for pointing it out. That’s indeed as viable a solution as exporting via scripting.

Another solution might be to run DevonThink in a virtual machine and sync databases via Bonjour…

3 Likes

Thanks! The overhead may or may not be worth it for me, but it’s certainly worth considering!

Hi,

No - your question is most definitely not ‘out of scope’ at all. It made me laugh as I started typing out a detailed suggested solution before I re-read your initial question only to realise that you’d already considered the Server edition! - silly me. None the less I have a few other ideas you could consider.

Are the other machines you want access from on the same local network as your Mac (or Macs) running DT3?

Did you have a licence for the old version of DT2 (or older) before version 3 came out? The web access function (which I never had a need for) was a native/included part of DT Pro and DT Pro Office versions (from memory) and was only split out into the Server edition in version 3. If you have an old licence, you could try using that to give you web access. However it would mean having to run say DT2 Pro Office as an additional, instance or as an alternative to DT3. As imported files would have to be duplicated for a DT2 database this could eat up a lot of storage space, depending on the quantity and file size.

If storage isn’t’ a problem, you could script the export of files out of DT3 and import or index them in DT2.

If running OSX as a VM is too big an overhead for what you need, then
(a) you could make the OSX VM super small with minimal resource usage, but sufficient to use it for Screen Sharing (with shared clipboard enabled) access to the Mac which has DT3 running to give you ‘remote’ access to the files, or if you have it run Apple’s Remote Desktop; or
(b) use something like TeamViewer or plain old VNC (which has huge cross platform and backwards compatibility for even very old OS’ like Windows 98!)

However all of this really depends on what you mean by “access to” the files - Do you just want to view the contents, or copy and paste a string of text from a document, or do you need to transfer complete copies of the whole file or many files from the remote Mac running DT3 to say the Linux machine, or just edit it in situ by viewing it and making changes remotely?

The question of whether you’re on the same network between your Linux machine and your Mac obviously not only impacts the above if it involves large data transfer, but there are also security considerations if say you’re not on the same network and you want to use VNC to remotely access/control your Mac from your Linux machine over the internet - In which case, you’d first want to establish a secure VPN connection for using VNC, or use another secure method of remote access instead. Obviously Server only works on the same local network but again you could use a VPN to work round this.

Sorry for the long winded response, but I guess we first need to understand the demands of what sort of “access” you want to the files in DT3

2 Likes

That would be my solution
Export is already part of my backup process, and the data is available for read access
Currently weekly, but I can see changing to daily

1 Like

One shouldn’t use DEVONthink 2 and 3 together.

(I think one reason is that DEVONthink 2 can’t handle DEVONthink 3’s Custom Meta Data).

3 Likes

That’s not an issue in the context of what I was suggesting. Yes, it’s correct that the database files are different as after upgrading to DT3 the old databases are converted/made compatible.

The suggestion wasn’t to use the database files themselves from one to another. It was to export the content files within them, then import those into DT2 (and index the others) to be able to use the web access that used to be a native function.

2 Likes

Hi,

Thank you for the detailed reply exploring different approaches! (And sorry for my delayed reply too :slight_smile: )

It frequently isn’t, but I’ve been using Tailscale to easily and securely access my home LAN remotely, so this shouldn’t pose a problem.

I had, but it was the cheapest edition and I only upgrade to (what is now called) the Pro edition after 3 launched.

This is very appealing to me as well, since I won’t need scripts to export from DT as the process isn’t already incorporated in my standard backup routine. Also, I’ve used RealVNC to transfer files before, but I can’t tell if it’s part of the vanilla VNC protocol or a custom implementation.

My use case would be extended PDF reading and, if possible, potential Markdown writing sessions, so it would actually benefit me (as opposed to being plain overkill) to have changes synced bidirectionally, à la DT Server. But I can also get by with a minimum of only viewing the contents.

It seems the SMB approach will already do what you’re looking for. Nevertheless, here’s another idea:

You could e.g. store all Markdown documents in an indexed folder (and replicate them to database groups as needed for your workflows). Then sync the indexed folder to the non-Apple device with the cloud provider of your choice. Here, the files can be edited natively with any Markdown editor and DevonThink receives the changes via the cloud provider.

Effectively, you now have bi-directional sync and virtually no maintenance is needed either.

1 Like

Glad if it helped in any way.

If your ‘access’ requirements are to view the contents of files you have stored in DT3 on your Mac but whilst you’re working on another non-Mac and creating or editing documents with Markdown, then why not keep it super simple and just use RealVNC (or any other VNC client on your Linux or other machine) to control your Mac - PROVIDED you make sure you only do this either when on your secure home network or, if not, then over a secure VPN connection to your home network. In case you weren’t aware, VNC (of all types/versions AFAIK) do not encrypt the network traffic, which is a security risk, but otherwise is really easy and effective to use to control your Mac remotely.

This way you can have a VNC window open on say your Linux session to get/read the documents you need (without having to export anything) and any comments/annotations, or other documents or notes you create whilst doing this will then already be on DT3 on your Mac and so will sync and back up etc (I assume you have your data backed up right …?). Similarly, you can create or edit markdown documents the say way, whilst in DT3 but remotely over VNC. I presume there will be a shared clipboard or some way to copy and paste text or files from the Linux instance over to your Mac, but worst case you could email them to yourself and then work on them in DT3 as before.

For me, if I were in your shoes, if side steps the need for exporting and smart groups etc - unless you want a smart group anyway, or some easy way to find and have access to relevant documents when accessing DT3 over VNC as before.

1 Like

Thank you for the reply and the suggestion!

Currently, all my Markdown files are imported and I think your advice makes sense. I’ll switch to indexing for easier access.

Thank you for your patience and time!

I was indeed not aware of this. I’ll definitely keep this in mind.