ShokoServer
ShokoServer copied to clipboard
trakt rework/update overview
This is a writeup and overview of what is needed/wanted of trakt going forward. Here is the link to the trakt api: http://docs.trakt.apiary.io/
once alot of the syncing and metadata functions are up and running it can mean it could take the place of tvdb as the main metadata agent outside of anidb.
Metadata
-
[ ] Get links from other metadata sites like tvdb, tmdb, tvrage, imdb, fanart.tv. (this would mean we could use trakt as the main source of linking and metadata outside of mal, hummingbird and anidb.)
-
[ ] Translations. Automatically pull translations metadata for the language of the client.
-
[ ] Related / Similar shows/movies. (could be a nice thing next to anidb relations aswell)
-
[ ] ID Lookup (search trakt by ID's of tvdb, tmdb, imdb and tvrage. this will again be synced with all the links trakt has aswell)
-
[ ] Get a single Episode of a show (this allows us to get the direct id of trakt, tvdb, imdb, tmdb and tvrage directly to the episode. this allows us to link all those sites at the same time with just trakt. on a per episode basis.)
Syncing
Small syncs should be done often. on client startup (maybe check since last opened so it doesnt sync if you started the client 5 times within the hour) Sync on start up (of client not server) + once a day is what they talk about on the trakt api site.
-
[ ] Get last activity. (this is faster than syncing the whole collection every day)
-
[ ] Get Playback progress. (this allows us to grab scrobble timings from trakt. allowing anyone to start any show/movie and continue where they want, this is % based of runtime)
-
[ ] Get watched history. (this allows syncing of recent watchstates)
-
[ ] add items to watched history. (for those shows marked as watched on another service or on Shoko. this allows us to mark the right time and date it was watched)
-
[ ] Get watchlist (option to add the show/movie to either bookmarks or add as empty group. or both really)
-
[ ] Get collection (same as the "missing mylist files" tab in utilities can be used.
-
[ ] Ask to remove trakt series/movie when new link is made (to remove it from trakt collection cause it was wrong)
-
[ ] Add to watchlist from bookmarks/anidb watchlist or a new watchlist system (that uses all metadata sites)
Fixes
-
[ ] Add support for movie linking https://github.com/japanesemediamanager/ShokoServer/issues/49
-
[ ] Syncing issue in 3.7.0.903 https://github.com/japanesemediamanager/ShokoServer/issues/512
-
[ ] upload trakt link to cache if tvdb cache link is used. https://github.com/japanesemediamanager/ShokoClient/issues/278
Updates
-
[ ] Update/finish trakt side of the Community Data tab in Utilities.
-
[ ] add refresh_token support: https://github.com/japanesemediamanager/ShokoClient/issues/298 (this allows us to refresh the token used with trakt so the users dont have to link their client up all the time)
Issues trakt could fix
-
[ ] Easier cross linking with more services (tvdb, tmdb and others trakt use)
-
[ ] better linking for movies and shows: https://github.com/japanesemediamanager/ShokoServer/issues/233
I must say, impressive issue :-)
Great overview 👍 , will start fixing the bugs and #512 should be fixed now. Movie linking (#49) I'm not sure how reliable Trakt is with anime movies but gonna try.
I think the focus should be fixing the Trakt related bugs for now and hold off on everything else until a later date as we're currently working on multiple things. I'd also like to see Trakt user statistics to determine the priority level of adding these Trakt features to Shoko.
I'm also not sold on making Trakt the main source of metadata when there's no point in changing our metadata sources. We already pull from AniDB and TvDB and it covers 99% of our needs, what else info could we possibly need besides adding feature creep. We don't support those other sites you mentioned and I don't think we need to either.
A lot of this requires the user to be a Trakt member. It's a known fact that you lose users when making a user register to use a product, we need them to be an AniDB member so that's unavoidable but we don't need them to be a Trakt user.
Nonetheless thre are some good ideas in this issue but we've got hundreds of issues with good ideas that we need to sort through and determine priority.
Agree, especially since Trakt is basically an extension of other sources we already support and no longer offers images it has become less useful for metadata at least. What I do like is the comments / ratings system they have there but we also have that with AniDB so it doubles a bit.
Once we can confirm sync and scrobble fully working we can look at this at a later time for sure as we got a lot on our plate already :)
...I was looking at Trakt with Kero.... Didn't realize this exists. Well, this may be bumped up in priority, as the xrefs for TMDB will be very useful
A lot of this is already done. It just needs a place to be stored in the DB, and another api call for episodes needs to be added. It just needs some cleanup, better API, and a place in the webui for the long term
@da3dsoul update on this? Also @krbrs I know you use Trakt, can you verify these issues please.
I'm kind of meh on it, but I don't use trakt
@ElementalCrisis going to add things I noticed (e.g. Trakt link PIN refreshing too fast to auth it) when the new year is a few days old
New Tasks aside from the above, which are still all "TBD". This is still incomplete
Current issues I could reproduce:
- [x] Trakt Device PIN refreshes too fast to auth it using WebUI. Re-checking if auth was successful needs to be throttled more than 1 second (best about 1-2 min.) to prevent issuing a new PIN before you had a chance to enter it.
- [x] When removing Trakt in Settings, the Device Token, date, etc. is not removed automatically. Currently this needs to be done by hand in settings json if you want to redo the auth
- [ ] Scrobbling throws "conflict" errors, this needs to be handled better. Files that are completely played should not send another play to Trakt if the last play for the file is less than x min. ago
- [ ] Sync does not import from Trakt. This seems to be "intended behavior" from what I read here. It was assumed Shoko would be the leading database. There should be a setting if you want to overwrite or import/sync watched states to Shoko
New Tasks aside from the above, which are still all "TBD". This is still incomplete
Current issues I could reproduce:
- [ ] Trakt Device PIN refreshes too fast to auth it using WebUI. Re-checking if auth was successful needs to be throttled more than 1 second (best about 1-2 min.) to prevent issuing a new PIN before you had a chance to enter it.
- [ ] When removing Trakt in Settings, the Device Token, date, etc. is not removed automatically. Currently this needs to be done by hand in settings json if you want to redo the auth
- [ ] Scrobbling throws "conflict" errors, this needs to be handled better. Files that are completely played should not send another play to Trakt if the last play for the file is less than x min. ago
- [ ] Sync does not import from Trakt. This seems to be "intended behavior" from what I read here. It was assumed Shoko would be the leading database. There should be a setting if you want to overwrite or import/sync watched states to Shoko
First two are fixed in https://github.com/ShokoAnime/Shoko-WebUI/pull/771