PlexWWWatch

PlexWWWatch:
PlexWWWatch is a web front-end for Plex Watch built in angularjs and php.
Built to match the new style of plex.tv
 
I'm still in early development, please create issues for feature requests or fork and send me a pull request.
https://github.com/Gyran/PlexWWWatch
 

Version 0.1 released (2014-03-04):

- Recently added
- Recently watched
- Users list
- User view
- Details view for Seasons, Episodes and Movies
- Basic charts

Just write if you have any questions or comments!
 
Screenshots:

Looks great!  Only wish it were easier to implement plex watch.

Are you a windows user? It’s a single exe and a scheduled task. That’s all you need to get it running and logging data needed for web interface(s).



Looks great! Only wish it were easier to implement plex watch.

Thanks!  

I put it up on my web server and it's not loading the cover art but the history is working fine.

Also, for Movies, "Season Episode -" is still showing up.

Thanks!

I put it up on my web server and it's not loading the cover art but the history is working fine.

Also, for Movies, "Season Episode -" is still showing up.

Atm the posters are loaded from the plex media server from your browser. Have you put the host name to your pms relatively your computer (not the web servers)?

Hi, I can't get it to create the settings file, even if I have 777 on the folder... Anything else that I need to do?

Can you post an example settings file so I can test to create it manually? 

Hi, I can't get it to create the settings file, even if I have 777 on the folder... Anything else that I need to do?

Can you post an example settings file so I can test to create it manually? 

Do you get any errors when you try to save it? Can you look in your developer console for the xhr post request to settings.php?

my settings file is:

{"dbPath":"\/opt\/plexWatch\/plexWatch.db","grouped":false,"plexMediaServerHost":"http:\/\/192.168.1.10:32400","correct":true,"dbPathCorrect":true,"plexMediaServerHostCorrect":true}

Do you get any errors when you try to save it? Can you look in your developer console for the xhr post request to settings.php?

my settings file is:

{"dbPath":"\/opt\/plexWatch\/plexWatch.db","grouped":false,"plexMediaServerHost":"http:\/\/192.168.1.10:32400","correct":true,"dbPathCorrect":true,"plexMediaServerHostCorrect":true}

Hi again, I'm not sure what the developer console for the xhr post means... :)

But in my browser (chrome) when inspecting i get this error: 

  1. POST http://plexwatch.snille.net/public/backend/settings.php 500 (Internal Server Error) bower.js:72(anonymous function)bower.js:72Fbower.js:68fbower.js:66Abower.js:93Abower.js:93(anonymous function)bower.js:94h.$evalbower.js:102h.$digestbower.js:100h.$applybower.js:103(anonymous function)bower.js:179(anonymous function)bower.js:27qbower.js:7Yc.c

    Does that help? :)

Hi again, I'm not sure what the developer console for the xhr post means... :)

But in my browser (chrome) when inspecting i get this error: 

  1. POST http://plexwatch.snille.net/public/backend/settings.php 500 (Internal Server Error) bower.js:72(anonymous function)bower.js:72Fbower.js:68fbower.js:66Abower.js:93Abower.js:93(anonymous function)bower.js:94h.$evalbower.js:102h.$digestbower.js:100h.$applybower.js:103(anonymous function)bower.js:179(anonymous function)bower.js:27qbower.js:7Yc.c

    Does that help? :)

Yes :) Can you also provide the apache error log?

Works fine for me.

I appreciate that this is still early days, but can you give us an idea of what features you're thinking about incorporating into future releases?

I'm particularly interested in what you have planned that plexWatchWeb doesn't currently do.

Thanks

Yes :) Can you also provide the apache error log?

Sure...

First the access.log:

plexwatch.snille.net:80 127.0.0.1 - - [08/Feb/2014:23:16:54 +0100] "POST /public/backend/settings.php HTTP/1.1" 500 259 "http://plexwatch.snille.net/public/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1825.4 Safari/537.36"

Then the error.log:

[Sat Feb 08 23:16:54 2014] [error] [client 127.0.0.1] PHP Fatal error:  Interface 'JsonSerializable' not found in /var/www/www-roots/PlexWWWatch/plex-watch/PlexWatchWatched.php on line 3, referer: http://plexwatch.snille.net/public/
[Sat Feb 08 23:16:54 2014] [debug] mod_deflate.c(615): [client 127.0.0.1] Zlib: Compressed 0 to 2 : URL /public/backend/settings.php, referer: http://plexwatch.snille.net/public/

What I have done is this:

Git clone your git-repo in my www-root (lands in PlexWWWatch)

Chmod 777 to the settings folder.

Set up apache with a new vhost with plexwatch.snille.net as host header with the root in the PlexWWWatch folder.

Added the dns-name to my pound config (that's why you see 127.0.0.1).

Added the dns-name to my own internal dns-server.

Surfed to the http://plexwatch.snille.net/public url, then clicked "You have error in your settings", changed the settings to my needs and clicked save.

No settings file is saved... 

What did I do wrong? 

Sure...

First the access.log:

plexwatch.snille.net:80 127.0.0.1 - - [08/Feb/2014:23:16:54 +0100] "POST /public/backend/settings.php HTTP/1.1" 500 259 "http://plexwatch.snille.net/public/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1825.4 Safari/537.36"

Then the error.log:

[Sat Feb 08 23:16:54 2014] [error] [client 127.0.0.1] PHP Fatal error:  Interface 'JsonSerializable' not found in /var/www/www-roots/PlexWWWatch/plex-watch/PlexWatchWatched.php on line 3, referer: http://plexwatch.snille.net/public/
[Sat Feb 08 23:16:54 2014] [debug] mod_deflate.c(615): [client 127.0.0.1] Zlib: Compressed 0 to 2 : URL /public/backend/settings.php, referer: http://plexwatch.snille.net/public/

What I have done is this:

Git clone your git-repo in my www-root (lands in PlexWWWatch)

Chmod 777 to the settings folder.

Set up apache with a new vhost with plexwatch.snille.net as host header with the root in the PlexWWWatch folder.

Added the dns-name to my pound config (that's why you see 127.0.0.1).

Added the dns-name to my own internal dns-server.

Surfed to the http://plexwatch.snille.net/public url, then clicked "You have error in your settings", changed the settings to my needs and clicked save.

No settings file is saved... 

What did I do wrong? 

Seems like you have an old version of PHP that doesn't support the JsonSerializable interface, you need at least php 5.4

Seems like you have an old version of PHP that doesn't support the JsonSerializable interface, you need at least php 5.4

Ah... Yes, I got 5.3.10... That's what's in the 12.04.(3) LTS ubuntu repo... :( Then I have to look for a newer version (repo)...

Thank you for your help!

Works fine for me.

I appreciate that this is still early days, but can you give us an idea of what features you're thinking about incorporating into future releases?

I'm particularly interested in what you have planned that plexWatchWeb doesn't currently do.

Thanks

Not sure if it will have more features. My first goal is to make it more of a "Plex experience" and I don't really like how the page is structured. And I wanted something that suited my needs more so I created something of my own.

Not sure if it will have more features. My first goal is to make it more of a "Plex experience" and I don't really like how the page is structured. The code for Plex Watch Web is kind of terrible so I hope it will be easier for more people to collaborate and extend it with their needs.


You should not call someone's code terrible. It's rude. Especially because eleese was nice enough to make and distribute it for free. Plex watch/web are excellent products that are Givin to you FOR FREE. If you truly feel that's it does not suit your needs don't use it. There's no reason to slander his work, it has benefited the Plex community immensely.

You should not call someone's code terrible. It's rude. Especially because eleese was nice enough to make and distribute it for free. Plex watch/web are excellent products that are Givin to you A FOR FREE. If you truly feel that's it does not suit your needs don't use it. There's no reason to slander his work, it has benefited the Plex community immensely.

That's true, didn't mean it in that way, I still use Plex Watch Free and it's great. It just dosen't suit my needs so I decided to create something that works more for me.

Ah... Yes, I got 5.3.10... That's what's in the 12.04.(3) LTS ubuntu repo... :( Then I have to look for a newer version (repo)...

Thank you for your help!

Just a followup if someone else have the same problem.

Here is the repo to update to a more recent PHP.

sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php5

Found it here first: http://askubuntu.com/questions/109404/how-do-i-install-latest-php-in-supported-ubuntu-versions-like-5-4-x-in-ubuntu-1

More info about the repo: https://launchpad.net/~ondrej/+archive/php5

Just a followup if someone else have the same problem.

Here is the repo to update to a more recent PHP.

sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php5

Found it here first: http://askubuntu.com/questions/109404/how-do-i-install-latest-php-in-supported-ubuntu-versions-like-5-4-x-in-ubuntu-1

More info about the repo: https://launchpad.net/~ondrej/+archive/php5

Great that you got it to work!

For those who had problems getting the poster images when accessing PlexWWWatch remotely, you can now sign in to myPlex and access the posters from your plex media server using a access token.

To get the poster outside your local network the plex media server must be accessible outside your local network.

Hi,

Thanks for this contribution. Even if I can't having it working.

I run it on a synology NAS with DSM 5 beta, running php Version 5.5.7. I can see that the configuration is correct (right url to PMS and right plexWatch.db location). However, when I access the main page, nothing appears and Safari console displays the following errors:

[Error] Error: [ngRepeat:dupes] http://errors.angularjs.org/1.2.13-build.2242+sha.e645f7c/ngRepeat/dupes?p0=w%20in%20%24data&p1=string%3Aa
http://192.168.1.13/PlexWWWatch/public/build/bower.js:185:193
http://192.168.1.13/PlexWWWatch/public/build/bower.js:100:36
$digest@http://192.168.1.13/PlexWWWatch/public/build/bower.js:100:468
$apply@http://192.168.1.13/PlexWWWatch/public/build/bower.js:103:271
f@http://192.168.1.13/PlexWWWatch/public/build/bower.js:67:126
H@http://192.168.1.13/PlexWWWatch/public/build/bower.js:71:280
onreadystatechange@http://192.168.1.13/PlexWWWatch/public/build/bower.js:72:225
(fonction anonyme) (bower.js, line 85)
(fonction anonyme) (bower.js, line 62)
$digest (bower.js, line 101)
$apply (bower.js, line 103)
f (bower.js, line 67)
H (bower.js, line 71)
onreadystatechange (bower.js, line 72)

[Error] Error: ‘null’ is not an object (evaluating ‘j.$scope.$data=a’)
http://192.168.1.13/PlexWWWatch/public/build/script.js:261:3662
A@http://192.168.1.13/PlexWWWatch/public/build/bower.js:93:5
http://192.168.1.13/PlexWWWatch/public/build/bower.js:94:174
$eval@http://192.168.1.13/PlexWWWatch/public/build/bower.js:102:456
$digest@http://192.168.1.13/PlexWWWatch/public/build/bower.js:100:223
$apply@http://192.168.1.13/PlexWWWatch/public/build/bower.js:103:271
f@http://192.168.1.13/PlexWWWatch/public/build/bower.js:67:126
H@http://192.168.1.13/PlexWWWatch/public/build/bower.js:71:280
onreadystatechange@http://192.168.1.13/PlexWWWatch/public/build/bower.js:72:225
(fonction anonyme) (bower.js, line 85)
(fonction anonyme) (bower.js, line 62)
A (bower.js, line 93)
(fonction anonyme) (bower.js, line 94)
$eval (bower.js, line 102)
$digest (bower.js, line 100)
$apply (bower.js, line 103)
f (bower.js, line 67)
H (bower.js, line 71)
onreadystatechange (bower.js, line 72)

Any idea about how I can fix that?

Thanks.