The createRecord
command expects a key of 'record type'
, whereas in the record
class, the property is named recordType
. Similarly, createRecord
wants URL
in all uppercase, whereas the class property is url
in all lowercase. I think that this is a change introduced with DT4 (I’m sure of that in the case of recordType
as that didn’t exist in DT3).
Example in the scripting dict for createRecordWith
(() => {
const theApp = Application("DEVONthink");
const theGroup = theApp.currentGroup();
let theBookmark = theApp.createRecordWith({name:"DEVONtechnologies", 'record type':"bookmark", URL:"https://www.devon-technologies.com", comment:"Our website.", tags:"DEVONtechnologies,DEVONthink,DEVONagent"},{in:theGroup});
let theNote = theApp.createRecordWith({'name':"Note", type:"markdown", content:"# Headline\n\nType your notes here."},{in:theGroup});
let theSheet = theApp.createRecordWith({'name': "Sheet", type: "sheet", columns:['Name#text','ID#uuid','Num#int'],cells:[['First','1','1.23'],['Second','2','4.56']]},{in:theGroup});
})();
(Note: The last two examples use type
instead of record type
– is that correct?)
I know that AppleScript doesn’t give a damn about casing, but JavaScript does. And it would be easier if property names and keys in the createRecord
dictionary matched. In the case of record type
vs. recordType
, the former requires the key to be quoted, the latter doesn’t.
Also, addReadingList
wants an all-lowercase url
.