In meinem ersten Tutorial über x-Callback hatte ich ein Stückchen des Geheimnisses der Produktivität gelüftet.

In diesem Tutorial wird es spezieller und Du wirst erfahren, wie Du:

  • Dokumente in DTTG
  • E-Mails in AirMail
  • Aufgaben in 2Do

mit x-Callback erstellen kannst und diese in Workflow.is speicherst.

Geplant hatte ich drei Tutorials aber auf Grund das dieses Thema bei Dir auf solch großes Interesse stößt, habe ich mich entschlossen dieses Geheimnis etwas tiefer zu beleuchten und werde jetzt eine Artikelserie mit fünf Tutorials daraus machen.

So hast Du die Möglichkeit x-Callback von allen Seiten kennenzulernen und Stück für Stück diese Funktion zu erlernen um Deinen Workflow zu optimieren.

Solch ein Tutorial kann schon einmal länger werden und ich dachte mir, es wäre doch eine gute Idee, Dir einen Notizblatt zur Verfügung zu stellen, welches Du hier herunterladen kannst:

Was brauchst Du als Grundlage?

Es reichen die folgenden „Werkzeuge“:

  • einen Texteditor
    Gern kannst Du hier DevonThinkProOffice nehmen, da dieser reinen Text anbietet
  • Workflow.is (der alte Name, den ich aber weiterhin gebrauchen werde)
    Kannst Du hier vom AppStore herunterladen.
  • Deine Ipad oder Iphone
  • Notizblätter
  • Für alle „deutschen“ Tastaturen
    Ganz wichtig, bitte stelle die Autokorrektur aus, ansonsten werden die benötigen Zeichen wie “TEXT“ als „TEXT“ dargestellt und führen dazu das nix ausgeführt werden kann.Gegebenenfalls, kannst Du auch einfach die englische Tastatur nehmen.

Geduld und Liebe zum Detail

Du gehst jetzt in die Richtung von „Programmierung“ und daher ist es wichtig als erstes Geduld aufzubringen und nicht gleich zu verzweifeln, falls etwas nicht auf Anhieb funktioniert.

Die Liebe zum Detail ist wichtig, da manchmal eine Leertaste zu viel oder zu wenig über Funktionieren und Nichtfunktionieren entscheiden kann.

Persönlich gehe ich immer nach dem gleichen „Schema“ vor, wenn etwas nicht funktioniert und hier sind meine Tipps für das Erstellen und korrigieren von x-Callback:

  • Texteditor (egal welchen)
    Als Schriftart bevorzuge ich die Familie von Lucida mit einer großen Schriftart.
    Warum? Lucida stellt die Zeichen untereinander dar und hat keine Verschiebung innerhalb eines Dokumentes. Codes können mit unter recht lang werden und da macht es Sinn den Überblick zu behalten. Die große Schriftart - sagen wir mal 24px - ist für die Korrektur gut, da Du mit Lucida und 24px mehr sehen kannst als mit 12px.
  • Logik und Verständnis
    So ein Computer arbeitet nur mit Logik und Schritt-für-Schritt und hier solltest Du daran denken, wenn Du einen Code erstellst.Ein Beispiel ist das Suchen eines Dokument:
    Der Mensch geht in die Suchmaske und sucht nach „Mein x-callback Tutorial I“ und es wird das Dokument angezeigt.So ein Computer hat es schon schwerer:
    Er versteht ja nix was ich mit „Mein x-Callback Tutorial I“ wirklich meine, für ihn sind es nur Nullen und Einsen alles andere sind sogenannte Metadaten.Der Computer wird also erst in den Metadaten suchen, dann eine eindeutige ID bekommen und erst dann das Dokument dem Benutzer präsentieren. Ich werde diesen Weg, der ein Computer gehen muss, mal Route nennen.Kurzum, der Computer wird nur das machen was er kann und wo er angewiesen wurde.
  • Code korrigieren
    Ich gehe dann immer zwei Schritte zurück und nehme nur den ersten Befehl; funktioniert dieser füge ich Stück-für-Stück neue Befehle hinzu bis eben der gesamte Code verfasst ist und funktioniert.
  • Fertigen Code speichern
    Unter IOS ist Workflow.is super geeignet, da es nicht nur beim Teile-Menu, sondern auch als Widget angezeigt werden kann.Unter MAC nutze ich Typinator, welcher den Code gleich ausführt, ohne ihn anzuzeigen und das mit einem Kürzel oder F-Taste.

Sonderzeichen (URL Encoding)

Bevor Du anfängst einfach etwas in einem Code zu schreiben ist es noch wichtig die folgenden Sonderzeichen innerhalb des x-Callbacks zu nutzen, welch ein HTML URL-Encoding unter ASCII geschrieben werden:

  • Leerzeichen ␣ = %20
  • Doppelpunkt : = %3A
  • „Slash“ / = %2F

Zeichen für den Code:

  • Et-Zeichen „&“ Verbindet Funktionen und Anweisungen
  • Fragezeichen „?“ Leitet eine Funktion ein
  • Gleichheitszeichen „=“ übergibt den Wert innerhalb der Funktion.

Aber zum Glück benötigt man diese nicht (unbedingt) immer, zum Beispiel wenn der Code im Browser ausgeführt wird.

Mehr Infos hierüber findest Du auch bei Wikipedia.

Syntax

Wir es jetzt kompliziert? Die Antwort ist Nein! 🙂

Der Begriff Syntax kommt aus dem griechischen und heisst so viel wie Reihenfolge oder Ordnung. Eine Art der Syntax ist die Grammatik in jeder Sprache - da ein Computer auch eine Sprache hat benötigt er die Reihenfolge von „Text“ und Befehle. Mehr zum Begriff Syntax findest Du hier.

Wie bereits erwähnt wurde für x-Callback-URL ein „Türchen“ in der Software durch die Entwickler geöffnet, welches allerdings nur durch korrekte Reihenfolge von Begriffen und Befehle „aufgeschlossen“ werden kann.

Einen „Standard“ für x-Callback gibt es nicht, da es wirklich - nach meiner Ansicht - fatal wäre immer die gleichen Funktionen anzusprechen. Verschiedenste Programme haben verschiedene Funktionen und Möglichkeiten des Einsatzes und daher macht es Sinn verschiedene x-Callbacks für genau diese Einsatzzwecke zu verwenden.

Also es ist ein softwarespezifischer Code welcher unter den verschiedensten Betriebsprogrammen mit dieser speziellen Software läuft. Als Beispiel wäre 2Do unter MAC und IOS - hier brauchst Du nur einen Code-Schnipsel welcher unter beiden Betriebssystemen funktioniert.

DevonThinkProOffice und DTTG

Seit dem Update 2.1.3 stehen nunmehr erweiterte x-Callback-Funktionen zur Verfügung, sowie gibt es jetzt eine direkte Anbindung an Workflow.is.

Syntax

Die Syntax ist wie folgt:

x-devonthink:// Befehl(e) ? Weitere Anweisungen

Befehle

  • clip
    Um ein Lesezeichen zu erstellen
  • createbookmark
    Ein Lesezeichen mit Daten und informationen
  • creategroup
    Klar, um eine neue Gruppe zu erstellen
  • createhtml
    Erstellt eine HTLM-Datei
  • createimage
    Ein Bilder erstellen
  • createtext
    Eine Textdatei erstellen
  • createwebarchive
    Ein Webarchiv erstellen
  • import-clipboard
    Die Zwischenablage importieren

In diesem Tutorial werde ich mit auf ein Textdokument beschränken aber Du kannst den fertigen Code mit all diesen Befehle abändern.

Anweisungen

Ich hatte ja oben schon erwähnt, dass so ein Computer Anweisungen (Route) benötigt um genau das zu machen was man möchte. Hier sind einige Anweisungen für DTTG:

  • title
    Der Name des Dokuments
  • Comment
    Ein Kommentar hinzufügen
  • text
    Der Inhalt eines Dokuments.

Die weiteren Anweisungen wie destination, location, uti, source, content, input, uuid und alle anderen werde ich im Dritten Teil dieser Artikelserie vorstellen.

Funktion stricken

Angenommen, dass wir jetzt die folgenden Daten einbauen wollen:

  1. Textdokument
    createtext
  2. Titel des Dokumentes
    Mein erstes Dokument
  3. Kommentare
    Das ist fantastisch
  4. Text
    Hallo, ich wurde automatisch eingerichtet“.

Wie oben bereits erwähnt, bräuchten wir - so die Theorie alle Sonderzeichen, wie Leertaste und so weiter und der zu übergebende Text müsste mit “ “ gekennzeichnet werden.

Für DevonThinkProOffice und DTTG brauchst Du diese nicht 🙂

Die Funktion sieht also wie folgt aus:

x-devonthink://createtext?title=Mein erstes Dokument&comment=Das ist fantastisch&text=Hallo, ich wurde automatisch eingerichtet

Wenn Du jetzt diesen Code in Deinen Browser eingibst wird erhältst Du die Abfrage wohin das Dokument gespeichert werden soll. Danach hast Du es in Deiner Datenbank mit dem Titel, Text und dem Spotlight-Kommentar.

Mehr Infos findest Du natürlich bei DevonThinkProOffice im Forum.

 

AirMail

Hast Du AirMail? Dann ist diese Funktion für Dich sehr nützlich, da Du mit dieser einfach eine E-Mail mit Betreff, Text und zu wem schreiben kannst und zwar entweder als Text oder HTML.

Ich werde HTML für dieses Beispiel nehmen, aber Du kannst es gern abändern.

Syntax

airmail://Befehl?Anweisungen

airmail://compose?subject=subject&from=from&to=to&cc=cc&bcc=bcc&plainBody=plainBody&htmlBody=htmlBody

Befehle

  • subject
    Der Betreff Deiner E-Mail
  • from
    Das Konto von welcher die E-Mail geschrieben werden soll, falls Du mehrere hast.
  • to, cc, bcc
    Sind ja selbsterklärend
  • plainBody
    Als Textdatei erzeugen - zum Beispiel für Markdown
  • htmlBody
    E-Mail als HTML erzeugen

Anweisungen

Weitere Anweisung benötigt AirMail nicht für das Erstellen einer E-Mail

Funktion stricken

Für dieses Beispiel nehmen wir die folgenden Argumente (Texte welcher mitgegeben werden soll):

  • Betreff
    Dies ist eine automatisch erstellte E-Mail mit x-Callback
  • E-Mail-Konto
    Ich gehe jetzt davon aus, dass Du nur eins hast
  • Empfänger
    info@steffiscloud.de
  • als HTML erstellen
    Hallo Steffi, es funktioniert mit der Erstellung von E-Mails unter x-Callback.

Auch bei AirMail benötigst Du nicht die Sonderzeichen 🙂

Die Funktion sieht also wie folgt aus:

airmail://compose?subject=Dies ist eine automatisch erstellte E-Mail mit x-Callback&to=info@steffiscloud.de&htmlBody= Hallo Steffi, es funktioniert mit der Erstellung von E-Mails unter x-Callback.

Mehr Informationen steht Dir bei AirMail direkt zur Verfügung.

2Do

Der Aufgabenplaner, den ich gern nutze verfügt über sehr viele Funktionen, von welchen ich vorab nur Teile der Funktion für das Hinzufügen von Aufgaben in diesem Tutorial nutzen werde.

Alle weiteren Funktionen erkläre ich Schritt-für-Schritt in Folge 3 dieser Artikelserie.

Syntax

Nicht erschlagen lassen 🙂 Dies ist die Syntax für das Erstellen einer Aufgabe/Project/Checkliste:

twodo://x-callback-url/add?task=prompt:Text&type=prompt-num:Task Type&forlist=prompt:List Name&forParentName=prompt:Parent Task Name&forParentTask=prompt:Parent Task’s Unique Identifier&note=prompt:Notes&priority=prompt-num:Priority&starred=prompt-num:Is Starred&tags=prompt:Tags&locations=prompt:Locations&due=prompt:Due Date&dueTime=prompt:Due Time&start=prompt:Start Date&repeat=prompt-num:Repeat&action=prompt:Task Action&picture=prompt:Picture&ignoreDefaults=prompt-num:Ignore Due Date Defaults&saveInClipboard=prompt-num:Save UID in clipboard&useQuickEntry=prompt-num:OS X Only, will present Quick Entry Window

Wow das ist viel für den Anfang, daher verkleinere ich jetzt die Syntax auf das Notwendigste:

twodo://x-callback-url/add?Task=Anweisungen

Wobei „add“ nur ein Befehl von mehreren ist.

Befehle

  • Add
    Hinzufügen von Projekten, Aufgaben und Checklisten

Anweisungen

  • Task
    Ist der Titel für die Aufgabe oder Projekt
  • Type
    Definiert den Typ wie folgt:
    0-Aufgabe (standard), 1-Projekt und 2-Checkliste
  • forlist
    Definiert in welche Liste oder Konto diese Aufgabe eingefügt werden soll. Ich nehme für dieses Tutorial an, das Du nur eine hast und somit lasse ich diese Anweisung weg.
    Im Fall das Du mehrere hast, trage einfach den Namen der Liste ein.
  • forParentName
    Hast Du bereits ein Projekt angelegt, so kannst Du den Namen eingeben und die Aufgabe wird unterhalb des Projektes angelegt.
  • note
    Eine Notiz für die Aufgabe
  • priority
    Die Priorität der Aufgabe:
    0-keine, 1-niedrig, 2-mittel, 3-hoch
  • starred
    Mit oder ohne „Favoriten-Sternchen“
  • tags
    Die Stichwörter
  • due
    Fälligkeitsdatum im Format JJJJ-MM-TT
  • duetime
    Fälligkeitszeit im Format HH:MM
  • start
    Startdatum und Startzeit der Aufgabe im Format JJJJ-MM-TT LEER HH:MM
  • useQuickEntry
    Wenn dieses den Wert 1 hat, wird die Aufgabe bevor sie gespeichert wird angezeigt und Du kannst Änderungen vornehmen.
    Möchtest Du diese Funktion auslassen und direkt in 2Do speichern, dann lasse diese Anweisung weg.

Alle anderen Anweisungen werden ich im 3. Teil dieser Artikelserie ausführlich erklären.

Du kannst jetzt:

Eine Aufgabe, Projekt oder Checkliste mit einer Notiz, der Priorität und Stichwörtern erstellen, sowie das Start- und Fälligkeitsdatum automatisch erzeugen.

Funktion stricken

Die Argumente für dieses Beispiel sind:

  • Eine Aufgabe erstellen („0“)
  • Titel
    Newsletter Steffi’s Cloud
  • Notiz
    Anmelden um den Newsletter am Samstag zu erhalten www.steffiscloud.de
  • Priorität
    Hoch (3)
  • Stichwörter
    Steffis Cloud
  • Fällig am
    Freitag, 26. Mai 2017 (2017-05-26)
  • Fällig um
    18 Uhr (18:00)
  • Startdatum und -zeit
    Donnerstag, 25. Mai 2017 um 18 Uhr (2017-05-25 LEER 18:00)
  • Vor dem Speichern soll der Dialog erscheinen (1)

Die Funktion sieht also wie folgt aus:

twodo://x-callback-url/add?task=Newsletter Steffi’s Cloud&type=0&note=Anmelden um den Newsletter am Samstag zu erhalten www.steffiscloud.de&priority=3&tags=Steffis Cloud&due=2017-05-26&duetime=18:00&start=2017-05-25 18:00&useQuickEntry=1

Natürlich würde ich mich freuen wenn Du diesen Termin speicherst 🙂

Alternativ kannst Du Dich auch hier zu meinem Newsletter anmelden: hier

Weitere Anleitung für 2Do kannst Du hier finden.

 

Jetzt erst einmal verschnaufen

Wow, das war jetzt wirklich viel und ich finde Du hast Dir eine Tasse Kaffee jetzt verdient und kannst schon mal die URLs auf dem MAC testen und eventuell noch selbst ein paar Änderungen vornehmen.

Wie arbeitet Steffi damit?

Jetzt, wo Du etwas verschnaufen kannst gebe ich Dir einen kleinen Einblick wie ich diese Funktionen für meinen Blog nutze.

Ich selbst nutze ja alle drei Programme und zusätzlich noch eine „selbstgestrickte“ Datenbank welche erst recht neu hinzugekommen ist, sowie Ulysses zum Schreiben.

Erst erzähl ich Dir das DevonThinkProOffice super zum Schreiben von Markdown ist und dann Ulysses? Der Grund ist einfach, DevonThinkProOffice ist für meine Dokumente als DMS zuständig und Ulysses ist für Vielschreiber einfach geeigneter als DTPO oder DTTG, weil ich direkt von dort aus meine Artikel zum Server hochladen kann.

Datenbank? Du hast doch DTPO und DTTG!

Es ist der gleiche Grund warum ich BusyCal und zusätzlich 2Do nutze; das eine ist ein Kalender und das andere eine reine Todo und Projektsoftware.

Meine Datenbank übernimmt die Struktur und Verlinkung zu allen meinen Programmen und dient mir als Plan und Richtungsweiser was und wie ich veröffentlich werde und welche Ideen von Dir - meinen Lesern - einfließen um später eine Projektierung bzw. Planung und Veröffentlichung zu gewährleisten.

Habe ich eine Idee wird ein neuer Datensatz in der DB kreiert und gleichzeitig ein Ordner inklusive meiner Struktur in DTPO/DTTG mit meinem „Arbeitstitel“ innerhalb meiner Struktur „Ideen“ angelegt. Zusätzlich erhalte ich automatisch eine Rückmeldung zur DB für den Verweis des Ordners.

Danach wird ein Projekt innerhalb von 2Do mit dem „Arbeitstitel“ angelegt jedoch ohne Fälligkeit oder Startdatum.

Für eventuelle Recherche nutze ich DevonAgent von DevonTechnologies mit DTPO zusammen. Somit sind alle Dokumente dort gelagert.

Alles was mir so einfällt ohne Dokumente zu beinhalten kommt in meine Datenbank und wird dort verwaltet. Habe ich neue Aufgaben die erledigt werden müssten trage ich sie in die Datenbank ein und in 2Do wird automatisch eine neue Aufgabe unter das Projekt gesetzt.

Artikel schreiben

Schreibe ich meinen Artikel kann ich meine Recherche direkt von DTTG suchen und dann in Ulysses einbinden lassen, was unter MAC und IOS funktioniert.

Als Nächstes geht es zur Planung über und in der DB werden die Daten für Fälligkeit, Startdatum, geplante Veröffentlichung etcetera eingetragen. DTPO und 2Do werden aktualisiert und neue Daten übergeben. Bei DTPO geht es dann in den Status bzw. Struktur Planung und in 2Do werden die Fälligkeiten eingeben.

Ab jetzt „rechnet“ 2Do die Fälligkeiten für das Projekt aus und ich werde an Aufgaben erinnert.

Dies alles setzt sich fort bis zur und nach Veröffentlichung meines Artikels.

Kann ich auch eine Datenbank nutzen?

Ja klar, kannst Du und mein Tipp ist:

Ich nutze Ninox, welches ich erst entdeckt habe, für meinen Redaktionsplan und der Integrierung meiner Daten in 2Do, AirMail und DTPO / DTTG.

Ja, es gibt immer was zu meckern - da schließe ich mich nicht aus - aber die Integration innerhalb der eigenen Cloud habe ich auch bewerkstelligen können, trotz das es keinen WebDav gibt.

Ninox wird in Berlin - ja unser Berlin - entwickelt und der Support ist einfach nur Klasse!

Die Riesenvorteile gegenüber anderen Anwendungen sind:

  • Versionen:Mac und IOS!
  • Sehr leichte Erstellung von Datenbanken möglich und das ohne große Vorkenntnisse
  • Einfach per Drag-und-Drop eine Datenbank erstellen
  • Verweise auf andere Daten einfach einfügen, ohne auf IDs oder Ähnliches zu achten
  • Auf der Hilfeseite von Ninox findest Du nicht nur das deutsche Handbuch, sondern auch zahlreiche Tipps und Tricks.
  • Preislich einfach hervorragend und die Iphone-Version ist gratis!

 

Also wenn Du einfach nur eine Datenbank für Dich oder Dein Team brauchst und nicht zu tief in die Datenbankstruktur eintauchen möchtest, kann ich Ninox nur empfehlen.

Kaffee alle? Dann kann es weiter gehen mit:

Verbindung mit Workflow.is

Workflow.is war mal kostenpflichtig aber seit der Übernahme durch Apple ist es jetzt gratis.

Es ist eine App für die Automation von wiederkehrenden Aufgaben und hat viele viele Funktionen. Eine davon ist die x-Callback-Funktion welche ich nutzen werde.

Wenn Du mehr über Workflow.is erfahren möchtest dann sehe ich doch auf deren Webseite um.

Workflow.is enthält auch eine direkte x-callback-Funktion mit Resultat, Fehlermeldungen etcetera. Für dieses Tutorial verwende ich die „normale“ URL zum Aufruf unseres Codes.

Einfacher Aufruf

Um unseren generierten Code für:

  • DevonThinkProOffice
    x-devonthink://createtext?title=Mein erstes Dokument&comment=Das ist fantastisch&text=Hallo, ich wurde automatisch eingerichtet
  • AirMail
    airmail://compose?subject=Dies ist eine automatisch erstellte E-Mail mit x-Callback&to=info@steffiscloud.de&htmlBody= Hallo Steffi, es funktioniert mit der Erstellung von E-Mails unter x-Callback.
  • 2Do
    twodo://x-callback-url/add?task=Newsletter Steffi’s Cloud&type=0&note=Anmelden um den Newsletter am Samstag zu erhalten www.steffiscloud.de&priority=3&tags=Steffis Cloud&due=2017-05-26&duetime=18:00&start=2017-05-25 18:00&useQuickEntry=1

jetzt in ein Widget oder im Teile-Menu einzubinden gehst Du folgender Maßen innerhalb von Workflow.is vor:

Auf das Plus-Zeichen und im linken Fenster URL suchen jetzt dieses einfach auf die rechte Seite herüberschieben.

In diese URL trägst Du Deinen Code ein :

Danach müssen wir dem Computer noch sagen, dass er diese URL ausführen soll - das machst Du mit „Open URLs“. Dein Workflow sieht dann so aus wie oben auf dem Bild.

Unter dem Zahnrad-Symbol findest Du noch zusätzliche Einstellungen.

Bessere Nutzung

Jetzt ist es doch blöd immer die gleichen Daten zu nutzen - stimme ich vollkommen zu.

Daher zeige ich Dir jetzt noch die Variablen-Funktion innerhalb von Workflow.is, welche Du super nutzen kannst:

Das gleiche Beispiel wie eben; jedoch jetzt mit Abfrage nach dem Titel, Text und Kommentar.

Hinzugefügt wird jetzt noch:

  • Ask for Input und
  • Add to Variable.

a) Einmal für den Titel mit der Variable „var1“

b) das Kommentar mit der Variable „var2“

c) der Text mit Variable „var3“

Die Bezeichnung kannst Du selbst bestimmen und der Workflow sieht jetzt so aus:

Für die URL werden Deine Variablen angezeigt und alles was hinter dem Gleichheitszeichen steht wird mit einer Variablen gefüllt:

Probiere es gleich mal aus Variablen für die anderen beiden Codes zu setzen und diese wesentlich effektiver zu nutzen.

Du kannst auch innerhalb von AirMail eine benutzerdefinierte Aktion und sende zum Beispiel Text nach Workflow dort kannst Du dann den Text formatieren und weiter nach DevonThink leiten. Entweder mit einer x-Callback-URL oder aber auch als Speicherort mit „Save File“.

Einige weitere Ressourcen für DTTG und Workflow kannst Du unter diesen Links finden:

Besuche ruhig mal die Berliner mit ihrer super einfachen Datenbank Ninox.db und Du wirst sehen, dass es wirklich nicht schwer ist und im „schlimmsten“ Fall sag mir einfach Bescheid.

Im nächsten Tutorial geht es

um weitere Funktionen mit x-Callback und was man noch so alles damit „anstellen“ kann. Gern kannst du meinen Artikel teilen und weiterleiten.

Ich wünsche Dir viel Spass und Erfolg bei Deiner Erstellung der x-Callback-Funktion in Deiner eigenen Cloud!

 

Schon gehört? Das crazy CSS ist los in Steffis Hilfethemen! 

 

 

 

 

c