p5.js-web-editor icon indicating copy to clipboard operation
p5.js-web-editor copied to clipboard

privacy messaging and private/public flag on sketches

Open aparrish opened this issue 8 years ago • 20 comments

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!

aparrish avatar Sep 07 '16 17:09 aparrish

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?

JithinKS97 avatar Mar 02 '20 08:03 JithinKS97

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 ?

nik72619c avatar Mar 08 '20 12:03 nik72619c

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.

pcgamer1 avatar Mar 14 '20 14:03 pcgamer1

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

aldrinjenson avatar Mar 22 '20 14:03 aldrinjenson

This is being actively worked on by @Khensura21.

catarak avatar Apr 06 '20 19:04 catarak

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

dhowe avatar Sep 27 '20 12:09 dhowe

This is coming soon, within the next few months!

catarak avatar Oct 14 '20 20:10 catarak

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:

basicvisual avatar Nov 20 '21 17:11 basicvisual

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!

SFUMisha avatar Jul 03 '22 09:07 SFUMisha

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

EmmanuelPil avatar Aug 04 '22 12:08 EmmanuelPil

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

Thanks

cgortonpenguinhall avatar Jan 31 '23 17:01 cgortonpenguinhall

@catarak any updates on this ? thanks!

dhowe avatar Feb 01 '23 01:02 dhowe

I want to contribute to this project.

Kanchan9m avatar Mar 04 '23 12:03 Kanchan9m

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

sachinsh01 avatar Mar 14 '23 20:03 sachinsh01

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

Khensura21 avatar Apr 07 '23 18:04 Khensura21

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?

Keerthivardhan1 avatar Oct 03 '23 19:10 Keerthivardhan1

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.

dhowe avatar Oct 04 '23 02:10 dhowe

@dhowe Yeah it would be decent start for this issue

Keerthivardhan1 avatar Oct 04 '23 07:10 Keerthivardhan1

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

Keerthivardhan1 avatar Oct 04 '23 07:10 Keerthivardhan1

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

  • p5mirror And this repo that can quickly update, including delete your sketches, if you choose to work outside of editor.p5js and selectively publish to editor.p5js from a private repo:
  • p5mirrorLib crud

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

p5moLab avatar Apr 24 '24 23:04 p5moLab