Dabei handelt es sich allerdings um statische Link: Du klickst auf den Link und das verlinkte Dokument öffnet sich.
Es gibt aber noch die Möglichkeit, ausführbare Links anzulegen: D.h. du klickst auf einen Link und es wird eine Aktion aufgeführt. Beispielsweise wird bei Klick auf einen ausführbaren Link in DEVONthink ein neues Dokument inklusive Inhalte angelegt, dabei muss der Link gar nicht innerhalb von DEVONthink liegen, sondern kann durchaus auch in einem anderen Programm eingefügt sein. Besonders interessant ist das in iOS, da dieses System die einzelnen Apps in weiten Teilen gegeneinander abschottet und du u.U. teilweise recht umständliche Workflows nutzen musst, um zwischen zwei Apps hin- und herzuspringen.
Eine sogenannte x-callback-Funktion kannst du nutzen, um deinen Workflow erheblich zu verbessern und einige Prozesse zu erleichtern, insbesondere eine zeitsparende Zusammenarbeit mit anderen Programmen zu ermöglichen. Es heißt "callback", weil hier eine Information von A nach B geschickt wird, aber auch etwas von B nach A zurückgegeben wird bzw. werden kann.
In DEVONthink beginnen diese Verweise/Links mit
x-devonthink://
"x" steht dabei für execute, es wird also etwas ausgeführt und "devonthink" ist das Programm, das angewiesen wird, etwas auszuführen. Ganz allgemein wird ein solcher Link dann so aufgebaut:x-Programmname://Befehl:?Aktion
"Befehl" ist die Anweisung, die du mittels eines solchen Links dem Programm gibst und "Aktion" ist eben die Anweisung, die ausgeführt werden soll. Natürlich sind das keine frei formulierbaren Befehle und Anweisungen, sondern die Begriffe, die du hier nutzen kannst, sind genau vorgegeben.
Mit Hilfe dieser Aktionen kannst du dir differenzierte Workflows erstellen - in iOS werden sie "Shortcuts" oder "Kurzbefehle"‚ genannt und es gibt eine eigene Apps in der du sie zusammenstellen und verwalten kannst.
So verlockend das Ganze auf den ersten Blick erscheint, hat es doch zwei Haken: Nicht alle Programme/Apps unterstützen diese Funktion (aber es werden immer mehr). Und: Es ist nicht ganz einfach, diese ausführbaren Links einzurichten. Es ist noch schlimmer: Das Ganze ist nicht ganz ungefährlich, denn es handelt sich um ausführbare Aktionen und mit falsch konfigurierten Aktionen kannst du durchaus Schaden anrichten und du solltest schon wissen, was du tust. Am Besten testest du entsprechende Aktionen erst einmal in einer geschützten Umgebung und nicht gerade auf deinem Arbeitssystem.
Fertige Workflows findest du beispielsweise hier:
Allerdings habe ich hier noch nichts DEVONthink-spezifisches entdecken können. Bezüglich DEVONthink wirst du wohl selbst aktiv werden müssen. Grundsätzlich ist Vorsicht geboten bei Workflows, die du von anderen bekommst - du weisst nicht, was sie anstellen und es gibt Workflows, die Ports oder Relaisserver am Rechner öffnen.
Die x-callback-Funktion kann sowohl in DTPO wie auch in DTTG (DEVONthink-to-Go) genutzt werden. Sie basiert auf einer Zeichenkette nach oben beschriebenem Muster und welche DTPO und DTTG Anweisungen gibt, welche entweder ein neues Dokument/Struktur erzeugen oder aber auch Informationen zurück an eine andere Anwendung geben. Hier ein ganz einfaches Beispiel:
Du legst in einem beliebigen Textdokument einen Link an, der auf diese URL verweist - das ist völlig unabhängig davon, ob das Dokument innerhalb von DEVONthink abgelegt wird oder ob es in einer Finderstruktur zu finden ist (oder irgendwo im iOS-Kosmos). Auch das Dateiformat ist egal - Hauptsache das Dokument bzw. Dokumentenformat kann mit Links umgehen und das Programm muss x-callback erlauben bzw. damit umgehen können - letzteres tun immer mehr Programme und Apps:
x-devonthink://createtext?title=Gummibärchendokument&comment=Das ist fantastisch&text=Gummibärchen sind Spitze
Ein Klick auf den Link erzeugt eine Textdatei mit dem Titel "Gummibärchendokument“ mit dem Inhalt "Gummibärchen sind Spitze“ und dem Kommentar "Dies ist fantastisch“.
Ganz allgemein: Die x-callback-Funktion ermöglicht
- Erzeugen von Dokumenten
- Suchen und Finden von Dokumenten
- Übergabe von Dokumenten oder Informationen an andere Programme (oder Apps auf iOS)
- etc.
Du brauchst mit Hilfe dieser Shortcuts nicht mehr zwischen verschiedenen Programmen hinundherzuspringen. Gerade auf iOS, wo der Workflow doch etwas umständlicher wie auf einem macOS ist, kann das hilfreich sein.
Der Basis-Befehl für DEVONthink lautet:
x-devonthink://Befehl:?Auszuführende Aktion
Es gibt unterschiedliche Befehle, beispielsweise kannst du mit createtext automatisiert eine Textdaetei in DEVONthink erstellen lassen (siehe Beispiel oben): Der Befehl sähe dann allgemein so aus:
x-devonthink://createtext?Auszuführende Aktion
Hinter dem Befehl ist ein Fragezeichen angefügt, dem die auszuführende Aktion folgt. In diesem Fall soll in die Textdatei der Text Auszuführende Aktion geschrieben werden. Das Fragezeichen "?" leitet die zum Befehl zugehörige Funktion ein.
Die Datei soll beispielsweise den Titel "Gummibärchen" bekommen:
x-devonthink://createtext?title"Gummibärchen"
Und der Dokumenteninhalt der Textdatei soll sein: "Gummibärchen sind Spitze":
x-devonthink://createtext?title=Gummibärchendokument&comment=Das ist fantastisch&text=Gummibärchen sind Spitze
Hier einige wesentliche Elemente von x-callbacl-URLs:
- Das "&"-Zeichen verbindet Funktionen und Anweisungen
- Ein Fragezeichen "?" Leitet eine Funktion ein
- Ein Gleichheitszeichen "=" übergibt den Wert innerhalb der Funktion (siehe auch Beispiel oben)
Welche dieser Befehle benutzt werden können, hängt vom Programm, sowohl vom Ursprungsprogramm wie auch dem adressierten Programm ab:
Für DEVONthink kannst du u.a. diese Befehle nutzen:
- clip Erstellt ein Lesezeichen
- createbookmark Erstellt ein Lesezeichen mit Daten und informationen
- createdocument: Creates a new document from UTI and file data.
- creategroup Erstellt eine Gruppe
- createhtml Erstellt eine HTLM-Datei
- createimage Erstellt eine Bilddatei
- createmarkdown Creates a new Markdown document.
- createtext Erstellt eine Textdatei
- createwebarchive Erstellt ein Webarchiv
- import-clipboard Importiert den Inhalt der Zwischenablage in die globale Inbox
Wichtige Anweisungen, die du definieren kannst, sind:
- title Dokumentenname
- text Dokumenteninhalt
- comment Kommentar zum Dokument hinzufügen
- destination Der UUID (Unique Identifier) einer Gruppe oder Datenbank, in der das Element erstellt werden soll
- location Die URL, auf die der Link verweist (z.B. die URL einer Website für das Lesezeichen oder das Bild)
- source Base64-kodierte Dateien für createimage und createdocument, HTML-Rohdaten für createhtml
- uti Der UTI (=Uniform Type Identifier) des Dokuments (für createdocument)
- search Durchsuchen von DEVONththink To Go und Anzeige der Suchergebnisse
- query Die für die Suche zu verwendende Suchanfrage
- scope Der UUID der zu durchsuchenden Datenbank oder Gruppe
Hinweise:
- Wenn der Parameter destination nicht angegeben ist, wird das Element im globalen Posteingang angelegt
- Du kannst die UUID einer Gruppe finden, indem du ihren Item-Link über Bearbeiten > Verweis kopieren holst und die UUID aus der URL ausschneidest (d.h. die die lange alphanumerische Zeichenkette nach 'x-devonthink-item:/').
Editieren kannst du die Befehle mit einem Texteditor, ein normales Textverarbeitungsprogramm ist dafür nicht geeignet, da diese Programme eigene Formatierungen einarbeiten. Es geht hier um Code, der hier geschrieben werden soll und nicht um Brieftexte. Code wird als sogenannter ASC-II-Text geschrieben
Beispiele:
x-devonthink://createBookmark?title={[TITLE]}&location={[URL]}
x-devonthink://createText?title={[TITLE]}&location={[URL]}&text={[TEXT-SELECTED]}
x-devonthink://createText?title=[[title]]&location=''&text=[[body]]
Wichtig ist dabei, dass du bestimmte Zeichen nicht einfach in üblichem Text schreiben kannst, sondern im Prozentformat anlegen musst:
- Leerzeichen ␣ = %20
- Doppelpunkt : = %3A
- Slash / = %2F
Da es also weder Leerzeichen, Doppelpunkte oder Slashes gibt, sieht eine x-callback-URL dann beispielsweise so aus:
x-devonthink://createbookmark?location=http%3A%2F%2Fwww.domain.com&titleDas%20ist%ein%20Titel
Wie gesagt, das alles ist nicht ganz unkompliziert und ich kann das hier auch nur in Grenzen beschreiben, aber vielleicht versuchst du dich einmal mit einfacheren Workflows daran. Leider sind im Internet wenig Hilfen zu finden. Eine etwas umfangreichere Darstellung (bezogen auf iOS) gibt es hier:
Automating iOS: A Comprehensive Guide to URL Schemes and Drafts Actions
Bildquelle: Pexels