[implemented] Plex Home inverse filter, blacklist

+1
I want a black list, too.
Should be an easy task if the restrictions are server-side. :slight_smile:

Strongly support adding this feature, as well as more thorough batch editing tools.

Blacklist for Plex Home labels would be a great addition.

1 Like

At least we can bulk edit, but a big definite yes to up-vote this item. If something shows on a users list, they could tell me (as the PlexPass/admin user) to remove it from their listing. With the blacklist label feature it would be simple.

Currently I have all users set with sharing restrictions based on a label of their name. I have to remember to mark all TV shows with that label so it shows for them. If I forget then they never see it, and so don’t think to say that I forgot.

Similar thread

+1 for Black Listing and expanded batch tools. :slight_smile: Thanks for all you do devs!

It’s Friday night, Anna’s working late, so why not drop a bit of holiday cheer in this thread?

N.B. This is an advanced trick. Use at your own risk. This may stop working in the future. It may cause your computer to overheat or catch on fire, but only if your computer is a Samsung Galaxy Note 7.

Background: The restrictions feature in Plex Home uses the same powerful filtering system used by the filtering UI when you’re in a media grid (this in itself doesn’t expose the full power of the system, but we digress). For the Plex Home UI, we chose to expose a simple subset which we thought struck the right balance between simplicity and functionality, but regardless of the balance one strikes, there are always some people on the side which desires more power, amirite?

Hacking the System: Bring up Chome, with the debugging tools showing, and watch the network requests. When you edit restrictions for a user, you’ll see something like the following request (edited for clarity):

PUT https://plex.tv/api/users/99999?allowSync=0&allowCameraUpload=0&allowChannels=0&filterMovies=contentRating%3DG&filterTelevision=contentRating%3DTV-G%252CTV-PG&filterMusic=&filterPhotos=label%3DDog&X-Plex-Token=shhh

If you decode the various filter parameters (e.g. filterMovies) you’ll see that it contains a querystring fragment which looks identical to those querystrings used when using the aforementioned media grid filters.

Now let’s say instead of allowing Barkley to watch only G-rated movies, we’d rather allow him to see anything except X and R rated movies. This filter looks like contentRating!=X&contentRating!=R. So we modify the URL to contain the (encoded) fragment filterMovies=contentRating!%3DX%26contentRating!%3DR. Execute the request at the terminal with something like curl -X PUT https://.... If it worked, you’ll see the filter come back in the XML response:

<User filterMovies="contentRating!=X&contentRating!=R" />

If you switch to the account and check the content rating filters, you’ll see that R and X no longer appear, because all such movies have been filtered out.

What are some things other things you can do with this trick:

  • Use other fields entirely (year<=1938 if you don’t want to scare your grandparents with color movies, e.g.)
  • Combine positive and negative conditions (e.g. contentRating=G&year!=2016 because it’s been such a bad year that we’ll just completely ignore all movies made in it).

Caveat emptor: If you set a custom filter like this, the UI will show them as blank, as it doesn’t know how to interpret them, and probably won’t roundtrip them correctly.

Caveat emptor secundo: negative “tag” filters (e.g. “label is not X” or “genre is not Y” or “actor is not brad pitt”) don’t currently work. It turns out to be a four-year old silly bug which I’ve fixed, and will likely be in the next 1.3.x server release.

2 Likes

This feature would be just great! It’s a pain in the *** to add labels to all media. The bulk editor is something but certainly not ideal.

Any word on timeframe on getting this to work with genres and/or labels? My husband hates musicals and my son hates horror. I’d love their lists to avoid those genres. If needed, I could make “Not for Hubby” and “Not for Son” tags, but that’s not working yet either and would (obviously) be less ideal.

@Vaesse said:
Any word on timeframe on getting this to work with genres and/or labels? My husband hates musicals and my son hates horror. I’d love their lists to avoid those genres. If needed, I could make “Not for Hubby” and “Not for Son” tags, but that’s not working yet either and would (obviously) be less ideal.

Nope but wouldn’t that be nice to receive any kind of upcoming/in-progress posts for feature requests. :stuck_out_tongue:

1 Like

