Jump to content


Photo

3.6 api breaking changes


  • Please log in to reply
106 replies to this topic

#1 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 137740 posts
  • Local time: 10:56 PM

Posted 30 August 2018 - 12:28 PM

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.


  • Angelblue05 likes this

#2 Angelblue05 OFFLINE  

Angelblue05

    Advanced Member

  • Developers
  • 12580 posts
  • Local time: 09:56 PM

Posted 01 September 2018 - 07:09 PM

@ 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, 01 September 2018 - 07:15 PM.


#3 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 137740 posts
  • Local time: 10:56 PM

Posted 01 September 2018 - 08:21 PM

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.
  • Angelblue05 likes this

#4 Angelblue05 OFFLINE  

Angelblue05

    Advanced Member

  • Developers
  • 12580 posts
  • Local time: 09:56 PM

Posted 02 September 2018 - 12:20 AM

@ 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, 02 September 2018 - 12:20 AM.


#5 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 137740 posts
  • Local time: 10:56 PM

Posted 02 September 2018 - 12:26 AM

What counts do you need?



#6 Angelblue05 OFFLINE  

Angelblue05

    Advanced Member

  • Developers
  • 12580 posts
  • Local time: 09:56 PM

Posted 02 September 2018 - 12:31 AM

The recursive count (to know if a show is empty/has no episodes).


Edited by Angelblue05, 02 September 2018 - 12:31 AM.


#7 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 137740 posts
  • Local time: 10:56 PM

Posted 02 September 2018 - 12:36 AM

Make sure to request the RecursiveItemCount field.


  • Angelblue05 likes this

#8 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 137740 posts
  • Local time: 10:56 PM

Posted 03 September 2018 - 08:24 PM

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.



#9 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 137740 posts
  • Local time: 10:56 PM

Posted 03 September 2018 - 08:34 PM

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.



#10 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 137740 posts
  • Local time: 10:56 PM

Posted 03 September 2018 - 10:02 PM

Yes.



#11 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 137740 posts
  • Local time: 10:56 PM

Posted 05 September 2018 - 12:15 AM

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.



#12 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 137740 posts
  • Local time: 10:56 PM

Posted 05 September 2018 - 12:28 AM

Yes.



#13 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 137740 posts
  • Local time: 10:56 PM

Posted 05 September 2018 - 01:22 AM

If it's a long, yes.



#14 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 137740 posts
  • Local time: 10:56 PM

Posted 05 September 2018 - 01:49 AM

Yes.



#15 Angelblue05 OFFLINE  

Angelblue05

    Advanced Member

  • Developers
  • 12580 posts
  • Local time: 09:56 PM

Posted 05 September 2018 - 02:33 AM

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?



#16 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 137740 posts
  • Local time: 10:56 PM

Posted 05 September 2018 - 08:11 AM

Well that inconsistency needs to be fixed.
  • Angelblue05 likes this

#17 Vicpa OFFLINE  

Vicpa

    Advanced Member

  • Alpha Testers
  • 1427 posts
  • Local time: 10:56 PM
  • LocationWest Chester, Pa. USA

Posted 06 September 2018 - 02:06 PM

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:809...Order=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!!



#18 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 137740 posts
  • Local time: 10:56 PM

Posted 06 September 2018 - 02:07 PM

 

 

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.



#19 Vicpa OFFLINE  

Vicpa

    Advanced Member

  • Alpha Testers
  • 1427 posts
  • Local time: 10:56 PM
  • LocationWest Chester, Pa. USA

Posted 06 September 2018 - 02:23 PM

Luke

 

The request doesn't seem to return any data under 3.6.x should it work?



#20 Luke OFFLINE  

Luke

    System Architect

  • Administrators
  • 137740 posts
  • Local time: 10:56 PM

Posted 06 September 2018 - 02:25 PM

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.


  • Angelblue05 likes this




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users