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

Reword 0034-use-citation-key-for-grouping-chat-messages.md #12183

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 11 additions & 9 deletions docs/decisions/0034-use-citation-key-for-grouping-chat-messages.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,25 +7,25 @@ parent: Decision Records

## Context and Problem Statement

Because we store chat messages not inside a BIB entry in `.bib` filecc, the chats file is represented as a map to
BIB entry and a list of messages. We need to specify the key of this map. Turns out, it is not that easy.
As we store chat messages not inside a BibTeX entry in `.bib` file, the chats file is represented as a map to
BibTeX entry and a list of messages. We need to specify the key of this map. Turns out, it is not that easy.

## Decision Drivers

* The key should exist for every BIB entry
* The key should be unique along other BIB entries in one library file
* The key should not change at run-time, between launches of JabRef, and should be cross-platform (most important)
* The key should exist for every BibTeX entry
* The key should be unique along other BibTeX entries in one library file
* It is assumed that the key does not change at run-time, between launches of JabRef, and should be cross-platform (most important)

## Considered Options

* `BibEntry` Java object
* `BibEntry`'s `id`
* `BibEntry`'s Citation key
* `BibEntry`'s citation key
* `BibEntry`'s `ShareId`

## Decision Outcome

Chosen option: "`BibEntry`'s Citation key", because this is the only choice that complains to the third point in Decision Drivers.
Chosen option: "`BibEntry`'s citation key", because this is the only choice that complies to the third point in Decision Drivers.

### Positive Consequences

Expand All @@ -50,11 +50,11 @@ This identifier is created on each load of a library (and not stored permanently

Very bad, for the same reasons as `BibEntry` Java object.

### `BibEntry`'s Citation key
### `BibEntry`'s citation key

* Good, because it is cross-platform, stable (meaning stays the same across launches of JabRef)
* Bad, because it is not guaranteed that citation key exists on `BibEntry`, and that it is unique across other
`BibEntriy`'s' in the library
BibTeX entries in the library

### `BibEntry`'s `ShareId`

Expand All @@ -67,3 +67,5 @@ This approach cannot be used here, because there is no server running which we c
## More Information

Refer to [issue #160](https://github.com/JabRef/jabref/issues/160) in JabRef main repository

[ADR-038](0038-use-entryId-for-bibentries.md) takes another option, because it re-generates the index at each start of JabRef.
Loading