is there a way to import via csv (or any form) a list of tags and their aliases? so maybe a spreadsheet where column 1 was the tag and column 2 was the list of aliases, separated by commas? i don’t know how this would work, perhaps it would require a script of some type. just thought i’d ask. thank you!
Why not just create a sheet in DEVONthink?
sure but can i then turn that sheet into tags and aliases? i don’t care where the sheet is created, as long as every entry in column one could be a tag and every entry in column two could be aliases for the tag.
I suppose that this could be scripted.
Update Indeed, the following is a small proof of concept in JavaScript. It relies on a sheet currently selected in DT, no error checking for that:
(() => {
let app = Application("DEVONthink 3");
let w = app.thinkWindows()[0];
let rows= w.numberOfRows();
let columns = w.numberOfColumns();
for (i = 1; i <= rows; i++) {
let tag = w.getCellAt({column: 1,row: i});
let alias = w.getCellAt({column: 2, row: i});
console.log(`tag: ${tag}, aliases: ${alias.split(',').join('#')}`);
}
})()
First column contains the tag, second column contains the aliases, separated by commas, as requested.
However, I have no idea what you want to achieve now. I don’t use aliased tags (or I’m not aware of it). One could of course create a new tag in the TagGroup of the current database (or somewhere else). But aliases? No idea. Maybe @BLUEFROG knows more about that.
AMAZING! thank you!!
i tried to do this in dt and the script wouldn’t work! any idea what i need to do?
The only thing that this script does is to write the tag and aliases to the script editors console if it’s run in script editor. As I said: proof of concept. You won’t see anything if you run that in DT because it’s not doing anything visible there. This is according to specification:
If you want to create those tags, you’d have to
- get the database you want to use them in
- get this databases’s
tagsGroup
element - get this group’s
tags
list - append the tags to it.
However, aliases seem to be related to groups (if I understand the online help correctly). And I do not see anything in DT’s scripting dictionary to set a group’s alias. Alias are only ever mentioned there as “alias for wiki pages”. Perhaps I’m overlooking something and @BLUEFROG can shed some light on this?
Actually you can alias all items: groups, tags, and files. Wikis are just we’re the idea originated and is still valid today.
Thanks for clearing that up (maybe a good idea to mention that in the documentation and the scripting dictionary, too).
So, to set aliases "a,b"for a tag X via scripting, I’d
- Go to the database’s tag group
- get the record with the name X
- add “a,b” to its alias property?
I will look at potential revisions for the documentation. Thanks!