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

Add a side workspace, similar to those in VSCode and PyCharm, to pgAdmin 4. #7708

Closed
akshay-joshi opened this issue Jul 18, 2024 · 11 comments
Closed
Assignees
Milestone

Comments

@akshay-joshi
Copy link
Contributor

Implement separate workspace for Query Tool, PSQL, Schema Diff, etc.
Attached is the POC work done.

There are a couple of things that we need to check:

  1. Persistent with the already opened tabs.
  2. Drag and Drop objects in the Query Tool.
  3. Classic UI vs New and their respective changes.
  4. Open an empty query tool tab which is difficult as a part of POC at the moment.

SideWorkspace_POC.patch

@akshay-joshi akshay-joshi self-assigned this Aug 13, 2024
@akshay-joshi akshay-joshi moved this to 🏗 In Progress in Current Sprint (188) Aug 13, 2024
@akshay-joshi akshay-joshi changed the title Add a side workspace button bar, similar to those in VSCode and PyCharm, to pgAdmin 4. Add a side workspace, similar to those in VSCode and PyCharm, to pgAdmin 4. Aug 13, 2024
@akshay-joshi akshay-joshi moved this from 🏗 In Progress to In Review in Current Sprint (188) Dec 10, 2024
@akshay-joshi akshay-joshi removed their assignment Dec 11, 2024
@akshay-joshi akshay-joshi added this to the 9.0 milestone Dec 11, 2024
@akshay-joshi akshay-joshi moved this from In Review to In Testing in Current Sprint (188) Dec 16, 2024
@anthonydb
Copy link
Contributor

@akshay-joshi I tried out the implementation of this and have a few thoughts to share from the perspective of a user:

  • Overall, this is a nice feature. Less clutter is good.
  • However, as a user working in the Query Tool, I often have need to reference the Object Explorer. I often drag/drop column or table names into the Query Tool. Or I need to simply look at table structure and column names. I understand that I can click over to the "Default Workspace" to see table structure, but the ability to simply glance back and forth between queries I'm writing and the explorer is helpful.
  • Thus, this implementation gives me only two choices -- 1) less clutter and more difficult access to Object Explorer or 2) changing settings to use the "classic" UI and not have access to the less-cluttered UI.

There could be a combination that would solve this issue: Simply make the Object Explorer a collapsible pane in the Query Tool workspace. When a user selects the Query Tool workspace, the explorer is closed by default. You would just need a way to signal to the user that it is available to be opened.

@akshay-joshi
Copy link
Contributor Author

@anthonydb

I agree that Drag-and-Drop is not supported in the Workspace layout. Could you please raise a feature request for it? We'll evaluate its feasibility. Additionally, you don’t need to navigate to the Object Explorer to view table structures or column names—you can use the autocomplete feature (CTRL + SPACE) in pgAdmin.

We considered making the Object Explorer a collapsible pane in the classic design. However, the Workspace layout is designed as a context-free environment, allowing users to connect to ad-hoc servers that may not be registered in the Object Explorer."

@anthonydb
Copy link
Contributor

@akshay-joshi

I have opened #8293. Thanks for considering.

@yogeshmahajan-1903 yogeshmahajan-1903 self-assigned this Jan 2, 2025
adityatoshniwal added a commit to adityatoshniwal/pgadmin4 that referenced this issue Jan 20, 2025
adityatoshniwal added a commit to adityatoshniwal/pgadmin4 that referenced this issue Jan 20, 2025
adityatoshniwal added a commit to adityatoshniwal/pgadmin4 that referenced this issue Jan 20, 2025
akshay-joshi pushed a commit that referenced this issue Jan 20, 2025
@yogeshmahajan-1903
Copy link
Contributor

Works fine.

@QuotallRmw
Copy link

Firstly well done on producing such a good tool, thanks for all your work on this.

However, I don't know who thought hiding the treeview of the database structure while writing queries was a good idea. From the look of the comment above "...similar to those in VSCode and PyCharm" it appears you're copying other designs.

It feels like coding "naked" without having a view of the database structure.

Ctrl/Space autocomplete is way to slow to be useable.

The ideal would be able to see the treeview then be able to click on table/column names, copy them (Ctrl/C), then paste them into the query editor (as per MSSQL Server Management Studio).

But I'll stick to v4.8 for now, I really don't like this "workspace" idea without being able to see the database structure.

@akshay-joshi
Copy link
Contributor Author

@QuotallRmw

Thank you for your review! We truly respect your feedback. This feature was implemented with the following goals in mind:

  1. To provide dedicated space for tools like the Query Tool, PSQL, and Schema Diff. All the tabs for the Query Tool/View Data, PSQL, and Schema Diff will now open within their respective workspaces.
  2. To allow users to easily query ad-hoc servers without the need to add them to the Object Explorer, which adds significant convenience.

Regarding the Drag & Drop feature, we have already submitted a feature request. We believe there is always room for improvement.

Ultimately, it’s your choice. However, we’ve also provided the flexibility to switch from the 'Workspace' layout to the 'Classic' layout. You can try the latest version and switch to the 'Classic' view if preferred.

@yogeshmahajan-1903 yogeshmahajan-1903 moved this from In Testing to ✅ Done in Current Sprint (188) Feb 7, 2025
@dangelsaurus
Copy link

For those wondering, here's how to get classic back.

Image

@polarlyset
Copy link

Thank you for all the time and effort you put into the development of pgadmin4! If I may place a request for future releases - please do keep the option to switch into classic layout. It is (for me) a huge time saver not having to switch back and forth between workspaces all the time. One only notices how often one takes a look at the database object tree to make sure the right table, view, field has been selected, when it's no longer there.

@akshay-joshi
Copy link
Contributor Author

akshay-joshi commented Feb 10, 2025

@polarlyset

You need to change the preference. Preferences > Miscellaneous > User Interface > Layout, and selecting Classic.

@craigmt1
Copy link

What a disastrously, awful decision to make this tool far less useful. Please revert this. If people have to go into "Classic" mode to make this useful again then you are moving in the wrong direction.

@akshay-joshi
Copy link
Contributor Author

@craigmt1

First and foremost, just because a few people may not be fond of the Workspace layout, it doesn't mean it's a poor or disastrous decision. Some users appreciate the layout, especially the dedicated space for tools like Query Tool and PSQL. We've also received positive feedback. While we value all input, we can't reverse the work we've invested in over the past three months based on a limited number of opinions.

That said, we do respect user feedback, and in response to suggestions, we've made the following adjustments to the Workspace layout:

With these changes, the Query Tool and PSQL tabs will now open in the same active workspace where the action is initiated.

For example:

  1. If you're currently working in the default workspace with the Tree view and you open the Query Tool/View/Edit Data or PSQL, it will open within the same workspace.
  2. Similarly, if any action is triggered from the Welcome page for the Query Tool or PSQL, the respective tab will open in the same active workspace.

Additionally, we've introduced a new preference setting: "Open the Query Tool/PSQL in their respective workspaces". By default, this setting is False. If set to True, it will behave like the v9.0 release, where the Query Tool, PSQL, and Schema Diff tabs will open in their respective workspaces when the Workspace layout is used.

This update will provide a more streamlined experience for all users. These changes will be available starting with the v9.1 release scheduled for March 6th. However, if you'd like to try them earlier, you can install the nightly build

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants