Einbindung von AppleScripts

Übersicht

Wikipedia: AppleScript ist eine Skriptsprache von Apple, die ein Bestandteil von Mac OS ist. AppleScript dient dazu, Mac-OS-Programme zu automatisieren, zu erweitern und innerhalb eines Rechnernetzes fernzusteuern.

Über die Skripte Einstellungen können sowohl vorhandene als auch neue Skripte benutzt und zu definierten Zeitpunkten ausgeführt werden. Weiterhin können die Skripte selber per „Automator“ erstellt werden und über Buttons ausgeführt werden. Diese Arbeitserleichterung ist vor allem bei monotonen, wiederkehrenden Arbeitsabläufen nützlich.

In tomedo® können Sie die Skriptverwaltung, in der Sie auch AppleScript finden, über den Pfad Admin → Skripte (Python- und AppleScripts) aufrufen.

tomedo handbuch einbindung applescript skriptverwaltung oesterreich

Funktionen der Skriptverwaltung

  1. neues Skript erstellen (“+”) oder ausgewähltes Skript löschen (“–”)
  2. das gewählte Skript auf dem Rechner aktivieren / deaktivieren
  3. Name des Skriptes
  4. Tooltipp für das Skript (Erscheint als Hinweis über der Schaltfläche)
  5. Beschreibung des Skriptes (z.B. der Funktion des Skriptes)
  6. Aktivieren/Deaktivieren der Skriptausführung beim Start von tomedo®
  7. das Skript periodisch ausführen
  8. Skript über Button in der Tagesliste, der Kartei oder in Formularen verfügbar machen (inklusive Hinzufügen eines Bildes für die Schaltfläche)
  9. Quellcode des Skriptes
  10. Skript jetzt ausführen (unabhängig davon, ob das Skript generell aktiviert oder deaktiviert ist)

Um neue Skripte zu erstellen, bietet es sich an, die Skripte vorher im AppleScript-Editor von OSX bzw. macOS zu schreiben und zu testen. Der Quellcode kann danach einfach in das entsprechende Feld in tomedo® kopiert werden.

Es gibt bereits viele vorgefertigte Skripte im Internet, die Sie zur Automatisierung nutzen können. Außerdem finden Sie eine große Menge an hilfreichen Anleitungen, wie Sie eigene AppleScripte schreiben können, um diese in tomedo® einzubinden.

Eine weitere Möglichkeit besteht darin, per Automator einen Arbeitsablauf aufzuzeichnen, diesen in ein AppleScript umzuwandeln (per Drag-and-drop in Automator) und den resultierenden Quelltext danach in den tomedo®-Skript-Quellcode-Bereich zu kopieren.

AppleScripte nutzen in tomedo® mit Automator

Schritt 1: Ablauf mit Automator aufzeichnen (Erstellen von Leistungen und Diagnosen)

  • Automator öffnen
  • Arbeitsablauf aufzeichnen
tomedo handbuch applescript automator
  • Fertiger Arbeitsablauf:
tomedo handbuch applescript fertiger arbeitsablauf

Schritt 2: Ablauf zu Apple Script portieren

tomedo handbuch applescript portieren
  • AppleScript Panel per Drag-and-drop zum Arbeitsablauf hinzufügen
  • Automator-Aktionen per Drag-and-drop in das AppleScript Panel ziehen
  • Fertiges AppleScript (hier eventuell noch „delays“ entfernen)
tomedo handbuch applescript ausfueren
tomedo handbuch applescript scriptverwaltung

Schritt 3: AppleScript in tomedo® integrieren

  • In den Einstellungen ein neues Skript hinzufügen per „+“
  • Skript Einstellungen vornehmen (z.B.: Name und Buttons aktivieren)
  • Skript Quelltext in das Quellcode-Feld kopieren

Schritt 4: Befehlszeile der Kartei verwenden

Um Karteieinträge oder andere Befehle der Kommandozeile der Kartei in den AppleScripts zu nutzen, können Sie den folgenden Quelltext adaptieren. Im ersten Absatz erfolgt ein Klick in die Kommandozeile (für den Fall, dass der Cursor noch nicht dort ist). Im zweiten Absatz werden die Tasten b, e, f gedrückt, um einen neuen Befund-Eintrag zu erstellen. Im dritten Absatz erfolgt ein Druck auf die Enter-Taste. Der vierte Absatz ist eine Fehlerbehandlungs-Routine für den Fall, dass etwas nicht funktioniert.

tell application „tomedo“ to activate

  1. — Auf das Kommandozeilen-Textfield klicken.
  2. set timeoutSeconds to 2.0
  3. set uiScript to „click text field 1 of window of application process \“tomedo\““
  4. my doWithTimeout(uiScript, timeoutSeconds)
  5. — ‚bef‘ eingeben, um einen neuen Befund-Eintrag zu erstellen
  6. set timeoutSeconds to 2.0
  7. set uiScript to „keystroke \“bef\““
  8. my doWithTimeout(uiScript, timeoutSeconds)
  9. set timeoutSeconds to 2.0
  10. set uiScript to „key code 36“ — Enter senden
  11. my doWithTimeout(uiScript, timeoutSeconds)
  12. on doWithTimeout(uiScript, timeoutSeconds)
  13. set endDate to (current date) + timeoutSeconds
  14. repeat
  15. try
  16. run script „tell application \“System Events\“ \n“
  17. & uiScript & „\n end tell“
  18. exit repeat
  19. on error errorMessage
  20. if ((current date) > endDate) then
  21. error „Fehler: „ & uiScript
  22. end if
  23. end try
  24. end repeat
Inhaltsverzeichnis