IgnisDa / ryot

Roll your own tracker!
https://ryot.io
GNU General Public License v3.0
1.94k stars 51 forks source link

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

Closed LnLcFlx closed 3 months ago

LnLcFlx commented 1 year ago

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

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.

IgnisDa commented 1 year ago

What do you mean by sharing the whole database?

LnLcFlx commented 1 year ago

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

SiskoUrso commented 1 year ago

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.

IgnisDa commented 1 year ago

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.

SiskoUrso commented 1 year ago

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:

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

IgnisDa commented 11 months ago

Notes to self:

This will need to be implemented in multiple steps:

IgnisDa commented 11 months ago

@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.

LnLcFlx commented 11 months ago

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?

IgnisDa commented 11 months ago

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.

MikeBishop commented 9 months ago

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.).

IgnisDa commented 9 months ago

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

IgnisDa commented 7 months ago

Notes to self:

IgnisDa commented 3 months ago

@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?

LnLcFlx commented 3 months ago

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 :)

IgnisDa commented 3 months ago

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.

LnLcFlx commented 3 months ago

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.

IgnisDa commented 3 months ago

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 commented 3 months ago

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.

Ardakilic commented 1 month ago

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

IgnisDa commented 1 month ago

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

Ardakilic commented 1 month ago

@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

IgnisDa commented 1 month ago

@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.

Ardakilic commented 1 month ago

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 ?

IgnisDa commented 1 month ago

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

Ardakilic commented 1 month ago

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

Ardakilic commented 1 month ago

@IgnisDa done, #986 thanks again!