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

Improve "Favorites" (servers/users) #708

Open
voltechs opened this issue Apr 30, 2020 · 5 comments
Open

Improve "Favorites" (servers/users) #708

voltechs opened this issue Apr 30, 2020 · 5 comments

Comments

@voltechs
Copy link

Hi @jakob,

First, thanks for all the hard work you and your team put into Postico. I find it exceptionally valuable to my work and have been a happy customer for a long time. You've been responsive to emails and overall just a good experience.

In the course of my work, both professionally and personally, I find myself connecting to a lot of databases. What's more, as a lot of best practices will show, using multiple users (roles/passwords) is preferable to having one master root account.

As such, I typically have something along the lines of:

  • master (root)
  • schema manager (migrations/migrator)
  • account per service
  • readonly/analytics

And of course, we have read replicas to contend with as well. Needless to say, this leaves my "favorites" directory a bit overwhelming.

I'd like to offer an idea/suggestion. How would you feel about restructuring the favorites window to allow defining servers, and then within those servers, you can define different users/roles that are appropriate for logging in. Perhaps a collapsable UI (like folders in list view), with a selectable default user/pass for logging in. That way, most of the current behavior is maintained (click "Connect" to log in, or select a different user/pass combo specifically.

I've made a desperate attempt at using colors to help bring some sanity to all of this but got to thinking that perhaps by defining one line per server, and then within that, defining users/roles, we might achieve the organization I'm looking for.

I checked out Postico 2—looking cool! Thought perhaps my issue might have been resolved there, but the same interface seems to be present there as well. And finally, I saw that there is some interest in getting AWS IAM login working. That ask might benefit from a refactor on servers/users as it could allow you to "object-orient" a user/login class of some sort.

I've attached a photo in hopes that it might help you empathize a bit with my plight.

All the best,

~ Dale

image

@jakob
Copy link
Owner

jakob commented May 1, 2020

Thanks for the very detailed feedback! This is the first time I hear that someone wants to log in to the same server with different users. It makes sense, but I do wonder how common that use case is.

One new feature in Postico 2 has to offer is Favorite Groups / Folders, which should allow you to organize your favorites in a hierarhical manner. This might go some way towards fixing your issue, but you would still need to duplicate your favorites and change user names etc.

I've been thinking about this for a bit, and one possible solution would be to offer sub-favorites, which allow you to create a favorite identical to a parent favorite, but you can override individual settings. In your case, you'd create sub-favorites for every role, and just override username and password. That solution would also allow overriding other settings like the search path, transaction mode, default database, etc. Or even the host name, which would be very useful for people who have more or less identical servers set up for testing/staging/production.

There are multiple ways we could implement a feature like this:

  • favorites and subfavorites
  • default settings for groups (then the actual favorites would just override the settings that are different)
  • add explicit dependency on a base favorite (all values that are not provided use the base favorite's value)

Something like this would also be very useful for sharing SSH settings, which is something else that a few people have asked for.

@voltechs
Copy link
Author

voltechs commented May 1, 2020

Cool! That sounds like a pretty flexible solution to what I’m asking for. Great to hear about folders, I almost suggested that as a stop gap but apparently you already have it!

The inherent-able favorite really gives the user all the power in this case where they can choose whatever they want to override. It would be nice in my particular use case as well because I use SSH to tunnel through a bastion host first, so I would t have to duplicate that, and more importantly, only change it in one place.

I could have a folder/group per environment, and then per database, and per user.

@jakob
Copy link
Owner

jakob commented May 11, 2020

I've discussed this issue with @martinjankoehler and we found no obvious way to add this functionality to the current UI without making it a lot more complicated. We're also not sure how many people would really understand and actually use a feature like this. For this reason, we've decided not to work on this feature right now.

(On a side note, this would also have been very useful for people who want an easy way to create separate favorites for each database on a server)

@voltechs
Copy link
Author

@jakob No worries. I appreciate the consideration. Now there is a place for others to chime in on the feature request and we can see if it's popular or not!

Yea that's a good point, regarding separate databases per server. Feels like a pretty solid feature that would bring a lot of functionality and usability to Postico if/when y'all decide it's worth it. In the meantime, I'm still a (mostly 😉) happy customer!

@dewey
Copy link

dewey commented Sep 11, 2020

This is the first time I hear that someone wants to log in to the same server with different users. It makes sense, but I do wonder how common that use case is.

Just wanted to say that I do this every day and I know a lot of people who do that too. Especially if you have read-only users and then a read-write user or a super user to set database permissions. The way I do it currently is that I just add a (username) to my favorites which works fine for my use case.

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

No branches or pull requests

3 participants