Обсуждение: pgadmin-for-web is going nowhere

Поиск
Список
Период
Сортировка

pgadmin-for-web is going nowhere

От
Josh Berkus
Дата:
Folks,

Installing pgadmin-for-web is painful, poorly documented, and broken.
As a result, it's not considered a real UI by anyone not on this team.

Six months ago, I jumped on this with the goal of solving it, partly
through use of linux containers.  However, I'm full stop because of the
emphasis on (a) having only one package which is both desktop and web,
and (b) treating the web version as the ugly stepchild.

See: https://redmine.postgresql.org/issues/2495#change-7635

If you read the conversation on pgsql-advocacy, for example, you'll see
that even people in our own community regard pgAdmin4 as not production
quality software.

As such, I'm done.  When y'all decide to get real with caring about
users' ability to install pgadmin for web, ping me.

--Josh Berkus


Re: pgadmin-for-web is going nowhere

От
Dave Page
Дата:


On Thu, Jul 13, 2017 at 6:23 PM, Josh Berkus <josh@berkus.org> wrote:
Folks,

Installing pgadmin-for-web is painful, poorly documented, and broken.
As a result, it's not considered a real UI by anyone not on this team.

Have you re-read the docs since I told you some time back that I was updating them? As far as I can see they cover every step now, in detail.
 

Setting up in server mode by following those docs takes just a few minutes.


Six months ago, I jumped on this with the goal of solving it, partly
through use of linux containers.  However, I'm full stop because of the
emphasis on (a) having only one package which is both desktop and web,
and (b) treating the web version as the ugly stepchild.

It's not an ugly step-child - it's a non-default configuration because the majority of users use desktop mode. There's a big difference.
 

See: https://redmine.postgresql.org/issues/2495#change-7635

Right - your suggestion there was reverted because it became quickly clear that it broke the default desktop mode.
 


If you read the conversation on pgsql-advocacy, for example, you'll see
that even people in our own community regard pgAdmin4 as not production
quality software.

Yes - and in every case I'm aware of, that is either because of a Qt performance issue on Windows which is now resolved, or because the reported considered that it needed a particular feature for their use-case (the majority of which have now been implemented anyway). That does not stop it being production quality; there are many users using it daily quite successfully.
 
As such, I'm done.  When y'all decide to get real with caring about
users' ability to install pgadmin for web, ping me.

Oh, we care. That's why it's well documented and takes just a few easy steps - and why for some time now I've been wracking my brain about ways to make it even easier. There are a bunch of pgAdmin containers on Docker Hub available, few, if any of which were setup with the help of our mailing lists, so it's presumably not that hard to do. Either that or the Docker guys have thicker skins than the Project Atomic guys :-)

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Re: pgadmin-for-web is going nowhere

От
Robert Eckhardt
Дата:
Josh, 

I'd be interested in knowing what specific things could be done to make you think that the Web version is no longer the 'ugly stepchild'. 

