Spotlight Comments Keywords problems with indexed files

I have some indexed files in my database. I’ve given them some keywords and then changed the name of the keywords. Unfortunately, every time the folder is re-indexed, the old version of the keywords come back as new tags (in addition to the new versions), which is very annoying. I think this is because they are being set as spotlight comment tags. Is there anyway around this? I would like to change the tags on my indexed files without the old tags returning later.


What do you mean by “I set keywords”? Where?

Sorry - I meant I add tags. I have a folder of pdf publications that is indexed. I add tags to the publications. Then I frequently change the name of the tag slightly - but the old tags always show up again as new tags when the folder is re-indexed.

Thanks in advance.

If you want to make changes/add tags to indexed documents, you need to import the documents into the database and then move them back out to the external folder. For performance reasons, DEVONthink does not automatically write changes to the tag metadata to the filesystem.

Thanks Greg. That unfortunately isn’t an option for me because the files I’m indexing are all linked to metadata from Endnote and Papers (this is why they are indexed and not imported to begin with). If I import and send out, I might loose all of those links. It’s possible that I could keep the links if I maintain the file structure exactly (though I’m not 100% sure), but then it will just happen again in the future, because I often change tag names (I have some status indicators in the name).

I understand the answer might be ‘no’ due to reasonable tradeoffs, but just to make sure I have covered all the options - is there any way to change the name of a tag on an indexed file without importing and removing the files through DT? Or is this not possible?


It may be possible, but I’m not aware of another way to do this.

On my earlier suggestion to ‘Move Into Database’ and then ‘Move to External Folder’, I do this all the time with no loss of links/problems of any kind. It might be a good precaution to not have the companion apps to the indexed documents (EndNote, Papers, etc.) running when you do this, but I doubt that would be a problem-I don’t bother myself, but then I’ve never used Papers either.

Your results may not mirror mine, however, so if you try this use a test sample beforehand to confirm what you can expect.

Thanks - I appreciate the suggestion, but I don’t really see the workflow here. From what I gather, every time I wanted to use an indexed file in DT (or even view the indexed folder), I would need to first import 1000 pdfs into DT and the export them out again to avoid a bunch of old tags from suddenly appearing as new tags in DT. The old tags appear as soon as I open the indexed folder, because it is automatically indexed on opening the folder. This basically makes the idea of indexing the files somewhat useless, since I can’t tag them or do anything meaningful unless I never plan to change a tag used on one of these files again.

This is actually becoming a really big deal for my work flow. I didn’t realize this was happening, and now everything is pretty entrenched. If this is true, then I’m sunk - I need to change a system I’ve been building for a long time.

I’m hoping that there is a way to avoid making DT tags also spotlight tags. If the tag can just be associated with the indexed file pointer in the DT database (and not get mirrored into a spotlight comment tag or keyword), then I think I could do that. Do you know of any such option?

Thanks so much.

I think perhaps I did not make myself clear-when I said I import/move to external folder all the time without problems, I did not mean that I have to do it continually with the same documents every time that that I want to use them. Do it once, then the old tags are gone. If that is not the case, then there is something else that is creating a problem with your tags.

Thanks for the clarification. I was looking forward, because I regularly change the names of tags after I set them. I could take care of the current set of old tags using your method, but if I add any new tags on the indexed files and then change those tag names in the future, it looks like I will be faced with the same problem. Am I misunderstanding?

I use tag names to move items through a workflow, so I change them often (as status changes).


So the answer is that effectively, you cannot change tag names on indexed files in DT?

It really isn’t feasible that I would export and import 1000 pdf files every time I open the indexed folder. What I’m hearing is that this is the best option out there. Without this, your old tag names will come back as new tags every time the folder is re-indexed. I want to absolutely confirm, because this would mean possibly leaving DT for me for most of my current uses - and I love DT!

Works for me over here – rename the Mavericks tag in Finder and update the indexed item in DEVONthink and DEVONthink deletes the replicant for the “old” tag in the Tags group and adds a replicant for the “new” tag. (Be sure that the group in DEVONthink where the indexed item(s) reside is “excluded from tagging” otherwise updating the index will zap the replicant that resided in the “normal” group.)

It’s much easier to test this than to write about it.

This unfortunately is also not a solution for me. I need the indexed files to behave like other files in DT. I’m talking about an indexed folder of about 1000 pdfs of publications and I drag replicants into various folders (acting as tags) in DT as I do research, and I change the folder names (which are tags) to identify where I am in a process (i.e. a publication in preparation, versus submitted, versus accepted, etc). So it isn’t feasible for me that every time I change a tag, I look at all the files that were tagged, find all of the files that are indexed, find the equivalent files in mavericks, and delete the old tags manually. I do this too often (and do it to save time!).

So it seems there is no way to change tags of indexed files in DT that is reasonable, except in the case of individual files for which I find the file in mavericks and then delete the old tag manually - is this correct? I’m hoping that maybe there is a way to avoid DT tags turning into mavericks/spotlight tags, so that the tags stay only in DT and are edited in DT only - is this possible?

Thanks in advance!!

Not for indexed files. That’s kind of the point of indexing files. Would you want changes to the content of a document to be only in DEVONthink? If so, you’d just import them. So if you don’t want Mavericks Tags changing when you change Tags in DEVONthink, you’ll need to use some other mechanism. What about changing the Label?

Sorry, I was not suggesting a workflow – I have no idea what the goal of the workflow is. I am merely pointing out that the conclusion that “effectively, there is no way to change tag names on indexed files in DT” is not necessarily correct.

Thanks for the reply. Unfortunately, labels don’t offer enough flexibility for what I do (not enough of them - and I use them for other things too). The only reason I index files is because I’m using Papers and Endnote to automatically name and keep metadata on my imported publications, and those can’t work with the internal DT file structure. I’m curious how other people integrate DT and citation software.

I don’t understand the point of operating in only one direction for indexed files - setting tags in DT necessarily sets tags in Mavericks, but changing tags in DT can’t change tags in mavericks - it can only perpetually add new tags. It seems like they ought to be linked/synced fully or not linked/synced at all - what is the benefit of having them “half linked”? I’m surprised that this doesn’t lead to all kinds of problems - it effectively means that you can’t really change tags on indexed files ever, unless you want to deal with a lot of fall out (manually syncing tags between mavericks and DT). This is why I keep feeling like I must be missing something, and really they are synced but I am just not doing it right?? What is the use of partially syncing the tags between DT and mavericks? Is this just a limitation of DT on top of mavericks, or supposed to be best practice?

I have been following this discussion on the side. I’m not sure that I fully understand the issue. I assume you talk explicitly about DT tags, i.e. not DT groups. For better or worse, I have never got into using DT tags, and do everything with groups. Hence my limited insights into these matters.

I played with this a little now. It appears that if I restrict myself to only using groups, the issues that you describe will not be present. The group names, while showing up as “grey” tags in the DT inspector, will not show up as Maverick tags. I can rename DT groups arbitrarily, no “old” names suddenly pop up again. As I generally don’t use OS X level tags (Mavericks or OpenMeta), I am fine with not having the tag/group info at the file level.

Therefore, using strictly groups would fulfill your demand for “no synching between DT and filesystem tags”.

Incidentally, I found some odd behaviour once I started mixing groups and tags. As I said above, as long as I only use groups, the group name(s) do not get ever written to Mavericks tags. However, I then added a DT tag to the same indexed file and suddenly, I had Mavericks tags derived from the DT tag (expected) but also the DT group (unexpected). I then renamed the group, and updated the indexed folder. The Mavericks tag derived from that group name was NOT updated. I then added another DT tag to this file. At this point, the Mavericks tags were updated, including the renamed group tag. So only DT tag actions trigger an update of the Mavericks tags, but once that happens, DT groups are also updated, but only then. This seems not logical to me.

Example of an indexed file:

DT group: “Mygroup”
DT tag: none
Mavericks tags: none

  1. Add DT tag
    DT group: “Mygroup”
    DT tag: “Mytag”
    Mavericks: “Mygroup”, “Mytag”

  2. rename DT group
    DT group: “Mygroup2”
    DT tag: “Mytag”
    Mavericks: “Mygroup”, “Mytag” -> they no longer reflect things properly

  3. add another DT tag
    DT group: “Mygroup2”
    DT tag: “Mytag”, “aaa”
    Mavericks: “Mygroup2”, “Mytag”, “aaa” -> things are in sync again

Hi. Thanks for the suggestion. The indexed folder itself is a group (not a tag), but I put replicants into groups that are also tags, which I cannot change without greatly changing my workflow.

Perhaps a summary would help.

(1) I keep research topics in groups that are also tags. I do this because I frequently use sorter to take notes, and I put the notes in the right group by adding tags with autocomplete (very fast). I do this so frequently that it would seriously undermine my workflow if I had to instead look through the hierarchy and select the right groups (frequently more than one) every time (as opposed to tagging with autocomplete).

(2) I use Endnote to automatically name and file journal articles and log the metadata. Endnote uses its own file system on mavericks, so I access these files in DT by indexing that mavericks folder.

(3) I use these journal papers from the indexed Endnote folder in my workflow by moving replicants from the indexed file into relevant research groups. So they get tagged with the group name (group names need to be tags so I can quickly sort sorter notes, per (1)).

(4) I change group/tag names frequently because I use them to keep track of ongoing projects. For example, I might be using a journal article to write a proposal, which is then tagged with “proposalName pslDUE Apr30 2014”. This group/tag now shows up in a smart group of all groups/tags containing “pslDUE” in their name so I can quickly see all upcoming deadlines. Then, once submitted, I change the name of the group/tag to “proposalName pslSUB Apr30 2014” - again showing up in a smart group of all proposals I am waiting to hear about.

(5) Because I changed the name of the group/tag, when I re-index the group of all Endnote journal articles, a ghost tag called “proposalName pslDUE Apr30 2014” suddenly reappears because it was attached to the indexed file in mavericks.

This is the behavior I can’t seem to avoid. It makes the system unusable in its current form without dealing with many ghost tags every time I re-index the Endnote papers folder. If I can prevent mavericks tags from popping up on Indexed files in DT, or somehow sync the tags between DT and mavericks, I could do it, but that doesn’t seem possible (though I am still waiting for confirmation of a hard “no” on that). I would even be willing to fully cut the cord between mavericks tags and DT tags, so that DT tags don’t go into mavericks and vice versa - but that doesn’t seem to be an option either (is it??). I can see this might be challenging the way that re-indexing works (I think), but would love to hear from those who know more.

Maybe an applescript can check the tags on indexed files when they are re-indexed and somehow not allow “new” tags to be created in DT as a result of indexing - is this possible? Would it be horribly slow? Maybe I could just add it into whatever script is currently creating a new tag during the re-indexing?

Thanks for all the help.

This is quite interesting, beyond the specific question under discussion. From what I understand, the only “DT tag” need you quote is for using them to quickly tag items in the sorter. For all later purposes you describe, groups seems to be fine. So it’s the difference in workflow that makes me live with groups only, and requires tags in your case.

To summarize the specific problem: The way I see it, as long as you need to involve DT tags, there is indeed no solution for you at this point.

Concerning the workflow (off-topic): It is worth noting that, while we seem to have similar goals in mind, i.e. organizing scientific literature and other knowledge, our workflows have diverged at the DT input stage.

I originally used the Sorter, with shortcuts to various databases and groups, but then realized that sending material directly to the final destination required obviously doing all the grouping (and replication) up front, and correctly. This worked against the concept of simply putting this material (which often appears during unrelated searches, or in an email attachment I receive while focusing on something unrelated) into an Inbox for later, careful filing. Once I used the Sorter only to serve the Global Inbox, I eventually stopped using it, as I can drag new items directly onto the DT dock icon.

