zadam / trilium

Build your personal knowledge base with Trilium Notes
GNU Affero General Public License v3.0
27.2k stars 1.9k forks source link

(Feature request) Extending version history to attributes #2426

Closed Mirwaisse closed 2 years ago

Mirwaisse commented 2 years ago

Preflight Checklist

Describe feature

Would you ever consider extending version history to attributes? I think it would be really useful because some attributes change over time, and right now only the note content + note title are versioned as far as I know.

Additional Information

Also I don't know if it's considered a bug or not, but I noticed that only modifying the note content triggers the creation of a new revision in the version history and changing the title does not, even though the modifications of the title are tracked.

zadam commented 2 years ago

Hi,

Would you ever consider extending version history to attributes?

I did consider it back when I started the project. It is conceivable to version everything or even have sort of sliding time scale where you can see the state of the database at certain point of time. It's a cool idea, but not that much useful in a note taking app and the necessary complication would be significant. IMHO versioning note title and content fulfills 95% of the needs for relatively small code complication.

Also I don't know if it's considered a bug or not, but I noticed that only modifying the note content triggers the creation of a new revision in the version history and changing the title does not, even though the modifications of the title are tracked.

That was not intentional, thanks for reporting this, fixed.

Mirwaisse commented 2 years ago

Hello,

I agree that for plain note-taking, versioning attributes is not that useful, but for more advanced usage of Trilium, it becomes really interesting. For example, if we use Trilium as a sort of database by using attributes, then they become the most important part of the notes because they can be used by the script API. Not versioning them limits us to only see the latest "snapshot" of that database (unless there is an easy workaround that I'm missing, other than just copy-pasting the attributes inside the notes which is not very practical).

zadam commented 2 years ago

For example, if we use Trilium as a sort of database by using attributes, then they become the most important part of the notes because they can be used by the script API.

Yes, however the main focus of Trilium is on the "normal" everyday note taking. It is sort of possible to use Trilium like a database but this will probably never be well supported use case.

Mirwaisse commented 2 years ago

I see, thanks for the answer!