Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"File directory" error on importing Springer entries #11075

Closed
2 tasks done
subhramit opened this issue Mar 22, 2024 · 32 comments · Fixed by #11111
Closed
2 tasks done

"File directory" error on importing Springer entries #11075

subhramit opened this issue Mar 22, 2024 · 32 comments · Fixed by #11111

Comments

@subhramit
Copy link
Collaborator

subhramit commented Mar 22, 2024

JabRef version

5.12 (latest release)

Operating system

Windows

Details on version and operating system

Windows 11 23H2

Checked with the latest development build (copy version output from About dialog)

  • I made a backup of my libraries before testing the latest development version.
  • I have tested the latest development version and the problem persists

Steps to reproduce the behaviour

  1. Go to File -> New library
  2. On the Web search panel on the bottom left select "Springer" from the dropdown
  3. Type any valid query (e.g. "topology") and click Search. You'll see a list of entries as results.
  4. Select one or more entries by clicking on them.
  5. Click on "Import entries"
    You will see a dialog box with the following error (as attached in Appendix):
    File directory is not set or does not exist!

The entries are imported nevertheless, so I guess it's mostly a false alarm that needs a fix.

Appendix

Screenshot 2024-03-22 102145

Log File
Paste an excerpt of your log file here
@koppor
Copy link
Member

koppor commented Mar 22, 2024

I can reproduce on a clean JabRef install (by using Windows Sandbox)

@github-project-automation github-project-automation bot moved this to Normal priority in Prioritization Mar 22, 2024
@koppor koppor moved this from Normal priority to High priority in Prioritization Mar 22, 2024
@koppor koppor added the bug Confirmed bugs or reports that are very likely to be bugs label Mar 22, 2024
@koppor
Copy link
Member

koppor commented Mar 22, 2024

grafik

@koppor koppor removed this from Prioritization Mar 22, 2024
@koppor koppor moved this from Normal priority to Low priority in JabRef UI Improvements Mar 22, 2024
@github-project-automation github-project-automation bot moved this to Normal priority in JabRef UI Improvements Mar 22, 2024
@koppor koppor removed the bug Confirmed bugs or reports that are very likely to be bugs label Mar 22, 2024
@koppor
Copy link
Member

koppor commented Mar 22, 2024

@subhramit You did not provide a screenshot. You tried to download something with an unsaved library. Thus, JabRef cannot know where to store PDF files. Please save your library first.

I am not sure whether we should keep that issue. I think its a very, very low UI issue. Which user tries to work with JabRef having "unsaved" as library. -- Fixing this causes much work and we do have many other high-priority bugs (https://github.com/orgs/JabRef/projects/7) and high-priority features (https://github.com/orgs/JabRef/projects/6), where energy should spend.

@subhramit
Copy link
Collaborator Author

subhramit commented Mar 22, 2024

@subhramit You did not provide a screenshot. You tried to download something with an unsaved library. Thus, JabRef cannot know where to store PDF files. Please save your library first.

Are you referring to screenshot of each step? As I did provide one for the error dialog box that comes in the appendix. Let me know if I can add something further.

I am not sure whether we should keep that issue. I think its a very, very low UI issue. Which user tries to work with JabRef having "unsaved" as library. -- Fixing this causes much work and we do have many other high-priority bugs (https://github.com/orgs/JabRef/projects/7) and high-priority features (https://github.com/orgs/JabRef/projects/6), where energy should spend.

Yes, agreed. I only thought it should be an issue because it does not come up when working with other fetchers.

@koppor
Copy link
Member

koppor commented Mar 22, 2024

@subhramit I meant, reproducing the issue was difficult. Which steps did you do before? Which library is opened etc. As you saw (hopefully), I could reproduce. No need for you to do additional things with that regard.

What you could to is to update the string shown. Add "Please save the library." Then, you learn about localization in JabRef - https://devdocs.jabref.org/code-howtos/localization.html

@subhramit
Copy link
Collaborator Author

subhramit commented Mar 22, 2024

@subhramit I meant, reproducing the issue was difficult. Which steps did you do before? Which library is opened etc. As you saw (hopefully), I could reproduce. No need for you to do additional things with that regard.

Nothing apart from the ones I mentioned. There was no precondition, it always occurred when I tried.

What you could to is to update the string shown. Add "Please save the library." Then, you learn about localization in JabRef - https://devdocs.jabref.org/code-howtos/localization.html

Will do.

@koppor
Copy link
Member

koppor commented Mar 22, 2024

Nothing apart from the ones I mentioned. There was no precondition, it always occurred when I tried.

Your steps were incomplete. You started JabRef. And then directly Web Search?

What you could to is to update the string shown. Add "Please save the library." Then, you learn about localization in JabRef - https://devdocs.jabref.org/code-howtos/localization.html

Will do.

Nice! 🤩

@subhramit
Copy link
Collaborator Author

subhramit commented Mar 22, 2024

Nothing apart from the ones I mentioned. There was no precondition, it always occurred when I tried.

Your steps were incomplete. You started JabRef. And then directly Web Search?

What you could to is to update the string shown. Add "Please save the library." Then, you learn about localization in JabRef - https://devdocs.jabref.org/code-howtos/localization.html

Oh, got it, my bad. Edited the steps.

@koppor
Copy link
Member

koppor commented Mar 22, 2024

@subhramit Thank you. These were also my steps. My answer thus stays the same: We have many other bugs to fix. - Workaround for this bug: Save the library. I think, that will be done by most users during usage.

@subhramit Updating the localization will help users.

@subhramit
Copy link
Collaborator Author

@koppor @calixtus @Siedlerchr It has also come to my notice that if there are 5 entries selected and we click on Import entries, the warning dialog will come up 5 times. Just once is sufficient. A. Should I create a new issue for this? B. Any direction on how I can fix this?

@koppor
Copy link
Member

koppor commented Mar 23, 2024

@subhramit No. If you save your library, the issue is gone away (for that library) forever. (BTW, we do get notifications even without mentioning. Thus, use the mentions only whrn really needed)

@subhramit
Copy link
Collaborator Author

@subhramit No. If you save your library, the issue is gone away (for that library) forever.

Alright. Will let it be then.

(BTW, we do get notifications even without mentioning. Thus, use the mentions only whrn really needed)

Oh, sorry. I didn't know. Will keep in mind from now.

@subhramit
Copy link
Collaborator Author

@subhramit No. If you save your library, the issue is gone away (for that library) forever.

Alright. Will let it be then.

You know, Oliver, I was thinking - for someone who is not very well-versed with JabRef (and that might be especially true for pure science or arts researchers who might not be very well versed with computers), if they don't save the library and during their usage, import, say, 20 papers, they will have to either close the warning dialog 20 times before they can return to functionality, or close and re-open JabRef to continue from scratch again. Not a priority, I understand, but this might not be very user-friendly as well.
Let's keep this for later.

@koppor
Copy link
Member

koppor commented Mar 23, 2024

Decision needed: Force users to save the library when creating a new one or handling the special case of unsaved libraries. @calixtus @Siedlerchr . Currently I lean towards the first one, because the latter option seems to more effort.

@Siedlerchr
Copy link
Member

Force saving

@subhramit
Copy link
Collaborator Author

Should we close this issue and create another for force saving?

@koppor
Copy link
Member

koppor commented Mar 23, 2024

@subhramit No, because force saving as a solution to this issue. We typically track issues and not implementation decisions.

@subhramit
Copy link
Collaborator Author

Okay, so what's the plan about force saving - do we open the save pop-up window the moment a user clicks on "New library"?
Or when he tries to import entries?

@koppor
Copy link
Member

koppor commented Mar 28, 2024

In case its easy at importing, we should do it there... Otherwise, it is a bad UX.

Only force saving if file path of library is unknown

@subhramit
Copy link
Collaborator Author

subhramit commented Mar 29, 2024

In case its easy at importing, we should do it there... Otherwise, it is a bad UX.

Only force saving if file path of library is unknown

Clarifying, so ideally we want to force saving at the time of creation of the library? And if that's difficult we do it during importing if file path of library is unknown?

@koppor
Copy link
Member

koppor commented Mar 29, 2024

In case its easy at importing, we should do it there... Otherwise, it is a bad UX.

Only force saving if file path of library is unknown

Clarifying, so ideally we want to force saving at the time of creation of the library?

No. At the latest point required. See, this thing is broken since years and no one complained yet. Thus, we should keep the existing percieved UI flow.

When the web search is called AND the path of the library is unknown, then the user should be asked to save the file.

@subhramit
Copy link
Collaborator Author

I was wondering why I had mentioned "Springer" specifically in the issue. I checked again - the issue is indeed only with springer. This is also some non-uniformity.
I can for now, instead of messing with the UI flow of either case we discussed above, use a flag and make sure the warning is shown only once. But how to make this uniform? Why would the dialog box not come up for other search sources?

@subhramit
Copy link
Collaborator Author

subhramit commented Mar 29, 2024

I was wondering why I had mentioned "Springer" specifically in the issue. I checked again - the issue is indeed only with springer. This is also some non-uniformity. I can for now, instead of messing with the UI flow of either case we discussed above, use a flag and make sure the warning is shown only once. But how to make this uniform? Why would the dialog box not come up for other search sources?

That might also be one of the reasons why people did not complain. In the latest unreleased build, Springer search is working, before that it was not... So they never faced any dialog boxes, let alone multiple times.

@koppor
Copy link
Member

koppor commented Mar 29, 2024

I was wondering why I had mentioned "Springer" specifically in the issue. I checked again - the issue is indeed only with springer. This is also some non-uniformity. I can for now, instead of messing with the UI flow of either case we discussed above, use a flag and make sure the warning is shown only once. But how to make this uniform? Why would the dialog box not come up for other search sources?

That might also be one of the reasons why people did not complain. In the latest unreleased build, Springer search is working, before that it was not... So they never faced any dialog boxes, let alone multiple times.

Did you start with a new and unsaved library ("untitled")?

@subhramit
Copy link
Collaborator Author

I was wondering why I had mentioned "Springer" specifically in the issue. I checked again - the issue is indeed only with springer. This is also some non-uniformity. I can for now, instead of messing with the UI flow of either case we discussed above, use a flag and make sure the warning is shown only once. But how to make this uniform? Why would the dialog box not come up for other search sources?

That might also be one of the reasons why people did not complain. In the latest unreleased build, Springer search is working, before that it was not... So they never faced any dialog boxes, let alone multiple times.

Did you start with a new and unsaved library ("untitled")?

Yes. Double-checked.

@koppor
Copy link
Member

koppor commented Mar 29, 2024

@subhramit I think, you did not follow your steps closely - or your steps are incomplete. I can reproduce with main on Windows 11:

image

I bet you changed your preferences. The preference so that the issue occurs are following:

image


Learning: The steps at "Steps to reproduce the behaviour" need to be complete and precise:

  1. They have to contain the modification of the preference to the relative file storage
  2. "any valid query" is too vague. You should at least provide an example, which you tried. (I tried test).

@subhramit
Copy link
Collaborator Author

subhramit commented Mar 29, 2024

No Oliver, I did not change any preferences. With Springer, the dialog always comes up. My point was it does not come up in case of other search sources apart from Springer. That is what I meant to refer to as non uniform. Did you try something else, like Medline? The dialog won't come up then.

Thank you for the corrections, I will make my steps more concrete.

@subhramit
Copy link
Collaborator Author

Refer to the following video:

bandicam.2024-03-30.01-25-59-869.mp4

@koppor
Copy link
Member

koppor commented Mar 30, 2024

No Oliver, I did not change any preferences. With Springer, the dialog always comes up.

And that is what the issue title says!

Maybe, I missed some important text.

My point was it does not come up in case of other search sources apart from Springer. That is what I meant to refer to as non uniform.

Did any of the other fetchers download a PDF? Where was it stored? (arXiv could be a fetcher fetching PDFs)

My guess: The other fetchers skip file downloading if no dir exists.

Did you try something else, like Mendline.

No. The issue title says Springer. -- It is good that you work on the refinement of the issue. It is good that work is spend here to make JabRef more newcomer friendly.

In case I am right with my guess, one could just ignore dir non existence during download.

Cheers,

Oliver

@subhramit
Copy link
Collaborator Author

subhramit commented Mar 30, 2024

Yes, I think the confusion occurred because I started the issue referring to one thing (annoying dialog box), then the discussion led to "multiple popups of the dialog box", and then finally evolved to "issue is only with Springer - not uniform on all fetchers!"
I am unsure when it is the point to create a new issue, as all of these are related. Is there any point when these had to be separated into distinct issues?

@subhramit
Copy link
Collaborator Author

Did any of the other fetchers download a PDF? Where was it stored? (arXiv could be a fetcher fetching PDFs)

My guess: The other fetchers skip file downloading if no dir exists.

This is a good catch, let me see.

@subhramit
Copy link
Collaborator Author

subhramit commented Mar 30, 2024

Did any of the other fetchers download a PDF? Where was it stored? (arXiv could be a fetcher fetching PDFs)
My guess: The other fetchers skip file downloading if no dir exists.

This is a good catch, let me see.

Yes, you're right. Arxiv causes the same dialog popups. So it happens when pdfs are associated.
Okay then, I'll try to see if I can limit the number of popups to one, else will go with force saving on import (or ignore if that's too difficult).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants