snap-cloud / snapCloud

Official cloud backend and community site for the Snap! programming language
https://snap.berkeley.edu/
GNU General Public License v3.0
52 stars 28 forks source link

Saving a Project Originating from another user should save a new project #192

Open cycomachead opened 5 years ago

cycomachead commented 5 years ago

This is potentially front-end + back-end problem. I'm not sure what's the best solution, but I don't like what we currently do.

Let's say I have my own project called "Midterm Project", and then I open up someone else's "Midterm Project" - but an entirely different one. If I hit "Save" then I'll overwrite my own project.

This seems wrong, right? We should have a of "forcing" a new project to be saved as new and then you should see a name conflict.

cycomachead commented 5 years ago

@jmoenig, @brianharvey

-- Idea:

Also, while we'd still need to update Snap!, on solution is to follow a more strict REST API structure. PUT always creates new records, and POST updates an existing one.

Save-As is always a PUT, Save would be a POST if you opened a project and it has your username, otherwise it should be a PUT.

We could also use a queryparam I suppose.

bromagosa commented 5 years ago

This can totally be solved at the frontend, thanks to the fact that your own projects aren't treated as remixes :wink:

If there's a remix ID in the stage, trigger a "save as", otherwise just save.