Script funktioniert nicht mehr

Ich hatte in DEVONthink Pro Office ein Script benutzt, mit dem ich Emails umbenennen und datieren konnte. Nach dem Update auf macOS 10.13 funktioniert das nicht mehr richtig; bei einigen Emails geht es, bei anderen nicht.

Wie bekomme ich das wieder zum Laufen?

tell application "DEVONthink Pro Office"
	set theSelection to the selection
	repeat with theRecord in theSelection
		set theDate to creation date of theRecord
		set theMD to meta data of theRecord
		
		try
			set theSubject to |kMDItemSubject| of theMD
			if theSubject is missing value or theSubject is "" then error
		on error
			set theSubject to "No subject"
		end try
		
		try
			set theSender to |kMDItemAuthors| of theMD
			if theSender is missing value or theSender is "" then error
		on error
			set theSender to |kMDItemAuthorEmailAddresses| of theMD
		end try
		
		set theRecipient to |kMDItemRecipientEmailAddresses| of theMD
		set theName to ((year of theDate) as string) & "-" & my formattedNumber((month of theDate) as integer) & "-" & my formattedNumber(day of theDate)
		set theName to theName & " " & theSender & " > " & theRecipient & ": " & theSubject
		set name of theRecord to theName
	end repeat
end tell

on formattedNumber(theNumber)
	if theNumber < 10 then
		return "0" & (theNumber as string)
	end if
	return (theNumber as string)
end formattedNumber

Vermutlich wurden die Emails nicht indiziert und haben somit keine Metadaten, diesen Fehler korrigiert die neue Version 2.9.16.

Try changing


tell application "DEVONthink Pro Office"

to


tell application "DEVONthink Pro"

or


tell application id "DNtp"

and it will work as expected on 2.9.16 (on macOS 10.13) – at least, it does over here.

Hallo,
bin Neuling in DT und versuche Lösungen für die Automatisierung zu finden.
Weiss nur nicht wie ich o.g. Script einbinde.

Meine Mails würde ich gern analog dem o.g. Schema in DT speichern und habe versucht eine intelligente Regel zu erstellen, welche nach Eingang einer Mail abgearbeitet wird.
Nur weiss ich nicht ob ich es richtig mache. Ich füge mal einen Screenshot bei, wie es bei mir aussieht.

Die Regel wird zwar angewandt aber in DT wird die eMail nicht umbenannt.

Lutz

Das Script brauchst du in DT 3 nicht mehr. Eine SmartRule, bei der du im Bereich Aktionen diverse Variablen definierst nach denen die Umbenennung erfolgen soll, reicht

Oh, :pensive: , wie peinlich für mich.
Da habe ich mich wohl im Internet verlaufen und das Einfachste im Programm übersehen.

Habe es gleich versucht und es klappt - Danke Michael.
Naja, es klappt zur Hälfte.
Wenn ich eine eMail manuell nach DT kopiere funktioniert es - wenn ich in Apple Mail eine Regel zusammen mit Dem DEVONthink-Script funktioniert es nicht.

Hast Du / habt ihr da auch noch einen Tipp für mich.

Danke

Die Mail-Regeln sind AppleScripts und lösen keine On-Import-Ereignisse aus.
Sie können einen Intervall-Ereignisauslöser, wie z.B. Hourly, verwenden, um die Umbenennung periodisch durchzuführen.


Für alle, die sich fragen: Das Apple Mail Plugin löst On Import Ereignisse aus, so dass es entweder mit dem Execute Script oder einer intelligenten Regel mit Platzhaltern funktioniert.

(Übersetzt mit https://deepl.com)

Hallo BLUEFROG,

ich bin jetzt etwas irritiert.

Im ersten Absatz schreibst du : “… lösen keine On-Import-Ereignisse aus …” . Das verstehe ich da dies ja meine Beobachtungen bestätigt.

Im zweiten Absatz schreibst du nun: " … Das Apple Mail Plugin löst On Import Ereignisse aus … oder einer intelligenten Regel mit Platzhaltern funktioniert."

Verstehe ich den zweite Absatz richtig, dass DT doch auf die Apple Mail-Regel reagiert?
Kannst du mir ein Beispiel geben, wie, wo und was ich eingeben muss, damit es funktioniert.

Wie gesagt, ich bin absoluter Neuling in DT und auf Eure Hilfe angewiesen. Danke

#################

Hello, BLUEFROG,

I’m a little confused now.

In the first paragraph, you say… “do not trigger any on-import events…” . I understand this because it confirms my observations.

In the second paragraph you now write: " … The Apple Mail Plugin triggers On Import events… …or a smart rule with wildcards works."

Do I understand the second paragraph correctly that DT does react to the Apple Mail rule?
Can you give me an example of how, where and what I have to enter for it to work.

As I said, I’m a complete newcomer to DT and depend on your help. Thanks

Translated with www.DeepL.com/Translator (free version)

Ich hab das jetzt nicht genau ausprobiert, aber das müsste doch auch klappen, wenn du den Zeitpunkt der Anwendung der Aktion auf „bei Import“ setzt

Keine Sorge, gern geschehen!

Die Apple Mail Regeln führen nur Applescripts aus und die Scripts lösen keine On Import Ereignisse aus.

Das Apple Mail-Plugin ist kein AppleScript, sondern eine tiefere Integration mit dem E-Mail-Programm. Die Verwendung des Apple Mail-Plugins in Mails Mailbox- oder Nachrichtenmenüs löst On-Import-Ereignisse aus.

Danke BLUEFROG, jetzt habe ich meinen Denkfehler entdeckt. Ich habe Apple Mail Regel und Apple Mail Plugin in einen Topf gehauen.
Werde es jetzt wie von Dir vorgeschlagen, mit einem Timer (Intervall) lösen.

Ich danke Allen für eure Unterstützung

Kein Problem!
Es ist ein technisches Detail, das leicht missverstanden werden kann.
Ich helfe Ihnen gerne!