jarun / buku

:bookmark: Personal mini-web in text
GNU General Public License v3.0
6.47k stars 295 forks source link

Bookmarks with dates #745

Open pycaw opened 3 months ago

pycaw commented 3 months ago

I tried boku years ago and the lack of ability to include dates (addition date) made me ditch it. Even though I loved the idea.

Can we not expect change in this regard? Does it really go against the design philosophy?

Apart from bookmark creation/addition date modification date and update date (last check for aliveness) could also be useful.

Related & scrapped feature requests: https://github.com/jarun/buku/issues/588 https://github.com/jarun/buku/issues/304

LeXofLeviafan commented 3 months ago

I've been thinking of extending bookmark records with custom fields (previously mentioned here and here) which might potentially include date/datetime fields, but I don't have a timeline on that.

sjehuda commented 2 months ago

I've been thinking of extending bookmark records with custom fields

How do you think could this be done with SQLite?

Will buku create a new table (i.e. CREATE a new table and then DROP the old table) or would it be in another fashion?

LeXofLeviafan commented 2 months ago

To have proper custom fields, they'll need to match bookmark records many-to-one, so a separate table would be needed. (And also at least one more to store settings – those being descriptions of said custom fields, at the very least.)

Such changes should not break backward compatibility, at least for purpose of reading and updating existing records (and if SQL triggers work as expected in SQLite, then there would be no issues with data consistency either). Though of course any legacy clients (such as Bukubrow, which operates the DB file directly and had no updates for the last 2 years) would remain unaware of such fields, and would neither display nor update them.

(…Technically in case of specifically record creation/modification dates it's possible to implement them as triggers, but I haven't had a chance to estimate feasibility nor demand for supporting that kind of a feature.)