I’d like this feature as well. Just got Plex pass and am setting up an account my my kids. I added the ratings to the restrictions filters. This approach works for the majority of shows but it also shows “Buffy the Vampire Slayer” and “Terminator: The Sarah Connor Chronicles” along with “Adventure Time” and “The Muppets” to my three-year-old. It would be much easier to just white-list everything TV-PG and below and then restrict the few TV-PG shows that are inappropriate.

Don’t forget to vote for this feature.

How to vote

I mean, why can’t we have both. I assume it shouldn’t be too hard to implement as while-listing is already a feature.

1 Like

Motivation
Profiles that are not the account owner should be able to exclude entire shows/movies on the fly in order clean up the clutter left by shows/movies that other profiles watch. This will clear up an account with multiple profiles ranging from kids shows to adult-focused content appearing in profiles that shouldn’t or don’t want to see other content. A quick for instance: A teenager adds several shows that the parents have absolutely no interest in watching, yet those shows still appear in the parents’ account. The parents don’t want to tag content that they want to watch, because they regularly add new movies and shows and don’t want to have to tag all new content to either be allowed/disallowed.
Problem

  1. I realize entirely that people accomplish something similar by using tagging (tagging content and then limiting a profile to that tag).
  2. This is a backwards solution that requires continually tagging new shows and movies that are added. If one forgets to tag new content, then it just won’t show up in the profile, because it hasn’t been tagged.
  3. So users either keep up with this maintenance tag or they abandon the method altogether, reverting back to the master account, or deleting the account with tag limitations.
  4. This shouldn’t be relegated to the system folder level. Plex is an advanced media library with built in account/profiles support. Hiding folders per profile removes the convenience of creating master folders based on type of content, not genre of content, which folders shouldn’t care about.
    Proposed resolution
  5. Simply reverse the logic. Developer an in-app UI menu feature that adds a “Hide show/movie” menu item.
  6. This menu item adds an “Exclude” tag, which hides the show/movie from the profile which tagged it.
  7. The show/movie remains completely hidden from library, recently added, up next, discover, etc. for that profile.
  8. Optionally, add a new menu item list somewhere within the profile which shows all content tagged with this tag, so that privileged users can unhide content. That way if someone hides something on accident, they can make it reappear.
  9. Profit! Users will be much happier being able to hide just The Mickey Mouse Clubhouse from their profile without having to go through and tag the other 100 shows/movies to appear in their account.
    Final thoughts
    Pretty please.

I want both white-listing AND black-listing. I want to be able to go into a user and say “You can watch these genres/labels/ratings and you can’t watch these genres/labels/ratings.” That way I can do an initial allow of certain ratings, then add or remove certain titles within the ratings based on more granular preferences based on genres and/or labels.
That affords me the least amount of per-title editing for user access. Seems reasonable to me. :slight_smile:

1 Like

I want black listing so I can block the horror genre from my kids. It may be a PG-13 movie, but I don’t want them asking questions about that stuff or having nightmares. Only option is to creat libraries by genre and then by rating? That is a pain.

@brandonus or simply create two directories on your disk: Movies and Kid Movies. Create two libraries Movies and Kids Movies. In the Kids Movies library add only the Kids Movies directory. The Movies library add both directories. Share only the Kids Movies library with your kids accounts. You can still see all movies from your account under the Movies library.

I vote for it. It would be a great feature.

It seems very reasonable and helpful to me too! What you are describing is exactly what I want to do as well!

Not sure this is the best solution. It means that any movie you want to exempt that would otherwise be allowed via MPAA rating for example, would be in a different folder.

What if you want to change that access later? You have to actually move your media.

If you do that of course you will typically end up effectively deleting then re-adding a new movie as Plex realigns the library. Any custom tags or labels you set up get wiped out.

I am not a developer, but there is a ton of support for this feature. Why wouldn’t it be added? If it is looking for tags to include, what’s difficult about having it also look at tags to exclude?

1 Like

Seriously though, why is this BASIC feature not included? I mean, it’s obviously wanted & while I have limited knowledge of code, it’s fairly easy to implement too. So why are we waiting 3 years+ for this?

3 Likes