My current method is to dump everything into the Global Inbox, and then, in periodic reviews (say daily), these items then get carefully filed into the DB structure. To have the discipline to do this periodic review is the really hard part (and admittedly, at the time of this writing, my Global Inbox is way too large again).

I have struggled a lot with the right concept for the group structure. For me, it is not about filing into a single group (that’s too close to what the Finder/Spotlight combo can do), but about replication (to be fair, Finder aliases can do that, too; in the end it’s the searching in DT). Example: A paper is filed in a group structure based on the research topic (Nuclear Physics > Hyperfine Effects > Hyperfine Anomaly), but also in a group structure holding the project(s) that I need this paper for, and also into a group that flags literature types such as review articles or “good student into”. The group structure should also be not too elaborate to make filing reasonably straightforward. I can’t say to I have found the perfect balance yet. This would be a good topic for a new thread.

I appreciate the suggestions. I can work on changing my system, but it would be a big blow in functionality for me. DTs big strength is that I can tag and easily sort things into groups (rather than have it build up in the inbox).

A few replies within the thread:
@Bluefrog’s comment
"That’s kind of the point of indexing files. Would you want changes to the content of a document to be only in DEVONthink? If so, you’d just import them. "

  • I completely agree - I WANT the changes to the content of the document to NOT only be in DT. This is the whole problem! If I changed the name of a tag in DT and the tag name WAS changed in Mavericks (behavior that is, as you say “the point of indexing files”), there would be no problem. The problem is that the ADDITION of tags in DT adds a tag in mavericks, but the CHANGE of a tag name in DT does not. My desire is for it to be one way or the other - but not partial. Second best is to break all tag links to mavericks so that, if a change in tag name cannot be reflected in mavericks, then the addition of a tag in DT is also not reflected in mavericks. The files would be in sync, but the tags would stay in DT or mavericks ONLY.

“the conclusion that “effectively, there is no way to change tag names on indexed files in DT” is not necessarily correct.”

  • your example involved changing the tag name in finder, not in DT. My assertion is that there is no functional (where “functional” excludes my having to chase down all indexed files that have that tag in finder and changing them by hand) way to change the tag name of an indexed file IN DT (without going OUT of DT and into finder). If I just wanted to tag an indexed file and never change the tag - I concede that DT can do it. I can also chase down every file with that tag in DT and remove the old version of the tag by hand - but I would not call this “functional.” I often have hundreds of files with the tag in question. Does this function as a tag is supposed to function for you? If so, what do you do if you want to change a tag name in DT on indexed files? Do you go to finder?

“This seems not logical to me.”

  • I agree! I see the same behavior you describe. Which is why I am baffled and continue to think I am mistaken or not being clear enough in explaining what I mean. Perhaps this is a bug after all?

I thought the point of indexed files was that they behave effectively like imported files in DT with respect to tags, replicants, etc. What I’m hearing is that you cannot use tags in DT on indexed files without expecting major hassles later on (like keeping track of every tag that ever changes manually). The ability to tag files seems so fundamental to DT, I’m surprised that it isn’t called out as a major drawback of indexing. So I keep feeling that either (a) I am wrong, and changing the tag names in DT on indexed files does behave as it does on imported files, but I’m not doing it right, (b) this IS a major drawback of indexed files, but it is a tradeoff issue that cannot easily be fixed without significant changes to either DT or mavericks, or © this is a bug and I’m just not explaining it well. Rather than a, b, or c, I seem to be hearing that you cannot change the tag name of indexed files and have it act like changing the tag name on an imported file, but yet this isn’t considered a major drawback - which doesn’t make sense given what I think about how indexed files or tags are supposed to function (and sends me back to believing a or c). Hence my confusion.

Can someone confirm that the answer is a, b, or c, or explain why it is none of them?

Or can someone answer this: Within DT, are tags on indexed files supposed to act the same as tags on imported files?

I genuinely appreciate any and all replies. Thank you.