ryot icon indicating copy to clipboard operation
ryot copied to clipboard

[FEATURE REQUEST] - Share public link to database and reviews

Open LnLcFlx opened this issue 2 years ago • 12 comments

It would be useful to be able to share parts of your database using a read-only public link. This could include

  • single reviews
  • movies on your watchlist or in other collections
  • all watched movies (with or w/o ratings)
  • your whole database

This way you can quickly (and temporarily) share your opinion on a movie with friends or let them know what movies you have already seen. One could also add this or similar functionality to the Profile Settings so that you could specify information other users on the instance can see about you.

LnLcFlx avatar Sep 28 '23 09:09 LnLcFlx

What do you mean by sharing the whole database?

IgnisDa avatar Sep 28 '23 10:09 IgnisDa

Basically sharing all the media you have watched (movies, shows,...)

LnLcFlx avatar Sep 28 '23 20:09 LnLcFlx

Would be a great feature to have, in fact I didn't realize that it was all login based only and there was no public data that was viewable until after I had it fully setup. I still like having the tracking but agree with the OP here that having a way to have a public view of your tracker would be great.

SiskoUrso avatar Sep 29 '23 03:09 SiskoUrso

I would appreciate if you could post a list of what all would like to be shareable.

BTW, public collections can already be shared by their links.

IgnisDa avatar Sep 29 '23 03:09 IgnisDa

Sure thats no problem. I was expecting the whole profile to have a public view to it going in . But to list some of the things I would like to be public most of all:

From Media:

  • Movies
  • Shows
  • People
  • Groups
  • Collections
  • The summary from the home page
  • The In progress from the home page

Pretty much the whole profile view to be public , I thought going it it would be like that and then have login for admin functions and whatnot.

Thanks for your time

SiskoUrso avatar Sep 29 '23 21:09 SiskoUrso

Notes to self:

This will need to be implemented in multiple steps:

  • Convert the frontend from static to a SSR (Remix) application: https://github.com/IgnisDa/ryot/issues/134.
  • Analyze whether everything should be SSR or just the user agnostic data.

IgnisDa avatar Oct 31 '23 05:10 IgnisDa

@SiskoUrso @LnLcFlx I suspect that if I implement this change the docker image size will go from 45Mb to >700Mb and memory consumption would increase from 20Mb to 60Mb. Both are estimates.

Is this acceptable? One of the key features of Ryot is that it is lightweight. This change will certainly make things heavier.

IgnisDa avatar Oct 31 '23 05:10 IgnisDa

Personally, I like to regarded Ryot as a potential selfhosted alternative to services like Trakt or letterboxd. While this is probably not the official use case, features like reviews would make it suitable for that purpose.

In this context this suggested feature would be quite important IMO.

If the importance of being lightweight outweighs (no pun intended) the usecase as a semi-social platform for sharing ones tracked stuff with others, then it might not be worth it.

Speaking for myself, I would definately download the larger image and do not see it as a problem. Is there really no way to make it less space consuming though?

LnLcFlx avatar Oct 31 '23 10:10 LnLcFlx

Is there really no way to make it less space consuming though?

The front-end is a CSR application directly embedded in the binary. That makes authentication challenging. There's another's way that ik might work using the current infrastructure but I've never been able to get it working before with my other projects so idk about it's viability.

IgnisDa avatar Oct 31 '23 10:10 IgnisDa

I'd envision being able to share a link to "What I read in 2023," and people with the link could then see my ratings and maybe click through to some public info about the item (IMDB, Open Library, etc.).

MikeBishop avatar Dec 30 '23 23:12 MikeBishop

Yep I plan to start working on this as soon as I am able to merge the 3 open PRs.

IgnisDa avatar Dec 31 '23 03:12 IgnisDa

Notes to self:

  • one way to do this will be to allow users to share a url with a unique string. When an unauthenticated user lands on this url, a read-only auth token will be generated for the user (who shared the link). This will enable us to reuse the existing frontend auth behaviour. However I'll have to add some additional infrastructure in the front-end and backend to prevent mutations using this token.

IgnisDa avatar Mar 15 '24 03:03 IgnisDa

@LnLcFlx I plan to achieve this using the JWT payload. But one problem that this will have that permissions associated with a shared url will not be able to be changed once someone has used it. Neither can it be revoked.

Is this fine?

IgnisDa avatar Jul 10 '24 06:07 IgnisDa

I think at least revoking a shared URL is a must.

I can't really comment on the sensibility of JWT for this usecase though, because I'm completely new to the concept. A third opinion would be good.

I'm really excited to see this feature getting worked on :)

LnLcFlx avatar Jul 10 '24 06:07 LnLcFlx

True. Revoking is an important feature. Will look into what the best way to implement this might be then.

I do feel obligated to tell you though, I'd release this as part of Ryot pro since this will require significant effort on my part, regardless of what technology i use.

IgnisDa avatar Jul 10 '24 06:07 IgnisDa

Thanks for being transparent. This is your decision to make ofc and I get it. It's a bummer though because with the current pricing plans I don't see myself buying Pro unfortunately.

What I wanted to ask on another occasion as well: How are the Pro features developed? Are they closed source? This might even be a bigger hindrance for me.

LnLcFlx avatar Jul 10 '24 07:07 LnLcFlx

It's a bummer though because with the current pricing plans I don't see myself buying Pro unfortunately.

I suggest you join the discord since the prices have already been changed. The website is not updated. Moreover I can provide you with a discount.

How are the Pro features developed? Are they closed source?

Yes. I have a separate private repo.

IgnisDa avatar Jul 10 '24 07:07 IgnisDa

This was released as part of the pro offering. If you would like to try it out/want a discount, please contact me on Discord.

IgnisDa avatar Jul 15 '24 07:07 IgnisDa

@IgnisDa hello, is there a demo of this public showcase feature of pro hosted somewhere? I tried checking ryot.io, but I was unsuccessful.

Ardakilic avatar Aug 27 '24 21:08 Ardakilic

@Ardakilic Yes, here's the link: https://pro.ryot.io/_s/acl_vUMPnPirkHlT.

IgnisDa avatar Aug 27 '24 23:08 IgnisDa

@IgnisDa when I click it it automatically logs me in to the dashboard, even with a mark as visitor. and I could alter a status of the content as a guest:

For example:

image

I want them to be read-only for the public eye, so no public visitor could alter the status.

image

image

Ardakilic avatar Aug 28 '24 08:08 Ardakilic

@Ardakilic Yes I have specifically allowed that link to allow mutations. Here is another one which does not: image

(This one does not say "Mutation allowed")

https://pro.ryot.io/_s/acl_VtAWvs7NmrBz

This is the demo account so allowing anonymous users to make mutations is fine. But by default links do not have mutation access.

IgnisDa avatar Aug 28 '24 09:08 IgnisDa

Awesome, thank you for the detail @IgnisDa

image

This happens when I try to change status, cool!

One final question, just simply wondering: Could this be done via a global setting, in a way, where a guest navigates to the domain (like simply clicking https://pro.ryot.io or for example https://pro.ryot.io/username ) and it opens just like the last link you shared ?

Ardakilic avatar Aug 28 '24 09:08 Ardakilic

Could you create a separate issue for that? I'd like to discuss it further.

IgnisDa avatar Aug 28 '24 09:08 IgnisDa

Of course, will do! Thanks again for the interest!

Ardakilic avatar Aug 28 '24 09:08 Ardakilic

@IgnisDa done, #986 thanks again!

Ardakilic avatar Aug 28 '24 09:08 Ardakilic