Comments (8)
@ThiloteE The idea is that JabRef automatically tracks readings - without any additional user input. Explanation of the general idea in German: https://de.wikipedia.org/wiki/Mylyn
Scientific background:
- Focusing knowledge work with task context. PhD thesis. Available at: https://www.researchgate.net/publication/235350419_Focusing_knowledge_work_with_task_context
- What You See Is What You Need: WYSIWYN: Using Task Focus to Ease Collaboration. [PDF]
- Beyond Integrated Development Environments: Adding Context to Software Development. This paper reasons on an "Automated Assistant" and calls for a deeper investigation of the concept of "context". In contrast, the ContextSwitcher assumes that the user knows about his context and defines queries for the context by hirself.
from jabref.
To be exact, JabRef should count the number of times that the entry is accessed in a period, e.g., the number of times the attachments (PDF files or others) were accessed in a month.
Or perhaps, JabRef could add a new column named ViewCount to log the number of times in a period set by users. In this case, users can quickly find entries by sorting this column.
from jabref.
I was struggling to articulate my thoughts, but thankfully, @koppor accurately and professionally expressed what I wanted to say.
Take myself for instance, there are many literatures regarding one research topic. Unread and low-quality entries are automatically moved into "Inbox" group, in which priority is used to mark entries to be read and quality-improved first. Other entries are in specific groups according to their research fields. When I decide to do research in one certain direction, I usually first locate a group then scroll down and up to query related papers which may well be the key references and will be looked up many times in the future. However, these papers are scattered in different (sub-)groups. How to quickly get these needed and strongly correlated papers? Maybe Jabref could guess according to user behavior, e.g., times of opening attachments. Maybe some smart groups will promote this. Or like the following drafts (illustrative, not necessary).
from jabref.
I guess, it might be possible for JabRef to be aware if an entry was engaged with - though I would want too disable it. For enabling it, an additional timestamp might be used that is updated whenever an entry is shown in the entry editor, or a click on it in the entry table happens.
from jabref.
Hello, I am a new contributor. And I will carefully read the contribution guidelines. Could you please assign this issue to me?
from jabref.
@ehehela could you please describe your workflow where you need this? Why do you want to know this information? Is this a shared library or do you work alone? Have you ever thought about simply adding frequently used entries to groups or labeleling them as important? We even have a priority label.
You also could create automatic keyword groups that capture entries with certain keywords. E.g.
If we were to implement what you suggest, would this not introduce performance issue for large libraries? Also, how to reset the counter? Where to store the counter? - on pc or in library file? What happens, if multiple users have access to the library? Do you want to have separate counters for each user or multiple counters for each? ....
from jabref.
To be exact, JabRef should count the number of times that the entry is accessed in a period, e.g., the number of times the attachments (PDF files or others) were accessed in a month.
This is a nice thing. Implementation: Use a MVStore provided by h2 stored in the directory retrieved with
Path.of(AppDirsFactory.getInstance()
.getUserDataDir(
OS.APP_DIR_APP_NAME,
"views",
OS.APP_DIR_APP_AUTHOR))
The database knows tracks for each citation key the number of views. Granularity: one hour (that means, if accessed at 10:05 and 10:43, it counts as one).
Or perhaps, JabRef could add a new column named ViewCount to log the number of times in a period set by users. In this case, users can quickly find entries by sorting this column.
This is the second thing to implement so that the data can be accessed.
8 years ago, we had explicitly writable fields (refs #574). I think, we should have a org.jabref.model.entry.field.FieldProperty
adding INMEMORY
stating it should not be written and not be synchronized to a server.
Hints
- On load of the library the field
viewcount
has to be filled based on theMVStore
content - The MVStore is updated on each view
- Use the obersable JavaFX lists to "listen" to changes (personal remark: I like the event bus more, but we decided to focus on one technology)
- In case the citation key is renamed, it has to be renamed in the count, too
from jabref.
A new intelligent group should be introduced. This is comparable to BibDesk's "Smart" groups.
- Add preference as outlined at screenshot at #10418 (comment)
- Add group "Popularity"
- The views need to be tracked in a
MVStore
- Introduce new method
getOtherDataDir
inorg.jabref.gui.desktop.os.NativeDesktop
- Store the
MVStore
intracking.mv
ingetOtherDataDir
. Hashtable<BibEntry, Integer>
. Hashtable name:hashCode()
offileName
of library (orBackupFileUtil.getUniqueFilePrefix(file) + "--" + file.getFileName()
). In this way, each library tab has its own hash table - Hook into
org.jabref.gui.LibraryTab#showAndEdit
to update the counter
from jabref.
Related Issues (20)
- Drag and dropping an entry from one library to another doesn't always work
- java.lang.ArrayIndexOutOfBoundsException thrown while saving library HOT 1
- Keep search string across library shows "No results found" even there are entries in the other library HOT 1
- Selected group loses focus after paste doi HOT 4
- Import of bibtex to sub-group works only on first import, after which would be imported to general library HOT 2
- Position (width) of Preview inside entry editor not remembered
- Extra step in documentation
- Ctrl+Shift+K isn't working for me for the latest portable version on Windows 11. :( HOT 4
- Credential store is not supported HOT 4
- add disjoint or difference (subtraction) to filter Groups HOT 3
- Default journal abbreviation setting
- Improve arxiv parsing
- If entry data is changed, file name should also be changed HOT 4
- BibDesk: Smart Group
- BibDesk: Groups: External
- BibDesk: Groups: Search Group
- BibDesk: Smart: Last Import
- Context menu in entry editor displayed on primary screen (jfx 23) HOT 3
- Fix BST parsing for latex math symbols
- Jabref does not use font size stored in user preferences $HOME/jabref.xml on startup HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jabref.