Reminder nach import

Hallo,

ich möchte, dass auf importierte Dokumente ein reminder gesetzt wird. Wie kann ich aber die scripts aus dem Script Menü verwenden? In meiner smart rule werden die nicht angezeigt.

VG

Skripte, die im Skript-Menü angeboten werden, können nicht so einfach in eine Smart Rule eingesetzt werden.

Klicken Sie im Skript-Menü mal auf “Skript-Ordner öffnen” (oder so ähnlich: Ich benutze DEVONthink mit englische Benutzeroberfläche und muss daher raten, wie die Menüs auf Deutsch heißen).

Dort sehen verschiedene Unterordner: “Menu” für die Skripte, die man direkt aufrufen kann, und “Smart Rules” für eben die Smart Rules. Nur Skripte, die in diesem Ordner stehen, werden auch zur Auswahl in Smart Rules angeboten. (Und ja, es gibt auch “Reminders”, aber das ist in Ihrem Falle nicht die richtige Abteilung – es geht nur darum, von wo die Skripte aufgerufen werden, nicht, was sie machen.)

Das ist das eine. Das andere: Skripte für Smart Rules haben spezielle Anfangs- und Endzeilen:

    on performSmartRule(theRecords)
   …
    end performSmartRule

Der Speicherort “Smart Rules” und diese beiden Zeilen, die das eigentliche Skript umschließen, sind notwendige Voraussetzungen.

Aber dabei bleibt es nicht: In vielen Menü-Skripten finden Sie eine Variable namens theSelection. Das heißt, das Skript macht etwas mit einer vom Benutzer ausgewählten Datei oder einem darin markierten Teil des Inhalts.

Smart Rules dagegen arbeiten automatisch, da wird nichts vom Benutzer ausgewählt. Die Smart Rule sucht nach Dateien, die ihre Bedingungen (z. B. alle Dokumente) bei einem bestimmten Auslöser (z. B. nach Import) erfüllen. Diese werden in der Liste theRecords (siehe oben) erfasst, und ein Smart-Rule-Skript arbeitet diese Liste dann ab.

Ein Skript aus den Menüs muss also umgeschrieben werden, damit es in einer Smart Rule verwendet werden kann. Und es gibt auch Fälle, wo eine Auswahl durch den Benutzer zwingend nötig ist, weil das Skript nur funktioniert, wenn es auf eine geöffnete Datei angewendet wird.

Es ist also ein bisschen kompliziert, und ich habe jetzt leider nicht Ihre Frage beantwortet, wie es geht, sondern nur, warum nicht.

EDIT: Das Menü-Skript “Add as To Do to Reminders” meint, wie ich gerade entdeckt habe, nicht die Reminders von DEVONthink, sondern die macOS-eigenen Erinnerungen. Die wollten Sie aber nicht setzen, oder?

Und gerade staune ich, denn ich habe noch etwas entdeckt: In meinem Ordner mit Smart-Rule-Skripten finden sich mehrere Skripte, die ich noch nie gesehen habe und die das Datum 12.6. tragen. Darunter auch Reminder-Skripte!

Ich muss hinzufügen, dass ich Beta-Tester von DEVONthink bin, und anscheinend hat die letzte Beta diese neuen Skripte mitgebracht.

Jetzt hoffe ich, dass ich nicht gegen eine Verschwiegenheitsklausel verstoße, wenn ich Ihnen eins dieser Skripte hier poste. Und ich hoffe, dass es auch mit der offiziellen Version von DEVONthink läuft. Aber wenn es 2015 geschrieben wurde, sollte man davon doch ausgehen.

-- Remind me tomorrow
-- Created by Christian Grunenberg on Thu Jan 15 2015.
-- Copyright (c) 2015. All rights reserved.

    on performSmartRule(theRecords)
    	tell application id "DNtp"
    		set due_date to current date
    		set due_date to due_date + 3600 * 24
    		repeat with theRecord in theRecords
    			tell theRecord to make new reminder with properties {schedule:once, alarm:notification, due date:due_date}
    		end repeat
    	end tell
    end performSmartRule

Das Skript setzt den Reminder auf morgen, das können Sie natürlich anpassen. Die Zeit muss offensichtlich in Sekunden angegeben werden.

Speichern Sie das Skript im Ordner “Smart Rules”, und wenn es nicht in der Smart Rule zur Auswahl angeboten wird, starten Sie DEVONthink einmal neu. Dann sollte es da sein. Ich würde es erst einmal mit dem Auslöser “manuell” (“On Demand”) testen und danach auf Automatik (“Nach Import”) setzen.

Guten Tag,

ich kenne kaum ein Forum, das so schnell und qualitativ hochwertig antwortet, wie hier. Vielen Dank für ihre Mühe. Das werde ich alles anschauen und probieren.
VG

Hallo,

ich würde gern beides probieren. Auch die Nutzung von Apple Reminders, bzw. andere Anwendung, da die Apple Reminders ja nur noch unter Catalina synchronisiert werden.

Die Scripts sind offenbar schon offiziell, habe sie auch in meinem Ordner gefunden. Danke. Das hilft schon mal. Für meinen Workflow werde ich wohl die “externen Reminder” nutzen müssen.

Hallo,

vielleicht haben sie ja noch einen Tipp. Ich habe das Script angepasst, dass es eigentlich die App “Reminders” starten und dort ein neues Todo setzten sollte. Leider funktioniert es nicht. Kann man überhaupt dort andere Apps starten? In einer Smart Rule?

VG

Diese Skripte existieren tatsächlich seit Version 3.0.

Wie sieht denn das angepasste Skript aus?

Das ist das Skript:
on performSmartRule(theRecords)
tell application id “DNtp”
set due_date to current date
set due_date to due_date + 3600 * 48
repeat with theRecord in theRecords
tell theRecord to make new reminder with properties {schedule:once, alarm:notification, due date:due_date}
end repeat
end tell
tell application “Reminders”
activate
make reminder with properties {name:“Test”, remind me date:current date, body:“Hallo”}
end tell
end performSmartRule

S. Reminder extern script with smart rule