Changing linked attachment base directory can take a while - wait for it!
I recently moved to a new work computer, and had to re-install everything from scratch. The group policies of our I.T. department had changed, and I no longer had choice about where exactly my personal data folders would be located, including my Linked Attachment Base Directory (LABD).
On my previous computer, I had used relative paths for linked attachments, so I figured this would not be a problem. And in the end, it wasn't. But what was interesting was what happened along the way.
I have about 2000 files in my LABD, worth about 1GiB. I copied these over from the old computer using a thumb drive. When I tried to enter a new value for the LABD, I got the friendly directory chooser dialog box, and everything seemed fine. But the value just wouldn't "take" in the field where it was supposed to go. No error message or anything, just nothing. I would return from the directory chooser modal dialog to a blank field. So I kept closing the preferences with no apparent resolution to the issue. I was going to put in a ticket to the I.T. department, to try to figure out which group policy was preventing this from completing. Because things get busy, I somehow managed to leave the dialog box open at the end of the workday, and then walk away from my computer without signing out. The next morning, I signed back in, and Zotero was still running, with the dialog box open, but this time, the chosen directory was visible! And, it was giving me a message about how many files it had found in that location.
So I now think that what was happening is that it was just taking a long time to perform the directory scan, and not updating the dialog box until that operation was finished. There was nothing to tell me that I needed to wait, and also nothing to prevent me from closing the box prematurely, in apparent failure. I'm bringing this to the attention of the forum in case others have experienced something similar. In terms of application design, I think it might be worthwhile either ditching the directory scan, or giving the user some kind of indication that an operation is pending, and to wait for it to finish. It's not clear to me why the directory scan needs to happen in real time, but maybe there's a good reason.
On my previous computer, I had used relative paths for linked attachments, so I figured this would not be a problem. And in the end, it wasn't. But what was interesting was what happened along the way.
I have about 2000 files in my LABD, worth about 1GiB. I copied these over from the old computer using a thumb drive. When I tried to enter a new value for the LABD, I got the friendly directory chooser dialog box, and everything seemed fine. But the value just wouldn't "take" in the field where it was supposed to go. No error message or anything, just nothing. I would return from the directory chooser modal dialog to a blank field. So I kept closing the preferences with no apparent resolution to the issue. I was going to put in a ticket to the I.T. department, to try to figure out which group policy was preventing this from completing. Because things get busy, I somehow managed to leave the dialog box open at the end of the workday, and then walk away from my computer without signing out. The next morning, I signed back in, and Zotero was still running, with the dialog box open, but this time, the chosen directory was visible! And, it was giving me a message about how many files it had found in that location.
So I now think that what was happening is that it was just taking a long time to perform the directory scan, and not updating the dialog box until that operation was finished. There was nothing to tell me that I needed to wait, and also nothing to prevent me from closing the box prematurely, in apparent failure. I'm bringing this to the attention of the forum in case others have experienced something similar. In terms of application design, I think it might be worthwhile either ditching the directory scan, or giving the user some kind of indication that an operation is pending, and to wait for it to finish. It's not clear to me why the directory scan needs to happen in real time, but maybe there's a good reason.
Is the base directory on the new computer on a network drive, such that it would be unusually slow? File existence checks aren't free, but they should generally be pretty fast (though much slower on Windows than macOS/Linux).
I can understand the reasons for a file existence check when someone is switching from absolute to relative paths, but in my case, it would have been nice to have some sort of warning that this was a potential gotcha. I really just stumbled on the "wait it out" solution. I'm hoping that by documenting this here, if anyone else is experiencing this at the hands of a clever I.T. department they will be able to dig around first, and make sure that their LABD is located on a truly local drive, and not just a drive that looks local, but isn't