Can anything be done about moving / renaming indexed files?

I really like the concept of indexing, and it’s the only way I could load certain file types into my database – basically any folder structure that I use in another program, for example.

But there’s a hangup that keeps me from using indexed files at all… and it’s that when I rename or move a file, DEVONthink loses the reference to it. It becomes a missing file.

I use another program called AudioFinder which has a nifty feature. When a file’s been moved, it lets me relocate it… and it can do so automatically using the OS file id, as long as the file is on the same hard drive.

I’ve always wanted DT to do something like that. OS X is relatively smart in that it can track files even once they’ve moved. DT doesn’t do that as far as I can tell.

Anyway, I searched the forum for information on moving indexed files. The consensus seems to be “don’t ever move or rename indexed files”.

How do people handle this situation? I want to use DEVONthink for its powerful searching and see also. I have to index some files… but I want to have the flexibility to rename or move them, without breaking DEVONthink.

There’s a solution for the breaking link problem, but it’s maybe not very practical for indexed files.

Basically, you (i.e., with a script) create a Finder alias in a safe place, and link to the alias. The alias keeps track of its original, which you can move & rename as you see fit.

I’ve used this for years.

hrm I actually tried indexing an alias, but it seems to have just indexed the original file instead. Maybe I misunderstood what you’re doing?

By “link” do you mean RTF / html / markdown links, rather than indexing it as a record?

Yes, I meant a HTML link, not indexing. I do not use indexed files, so I have no idea if/how this would work with indexed files.

How about importing an indexed file, change its name, then export back to the indexed location? Do this using the context menu.

As for moving, assuming the source and destination folders have corresponding groups in DT (both are indexed) then import file into DT, move to the destination group, and finally send it back to the corresponding indexed folder. The process is quick.

I don’t want Devon to change the operation of indexed folders. I have one indexed Finder folder that stores all files, thus leaving them available to other “analysis” apps that work on all files in one folder, but within DTPO I move the referenced files into other groups for organization. But in OSX, all the files remain in the one indexed folder.

Yeah. So, my beef with this approach is that I have to remember that something is indexed in DT. Which seems to me to defeat the purpose of indexing.

When I import something, it’s in DT – DT gets full control of it. But when it’s indexed, DT is an “observer” – it’s keeping an eye on things, but doesn’t have control over them.

So if I don’t want to break anything, I have to remember that I indexed it with DT, and use DT to make the changes. And that’s the rub: if I were any good at remembering trivia like whether a folder is indexed into a specific computer program, I wouldn’t need computer programs like DEVONthink in the first place :wink:

Ah, in my case I index everything.

…and never rename or move files?

As I have the same problem here (I think I will index some network shares at my office to use the powerful search in DTPO, because Spotlight sucks at network search…) I thought about reindexing probably every 2-4 weeks or so…

Any opinions on this?

Not often, but when I do, I follow the procedures given above. Especially when moving files. For the one database whose indexed folder has no subfolders, I never move files to another folder. But for several other databases withe nested indexed files, yes I move files. It’s easy. Import, move internally, return to folder.

Oh I think I get ya now… you “index everything”, as in pretty much everything meaningful on your computer gets indexed into a DT database? So you never have to remember if something is indexed or not – because everything is indexed?

I don’t index everything meaningful. Just a lot of financial files in one database, research files in another, health related files in a third, and reference files in a fourth. My point is that all files are indexed, so I don’t have your problem of having to remember which are indexed and which are imported.

Oh. Yeah, it’s not a problem of knowing whether something in the database is indexed or imported… it’s a matter of moving stuff around in the finder. Say I’m in the finder, and I want to rename or move a file. I have to ask myself, “Is DEVONthink indexing this?”

I can’t be the first person who wants to index stuff in DT and have control over my files in Finder :mrgreen:

I take it none of the above is a problem if you index a certain folder in the Finder, and if things get moved inside that folder you just update the database indexing?

Not quite. Yes, DT will find whatever’s in the folder, even if you make chances. But it can cause problems.

Create a folder and subfolder, and a file inside the subfolder. Index the top-level folder. Replicate the file somewhere else in the DB. Rename the subfolder. Click on the indexed folder again to index the latest content. The replicant disappears (not even moved to trash).

So the rule with indexing is: don’t change anything OR move all your stuff into the DB temporarily, make your changes there, and move it back out.

But if you index something into DEVONthink and then change things in the Finder, you’re asking for trouble.

I also have this problem. I have a single DT database that is indexing most everything, but renaming and moving things within DT is a PITA, I’m much faster doing it in Finder yet it always gets DT mixed up.

What I’d like is that I set the top level folders I want indexed and if I then select update indexed items DT should be able to figure out that if the location has changed but the filename and size are the same it’s been moved, if the file size and location are the same but the name is different it’s been renamed and update the database in DT accordingly.

How so?

Here are a few examples:
I have a main top folder in Documents, within that I have a file_cabinet folder for reference, an Active_Projects Folder and then folders for several organizations where I am an officer. I use a combination of hot keys and automatic scripts in Hazel to move files into those folders as required. The files may come from e-mail, be created by me or come in from government officials for formal comments (we are dealing with BLM and Forest Service issues a lot) I also clean out my downloads folder every week, items that are downloaded may get moved into the file cabinet folder for future use. I may delete old versions of SW downloads from the file cabinet folder when they are replaced by newer versions. I also go through my system yearly deleting old items. I need to look at them in context and that isn;t as easy to do in DT since many of the file formats are not supported so I can;t see the contents until I open them up outside DT. It’s simple in Finder to drag and drop files from one window to another. In DT since the files are not inside it but are just indexed it’s not simple at all to just update. None of the Hazel stuff works from within DT.

Moving files or items that have been imported so they are within the DT ecosystem is possible but often requires that I scroll back and forth there is no automatic opening of folders so I can see the content folders like there is in Finder. So I have to either open the folder first, which makes the scrolling even more painful, or dump files into the top folder and then go into that and sort again, 2 steps and much slower. Now I try to keep my levels to a minimum but there are still cases with 2 levels of folders and that is much more complicated to navigate within DT.

I am working on a software programming project for managing our sheep flock records that uses an SQLite Database. I have a folder for that database, the reports created out of it and my notes and stuff for development. The program runs on Android and my development system is another machine. I frequently load the database onto the kindle handheld, go out to run the sheep through the handling system, give shots, or dewormer or do evaluations and take notes using my program. When I come in I copy the database back on the my main computer so I have a backup and so I can run the reports I need for state and federal officials, for our USDA research and my own use. I can’t run the reports on the handheld device. So there are many files created, used, deleted and moved around within that flock management folder that are never handled by DT. I do index it though since some of the reports like rams for sale or sheep that are going to slaughter, are useful to locate using DTs searching mechanisms. The files are not ones that are every manipulated within DT only viewed there.

There are other examples but in general most of the moving and file management I do is faster and simpler to do in Finder or automatically compared to within DT. I just want DT to keep an up to date index of the file system for ease in searching for things.