Support datamodel validations
As user, one can run
biber --validate_datamodel xyz.bib
Then, the log is filled with entries such as
WARN - Datamodel: report entry 'Iron2009' (oliver-kopp.bib): Missing mandatory field 'type'
A pattern for this needs to be added to
org.jabref.logic.biblog.BibtexLogParser
One can develop test driven, to first add a test to
org.jabref.logic.biblog.BibtexLogParserTest
Steps
- Create a new
@ParameterizedTestatBibtexLogParserTestfor error strings and expectedBibWarning. I assume@MethodSourcewill be needed. Add the above test string and result - Adapt
BibtexLogParser
No need to create a new .blg file for testing; this is too much effort.
Hey! @koppor, i would like to work on this issue. can you assign it to me?
π Hey @shreyakaushal180, looks like youβre eager to work on this issueβgreat! π It also looks like you skipped reading our CONTRIBUTING.md, which explains exactly how to participate. No worries, it happens to the best of us. Give it a read, and youβll discover the ancient wisdom of assigning issues to yourself. Trust me, itβs worth it. π
/assign-me
π Hey @shreyakaushal180, thank you for your interest in this issue! π
We're excited to have you on board. Start by exploring our Contributing guidelines, and don't forget to check out our workspace setup guidelines to get started smoothly.
For questions on JabRef functionality and the code base, you can consult the JabRef Guru or ask on our Gitter chat.
In case you encounter failing tests during development, please check our developer FAQs!
Having any questions or issues? Feel free to ask here on GitHub. Need help setting up your local workspace? Join the conversation on JabRef's Gitter chat. And don't hesitate to open a (draft) pull request early on to show the direction it is heading towards. This way, you will receive valuable feedback.
Happy coding! π
assign me
β οΈ Issue Already Assigned
Hi @kirthi76, this issue is currently assigned to @shreyakaushal180.
[!NOTE] If no progress is made within 14 days, the issue will be automatically unassigned.
Options for contributors
- Wait for availability: The issue may become available if auto-unassigned
- Collaborate: You can ask the assignee if they want help
- Maintainer assistance: A maintainer can add you as co-assignee if appropriate
β° Assignment Reminder
Hi @shreyakaushal180, this is a friendly reminder about your assignment to this issue.
[!WARNING] This issue will be automatically unassigned in 11 days if there's no activity.
Remember that you can ask the JabRef Guru or DeepWiki about anything regarding JabRef. Additionally, our contributing guide has hints on creating a pull request and a link to our Gitter chat.
How to keep your assignment
If you are working on it, you can prevent automatic unassignment by:
- Submitting a draft pull request with your progress within 11 days
- Asking for the π Pinned label if you need more time
We appreciate your contribution and are here to help if needed!
π Assignment Update
Hi @shreyakaushal180, due to inactivity, you have been unassigned from this issue.
Next steps
If you still want to work on this:
- Submit a pull request showing your current state. You will be automatically assigned again.
- Ask a maintainer to assign you again.
/assign-me
π Hey @timurturbil, thank you for your interest in this issue! π
We're excited to have you on board. Start by exploring our Contributing guidelines, and don't forget to check out our workspace setup guidelines to get started smoothly.
For questions on JabRef functionality and the code base, you can consult the JabRef Guru or ask on our Gitter chat.
In case you encounter failing tests during development, please check our developer FAQs!
Having any questions or issues? Feel free to ask here on GitHub. Need help setting up your local workspace? Join the conversation on JabRef's Gitter chat. And don't hesitate to open a (draft) pull request early on to show the direction it is heading towards. This way, you will receive valuable feedback.
Happy coding! π
@koppor Hi, I want to be sure if I am understand the problem right. In JabRef when we are editing or creating new entry, we can just save it without insert any values for even required fields. So what I understand is you want to show the warnings of biber to the user for any missing fields if they are empty. Is that right?
@timurturbil Did you try out biber --validate_datamodel with https://github.com/JabRef/jabref-demonstration-libraries/blob/main/chocolate/Chocolate.bib? What is the output? Is it only the missing fields? Did you check the biber documentation for data model?
In other words: No, you did not understand right. Biber outputs other validations. These need to be presented.
@koppor Right, I see there are other validations. I have created a pr. Please check it once you are available.
@koppor Right, I see there are other validations. I have created a pr. Please check it once you are available.
No need to comment that a PR was created. Writing this takes time, reading it takes time. Less time to give feedback on PRs.
Nevertheless thank you for the PR. We will review it as soon as we find time.
We think that this issue was fixed. Please head to https://builds.jabref.org/main to download a development build and try it out.
For any feedback, add a comment to the pull request at https://github.com/JabRef/jabref/pull/13693.