Bug: PMS 'Refresh' command doesn't respect existing poster choices or GUI language for posters

Today I’ve had to ‘Refresh’ my “Movies” section, mainly because all subtitle linkage was lost when rescanning after moving some media.
The ‘Refresh’ did restore those subtitle linkages but also caused horrible poster mismatches forcing me to manually correct appx 20% of these appx 1500 posters. (So appx 300 manual corrections.)

The main mismatch problem was that many english language posters I previously had were replaced by others with text in German, French, Italian, Russian, Turkish plus a number of other languages I am unable to even identify. And in every single case where I changed these posters manually, the list of choices available as shown by the ‘Plex Web’ GUI had non-english posters in the default position (and usually several others too in front of any english-language posters). This means that something is horribly wrong with the Plex Inc database for posters. It needs to have ALL posters sorted and classified according to the language of the text they contain, and in automatic assignment of posters to scanned media, PMS must prioritize posters using the language that the user has configured for use in this media section.

In addition to the language issue, a large number of posters were simply crap quality images, with much better versions available in the lists of alternate posters to choose from. So the problem with this image database is twofold, as it seems to prioritize crap images and non-english posters (regardless of the user’s language choices).

I believe that a major cause of this problem (which I never saw in earlier refreshes using older PMS versions) is that I am now using the fairly recent PMS version 1.4.4, which had some changed settings for the media agents that I never approved myself, but which are clearly responsible for my problems. I most strongly suspect the “CineMaterial” entry, and have now disabled that one to avoid future distress.

Best regards: dlanor

Can you determine the metadata agent that is connected to the affected movie(s)?
(it is shown in the Plex XML info of the movie, in the guid= )

Then take a look into the agent cpnfiguration of that particular agent
Settings - Server - Agents - Movies - ‘Plex Movie’ (when imdb appears in the guid)
Settings - Server - Agents - Movies - ‘TheMovieDatabase’ (when themoviedb appears in the guid)

In which order exactly do the lines appear?
Is ‘Plex Movie’ / ‘TheMovieDB’ at the top or are there others above it?

@OttoKerner
Thanks for responding. I hope we can clear this up.

I just now checked the XML for one poster that was replaced to a poster using Italian language.
Before that ‘Refresh’ this movie had an English-language poster, still available as a non-first choice in the list shown when editing the movie entry to change poster manually.

The XML for this movie contains:
<Video ratingKey=“46291” key=“/library/metadata/46291” guid="com.plexapp.agents.imdb://tt0052530?lang=en
(And of course a lot more that I won’t bother quoting here.)

That guid entry indicates that the scanning process was aware of my language choice, which I already knew as the movie summary is all in English, as is all other readable text related to that movie. Except for the text shown on the poster that is.

I have also inspected the submenu: Settings - Server - Agents - Movies - ‘Plex Movie’
This contains, in stated order:
“Local Media Assets(Movies)” == ticked in black
“Plex Movie” == ticked in grey (not unselectable)
“Cine 21” == not ticked
“Fanart.tv” == not ticked
“CineMaterial” == ticked in black
OpenSubtitles.org” == not ticked

Note that CineMaterial has been set ticked either by a PMS upgrade or a bundle push, without my awareness.
It did not exist at all in the older PMS versions I used without having these poster issues.
I therefore suspect it of causing these issues, and have now ‘unticked’ that entry.

The info popup for CineMaterial states:

The main purpose of the CineMaterial.com website
is to provide a database with movie posters that is as
complete as possible. All movie posters are free to download.

I think this aim for ‘completeness’ is misdirected, if it doesn’t take language into account.

While editing these movie entries to get proper English posters I noted several movies where the first 8-9 available poster choices were in various non-English languages, which indicates that no proper language prioritization was involved in building those lists. And of course the auto-selected poster would be the first entry in those lists.

As I see it some changes in how this works are needed.

One is that the current ‘Refresh’ command must be made to take language into account, for all agents.
Also, for all cases where the user has manually selected a poster to be used, it should never be auto-replaced during ‘Refresh’ commands (or future ‘Update Library’ commands). The user should always have final say.

If there is a need for auto-replacing user choices in some cases, then that is something which should require special user permission each time (either another command, or a selectable option cleared after each use).

Best regards: dlanor

@dlanor said:
The XML for this movie contains:
<Video ratingKey=“46291” key=“/library/metadata/46291” guid="com.plexapp.agents.imdb://tt0052530?lang=en

Perfect. This is what I was after.

That guid entry indicates that the scanning process was aware of my language choice, which I already knew as the movie summary is all in English,

It also tells us, that the movie has been matched with Plex Movie (formerly Freebase)

Note that CineMaterial has been set ticked either by a PMS upgrade or a bundle push, without my awareness.

Cinematerial is a replacement for MoviePosterDB, which ceased to work quite a while ago.
I understand it is a ‘fork’ of the MoviePosterDB project.

I therefore suspect it of causing these issues, and have now ‘unticked’ that entry.

You may have a point here, but I think a bit differently:
My assumption: you previously didn’t go with the default poster, but picked a different one you liked which happened to come from MoviePosterDB.
Since MoviePosterDB is no longer existent, the Refresh loaded instead the poster with the same ‘index number’ from the CineMaterial website.
(which happens to be a foreign-language poster)

While editing these movie entries to get proper English posters I noted several movies where the first 8-9 available poster choices were in various non-English languages, which indicates that no proper language prioritization was involved in building those lists. And of course the auto-selected poster would be the first entry in those lists.

In the ‘Plex Movie’ agent settings, there is a checkbox labeled ‘Prefer artwork based on library language’. Is it ticked?

One is that the current ‘Refresh’ command must be made to take language into account, for all agents.
Also, for all cases where the user has manually selected a poster to be used, it should never be auto-replaced during ‘Refresh’ commands (or future ‘Update Library’ commands). The user should always have final say.

When the agent is no longer available, what should happen? You requested a Refresh after all.

If there is a need for auto-replacing user choices in some cases, then that is something which should require special user permission each time (either another command, or a selectable option cleared after each use).

I understand you refreshed a whole library.
Do you expect to get a notification popup for each movie which asks you to replace the current poster with a fresh one?

To avoid needless repetition I’m quoting selectively here

@OttoKerner said:
Cinematerial is a replacement for MoviePosterDB, which ceased to work quite a while ago.
I understand it is a ‘fork’ of the MoviePosterDB project.

I therefore suspect it of causing these issues, and have now ‘unticked’ that entry.

You may have a point here, but I think a bit differently:
My assumption: you previously didn’t go with the default poster, but picked a different one you liked which happened to come from MoviePosterDB.
Since MoviePosterDB is no longer existent, the Refresh loaded instead the poster with the same ‘index number’ from the CineMaterial website.
(which happens to be a foreign-language poster)
You may be right, but this merely changes the nature of the bug.
When a new database doesn’t use the same storage structure it’s a bug to use old index numbers as valid.

Since poster images are cached by the PMS, it doesn’t really matter whether or not the database site an image came from still exists or not. PMS still can and should retain and continue to use those poster images that the user has manually selected. Else the manual selection is rather pointless.

In the ‘Plex Movie’ agent settings, there is a checkbox labeled ‘Prefer artwork based on library language’. Is it ticked?
Yes, this was set already.

One is that the current ‘Refresh’ command must be made to take language into account, for all agents.
Also, for all cases where the user has manually selected a poster to be used, it should never be auto-replaced during ‘Refresh’ commands (or future ‘Update Library’ commands). The user should always have final say.

When the agent is no longer available, what should happen? You requested a Refresh after all.
I did request a refresh, but not with the intention of scrapping any of my old manual choices.

If there is a need for auto-replacing user choices in some cases, then that is something which should require special user permission each time (either another command, or a selectable option cleared after each use).

I understand you refreshed a whole library.
I did, but only because another PMS bug had destroyed all subtitle linkage for all media that had been moved recently.
Updating the library after that move caused nearly all metadata to be adopted properly just as used before the move,
except for subtitle linkages which were completely removed. Only a refresh will restore those, and doing this individually for hundreds of movies selected manually would have been exhausting. Thus I chose to refresh the whole library.

Do you expect to get a notification popup for each movie which asks you to replace the current poster with a fresh one?
No of course not. I expect there to be a way of refreshing missing or default metadata without affecting any that the user has set manually. And this does work for other metadata than posters, as those metadata entries can be ‘locked’ properly.
I’m just asking for the same functionality in regard to posters.

I even believe that such functionality has been intended, as orange ‘lock’ markers often appear on a poster image when clicking it in a selection list. But unfortunately these ‘locks’ don’t seem to work like they do for other metadata.

Best regards: dlanor

I can highlight a specific example, as this happens to me - especially with TV series. I just got Season 3 of the Expanse today, and eagerly added it to my library. When I added season 3, the artwork for season 1 and 2 got reset to the default poster - just on the automatic scan. I had manually set each season to an image a few ticks down the ‘choose an image’ list in metadata.
If the media agent keeps track of artwork by number, and the preference order of artwork changes on the base site, does that change the image retrieved?

I just use the ‘scan library files’ I don’t use the refresh all metadata.