If I consider our (Pivotal's) current development process then the most honest thing we could say is that the desktop application is our afterthought. All of our development is done in the browser, our acceptance environment is an application pushed into a garden container hosted in the cloud. 

Admittedly, we haven't focused on the installation experience so if you could explain why it is so painful we could look at merging some of the things we are doing for acceptance into the application itself for distribution. 

-- Rob

On Thu, Jul 13, 2017 at 1:23 PM, Josh Berkus <josh@berkus.org> wrote:
Folks,

Installing pgadmin-for-web is painful, poorly documented, and broken.
As a result, it's not considered a real UI by anyone not on this team.

Six months ago, I jumped on this with the goal of solving it, partly
through use of linux containers.  However, I'm full stop because of the
emphasis on (a) having only one package which is both desktop and web,
and (b) treating the web version as the ugly stepchild.

See: https://redmine.postgresql.org/issues/2495#change-7635

If you read the conversation on pgsql-advocacy, for example, you'll see
that even people in our own community regard pgAdmin4 as not production
quality software.

As such, I'm done.  When y'all decide to get real with caring about
users' ability to install pgadmin for web, ping me.

--Josh Berkus


Re: pgadmin-for-web is going nowhere

От
Devrim Gündüz
Дата:
Hi,

On Fri, 2017-07-14 at 09:01 +0100, Dave Page wrote:

> Right - your suggestion there was reverted because it became quickly clear
> that it broke the default desktop mode.

What if I invent an optional "pgadmin4-v1-web-setup" (or whatever) package,
that does what Josh suggested?

Regards,
--
Devrim Gündüz
EnterpriseDB: https://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR

Re: pgadmin-for-web is going nowhere

От
Robert Eckhardt
Дата:
I'm somewhat unclear as to what the desired behavior is supposed to be from the writeup of that Redmine issue. 

If I were to guess what was wanted it would be a slightly different build that included a container that had: 
  • Python preconfigured
  • Apache HTTPD configured
  • Then had the application installed. 
Would it make sense to just create a docker image that had everything done with some default settings that could be downloaded off of Dockerhub?  Then if you wanted to 'install' the server you could copy the latest image, spin it up and just modify the security settings as desired. 

-- Rob

On Fri, Jul 14, 2017 at 1:58 PM, Devrim Gündüz <devrim@gunduz.org> wrote:

Hi,

On Fri, 2017-07-14 at 09:01 +0100, Dave Page wrote:

> Right - your suggestion there was reverted because it became quickly clear
> that it broke the default desktop mode.

What if I invent an optional "pgadmin4-v1-web-setup" (or whatever) package,
that does what Josh suggested?

Regards,
--
Devrim Gündüz
EnterpriseDB: https://www.enterprisedb.com
PostgreSQL Danışmanı/Consultant, Red Hat Certified Engineer
Twitter: @DevrimGunduz , @DevrimGunduzTR

Re: pgadmin-for-web is going nowhere

От
Magnus Hagander
Дата:
On Fri, Jul 14, 2017 at 7:58 PM, Devrim Gündüz <devrim@gunduz.org> wrote:

Hi,

On Fri, 2017-07-14 at 09:01 +0100, Dave Page wrote:

> Right - your suggestion there was reverted because it became quickly clear
> that it broke the default desktop mode.

What if I invent an optional "pgadmin4-v1-web-setup" (or whatever) package,
that does what Josh suggested?

Shouldn't it be 3 packages?
* pgadmin-core (pgadmin general codebase and dependent only on that)
* pgadmin-desktop (the desktop app, depends on pgadmin-core and whatever qt packages are required)
* pgadmin-web (the web app, depends on pgadmin-core and adds whatever other dependencies are necessray, drops a config file for webserver etc)

or am I thinking wrong?


--

Re: pgadmin-for-web is going nowhere

От
Josh Berkus
Дата:
On 07/14/2017 01:01 AM, Dave Page wrote:

> Setting up in server mode by following those docs takes just a few minutes.
> 
> 
>     Six months ago, I jumped on this with the goal of solving it, partly
>     through use of linux containers.  However, I'm full stop because of the
>     emphasis on (a) having only one package which is both desktop and web,
>     and (b) treating the web version as the ugly stepchild.
> 
> 
> It's not an ugly step-child - it's a non-default configuration because
> the majority of users use desktop mode. There's a big difference.

Er, no, there's not.  That's *exactly* what I mean by "ugly-step-child".The current project attitude is "we test
desktopmode, and if web mode
 
works, well, that's a happy accident."

I'm not going to recommend pgadmin-for-web to anyone under those
circumstances.  And *of course* the majority of users use desktop mode,
given that web mode doesn't work out of the box, and sometimes doesn't
work at all.

>     As such, I'm done.  When y'all decide to get real with caring about
>     users' ability to install pgadmin for web, ping me.
> 
> 
> Oh, we care. That's why it's well documented and takes just a few easy
> steps - and why for some time now I've been wracking my brain about ways
> to make it even easier. 

Here's how to make it easier: don't require steps.  Really.  If someone
installs pgadmin-for-web using RPMs or Debs, it should Just Work.  The
changes in the tickets I filed will make that happen for the RPMs,
except that you rejected them as WONTFIX.

Part of the problem there is that the pgadmin-for-web RPM spec really
needs to be completely separate from pgadmin-for-desktop.

> There are a bunch of pgAdmin containers on
> Docker Hub available, few, if any of which were setup with the help of
> our mailing lists, so it's presumably not that hard to do. Either that
> or the Docker guys have thicker skins than the Project Atomic guys :-)

That's because docker hub is the "wild west" where people are willing to
hack whatever toghether whether or not it's maintainable or updated. For
the Fedora & CentOS projects, there's requirements that builds have to
be 100% reproduceable, which most of the time means RPMs.  My goal was
to make pgadmin-for-web available officially on Fedora & CentOS, and
that's what I'm giving up on.

-- 
Josh Berkus
Containers & Databases Oh My!


Re: pgadmin-for-web is going nowhere

От
Josh Berkus
Дата:
On 07/14/2017 08:04 AM, Robert Eckhardt wrote:
> Josh, 
> 
> I'd be interested in knowing what specific things could be done to make
> you think that the Web version is no longer the 'ugly stepchild'. 
> 
> If I consider our (Pivotal's) current development process then the most
> honest thing we could say is that the desktop application is our
> afterthought. All of our development is done in the browser, our
> acceptance environment is an application pushed into a garden container
> hosted in the cloud. 
> 
> Admittedly, we haven't focused on the installation experience so if you
> could explain why it is so painful we could look at merging some of the
> things we are doing for acceptance into the application itself for
> distribution. 

Well, the immediate issues are addressed in two tickets:

https://redmine.postgresql.org/issues/2496

https://redmine.postgresql.org/issues/2495

The summary of these is that, out of the box, the existing RPMs install
200MB of extra software and don't result in a working install.

There is another, major issue I didn't attempt to address, which is
offering a less-heavyweight webserver option than Apache HTTPD, mainly
for container-based deployment.  I don't have a strong candidate for
this which is well-maintained upstream, though, because of the
single-process requirement.  There's a bunch of simple-python
appservers, but none of them are well-packaged and maintained.

-- 
Josh Berkus
Containers & Databases Oh My!


Re: pgadmin-for-web is going nowhere

От
Magnus Hagander
Дата:


On Fri, Jul 14, 2017 at 8:26 PM, Josh Berkus <josh@berkus.org> wrote:
On 07/14/2017 08:04 AM, Robert Eckhardt wrote:
> Josh,
>
> I'd be interested in knowing what specific things could be done to make
> you think that the Web version is no longer the 'ugly stepchild'.
>
> If I consider our (Pivotal's) current development process then the most
> honest thing we could say is that the desktop application is our
> afterthought. All of our development is done in the browser, our
> acceptance environment is an application pushed into a garden container
> hosted in the cloud.
>
> Admittedly, we haven't focused on the installation experience so if you
> could explain why it is so painful we could look at merging some of the
> things we are doing for acceptance into the application itself for
> distribution.

Well, the immediate issues are addressed in two tickets:

https://redmine.postgresql.org/issues/2496

https://redmine.postgresql.org/issues/2495

The summary of these is that, out of the box, the existing RPMs install
200MB of extra software and don't result in a working install.

There is another, major issue I didn't attempt to address, which is
offering a less-heavyweight webserver option than Apache HTTPD, mainly
for container-based deployment.  I don't have a strong candidate for
this which is well-maintained upstream, though, because of the
single-process requirement.  There's a bunch of simple-python
appservers, but none of them are well-packaged and maintained.


I don't know how simple you consider uwsgi, but it's certainly well packaged and maintained in my experience. Now granted that experience is mostly on debian based platform so it might differ on redhat families, but it seems likely. 


--

Re: pgadmin-for-web is going nowhere

От
Josh Berkus
Дата:
On 07/14/2017 11:35 AM, Magnus Hagander wrote:
> I don't know how simple you consider uwsgi, but it's certainly well
> packaged and maintained in my experience. Now granted that experience is
> mostly on debian based platform so it might differ on redhat families,
> but it seems likely. 

I remember looking into uwsgi (first choice) and there was some reason
it didn't work for this.  Maybe it was just that Grant didn't recommend
it for this.

-- 
Josh Berkus
Containers & Databases Oh My!


Re: pgadmin-for-web is going nowhere

От
Dave Page
Дата:


On Fri, Jul 14, 2017 at 7:17 PM, Josh Berkus <josh@berkus.org> wrote:
On 07/14/2017 01:01 AM, Dave Page wrote:

> Setting up in server mode by following those docs takes just a few minutes.
>
>
>     Six months ago, I jumped on this with the goal of solving it, partly
>     through use of linux containers.  However, I'm full stop because of the
>     emphasis on (a) having only one package which is both desktop and web,
>     and (b) treating the web version as the ugly stepchild.
>
>
> It's not an ugly step-child - it's a non-default configuration because
> the majority of users use desktop mode. There's a big difference.

Er, no, there's not.  That's *exactly* what I mean by "ugly-step-child".
 The current project attitude is "we test desktop mode, and if web mode
works, well, that's a happy accident."

Except, that's not the case. The regression tests run through a browser, not the desktop runtime, and like Rob's team at Pivotal, my team mostly works through the browser as well as it's far easier to debug that way.

Web mode is also the only supported mode of operation for Postgres Enterprise Manager which is based on pgAdmin 4, so it gets a ton of testing as part of that as well.

So no, it's not an "ugly stepchild", it gets more testing and use than desktop mode. It's just not the default.
 

I'm not going to recommend pgadmin-for-web to anyone under those
circumstances.  And *of course* the majority of users use desktop mode,
given that web mode doesn't work out of the box, and sometimes doesn't
work at all.

>     As such, I'm done.  When y'all decide to get real with caring about
>     users' ability to install pgadmin for web, ping me.
>
>
> Oh, we care. That's why it's well documented and takes just a few easy
> steps - and why for some time now I've been wracking my brain about ways
> to make it even easier.

Here's how to make it easier: don't require steps.  Really.  If someone
installs pgadmin-for-web using RPMs or Debs, it should Just Work.  The
changes in the tickets I filed will make that happen for the RPMs,
except that you rejected them as WONTFIX.

The changes you proposed would break the desktop mode, which is what most people use. Why do you consider your use case more important to work out of the box than the more common use case? Or are you ignoring the reasons why your suggested changes were rejected?
 

Part of the problem there is that the pgadmin-for-web RPM spec really
needs to be completely separate from pgadmin-for-desktop.

You are misunderstanding what the RPM is for. It's not "pgadmin-for-web", it's "pgadmin-web-components".
 

> There are a bunch of pgAdmin containers on
> Docker Hub available, few, if any of which were setup with the help of
> our mailing lists, so it's presumably not that hard to do. Either that
> or the Docker guys have thicker skins than the Project Atomic guys :-)

That's because docker hub is the "wild west" where people are willing to
hack whatever toghether whether or not it's maintainable or updated. For
the Fedora & CentOS projects, there's requirements that builds have to
be 100% reproduceable, which most of the time means RPMs.  My goal was
to make pgadmin-for-web available officially on Fedora & CentOS, and
that's what I'm giving up on.

So what do you require? Install RPMs and run, with zero additional config? That seems to be what you are asking for, but I don't see that it would ever be possible because at the very least you'll need to do "systemctl enable httpd". 

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company