My understanding is that on iDevices, each app maintains it’s own data files in a secure sandbox. One app can’t see another’s data, the only way around that is for app A to send a copy of it’s data file to app B. thus A can’t have a link to a data file in B.
That isn’t right. It is possible to create links to Datas
of another Application. GoodReader makes a good job for
that. I think GoodReader is in many things, what DTTG should be
(without the userinterface of GR).
Goodreader maintain its own files. It doesn’t link to files stored in other apps. You usually have to go to the other app and “open in” Goodreader any files you want to view. That copies the files over. Perhaps I didn’t understand your reference to links in Goodreader.
From Codiform blog:
Unlike most desktop operating systems, user applications in iOS do not share areas of the filesystem with other applications. Users can’t save a file to a location that’s accessible to both applications and then switch applications and load the file. It is possible, however, for each application to register the kinds of files they’re capable of handling, and to ask iOS to open a file on your behalf. UIDocumentInteractionController will then offer the user a choice of applications known to handle files of that type, resulting in another application being asked to open that file.
For instance, if you open a PDF in Dropbox and click the ‘Action’ icon, iOS will give you the option of opening the file in one or more of the applications that support PDFs. Take as an example iBooks and Evernote. Strictly speaking, the Dropbox and iBooks applications aren’t integrated. They know nothing about one another, and the Dropbox app cannot explicitly invoke iBooks. However, because iOS knows about both applications, it provides a mechanism that allows them to feel as if they’re integrated. Even in this scenario, iOS doesn’t actually share a file between applications. If you open a file in another application, iOS makes a copy of that file in the Inbox folder of the destination app. Each app retains its own copy of the file and decides what to do with it.
This is kind of true and kind of not true. I routinely use DTTG with iAnnotatePDF. I can send the file to iAnnotate, edit it, and then send it back to DTTG as a flat file. The file I send back replaces the original in DTTG.
So it may not exactly be a link but apparently there’s some reference that’s maintained, at least in this particular case.
pvonk is correct. Linking a file in one app to a file in another app doesn’t operate in iOS. Neither app “knows” anything about the files in the other app.
iOS maintains information about which apps installed on the device can open files of certain filetypes. When the user chooses the command to open a file in another app, iOS presents a list of the apps that can open the selected document.
In the case of a PDF in DT To Go that is selected and opened in GoodReader, a copy of that PDF is sent to GoodReader. There, the PDF can be edited by annotating it in various ways, such as highlighting, notes, etc.
After modifying the PDF the user can choose to open the PDF in DT To Go. A copy of the PDF is then sent to DT To Go.
Why doesn’t DT To Go now have two copies of that PDF, the original one and the modified copy sent by GoodReader?
Here’s the trick. Each document in a DEVONthink database has a unique identifier, the UUID. The copy sent to another app continues to keep that identifier, as does the copy sent back to DT To Go after modification.
So there’s still only one copy of the PDF in DT To Go. The outcome of sending a file to another app for editing, then sending the modified file back is precisely the same outcome that would have happened had the editing been done within DT To Go, as far as the database is concerned.
The effect of opening and editing a PDF in another app, then sending the PDF back to DT To Go is the same as opening and editing a PDF that’s stored in a Mac DEVONthink database under Preview, then saving the modified file back to the database. The difference is that in iOS it is a two-step procedure compared to the one-step Save procedure in OS X, and of course a copy also remains in GoodReader.
I’ve read all the replies to the OP’s question and I believe there may be some confusion as to what Alex wants to accomplish. It is currently possible to do the following, and I make extensive use of this myself. On the Mac, I create tasks in OmniFocus from documents in DEVONthink, with a link back to the document in DEVONthink. I do this either by using the Reminder script that comes with DEVONthink or copying the document’s link in DEVONthink and pasting the link in the note field of the OmniFocus task. Clicking on the link in the note field of the OmniFocus task opens the document in DEVONthink. I can also create a linkage between the two apps that works in reverse-links in documents in the DEVONthink database that opens tasks and projects in OmniFocus.
Once this document>task or task>document link is created on the Mac, syncing the tasks and the documents to iOS will maintain the same link functionality. I can click on a document link in the notes field of the OmniFocus iPad task and that document will open in DEVONthink To Go. I can click on a link in a document in DEVONthink To Go to a task in OmniFocus, and OmniFocus iPad will open that task. None of this functionality is the same as where the conversation has headed concerning the iOS command ‘Open In…’ to send a document from one app to open in another app.
To Alex’s question, I know of no way to create the links on iOS. For now you will still need to create the connections on the Mac side.
It is possible (but not really useful) to enter links to DT items manually on the iPhone.
If you know the ID of the item, you can enter the link like that:
Tapping this link (or entering it into an address bar) will open the item directly in DTTG. Downside: the only way to get an item’s ID from DTTG that I know of is exporting it.
So technically it’s possible, but not really usable until better supported by DDTG. You can, however, create links on the Mac and sync them. As Greg mentioned, links to DT items will work equally on either the iPhone or the Mac.
The only App, I know, that can do this is GoodReader. Bad UI
but full of function I would like to see on DTTG. Creating links there is really simple. When you tap that link in any app, it open the file in GR.
I’m curious, in what way does Goodreader maintain links to files stored in other app spaces? From your description, it sounds like you mean that while in another app, “opening in” GR opens the file in GR. That’s not a link, it’s sending a copy of the file to GR. Then you have two copies of the file on your device.
GoodReader doesn’t link to files in other apps. But it supports creating links in GR to copy these links to other Apps. In this case it works how DTTG should be. If you use only GR there is only one copy of the file. Unfortunately I have the problem with two copys. One in DTTG and one in GR to link. But I think it should not so complicate for an iOS developer to integrate thinks like this in DTTG. So I hope DTTG become more and more the little brother of DT then a appendix of the DevonThink-Line. I Have only worked with DT for a little while, because my home computer is a pc, but I still love the idea and UI of DT. So I would love to see a more produktive iPhone app.
Bill, is it possible to add UUID to documents ‘Info’ panel in DTTG with the ability to copy it? That would solve the problem. I’d take the UUID from document’s ‘Info’ and paste it into OmniFocus.
Since UUID is preserved when documents move from iPhone to Mac (and back), then it’d give me exactly the thing I’m looking for.
I expect that would work fine. Jon mentioned in this thread that he would take a look at a solution to do something to capture the UUID. OmniFocus iPad does this already, as is mentioned in the linked thread.
Now that extensions are out with iOS 8, are the links from Copy Note Link synced to DTTG? I want to Copy Note Link, paste the URLs in MindNode / OmniFocus / OmniOutliner and have them bounce to the DTTG app on my iPhone 6. Is this possible?
I hope I understand you proberly, becaus English is not my native language.You can create tasks in OmniFocus very simple. When you have opened a file in DTTG just press the share Button (square with arrow up) an the is a point “new task in OmniFocus”.
If you need the link in any other App it is more difficult, because DTTG does not sent the URL with the “open in” button, but the link to the file. For example if i press the share button and then “open in” 2do (task manager) DTTD sends following link:
but 2Do can’t open this link and any App that can handle this kind of file will make a copy and open it. Thats okay for pdf readers or so, but If you just wants that the file opens in DTTG you need the same URL that DTTG sends to Omnifocus:
To accomplish that you could use Workflow from the AppStore. I have wrote a workflow that takes the link from the open in menu and modifies it to the URL and creates a task in 2Do. The drawback is that you have to name the task, because DTTG does not send the name of the file. You could insert any other App where you just want the URL instead of the link. Also the link will work on your Mac with DevonThink if your App has a Mac companian.
You can find the workflow here: workflow.is/workflows/cce05a1d7 … 6099cdb030