-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
deleting entry removes the entry label from the other entries that crossref it #7057
Comments
Thinking about it, I see the behaviour of JabRef correct, as the label is an (internal) reference to the entry. When the entry no longer exists, to what should it refer? It would be inconsistent. |
I like to offer a friendly disagreement. Your argument seems to miss temporality. Only because now no referenced entry exists, it does not mean it will not exist in future. JabRef does and cannot know about the future. But JabRef could ask the user about their future intentions (and of course a default might follow your reasoning).
What do you think? |
@Siedlerchr No longer waiting for feedback (OP responded) |
I also found another problem, different articles can have the same I don’t really understand how crossref works, in other words, how does it work with |
this sounds like a familiar problem. Worth checking this indeed.
Sorry, I am not sure I understand the issue you are formulating here. Would you rephrase, please? |
Create First (the After added First to Next's Change the I only found crossref in |
Thank you a lot, this helps. you have successfully identified a bug: the year date should be updated immediately. I suggest you create a new bug report and reference the discussion here. |
@ilippert you are referring to that the content of the crossref field disappear? (e.g.,
Just because you can, doesn't mean that you should 😛
Are you referring to the need of pressing enter after typing the citation key? Otherwise I can recommend The biblatex Package for looking up information (unless you really need to use BibTeX). § 2.4.1 (page 41) is about cross referencing. biblatex/biber is often better documented |
Yes. The problem is indeed that if |
I suggest to consider the issue here in relation to the issue/feature request proposed at #6404 |
Refs #6294 |
IT terms:
|
Might it be the case that in |
I added it to the next milestone so that the developers re-check and can close / update the issue accordingly. |
Quick thoughts based on the dev call
|
Above I had pointed to a potentially preferences based approach for handling the question (what happens to A?). Meanwhile I became aware of another concept. I could also imagine a kind of shutdown or startup wizard, that tells the user: JabRef has found references to crossrefs, that do not exist in this library. Should these references be deleted within the referencing entries? then offer a list of entries with option check boxes for removing or keeping the crossref. |
I'd lean more towards clean-up actions, i.e., the default behavior should be that broken crossrefs are kept (but perhaps highlighted) and it is up to the user to decide if they should be removed. In that case, the clean-up action can be added as a Save action. Clean-up and Save actions are already there so it shouldn't be too hard to implement. But there is also the issue of what to do with broken ones crossrefs that you want to change, since most likely you want to change them all at the same time X) |
I guess we might have this scenario: user is about to quit JabRef, the Clean-up & Save action recognises broken crossrefs. What to do? I would appreciate a UI dialogue with four choices
|
Shouldn't something like this (ideally) be triggered when you delete the entry or remove the crossref field? A warning saying "x entrie(s) references this entry, are you sure you want to delete it?" I would suspect that most broken crossrefs are created by the key generation. Thought I think we are starting to move away from the original issue ^^ |
this sounds good to me
not in my use case - but I have no idea about the statistics.
I think we are discussing the approach to a user-friendly fix. |
Some years ago, we wanted to move away from pop ups to more user-driven actions. That check should be added to our "Integrity Check": https://docs.jabref.org/finding-sorting-and-cleaning-entries/checkintegrity |
Our Integrity Checks also offer checking for missing cross referenced entries: What is missing, is following:
Thus,
|
Current action points:
|
Also refs. JabRef#542 (clarify how cross-refs are displayed) |
JabRef 5.5--2022-01-09--7d4916e Here is a use problem that problematises potentially
mistakingly the collection entry existed several times. search for its key Now Ctrl+z actually reverses the action, but in the corresponding view (search key), the crossreferencing entries are not reappearing. Now I close jabref, restart, and I find the crossreferencing entries are still referencing the key (good). |
This is strange. If I save the library after having undone (ctrl + z) the "delete entry" action, I don't find the cross-referencing entries again. (the field is deleted) |
(Mostly notes for me)
Regarding undo not restoring #1645 (comment) |
Note, working with I sense the issue is also relevant for merging entries: consider this real case:
I find that even if Z referenced X, now the crossref to X is removed in Z. |
JabRef 5.6--2022-04-25--5c9d898 Also, combined with search it is tricky. Search for entry label X In the video, after the beginning action till 00:14 you can jump forward to 00:53 to then see what next happens (long period of calculation in between). Peek.2022-05-05.10-56.mp4 |
I like #6404 (comment) suggestion of a dialogue that informs users that an entry is related to certain other entries, and provides the user with various options. |
JabRef 5.2--2020-10-26--3fe34a0
Linux 5.8.16-200.fc32.x86_64 amd64
Java 15.0.1
Steps to reproduce the behavior:
Result: Entry B misses the AAA cross-ref. It should be preserved.
The text was updated successfully, but these errors were encountered: