jeffalo / my-ocular

backend for ocular
https://ocular.jeffalo.net/docs/about#what-iswas-my-ocular
9 stars 10 forks source link

Aviate Integration #28

Closed MystPi closed 2 years ago

MystPi commented 2 years ago

For Aviate to be integrated with ocular, a few things would need to happen

If it's alright, I'm going to start work on this soon.

MystPi commented 2 years ago

The first item is completed in #29. I'll work on the second.

MystPi commented 2 years ago

The second part is finished in jeffalo/ocular#149. Ready for review!

jeffalo commented 2 years ago

this is awesome! perhaps we should add a checkbox to ocular's dashboard so that users can choose between aviate or ocular? that way we dont have to perform look ups for every user, and users get a little more control (they can switch back and forth).

what do you think?

edit: also, how does moderation work with aviate? eg. how can i be sure that someones not going to put Bad Stuff:tm: into their status? ps: if this all gets implemented, i'll work on displaying a badge for whether a status is from ocular or aviate.

edit edit: also, i wanted to point out that if i do incorporate this integration into ocular, this'll only really complicate things further. the other choice is to let ocular and aviate stay separate, but that fragmentation really does no good.

in my completely honest opinion, theres no point having two separate websites to do the same thing (or very similar things), especially when that one thing only works best if theres only one website to do that one thing.

i hope you understand where my stance is coming from. let's work on a solution.

Chiroyce1 commented 2 years ago

also, how does moderation work with aviate? eg. how can i be sure that someones not going to put Bad Stuff™️ into their status?

From the FAQ:

What should I do if I find an inappropriate status?

Please report it on an admin's profile and they will delete the user's status.

MystPi commented 2 years ago

also, how does moderation work with aviate? eg. how can i be sure that someones not going to put Bad Stuff™️ into their status?

From the FAQ:

What should I do if I find an inappropriate status?

Please report it on an admin's profile and they will delete the user's status.

Also, every admin can see a list of all the statuses, so they can moderate them at will.

pufferfish101007 commented 2 years ago

Aviate's pretty cool, having it integrated with ocular would be nice. Here are my thoughts on this as an ocular admin:

  1. I think users should be able to choose whether to fall from aviate to ocular or vise versa, and IMO the default should be to fall through to aviate if ocular status isn't set... but then again, what shoukd be done about empty statuses which do have a colour? Or empty statuses that have no colour, but have been deliberately set that way? Maybe an ocular colour + aviate status combo?
  2. IMO, there needs to be a way for ocular admins to see aviate statuses from the dashboard, and change the preference that was mentioned in point 1. There wouldn't be any need for ocular admins to be able to set aviate statuses, but being able to report it to an aviate admin is a must for me. I'd be happy to implement this if needed.
  3. If point 2 was implemented, how should we list all the different stuff to be easily visible, unconfusing and also not take ages to load? This could be difficult. I'd be happy to hear anyone's thoughts on this :)
MystPi commented 2 years ago

this is awesome! perhaps we should add a checkbox to ocular's dashboard so that users can choose between aviate or ocular? that way we dont have to perform look ups for every user, and users get a little more control (they can switch back and forth).

That would be nice, but it would require a new database key. I have no experience with MongoDB, so I don't think I could do it.

also, i wanted to point out that if i do incorporate this integration into ocular, this'll only really complicate things further. the other choice is to let ocular and aviate stay separate, but that fragmentation really does no good.

Honestly, I agree. It would complicate it a bit more, but I think it would be worth it

jeffalo commented 2 years ago

don't worry, i can implement it. but first, i just posted some writing of my thoughts on the aviate topic. let me know what you think. https://scratch.mit.edu/discuss/post/6194829/

it's a complicated problem.

MystPi commented 2 years ago
  1. Maybe an ocular colour + aviate status combo?

Yeah, my PR just changes the status, not the color. Aviate doesn't even have a custom color thingy so this isn't really a problem.

2. IMO, there needs to be a way for ocular admins to see aviate statuses from the dashboard, and change the preference that was mentioned in point 1. There wouldn't be any need for ocular admins to be able to set aviate statuses, but being able to report it to an aviate admin is a must for me. I'd be happy to implement this if needed.

If the ocular admins were also Aviate admins, that wouldn't be much of a problem, since they can see all statuses and also change them.

MystPi commented 2 years ago

don't worry, i can implement it. but first, i just posted some writing of my thoughts on the aviate topic. let me know what you think. scratch.mit.edu/discuss/post/6194829

it's a complicated problem.

(Reposting my answer from Scratch here) I totally understand what you're saying; having two status systems is pretty confusing, but if we execute it correctly I think it wouldn't be too bad. Here's what I'm thinking:

  1. Make the ocular admins admins on Aviate as well. This will eliminate the need for adding an admin dashboard for Aviate on ocular since Aviate already has one.
  2. Use the simple “redirecting” code I already PR'd on my-ocular and go from there. If people end up needing a toggle between ocular and Aviate, we could work something out; I have faith in your MongoDB skills, so I'm sure you'll be able to do it.

Technically Aviate and ocular could stay separated, but I do agree that that's just plain annoying and redundant. Plus, if Aviate were to stay on it's own, I would probably have to develop some sort of Scratch integration for it to be worth it.

Also, I don't want to turn the "status language" into an npm package because:

Also, here's a picture of Aviate's admin panel, if any of you were wondering what it looked like: image

MystPi commented 2 years ago

Any updates?