Well, my wife is going out tonight, which means it's #Readlebee dev time! I probably won't stream it this time, but I should hopefully be able to finish shelves, shelf items, and maybe even get started on book references!

I'm excited to see how much I can get done!

Gah, I'm hitting a huge snag with shelf items because I haven't fully worked out book references yet. I may need to refactor the database againโ€”I think I need more tables and a better way to think about the data structure... I was hoping I could keep the database relatively small/clever, but I'm seeing now that it won't really be possible with such a large project...

I have a headache from trying to figure it out right now... time for a break so I can process and mull over options.

#Readlebee

Ok, my current idea for #Readlebee data structure is to split the unified "Status" table into two double-duty tables that store Ratings+Reviews and Updates+Progress. That way it'll be a little bit easier to manage than just trying to split from one table.

I still need to figure out what to do about books, though... I want to be able to target specific editions for reviews, but I don't want a ton of repetition in the database... using editions from Inventaire could work, but it's...

...not super easy to understand the difference between them sometimes... I'm debating just doing an empty field so you can just write "audiobook version" or "1953 paperback" or something like that , but that'll lead to even more confusion since there are many different audiobook versions etc... I'm not sure. I guess using Editions is the best way to go?

I just don't want to bog people down with having to choose an edition unless they want to, like how GoodReads does but without the giant db.

Follow

@Alamantus Three columns to represent "I have a copy (or opinion) of this book": work, edition, and edition_notes. The work should be straightforward. Work is required. edition is a uri or table ref. Notes is text for users who want to note what version they have but don't/can't select the official id. 1/2

ยท Web ยท 1 ยท 0 ยท 1

@Alamantus Users who like cataloging will find the right one if they can. Users who don't like cataloging either won't care or will select one but be wrong.

User-entered data is *always* ugly. Most users won't care too much. Make it easy for them to avoid fucking up your data. Make it an extra well-labeled click for cataloger users to add more detail if they're motivated. And prepare for some of the data to be wrong anyway. 2/2

@epilanthanomai that's a good idea! I think I'll end up doing even /less/ than that, though: the work is defined from the source (Inventaire, etc), and the sources provide editions that are in *their* database. I'll provide a "choose edition" button/field that loads in all the available editions from the sources for them to choose from, and if their edition is missing it will direct them to contribute their data to the source!

That should cover most of the bases you brought up, I think!

Sign in to participate in the conversation
Signs & Codes

Signs & Codes is a private Mastodon instance built around a community of friends.