Re: pgadmin4 - Use classic style interface, don't launch browser?

From: Avin Kavish <avinkavish(at)gmail(dot)com>
To: Mark Murawski <markm-lists(at)intellasoft(dot)net>
Cc: "pgadmin-support lists(dot)postgresql(dot)org" <pgadmin-support(at)lists(dot)postgresql(dot)org>
Subject: Re: pgadmin4 - Use classic style interface, don't launch browser?
Date: 2019-07-30 03:02:57
Message-ID: CAFpscORnT2j9_QbGbpOgOzEtSH56ED2Z=KUNZhvyS3yG43q-WA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-support

Hey Mark,

I find this hard to believe as chrome uses process isolation per site
<https://www.chromium.org/Home/chromium-security/site-isolation> by
default. I believe firefox does too
<https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Multiprocess_Firefox>.
Whenever a website crashes only that tab crashes. It will prompt you to
recover or kill that tab in isolation. I'm a web developer too and I
sometimes let infinite recursion get through in my apps but I usually end
up being able to kill the tab without affecting the rest of my work. Maybe
the setting is turned off on your pc, you can check here,
chrome://flags/#site-isolation-trial-opt-out

Regards,
Avin

On Tue, Jul 30, 2019 at 12:01 AM Mark Murawski <markm-lists(at)intellasoft(dot)net>
wrote:

> Wow.. I go on vacation for a few days and I find this heated thread
> going full speed ahead!
>
> Interesting history on why the removal of the 'native interface' occurred.
>
> I do a lot of web work and routinely wind up with locked up or crashed
> browsers, so having pgadmin4 run in a browser tab is less than ideal..
> although sometimes I run firefox/chrome as another user to have some
> memory/process separation so that not ALL of my browsers die when
> chrome/firefox barfs up a big one. I suppose I could maintain yet
> another user and make sure I start up pgadmin4 as that.
>
> Would there be a possibility of embedding chromium? Since of course
> it's actively developed and everyone including their pet cat are using
> it as a rendering engine these days (including microsoft) Not sure of
> the compatibility with the BSD license would go...
>
>
>
>
> On 7/28/19 2:54 PM, richard coleman wrote:
> > Avin,
> >
> > Let me start by saying;
> > grinning_face_with_smiling_eyes.png
> >
> >
> > On Sun, Jul 28, 2019 at 3:43 AM Avin Kavish <avinkavish(at)gmail(dot)com
> > <mailto:avinkavish(at)gmail(dot)com>> wrote:
> >
> > They weren't aimed directly at anyone in particular. They were
> > suggestions for go-getters who like to take control of their own
> > fate and instead of waiting for the randomness of the universe to
> > deliver unto them what they seek. Maybe I should have put a warning
> > saying "not for the faint hearted, requires effort and reading docs
> > to accomplish"
> > Your missive appeared directed at the fella who was complaining
> > about the problems that pgAdmin4 relying on a browser was causing
> > him, especially in regards to password management. I apologize if I
> > misunderstood.
> >
> > so he would need to install nodejs, npm, nativefier, either open a
> > command line/terminal every time he wants to start pgAdmin4 or write
> > a batch/shell script to start it. He would also have to remember to
> > start the pgAdmin /server/ separately and forget about using the
> > "New pgAdmin window" function. To add insult to injury, he'd have
> > to have separate scripts/commands if he should want a tray icon or
> > to run it full screen.
> >
> > ^ With the way you word things, even standing up sounds hard. It's
> > all perspective, it's accomplishable with a bit of effort. While it
> > may not be possible to get nativefier to behave as described above,
> > because it's an automated tool, you can script electron to do all of
> > the above for you.
> > That depends on the person, for some people /putting in half a dozen
> > stitches /is accomplishable with a bit of effort (heck I've done it
> > myself, painful but surely doable). I would still recommend someone
> > who's sliced themselves open go to the emergency room, or at least
> > see a doctor. But I guess it's all a matter of /perspective/ 😉.
> >
> >
> > To add insult to injury,
> >
> > ^ There are no insults nor injuries mate, surely nothing physical.
> > It leads me to believe that you are referring to emotional injury.
> > Which then leads me to conclude that you are too emotional about
> > this whole business of administering a database thing. Or maybe you
> > are a fan of hyperbole, I don't know. Tone is up to interpretation
> > in written communication.
> >
> > Actually that's called /a figure of speech /[ *no end users were harmed
> > in the writing of the previous email*].
> >
> >
> > quite often actually. I have /lots/ of work to do that doesn't
> > involve a web browser.
> >
> > ^ Sure, do that work and also keep the web browser open? How does a
> > web browser window interrupt your work? How is it any different from
> > having a dedicated window open? Do you run out of RAM or something?
> > Do you accidentally start browsing memes when you have a browser
> > open? What's the problem? Be explicit about what's wrong with the
> > browser.
> >
> > In my case, I don't need it, and yes I *do* run out of RAM or
> > something (Can I have just a /little more RAM sir? )😋./
> >
> >
> > pulling the tab out wouldn't do *anything* toward solving his
> > problem, which revolved around password management
> >
> > ^ It wasn't meant to solve the password problem but needing a
> > standalone window problem, which is also mentioned in the write up.
> > In fact, this email wasn't aimed at anyone in particular. It is a
> > general write up with a few suggestions for all the standalone
> > window needs I've seen over the past few days. I haven't directly
> > addressed anyone. I'm not sure you who you are referring to by
> > "his". I'm just a developer sharing my knowledge in hopes that
> > someone would benefit from it.
> >
> > I don't know, but I am pretty sure /most/ people these days (with the
> > possible exception of my over 70 father) know how to either pull off a
> > tab, or start another instance of their web browser. '/His/' was the
> > person who wrote the initial email complaining about pgAdmin4 running in
> > a browser and making a mess of his password management.
> >
> >
> > Personally I have my own issues with the decision to write pgAdmin4
> > as a /web app/ running in it's own self contained web server.
> > However I don't think that there is much of a desire among the
> > /official/ dev team to change this
> >
> > ^ pgAdmin4 cannot be changed from a client-server architecture to
> > anything else. It is too late. A re-write would be required, which
> > is a breaking change. The only possibility is to affect the design
> > decisions of pgAdmin5 or 6. If anyone makes a factual and formal
> > presentation of why the existing client-server architecture should
> > be replaced with something else rather than improving it, we could
> > have a serious discussion. But I doubt it, I think everything can be
> > improved within the current architecture.
> > Yes, as a developer I realize the work it would take at this stage
> > to create an actual client program as opposed to the embedded web
> > server that it is now. Which is why I wrote that I don't see much
> > of a desire among the official dev team to change things. If you,
> > or any member of the dev team wants to have a serious discussion
> > about the merits and limitations of the current architecture with a
> > goal of possibly changing things, I'm all for it. Unfortunately it
> > appears that the design and road map have already been determined by
> > the current dev team. With the exception of reported bugs, or
> > unforeseen issues, they don't appear to be open to any substantial
> > changes.
> >
> > One thing I don't see in these emails is any credible facts and
> > arguments against browsers, just a statement of personal unhappiness
> > at the change of status quo. Maybe, if arguments based on facts that
> > affect user experience, security or performance were provided, the
> > team would do something about them, as they have been doing since
> > the start. Instead, I see complaints. I don't see constructive
> > feedback on possible improvements on this topic. I don't see
> > solutions. I don't even see real problems.
> > Hmmm.. where to begin.
> >
> > * not all browsers are supported (as evidenced by a bug report where I
> > was told that Chromium isn't a /supported/ browser)
> > * you have to run the UI as a separate program from the program itself
> > * you have to worry about collisions between a /particular/ browser's
> > short cuts and another's (Chrome is different from FireFox is
> > different from Edge, etc.)
> > * context (or right-click) menus aren't typical of a desktop program
> > (no copy / paste option in the query window for example)
> > * you are limited to a single /window /(tab)
> > * you don't have true pop-ups/dialog boxes/notifications
> > * if you detach a query editor panel, you can't reattach it (though
> > that's hopefully just an unresolved bug)
> > * your /session/ is now open to attacks from malicious plugins or
> > random people across the internet (it's a /browser/ after all)
> > * your user / password management is effected by your particular
> > browser's cache or policy
> > * you're limited to the sand boxed security restrictions of the
> > particular browser you happen to be using (try loading a 10 GB file)
> > * disruptions of the connection between the application and the UI,
> > timeout's etc. occur (long running pgAdmin4 sessions can cause the
> > UI to freeze under kubuntu).
> >
> > Not an exhaustive listing by any stretch, just what I could come
> > up with off the top of my head.
> >
> > so, your final suggestion is that, /if/ he's a javascript developer
> > he could simply /write his own program/ to fix a perceived pgAdmin4
> > shortcoming.
> >
> > ^ yeah absolutely, write your own programs without asking other
> > people to do it for you for free of charge !!!!????? It's open
> > source software. No one owes you anything. This is distributed
> > without liability
> > <https://electronjs.org/docs/api/browser-window>. The existence of
> > postgresql and pgadmin itself are mere courtesies.
> >
> >
> > 😂 No one said that they were *owed* anything. No one is claiming
> > anyone is /liable/ for anything either. Saying that if you don't like
> > it you should just write your own is rather short sighted. Unless the
> > dev team is writing pgAdmin4 *only* for *themselves* then they should
> > care about what the end users care about. Otherwise they may find that
> > they are the only ones using it. 🤔
> >
> >
> > I did not mean write an entirely new admin app, I meant embed
> > pgAdmin4 in Electron which literally takes 5 lines of code as a
> > start <https://electronjs.org/docs/api/browser-window>. 1. Create a
> > browser window. 2. Point it to pgAdmin4 URL. 3. Enjoy !!. If you
> > know SQL, this is definitely do-able. And no it's not like the
> > normal browser window. It will look like a normal app. Or you could
> > increase the immersion by creating a frameless window but you may
> > not be able to close it normally.
> > https://electronjs.org/docs/api/frameless-window
> >
> > Here's a starting point. Follow this getting started
> > <https://electronjs.org/docs/tutorial/first-app>first and replace
> > the code in main.js
> >
> > |const { app, BrowserWindow } = require('electron') let win function
> > createWindow () { win = new BrowserWindow({ width: 800, height: 600,
> > webPreferences: { nodeIntegration: true } }) win.loadURL('|
> http://127.0.0.1:45707/browser/') // <--- Fix the port number and point
> this address to it.
> >
> > |win.on('closed', () => { win = null }) } app.on('ready',
> > createWindow) app.on('window-all-closed', () => { if
> > (process.platform !== 'darwin') { app.quit() } }) app.on('activate',
> > () => { if (win === null) { createWindow() } })|
> >
> > That's all there is to it. Once you have that working, you can take
> > it a step further by getting electron to launch the pgadmin4 server
> > if it is not running already by using spawn
> > <
> https://nodejs.org/api/child_process.html#child_process_child_process_execsync_command_options
> >
> >
> > It's nice that you included the above, but it's not terribly helpful
> > to the /non/-programmer. I could write the Lorentz transformation
> > equations to handle relative velocities in special relativity
> >
> > image.png
> >
> > but unless you're familiar with differential calculus and special
> > relativity it's not very helpful.
> >
> > *Maybe an alternate launch option based on Electron should be an
> > officially supported feature ?*
> >
> > Maybe. Though I think it would have to handle the above mentioned
> > limitations, and be /built in/ for it to help *most* people.
> >
> > So there, no attacks, insults, or other /negativity. / Just one man's
> > opinion.
> >
> >
> >
> > On Sun, Jul 28, 2019 at 1:07 AM richard coleman
> > <rcoleman(dot)ascentgl(at)gmail(dot)com <mailto:rcoleman(dot)ascentgl(at)gmail(dot)com>>
> > wrote:
> >
> > Hi Avin,
> >
> > My $0.02
> >
> > On Sat, Jul 27, 2019 at 2:11 PM Avin Kavish
> > <avinkavish(at)gmail(dot)com <mailto:avinkavish(at)gmail(dot)com>> wrote:
> >
> > Hey,
> >
> > Here's some unofficial input on the topic.
> >
> > This request baffles me for two reasons.
> >
> > a. Why does one need a standalone window when they can have
> > pgAdmin open in a tab while multi-tasking. Is there ever a
> > time when the web browser is closed while using a pc in
> > 2019? If you lose tabs you can pin the tab and it will
> > always be on the left side.
> >
> > quite often actually. I have /lots/ of work to do that doesn't
> > involve a web browser.
> >
> > b. If you want it to run in it's own window, you can drag
> > and pull the tab to it's own standalone window.
> >
> > pulling the tab out wouldn't do *anything* toward solving his
> > problem, which revolved around password management
> >
> > If that doesn't solve your problem,
> >
> > You can try Nativefier but you might need to launch pgAdmin
> > on the same port each time. It basically wraps any web site
> > in an electron app. Electron fyi allows developing desktop
> > apps using web technologies. It's based on chromium and
> > nodejs and renders web apps just like google chrome would.
> > https://github.com/jiahaog/nativefier
> >
> > so he would need to install nodejs, npm, nativefier, either
> > open a command line/terminal every time he wants to start
> > pgAdmin4 or write a batch/shell script to start it. He would
> > also have to remember to start the pgAdmin /server/ separately
> > and forget about using the "New pgAdmin window" function. To
> > add insult to injury, he'd have to have
> > separate scripts/commands if he should want a tray icon or to
> > run it full screen.
> >
> >
> > Or if you are a javascript developer you can write an
> > electron app yourself to encapsulate and extend upon the
> > current functionality. https://electronjs.org/
> >
> > so, your final suggestion is that, /if/ he's a javascript
> > developer he could simply /write his own program/ to fix a
> > perceived pgAdmin4 shortcoming.
> >
> > Personally, I find it convenient to have it as a tab while
> > reading docs and other stuff and often prefer it to
> > switching to my IDE.
> >
> > I'm glad that you find the current set up convenient,
> > unfortunately it seems like this is a problem for at least Mark
> > and tutiluren.
> >
> > Once again, this is unofficial. I'm not part of the team.
> >
> > neither am I.
> >
> > Personally I have my own issues with the decision to write
> > pgAdmin4 as a /web app/ running in it's own self contained web
> > server. However I don't think that there is much of a desire
> > among the /official/ dev team to change this.
> >
> > rik.
> >
> > Regards,
> > Avin
> >
> > On Sat, Jul 27, 2019 at 10:51 PM Murtuza Zabuawala
> > <murtuza(dot)zabuawala(at)enterprisedb(dot)com
> > <mailto:murtuza(dot)zabuawala(at)enterprisedb(dot)com>> wrote:
> >
> > Hello,
> >
> > I am afraid this is not possible at a moment, pgAdmin4
> > doesn't have its own UI rendering engine so it is
> > dependent on the default web browser on the user's
> system.
> >
> > -- Murtuza
> >
> > On Fri, 26 Jul 2019, 21:32 Mark Murawski,
> > <markm-lists(at)intellasoft(dot)net
> > <mailto:markm-lists(at)intellasoft(dot)net>> wrote:
> >
> > Hello!
> >
> > How can I go back to the traditional pgadmin4
> > interface where it runs in
> > its own window. I do not want to launch it as a
> > browser tab.
> >
> >
>
>
>
>
>

In response to

Responses

Browse pgadmin-support by date

  From Date Subject
Next Message Darren Duncan 2019-07-30 03:08:29 Re: pgadmin4 - Use classic style interface, don't launch browser?
Previous Message Mark Murawski 2019-07-29 18:30:51 Re: pgadmin4 - Use classic style interface, don't launch browser?