processing / p5.js-web-editor

The p5.js Editor is a website for creating p5.js sketches, with a focus on making coding accessible and inclusive for artists, designers, educators, beginners, and anyone else! You can create, share, or remix p5.js sketches without needing to download or configure anything.
https://editor.p5js.org
GNU Lesser General Public License v2.1
1.38k stars 1.32k forks source link

privacy messaging and private/public flag on sketches #91

Open aparrish opened 8 years ago

aparrish commented 8 years ago

I love that there's a publicly-visible list of sketches for particular users! But it's not necessarily intuitive for new users that any work they do in the web editor will be public by default. So there should be messaging that tells users that sketches they save might be visible to anyone.

Alternatively/additionally, it would be great to have a public/private (or draft/published, or whatever language you want to use) flag on sketches that determines whether the sketch appears in the user's list of sketches in the public view.

Of course this ticket runs the risk of spiraling out into a full-blown sketch authorization thing, and it's probably worth addressing at some point (if this hasn't already been addressed) things like making sketches that are only visible to the owner of the sketch, or to a group of users specified by the owner, or only visible to authenticated users, etc etc etc. But a public/private flag is the bare minimum necessary in my opinion!

JithinKS97 commented 4 years ago

Hey @catarak I'm interested in taking up this issue and discuss more about the design aspects of implementing it. Can you provide me some ideas on how should I start and move forward?

nik72619c commented 4 years ago

Hi , I am interested in working on this one . @catarak can you please guide me through how shall we start implementing it up ? What is the plan of action and which subtasks are at priority ?

pcgamer1 commented 4 years ago

I am interested to work on this feature. I would like to know more about the exact requirements and the location of required change on Github.

aldrinjenson commented 4 years ago

Seeing that the issue is over 3 and a half years old, it would be really helpful if someone could provide a bit more information on proceeding to fix this. Thanks

catarak commented 4 years ago

This is being actively worked on by @Khensura21.

dhowe commented 4 years ago

Status on this? I see some commits but nothing since May

catarak commented 4 years ago

This is coming soon, within the next few months!

basicvisual commented 2 years ago

Hi , curious to know if there has been any updates on this ?My idea is to display my sketches without the jibberish experimental code :+1:

SFUMisha commented 2 years ago

Hello, has been a little bit since the last activity here. Just wondering if any functionality for privateing sketches has been released yet? or maybe an eta when it could be possible? Would really love this feature, thank you!

EmmanuelPil commented 2 years ago

@SFMischa "Would really love this feature, thank you!" Same here!

cgortonpenguinhall commented 1 year ago

I would also like to see this completed. Right now, my students can access my entire portfolio, which is not ideal.

Thanks

dhowe commented 1 year ago

@catarak any updates on this ? thanks!

Kanchan9m commented 1 year ago

I want to contribute to this project.

sachinsh01 commented 1 year ago

Hello, I'm Sachin Sharma, and I am a 4th-year B.Tech student at VIT University with a passion for software development. I'm interested to apply and work on the project "Add Ability to Make Sketches Private" for Google Summer of Code 2023.

In terms of my previous experiences, I have worked on several Full-Stack projects. I have also developed skills in HTML, CSS, JavaScript, Version Control, MongoDB, etc., which I believe will be useful in completing this project successfully.

I am particularly interested in working on this because my skills and experiences align well with the project's requirements and I would be able to make a valuable contribution.

My proposed solution for this project is:

Develop a new sketch creation page UI that allows the user to select whether the sketch should be public or private. We can add a property/flag to the sketch object in the database that indicates whether they are private or public. Once an authenticated user has created a private sketch, it should be hidden from the public. This can be achieved by modifying the sketch listing page to only show public sketches by default. Private sketches can be accessed by the user who created them, and by any authorized users they have granted access to. The advanced feature of authorizing certain users to view private sketches can be implemented using a simple access control system. This can involve allowing the user who created the sketch to specify a list of authorized users who can view the sketch.

I'm looking forward to hearing your feedback about my idea.

Thanks

Khensura21 commented 1 year ago

That sounds like a great Idea; maybe we can work together to implement it @sachinsh01

Keerthivardhan1 commented 1 year ago

Hello @catarak,

I have intermediate proficiency in React and Redux, and I would like to contribute to the development of this feature. Here is my plan.


client (Frontend )

Initial state of project +isPrivate : false, +AuthorisedUsers = [Action.owner]

Actions +makePrivate() +addAuthorizedUsers() +removeAuthorizedUsers()

If(multiple user wants to edit the project, we need to give the access to do so) then so changes need to be made in functions related to saving where it compares user ID


Server(Backend)

model / project.js changes in schema +isPrivate : false +AuthorizedUsers : []

controllers : +getIsPrivate() +setIsPrivate() +updateAuthorizedUsers()

and changes are needed while fetching list of projects from server while displaying examples

Feel free to share your thoughts or provide suggestions on this, Your insights and suggestions contribute significantly in solving this issue.

@Khensura21 are you working on this issue?

dhowe commented 1 year ago

The above comments outline a good path, however, I would argue for a simple private/public toggle (or menu item) for sketches as the first step/release as soon as possible. Once this basic and essential feature is in place, we can then plan more advanced options such as a sketch-creation UI and multi-user and/or collaborative access.

Keerthivardhan1 commented 1 year ago

@dhowe Yeah it would be decent start for this issue

Keerthivardhan1 commented 1 year ago

@catarak are you working on this issue ?
as this issue assigned to @catarak

p5moLab commented 5 months ago

A possible work around to use now is this repo that allows you to quickly download all your editor.p5js sketches:

Software is in alpha so please contact me if you wish to have a walk through