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

Wip: discussion / suggestion for extra attributes in media item details #651

Open
ramebd opened this issue Dec 12, 2024 · 0 comments
Open

Comments

@ramebd
Copy link

ramebd commented Dec 12, 2024

So, was looking to work through a few of the items on the to-do list on PR #569 and looking at enriching the item details page, had a design suggestion for handling extended attributes and per-item type specific information. For example, TV shows often have an attribute called "Network", but that's a bit superfluous for movies, games and books. Similarly, games could use a "Publisher" attribute which also works for books, but not so much for TV/movie. And books could use an "Edition", but that's not as useful for video content.

To get to the point, I'm not seeing a good case to keep extending the MediaItem table with adhoc attributes which really only belong to specific item types. There are a few in there already, so these could also be moved to simplify that table a bit more too.

I'm suggesting a simple MediaItemAttributes lookup style table with the primary key being MediaItemId and AttributeName to look up an AttributeValue (perhaps with an update timestamp too). Then there is no specific limit to which attributes can be stored and extending to keep other/new attributes is simpler. Plausibly, this also needs an AttributeType to group them, but that could also just be an internal config table so the AttributeName could just be an id instead.

The table would look something like this where MediaItem with ID=1 is the TV Show "1923":

MediaItemId AttributeName AttributeValue SortOrder LastUpdated
1 Network Paramount+ 1 2024-12-12
1 Created By Taylor Sheridan 2 2024-12-12
1 In Production true 3 2024-12-12
1 Status Returning Series 4 2024-12-12

The benefit of this approach is that you don't need to pick which attributes to show (or not), you just select from the attributes table and display the results.

There's a helluva lot of information that comes over some of these upstream API's, it's a shame to not capture & use more of it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant