Skip to content

Commit

Permalink
Reword 0034-use-citation-key-for-grouping-chat-messages.md (#12183)
Browse files Browse the repository at this point in the history
* Reword 0034-use-citation-key-for-grouping-chat-messages.md

* Add link to other ADR

* Update docs/decisions/0034-use-citation-key-for-grouping-chat-messages.md

Co-authored-by: Subhramit Basu Bhowmick <[email protected]>

---------

Co-authored-by: Subhramit Basu Bhowmick <[email protected]>
  • Loading branch information
koppor and subhramit authored Dec 2, 2024
1 parent 1a803a7 commit 0170044
Showing 1 changed file with 11 additions and 9 deletions.
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.

0 comments on commit 0170044

Please sign in to comment.