Re: [Banshee-List] video patch database model



Hi,

I update the video branch to last git and start to work on it again.
So I will used only one table because It is quite the same data between episode/season/tvShow/movie.

Anyway, here are new enhancement of the sytem I plan to do:
videoinfo will contain metadata (summary, actors, studio, country, language,...)
videoinfoId will be linked to track with
AlbumID <= VideoId for season
ArtistID <= VideoId for tvshow or movie
ExternalID <= videoid for episode/movie
AlbumMusicBrainzIdField can been use for imdb id of season
MusicBrainzId = imdb id of movie or episode
ArtistMusicBrainzIdField = imdbid of tvshow
tracknumber = episode
trackcount = total number of episode of season
discnumber = season
discount = max season (or not because it evolve)
playcount will be useful to know if episode is watch or not
ArtistField = name of the tv-show else movie name

with this I remove parent id but have to manage a type flag in video info
Else I can do a single table for each (seasoninfo, tvshowinfo, episodeinfo, movie info)
but it will be mainly the same field just gain type and small table for processing
but we have les audio than video... because file take more size on hard drive.

Track will be used for more things than previously. We just have to pick some music field and used it differently with video. So that will be crap because artist for tvshow will mean tv show and album will mean season and we will have to rename column on video view but it is easyer than doing a video track info wich will replace the databasetrack info which is used for audio.

so remaining issue come for episode and movie because the link is hard to manage and have no field for it else than externalid. Not sure that as ok...
issue with video on mobile device because external id will be overrided by apple id or mtp id. Can someone confirm that will be the case or not?
solution : add trackid in videoinfo only used for episode/movie.

As usual fosdem was productive ;)
I will work on my branch to do so and will provide new patch with this.

cheers,

Olivier Dufour


On Sun, Jan 29, 2012 at 4:16 PM, gnomeuser gmail com <gnomeuser gmail com> 
wrote:
2012/1/25 olivier dufour <olivier duff gmail com>:
> Hi,
>
> Long time I have not work on video patch but I want to work on it again and
> first thing to do before review is to know if the database model is the
> right one to use.
>
> So this message is moslty for maintainer/advanced developper to get advice
> and know if my database model is right.
> I extend the track info by doing my own video table
> with [CoreTracks.ExternalID = Videos.VideoID] to link it.
> 1) Do you think that I must get back some data by using some free field in
> coreTrack not used in video.
> 2) Does Using the coreTrack.ExternalId to extend the track with an external
> record the right way or you prefer that I let it free and just store in
> Video.videoId the coretrack.TrackID ?
> 3) to avoid to do an season table and a tv show table I reuse the video
> table and link episode - season - tv show with parentId. I do that because
> season/tv show need quite same data than an episode. I use video type to
> know type (episode, season, tv show, movie) Is it ok or do you prefer that I
> add a episodeId and seasonId field and make 2 other tables (season and tv
> show) ?

Not at all an expert but it seems more correct to me to have separate
tables for season and episode. I fear that it might make the code
harder to figure out if you have to figure out if an episodeid or a
seasonid is being extracted at a given point.

I don't know how SeriesFinale (an application for the N900) does this
but it can give me the air date for upcoming episodes as well as
indication if a series is cancelled. I'd love to have something
similar in Banshee.

Regardless, I am happy to hear that you are back on the Video patch.

- David

> here is the current tables format:
>
> * Video *
>
> int VideoID
> string imdb_id
> DateTime release_date
> string language
> string title
> string original_title
> string alternative_title
> string info_url
> string homepage_url
> string trailer_url
> string summary
> string studios
> string country
> int parentid
> string external_video_id
> int video_type
>
> * CastingMember *
>
> int CastingMemberID
> int VideoID
> string Name
> string Character
> string Job //director, actor, author, special guest...
>
> cheers,
> Olivier Dufour
>
> _______________________________________________
> banshee-list mailing list
> banshee-list gnome org
> http://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)
_______________________________________________
banshee-list mailing list
banshee-list gnome org
http://mail.gnome.org/mailman/listinfo/banshee-list  (unsubscribe here)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]