Skip to content
This repository has been archived by the owner on May 5, 2020. It is now read-only.

Cloud Collaboration: Implement an option to switch between local saved states and a public cloud option #7

Open
12 tasks
justkd opened this issue Jul 25, 2018 · 0 comments
Labels
enhancement New feature or request

Comments

@justkd
Copy link
Contributor

justkd commented Jul 25, 2018

Description

This should not interfere with current functionality, but there should be an option on the saved state menu to view a persistent, online database of saved states.

Should include a simple user login functionality as well.

Will require that we set up a cloud database first.

  • I think we have access to AWS already.
  • mLab is a potential option. NoSQL, free 500mb.
  • Airtable lets us manage users via a spreadsheet. It can be interacted with as a database, but then provides a spreadsheet-like frontend for viewing and managing entries. This could be useful for managing users as well as saved states.

The database needs to be set up to manage saved states, users, and a history of complete database states for recovery purposes.

Mocks

One option could be to have a cloud icon that lets you switch between modes

  • Is this the best since you would have to duplicate the option or provide another solution on the export screen?
    cloud-save-example-1

Another option could be to show both local and cloud options in both the saved state menu and export menu
cloud-save-example-2

Acceptance Criteria

Update [Required]

  • Create a cloud database with relevant models to handle saved states and users.
  • Update saved state UI with login fields. Logins should consist of email and password. Should offer appropriate feedback for failed/successful logins and should offer a simple email-based password recovery option.
  • App should retrieve list of saved states and populate the relevant area when a user logs in.
  • Cloud based saved states should work exactly like local saved states, only adding references to users. Each saved state should show who created the state, and who last modified it. Consider retaining a list of modifications per state and showing its history when something is clicked.
  • On the frontend, making modifications to the database should work in the same manner as saving/loading/renaming/deleting local saved states. Modifications should be recorded in the local history per cloud saved state, and major modifications (such as deleting an entire saved state) should be recorded in a separate history, allowing us to recover from any serious mistakes.

Enhancement to Update [Optional]

  • Creators for saved states could be able to set permissions for other users. Consider public editing, read only, and specific permissions for individual user accounts.
  • Ability to safely clone a saved state.
  • Real-time collaborative editing (a la google docs) may be more than is necessary, but it could be nice to show if a user is logged in and has loaded a saved state so others will know if it's being worked on. This can help to avoid clashes.
  • In app message board? Could be easy to implement by storing messages in the database and having sessions for users who are logged in to regularly update itself. Needs UI considerations.
  • Have a logged-in user use an online work session that is automatically saved as changes are made, and restored when logged in. Could still download and upload local sessions. Uploading a session while logged in would be reflected in the cloud. Another more complex option would be to let users manage their own cloud-based work sessions independent of the communal saved states.

Definition of Done

  • All of the required items are completed.
  • Approval by 1 mentor.
@justkd justkd added the enhancement New feature or request label Jul 25, 2018
@justkd justkd changed the title Implement an option to switch between local saved states and a communal, public, cloud option Cloud Collaboration: Implement an option to switch between local saved states and a communal, public, cloud option Jul 25, 2018
@justkd justkd changed the title Cloud Collaboration: Implement an option to switch between local saved states and a communal, public, cloud option Cloud Collaboration: Implement an option to switch between local saved states and a public, cloud option Jul 25, 2018
@justkd justkd changed the title Cloud Collaboration: Implement an option to switch between local saved states and a public, cloud option Cloud Collaboration: Implement an option to switch between local saved states and a public cloud option Jul 25, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant