Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RFC: Rework editor modes #317

Open
1 of 11 tasks
akphi opened this issue Jul 5, 2021 · 0 comments
Open
1 of 11 tasks

RFC: Rework editor modes #317

akphi opened this issue Jul 5, 2021 · 0 comments
Labels
Application: Studio Issues related to Legend Studio application Studio Core Team Opened by a member of the Studio core team Type: Discussion Type: Refactor
Milestone

Comments

@akphi
Copy link
Contributor

akphi commented Jul 5, 2021

💬 Request for Comments

Within Studio, we currently support 3 modes: editor, viewer, and review, each is somewhat being treated differently: e.g. viewer mode does not allow editing elements, review mode does not allow viewing and working with the element, etc. When query builder becomes standalone, we might need to yet support another mode. What we realize is, these modes are not too far off from one another. In fact, we are trying to bring them closer in functionalities - see #297.

In fact, we should consider all the flows and just make them different in a very small set of features. Instead of thinking that we should create a brand new mode without any functionality and then adding them one by one (like what we're trying to do in #297), we probably should start using EditorStore and having ways to disable certain features if that's cleaner. i.e. starts from the full one - editor mode - and see what we can turn off

Implementation Plan

  • Introduce EditorMode - studio: rework handling of multiple SDLC instances #642
  • Start moving logic and creating new flags in EditorMode for places we need to use isInViewerMode etc. NOTE: we should also review the content of the old implementation plan.
  • We should use this for ViewerStore as well as there are many ways to launch Viewer mode now

Implementation Plan (OLD - TO BE REVISED)

  • Viewer mode:
    • Disable saving/Review/Workspace Updater
    • Keep the LocalChange panel around, but then have a feature so that people can make changes to the model and if they like, they can create a new workspace with these changes (almost like git checkout -b <branch_name> behaviour)
  • Review mode:
    • Disable editing, playing around is good, but editing is not in this mode, it's confusing, probably -> we, however, can give people the choice to create a workspace from this branch though - which might need some SDLC work
    • Disable saving/review/Workspace updater
  • Query builder viewer mode - this is the base for the standalone query builder
    • Disable editing everything, everything would be read-only (similar to the current viewer mode)

The current implementation is not bad, what we should do, however, is to add boolean flags when we configure EditorStore for the first time instead of relying on the flags like isInViewerMode, etc.

@akphi akphi changed the title RFC: Rework Modes RFC: Rework Editor Modes Jul 5, 2021
@akphi akphi changed the title RFC: Rework Editor Modes RFC: Rework editor modes Jul 5, 2021
@akphi akphi added the Studio Core Team Opened by a member of the Studio core team label Oct 29, 2021
@akphi akphi changed the title RFC: Rework editor modes Feature request: Rework editor modes Nov 6, 2021
@akphi akphi changed the title Feature request: Rework editor modes RFC: Rework editor modes Nov 6, 2021
@akphi akphi added this to the On Deck milestone Nov 18, 2021
@akphi akphi added the Application: Studio Issues related to Legend Studio application label Feb 28, 2022
@akphi akphi removed the help wanted label Oct 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Application: Studio Issues related to Legend Studio application Studio Core Team Opened by a member of the Studio core team Type: Discussion Type: Refactor
Projects
None yet
Development

No branches or pull requests

1 participant