Jump to content

3.6 api breaking changes


Luke

Recommended Posts

Item Ids - these will now be plain integers instead of guids, but as long as you treat Ids as plain strings it shouldn't matter.
 
User views - there is no more user view grouping, so you can remove any workarounds you might have related to this
 
VideoType/IsoType properties - deprecated. Container property will now include:
dvd
bluray
dvdiso
blurayiso
iso (this means iso of unknown type)
 
IsPlaceHolder property- deprecated. Container property will now include:
disc

SpecialFeatureCount property- now off by default, must be explicitly requested. For detail screen display, apps should not rely on this value and instead just make the api call to get the extras, making sure to handle empty result sets.

 

People item counts - for example, MovieCount, SeriesCount - apps should not use these anymore and instead just make the call to fetch the items, making sure to handle empty result sets.

 

IsHD property- deprecated, use Width and/or Height fields.

 

CollapseBoxSetItems - deprecated in favor of a new property GroupItemsIntoCollections. This should be added directly to the UI for Movies screens. To support older versions of the server, leave your CollapseBoxSetParams as they are for a little while.

  • Like 1
Link to comment
Share on other sites

Angelblue05

@@Luke

 

The Container property is it contained within the item at the same level  as videotype was? or is it within MediaSources

Edit: Or rather, is there a difference between the two?

 

Also, did the behavior of blocked items changed for inherited items, i.e. block tag applied to tv show, but must also be applied at season/episode level?

Edited by Angelblue05
Link to comment
Share on other sites

Container should be the same for both. You'd use the item property at display time, and the media source property during playback.

 

Block items should not have changed.

  • Like 1
Link to comment
Share on other sites

Angelblue05

@@Luke

 

Thank you for your reply. How about requesting the field ItemCounts, is that still valid? I can't get it to work with 3.6. Only ChildCount works.

Edited by Angelblue05
Link to comment
Share on other sites

There's a new InternalId property. We're not yet at the point where we can just drop the guids, so right now they are both side by side. But you'll notice that pretty much all internal server api's are expecting the numeric id's now.

Link to comment
Share on other sites

No the guids will remain on the server for quite some time, however, the Ids that come out of the web api will be the numeric id's.

Link to comment
Share on other sites

No, you will need to compare like this:

e.Item.InternalId == _libraryManager.GetInternalId(session.NowPlayingItem.Id)

Unfortunately Emby for WMC is assuming all id's are guids, and we can't easily change that right now, so that is why you see in many internal areas the Id's are strings. This means the property could hold either the guid or numeric id. I am doing my best to minimize these but unfortunately i can't do them all without breaking Emby for WMC. @@ebr

 

Eventually I will make them all numeric, but we can't do that as long as we are still supporting emc.

Link to comment
Share on other sites

Angelblue05

I'm confused. Under sessions (/Sessions), user ids are the new short integer, but the users list /Users returns the old guid. How do we match users in the session to their respective user info now?

Link to comment
Share on other sites

Hi @@Luke

 

I have been working through the changes needed for 3.6.x . The app currently uses the below for actor and album artist detail. Can you help with what would need to change?

 

http://XXXXXXXXX:8096/emby/Users/133cba8e1eec403c8bc12d96022ca57b/Items?StartIndex=0&Limit=100&SortBy=SortName&EnableTotalRecordCount=False&sortOrder=Ascending

&SeriesStatuses=&fields=SortName,SyncInfo,MediaSources&Filters=&ImageTypes=&VideoTypes=&AirDays=

&recursive=True&EnableImageTypes=&CollapseBoxSetItems=False&MediaTypes=&Genres=&Ids=&StudioIds=

&ExcludeItemTypes=&IncludeItemTypes=&ArtistIds=&PersonIds=cb1ba09104fe0497bb66e21d27ba9911&PersonTypes=&Years=&format=json

 

long term should guids for users and personids be changed to the new format?

 

 

Sorry if these are dumb questions I am in a bit of a learning curve.

 

Thanks!!

Link to comment
Share on other sites

 

 

long term should guids for users and personids be changed to the new format?

In this case you don't have to worry about it. You just use whatever id you got from the api for the person.

Link to comment
Share on other sites

Honestly the easiest thing to do is compare to the request from the equivalent screen in the web app. Just open up the chrome debugger and keep an eye on the network tab as you click around.

  • Like 1
Link to comment
Share on other sites

Angelblue05

3.6 I've noticed a few things. My playlists are empty, my audiobooks are also empty. That's in the webapp. Bug? Or should I just rescan the libraries?

Edited by Angelblue05
Link to comment
Share on other sites

PenkethBoy

@@Vicpa

 

couple of things

 

your url before &SeriesStatuses - looks fine after that its not correct - lots of errors in the format

 

try to keep it simple initially

 

second you dont appear to be supplying an &api_key=xxxx

Link to comment
Share on other sites

Angelblue05

Thank you, that was it. I knew I was missing something here. The other thread is getting really long and I couldn't find the information scouring the pages quickly.

  • Like 1
Link to comment
Share on other sites

Hi @@Luke

 

As @@PenkethBoy wisely noted, start simple(Thanks I tend to jump into the weeds!!)

 

Based on the OP of breaking changes, Will you verify that I can just comment out or delete the following from 

 

namespace MediaBrowser.Model.Dto
BaseItemDto class

 

        public bool? IsHD { get; set; }
        public int? LocalTrailerCount { get; set; }
        public int? RecursiveItemCount { get; set; }
        public int? ChildCount { get; set; }
        public int? SpecialFeatureCount { get; set; }
        public int? MediaSourceCount { get; set; }
        public int? TrailerCount { get; set; }
        public int? MovieCount { get; set; }
        public int? SeriesCount { get; set; }
        public int? ProgramCount { get; set; }
        public int? EpisodeCount { get; set; }
        public int? GameCount { get; set; }
        public int? SongCount { get; set; }
        public int? AlbumCount { get; set; }
        public int? ArtistCount { get; set; }
        public int? MusicVideoCount { get; set; }

 

Thanks!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...