-
Notifications
You must be signed in to change notification settings - Fork 0
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
Technical Documentation and Prototype #2
base: develop
Are you sure you want to change the base?
Conversation
… and RegexBasedSearchRule
Add Lucene functionality to SearchBar
- Fixed odd behaviour where dropdown reapppears when repeatedly clicking search bar - Removed detachable attrubute (for now?) - Corrected Checkstyle - Added test method to author button (dont allow attributes without search terms)
- Fixed odd behaviour where dropdown reapppears when repeatedly clicking search bar - Removed detachable attrubute (for now?) - Corrected Checkstyle - Buttons dont allow adding attributes when prior ones are empty
Improved buttons
Corrected some minor formatting errors
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sehr gute Arbeit. Wir haben einige kleine Kommentare eingefügt und werden am Mittwoch noch einige Dinge besprechen.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good work on the prototype already!
Also modified RecentSearch such that empty strings do not get added to the list.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor comments to the reuqiremnts specification. In general: looks good 👍
docs/sweng/pflichtenheft.md
Outdated
* Preconditions: JabRef must be started | ||
* Procedure: | ||
* Click on the global search bar. | ||
* Choose the fields you would like to search in (i.e. author, title etc.). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The proposed fields should be sorted as follows:
- used in the current library (this is more a filtering, see above)
- first the required fields then the optional fields; alphabetically (this is more implementation effort, because information of all entry types have to be merged. In case a field is required.in one, it is treated as required)
- one could also be more smart to sort by usage in the library (or by usage in recent searches). --> much more effort
For me, a hard coded order is also OK. Title, Author, groups, keywords - then all others
(This should be moved to the features)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't understand how the distinction between required and optional is made in relation to our UI buttons. I think we are missing something?
Currently we have a prototype with fixed buttons for major fields (author, title, journal, year, [year-range]), as seen in #341. Those are always showing in the dropdown menu regardless of input.
Added missing statement in case quote mark is the last character and has no search input.
@koppor Thanks for the concise feedback! I'm very sorry to say that one of us mistakenly committed an outdated, early draft of our functional specification document which you then reviewed. Nevertheless we got a lot of good points from it which also apply to the actual document. functional-specification-document.md is now corrected. |
We have some questions we would like to clear up:
Thanks for your efforts ^^ |
Just as to what is in your capabilities, it will be up to you to estimate. If there is an overhaul planned that you think exceeds your limits timewise I suggest you for sure implement what you wanted to implement anyway so that it keeps the future changes in mind/doesn't overcomplicate them. After the project concludes you have the option to continue working with JabRef and finish it off. |
Yes. Therefore, I would suggest that your pull request targe That means: The
No. I re-implemented the search based on Lucene.
Yes.
The internal search is already overhouled. See JabRef#8206. You do not need to implement a search for "First Author", "Last Author", "Affiliation". Just use the fields available from JabRef. (In case there is time left, you could work on that, but this is hard stuff. Hint Line 73 in
We need to distingish PopOvers and PopOuts. -- We need to be clear in teams. See also https://ux.stackexchange.com/q/90336/93436. -- Maybe you should add these two terms to the glossary?
Since Popups "are the assholes of UI design", JabRef wants to move away from them. PopOvers are IMHO placed nicely in the UI: They appear right at the place where they are needed. See the "import from an ID" for a good PopOver example:
This is an advanced feature, you do not need to implement. "For me, a hard coded order is also OK." (which you pointed out by linking to the issue) For completeness I can reiterate one of my comment
One can get the used required fields similar to that: frame.getCurrentLibraryTab().getDatabase().getEntries().stream()
.map(entry -> entry.getType())
.distinct()
.flatMap(type -> BibtexEntryTypeDefinitions.ALL.stream().filter(t -> t.getType().equals(type)))
.sorted() That would change "Title" "Summary" "Author" "First Author" in the UI element
The idea was to be like google, which doesn't do a strict AND. (in the context of the web search we already have the default @btut any input here? What is the thing we do in the PDF full text search with Lucene backend? |
Regarding |
The following things have been added:
The prototype allowed us to recognize early mistakes (not isolating functions enough for example) and adjust with some additional classes like i.e. SearchFieldSynchronizer, which will be further improved upon during the upcoming days.
PS: This repo josphstar/jabref is a new, clean fork from JabRef/jabref and will be our working repo from now on. For prior pull requests visit the old repo josphstar/jabref2.