Seasonal rows
A seasonal row follows the calendar: Halloween films and horror in October, Christmas films in December, romance before Valentine's Day. Between seasons it is hidden from every Plex screen, and it comes back by itself when its next season opens.
Start a seasonal row
Start from the Seasonal template, or choose Seasonal as a row’s kind in the Row editor.
Seasonal is a schedule wrapped around one of the other four kinds, not a fifth way of picking titles (see Row kinds). Picking Seasonal ticks every season to start, then shows How it’s filled: Picked for You, Because you watched, Watch it again, or Popular on this server. That kind’s own settings show underneath.
Template defaults. Seasonal starts as Shared for Everyone, with 15 films watched by at least two people. It follows the three built-in seasons and rebuilds nightly. Titles are ordered by how many people have watched them, so rebuilding does not guarantee a different set of films each night. With too little overlapping viewing, the row can be short or empty. Choose Per person for individual recommendations instead. This default applies when starting from the template; making an existing row seasonal keeps its current sharing choice.
Per person or Shared. Choose this above Row type in the row editor. Per person offers Picked for You, Because you watched and Watch it again under How it’s filled. Shared uses the season’s most-watched titles for everyone in the selected audience. Switching between them keeps the selected seasons and their timing.
The seasons
Three seasons are built in. Add more from the ready-made catalogue of holidays, film days and monthly spotlights, or make your own. Tick the ones this row follows. Each row ticks its own, so one seasonal row can follow Halloween and another Christmas.
| Season | Its day | Shows (defaults) | What the row holds | API value |
|---|---|---|---|---|
| Valentine's Day | 14 Feb | 15 Jan – 14 Feb | Films TMDB tags for Valentine's Day, and romance | valentines |
| Halloween | 31 Oct | 1 – 31 Oct | Films TMDB tags for Halloween (not dramas and romances merely set on the night), and horror | halloween |
| Christmas | 25 Dec | 25 Nov – 25 Dec | Films TMDB tags for Christmas: Home Alone and Klaus, and also Die Hard | christmas |
When a season shows
Built-in seasons show from N days before and stay N days after (0–90 days before, default 30; 0–30 days after, default 0) set each built-in season’s window. They give the dates in the table above. When windows overlap, the season coming up next wins. Full-month seasons use the month’s last day for this comparison; a dated occasion wins a tie with a full-month season. An earlier occasion can temporarily take over a monthly spotlight. Weekdays under Placement narrow a season further. Your own seasons carry their own timing.
Your own seasons and ready-made choices
The year strip under the season list draws every ticked season’s window and says where two overlap.
Adding a ready-made season. Open Add more seasons. Search by name or description, or browse Holidays, Film days and Spotlights. Each choice explains its theme and dates, counts matches in this row’s libraries, and shows up to three matching titles when available. The first six choices are shown initially; Show all reveals the rest.
Press Add to save the season with its supplied dates and sources and tick it in the row you are editing. Save the row to keep that selection. The season is available to every Seasonal row on the server as soon as it is added. Use Customise to open the editor first if you want to rename it, change its dates or adjust its sources. If an Add fails, its message stays beside the choice with a way to retry. A film-only choice cannot be added directly to a TV-only row; use Customise to add sources that reach shows.
Regional holidays include Thanksgiving, Mother’s Day and Father’s Day. A choice shows its region,
but the season’s name does not, because the name appears in Plex row titles. Season names must be unique,
so use Customise to rename one when adding both regional versions. A season name is also refused when it
would give a row named after its season ({season} picks) the title another row already has in a
library they share, because the two rows would then be one collection on Plex.
Making your own. Press Create your own. Give it a name and an emoji, then choose when it is:
- a fixed day, such as 17 March;
- the nth or last weekday of a month, such as the 4th Thursday of November;
- a day counted from Easter, up to 63 days either side.
- a Full month, from its first day through its last, including 29 February in leap years.
29 February is refused as a fixed day, because the season would skip three years in four. Under Shows from N days before / stays N days after (default 7 before, 0 after) set its window. The editor shows the next date and the window it gives. Full-month seasons have no days-before or days-after controls: their window is exactly the selected calendar month.
Where its films come from. A season’s films are the union of four sources. Add at least one:
- TMDB tags: search TMDB’s keywords (for example “thanksgiving”) and add as many as you like.
- Also include a genre: optionally include every film of one TMDB genre. Use Leave out films of these genres to drop genres you don’t want (Horror from a St Patrick’s Day season, say). Leave-out never drops a film you picked by hand.
- From your library: pick Plex collections on your server. They are only read, never changed, and are matched by title. A Kometa collection that is absent out of season is normal: the season counts it as empty until Kometa recreates it, and the row picks it up from its next refresh.
- Picked by hand: search your libraries and add titles one at a time.
Only films that are in your libraries are used, whatever the source.
Counts and verdicts. The editor counts what the row you opened it from can draw, as you change sources: titles of the row’s type (films for a films row, shows for a shows row, titles for both) in the row’s libraries. It sets the count against the row’s size. A season shows one of three verdicts:
- Too few films to fill this row (n of size): add a tag, a collection or a few films. A row of films and shows fills each library from its own type, so it is short when either half is: Too few shows to fill this row’s TV library (0 of 15).
- People’s rows will be much alike: a per-person row has fewer than 100 films to draw from, so everyone’s row would be nearly the same. The hint directs you to Shared in the row editor, which uses the season’s most-watched titles. This never shows for a shared row.
- Enough matches before row filters.
These counts describe source matches, before the row’s remaining filters. A shared row’s minimum watcher count, watched-title rules and other row filters can still make the delivered row shorter.
When a season finds nothing. A season can find nothing for a row in one of its libraries: a thin season everyone has already watched, a TV library no tag reaches, or a Kometa collection that does not exist yet. The row then builds nothing there, and that library’s collection still holds the previous season’s films under its title. Shortlist keeps that collection hidden, as it does between seasons, until a run builds the new season into it. It is never deleted. The same goes for a collection built for another year’s showing, or for a day you have since moved your season well away from. Moving a showing season’s day, earlier or later, by no more than its days before plus its days after keeps its row on screen, and the row is rebuilt for the new day at its next run.
Editing and deleting. Built-in seasons can’t be edited or deleted. Deleting one of your own seasons unticks it in every row that follows it. If it is a row’s only season, Shortlist refuses and names the rows: give them another season, or delete them, first.
Name it after the season
On a seasonal row, {season} and {season_emoji} fill in the season it is in. Paste this into the
row’s name:
{season_emoji} {season} picks
It shows as “🎃 Halloween picks” in October and “🎄 Christmas picks” in December. A row that follows no season can’t use either placeholder, and Shortlist refuses the save. The other placeholders are in Naming a row.
What goes in it
For a per-person row, the season’s films on your server are ranked for each person. Films close to what they watch lead the row; the rest are weighed by how well their genres fit that person’s viewing. Someone who watches thrillers gets Violent Night and Die Hard before a Christmas romance, and a family that watches animation gets Casper and Hocus Pocus rather than slasher films.
With nightly refresh, a per-person row keeps the strongest two-thirds and replaces its weakest picks. The template ignores release dates, because seasonal favourites are mostly old: on a real server, the Christmas films people actually watched had a median release year of 2008.
Per person or shared
A shared seasonal row is the season’s films that the most people on your server have watched, with the same watched-by-at-least floor as any shared row.
Films only, by default
TMDB tags few shows for a season: on a 5,000-show library, 13 for Christmas and 2 for Halloween. A seasonal row that also covers TV keeps last season’s TV collection up through any season with nothing to put in it, so the template leaves TV out.
Between seasons
The row is taken off every Plex screen but kept, so it comes straight back, the same way a row’s days off work. On the night before a season opens, the nightly run builds the row for that season while it is still hidden, and it appears at midnight on the season’s first day. Leaving a season hides it at midnight too.
A row whose schedule isn’t nightly can’t do this on time, and the editor says so.
What a seasonal row does differently
- AI web search is skipped. It searches from what someone watched, not from the season, so almost everything it proposed would be thrown away after you’d paid for it.
- People without enough watch history get the season’s best-rated films on your server, not the server’s overall top-rated.
- The default row can’t follow seasons. Its name is the one every person’s everyday row uses. Add a seasonal row beside it instead.
How it reads TMDB
Shortlist reads each season’s list from TMDB once a run (a few hundred requests the first time, then cached for a week), and only while a seasonal row is in, or about to start, its season.
On a night the list can’t be read, the row keeps what it has, like a row whose sources are all down. The run names it, and marks a person as failed only if every row they had to build that night was left with nothing to build from.
Edit this page on GitHub