Jump to content

Expand saved home-screen ItemsQuery to support Live TV program and relative-date filters


Recommended Posts

pfunk1978
Posted

 

  Description:

  Emby Server 4.10 introduced Dynamic Media home-screen sections, including support for displaying Live TV Program items. This is useful, but the query saved in a
  ContentSection supports only a small subset of Emby’s normal item-query capabilities.

  The current saved ItemsQuery supports fields such as:

  - Genre IDs
  - Tag IDs
  - Studio IDs
  - Collection types
  - Favorite state
  - Played state
  - Resumable state

  The regular /LiveTv/Programs and item-query APIs support substantially richer filtering, including IsSports, start/end dates, genres, tags, and other program
  attributes. Those filters cannot currently be persisted as part of a home-screen section.

  ### Use case

  A plugin or administrator should be able to create an “Upcoming Sports” home-screen section that displays native Live TV Program objects matching rules such as:

  Program is classified as sports
  AND program has not ended
  AND program starts within the next 14 days
  AND (
      genre is Baseball
      OR title/description contains "Dallas Cowboys"
  )
  AND title/description does not contain an excluded team

  Because the section contains native Program objects, selecting a card should continue to open Emby’s standard Live TV program modal with:

  - Play
  - Record
  - Record Series
  - Other Showings
  - Channel and airing information
  - Native Live TV artwork and metadata

  ### Requested capabilities

  Please expand MediaBrowser.Model.Entities.ItemsQuery, as used by ContentSection.Query, to support more of the existing BaseItemsRequest and Live TV query fields.

  The most important fields are:

  IsSports
  IsNews
  IsSeries
  IsLive
  IsRepeat
  MinStartDate
  MaxStartDate
  MinEndDate
  MaxEndDate
  Genres
  ExcludeGenres
  Tags
  ExcludeTags
  SearchTerm
  IncludeItemTypes
  ExcludeItemTypes

  Relative dates would be particularly valuable because fixed timestamps become stale in persisted home sections. Possible representations could include:

  MinEndDateRelativeToNow: 0
  MaxStartDateRelativeToNow: 14 days

  or:

  {
    "MinEndDateExpression": "now",
    "MaxStartDateExpression": "now+14d"
  }

  Keyword filtering would ideally support:

  - Multiple terms
  - Match against name, episode title, original title, and overview
  - Any/OR matching
  - All/AND matching
  - Excluded terms

  For more advanced use cases, query groups would allow combinations such as:

  {
    "All": [
      { "IsSports": true },
      { "MinEndDateExpression": "now" },
      {
        "Any": [
          { "GenreIds": ["baseballGenreId"] },
          { "SearchTerms": ["Dallas Cowboys"] }
        ]
      },
      {
        "Not": {
          "SearchTerms": ["Excluded Team"]
        }
      }
    ]
  }

  ### API behavior

  The expanded fields should:

  1. Be accepted by POST /Users/{UserId}/HomeSections.
  2. Be preserved when reading the section through GET /Users/{UserId}/HomeSections.
  3. Be applied when clients load the home section.
  4. Work with ItemTypes: ["Program"].
  5. Continue returning the original native Live TV Program DTOs.
  6. Behave consistently across Emby Web, mobile, and TV clients.

  ### Acceptance criteria

  A client or plugin can save a home section that:

  - Contains native Program items.
  - Includes only sports programs.
  - Excludes programs that have already ended.
  - Limits results to a configurable rolling number of days.
  - Selects programs using sport genres or team-name keywords.
  - Excludes configured keywords.
  - Sorts results by program start time.
  - Opens the standard Live TV program modal when an item is selected.

  ### Benefit beyond sports

  This would also enable native home sections for:

  - Upcoming news broadcasts
  - Children’s programming
  - Premieres
  - Specific channels or leagues
  - Favorite actors or topics
  - Unrecorded upcoming episodes
  - Custom Live TV discovery rows

  It would expose filtering capabilities that largely already exist in Emby’s query APIs through the new Dynamic Media home-section feature.

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...