public inbox for [email protected]  
help / color / mirror / Atom feed
Require suggestions on feature #5766
13+ messages / 2 participants
[nested] [flat]

* Require suggestions on feature #5766
@ 2024-11-27 07:57 Anil Sahoo <[email protected]>
  2024-11-27 17:04 ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Anil Sahoo @ 2024-11-27 07:57 UTC (permalink / raw)
  To: pgadmin-hackers

Hi Dave/Team,

I am currently working on the auto-update feature of pgAdmin 4 desktop
application, #5766 <https://github.com/pgadmin-org/pgadmin4/issues/5766;.


As we are using Electron for shipping our desktop application, I have gone
through some possible ways we can implement the auto update of the app.

I found 2 most popular ways, that are

   1. *Use builtin electron’s autoUpdater* (Uses the Squirrel framework &
   Available for Mac, Windows)
   2. *Use electron-builder and electron-updater packages *(Available for
   Mac, Windows and Linux systems)

*Linux systems:*


   - Builtin Electron’s autoUpdater support is not available.
   - electron-builder and electron-updater can be used, but need to change
   the whole build process. Also most apps like VS code, Chrome, etc does not
   support auto-update of apps on linux systems.

*Mac systems:*

   - We can use the builtin Electron’s autoUpdater to add auto-update
   feature to macOs systems, It is simple and easy to configure. We need a
   minor modification in our build process i.e. as we are supporting Intel and
   Apple silicon chips, deployment url will have 2 zip files and each zip file
   will hold the build for arm64 and x86_64.
   - electron-builder and electron-updater can be used. With this, we have
   to change the whole build process.

*Windows systems:*

   - We can use the builtin Electron’s autoUpdater to add auto-update
   feature to windows systems, Here also we need to change our build process.
   Electron’s docs recommend using electron-winstaller or electron forge to
   create the installer and some extra changes are needed in the deployment
   server.
   - electron-builder and electron-updater can be used. With this, we have
   to change the whole build process.

As Electron's builtin autoUpdater is easy to use so for now we can move
with the auto-update of the pgAdmin app on macOs systems as it requires
minimal changes.


Please share your suggestions or feedback.


Thanks,

Anil


-- 


*Anil Sahoo*

Software Development Engineer II

LinkedIn <https://www.linkedin.com/in/anilksahoo9/; || Blog
<https://www.enterprisedb.com/anil-sahoo; || *GitHub
<https://github.com/anilsahoo20>*

enterprisedb.com


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: Require suggestions on feature #5766
  2024-11-27 07:57 Require suggestions on feature #5766 Anil Sahoo <[email protected]>
@ 2024-11-27 17:04 ` Dave Page <[email protected]>
  2024-11-28 11:37   ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Dave Page @ 2024-11-27 17:04 UTC (permalink / raw)
  To: Anil Sahoo <[email protected]>; +Cc: pgadmin-hackers

Hi!

On Wed, 27 Nov 2024 at 07:58, Anil Sahoo <[email protected]>
wrote:

> Hi Dave/Team,
>
> I am currently working on the auto-update feature of pgAdmin 4 desktop
> application, #5766 <https://github.com/pgadmin-org/pgadmin4/issues/5766;.
>
>
> As we are using Electron for shipping our desktop application, I have gone
> through some possible ways we can implement the auto update of the app.
>
> I found 2 most popular ways, that are
>
>    1. *Use builtin electron’s autoUpdater* (Uses the Squirrel framework &
>    Available for Mac, Windows)
>    2. *Use electron-builder and electron-updater packages *(Available for
>    Mac, Windows and Linux systems)
>
> *Linux systems:*
>
>
>    - Builtin Electron’s autoUpdater support is not available.
>    - electron-builder and electron-updater can be used, but need to
>    change the whole build process. Also most apps like VS code, Chrome, etc
>    does not support auto-update of apps on linux systems.
>
> We should not try to auto-update on Linux, because we're using the
platform native packaging and auto-updating will cause nasty problems with
that.


> *Mac systems:*
>
>    - We can use the builtin Electron’s autoUpdater to add auto-update
>    feature to macOs systems, It is simple and easy to configure. We need a
>    minor modification in our build process i.e. as we are supporting Intel and
>    Apple silicon chips, deployment url will have 2 zip files and each zip file
>    will hold the build for arm64 and x86_64.
>    - electron-builder and electron-updater can be used. With this, we
>    have to change the whole build process.
>
> *Windows systems:*
>
>    - We can use the builtin Electron’s autoUpdater to add auto-update
>    feature to windows systems, Here also we need to change our build process.
>    Electron’s docs recommend using electron-winstaller or electron forge to
>    create the installer and some extra changes are needed in the deployment
>    server.
>    - electron-builder and electron-updater can be used. With this, we
>    have to change the whole build process.
>
> As Electron's builtin autoUpdater is easy to use so for now we can move
> with the auto-update of the pgAdmin app on macOs systems as it requires
> minimal changes.
>

That certainly sounds like the better option. A couple of questions:

- What changes are required in the deployment server? We are very limited
here, as we deploy through the postgresql.org infrastructure.

- Whilst the docs (for Windows) recommend using electron-winstaller or
electron forge, can you confirm one of them *must* be used? Our current
installer is pretty standard in the way it works, so I'm curious to know if
we would actually need to change technology for a specific reason.

Thanks!

-- 
Dave Page
pgAdmin: https://www.pgadmin.org
PostgreSQL: https://www.postgresql.org
pgEdge: https://www.pgedge.com


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: Require suggestions on feature #5766
  2024-11-27 07:57 Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-11-27 17:04 ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
@ 2024-11-28 11:37   ` Anil Sahoo <[email protected]>
  2024-11-29 13:44     ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Anil Sahoo @ 2024-11-28 11:37 UTC (permalink / raw)
  To: Dave Page <[email protected]>; +Cc: pgadmin-hackers

Hi Dave,

I have mentioned the requirements for the deployment server to add
auto-update in macOs systems.


The frontend will request deployment server with Accept: application/json
and the current version of pgAdmin and the architecture of macOs system and
server will check if any update is available or not, if update available
then server responds with status code 200 OK  and sends the below format
JSON response in the body.


Example of deployment url:
https://your-deployment-url.com/update/darwin/8.12


Example of response:

{
    "url": "https://your-deployment-url.com/your-app-8.13-darwin.zip";,
    "name": "8.13",
    "notes": "Theses are some release notes innit",
    "pub_date": "2024-09-18T12:29:53+01:00"
}


Here url is mandatory and others are optional.

Squirrel will request "url" with Accept: application/zip and only supports
installing ZIP updates.

"pub_date" if present must be formatted according to ISO 8601.


If no update is required, the server must respond with a status code of 204
No Content.



And for Windows systems, Electron recommended to use electron-winstaller or
electron forge as using these packages will use Squirrel.Windows for
creating windows installer and that will help in triggering custom launch
events and that can be handled by our application for proper setup. But
what I think is, as we are using Inno setup for creating our Windows
installer, we can try updating our application with existing way only, if
something does not work then we have the option to change our installer
creation process.


Thanks,

Anil

On Wed, Nov 27, 2024 at 10:34 PM Dave Page <[email protected]> wrote:

> Hi!
>
> On Wed, 27 Nov 2024 at 07:58, Anil Sahoo <[email protected]>
> wrote:
>
>> Hi Dave/Team,
>>
>> I am currently working on the auto-update feature of pgAdmin 4 desktop
>> application, #5766 <https://github.com/pgadmin-org/pgadmin4/issues/5766;.
>>
>>
>> As we are using Electron for shipping our desktop application, I have
>> gone through some possible ways we can implement the auto update of the
>> app.
>>
>> I found 2 most popular ways, that are
>>
>>    1. *Use builtin electron’s autoUpdater* (Uses the Squirrel framework
>>    & Available for Mac, Windows)
>>    2. *Use electron-builder and electron-updater packages *(Available
>>    for Mac, Windows and Linux systems)
>>
>> *Linux systems:*
>>
>>
>>    - Builtin Electron’s autoUpdater support is not available.
>>    - electron-builder and electron-updater can be used, but need to
>>    change the whole build process. Also most apps like VS code, Chrome, etc
>>    does not support auto-update of apps on linux systems.
>>
>> We should not try to auto-update on Linux, because we're using the
> platform native packaging and auto-updating will cause nasty problems with
> that.
>
>
>> *Mac systems:*
>>
>>    - We can use the builtin Electron’s autoUpdater to add auto-update
>>    feature to macOs systems, It is simple and easy to configure. We need a
>>    minor modification in our build process i.e. as we are supporting Intel and
>>    Apple silicon chips, deployment url will have 2 zip files and each zip file
>>    will hold the build for arm64 and x86_64.
>>    - electron-builder and electron-updater can be used. With this, we
>>    have to change the whole build process.
>>
>> *Windows systems:*
>>
>>    - We can use the builtin Electron’s autoUpdater to add auto-update
>>    feature to windows systems, Here also we need to change our build process.
>>    Electron’s docs recommend using electron-winstaller or electron forge to
>>    create the installer and some extra changes are needed in the deployment
>>    server.
>>    - electron-builder and electron-updater can be used. With this, we
>>    have to change the whole build process.
>>
>> As Electron's builtin autoUpdater is easy to use so for now we can move
>> with the auto-update of the pgAdmin app on macOs systems as it requires
>> minimal changes.
>>
>
> That certainly sounds like the better option. A couple of questions:
>
> - What changes are required in the deployment server? We are very limited
> here, as we deploy through the postgresql.org infrastructure.
>
> - Whilst the docs (for Windows) recommend using electron-winstaller or
> electron forge, can you confirm one of them *must* be used? Our current
> installer is pretty standard in the way it works, so I'm curious to know if
> we would actually need to change technology for a specific reason.
>
> Thanks!
>
> --
> Dave Page
> pgAdmin: https://www.pgadmin.org
> PostgreSQL: https://www.postgresql.org
> pgEdge: https://www.pgedge.com
>
>

-- 


*Anil Sahoo*

Software Development Engineer II

LinkedIn <https://www.linkedin.com/in/anilksahoo9/; || Blog
<https://www.enterprisedb.com/anil-sahoo; || *GitHub
<https://github.com/anilsahoo20>*

enterprisedb.com


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: Require suggestions on feature #5766
  2024-11-27 07:57 Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-11-27 17:04 ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2024-11-28 11:37   ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
@ 2024-11-29 13:44     ` Dave Page <[email protected]>
  2024-12-04 05:18       ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Dave Page @ 2024-11-29 13:44 UTC (permalink / raw)
  To: Anil Sahoo <[email protected]>; +Cc: pgadmin-hackers

Hi

On Thu, 28 Nov 2024 at 11:38, Anil Sahoo <[email protected]>
wrote:

> Hi Dave,
>
> I have mentioned the requirements for the deployment server to add
> auto-update in macOs systems.
>
>
> The frontend will request deployment server with Accept: application/json
> and the current version of pgAdmin and the architecture of macOs system and
> server will check if any update is available or not, if update available
> then server responds with status code 200 OK  and sends the below format
> JSON response in the body.
>
>
> Example of deployment url:
> https://your-deployment-url.com/update/darwin/8.12
>
>
> Example of response:
>
> {
>     "url": "https://your-deployment-url.com/your-app-8.13-darwin.zip";,
>     "name": "8.13",
>     "notes": "Theses are some release notes innit",
>     "pub_date": "2024-09-18T12:29:53+01:00"
> }
>
>
> Here url is mandatory and others are optional.
>
> Squirrel will request "url" with Accept: application/zip and only supports
> installing ZIP updates.
>
> "pub_date" if present must be formatted according to ISO 8601.
>
>
> If no update is required, the server must respond with a status code
> of 204 No Content.
>

Ah, OK - so it's just the metadata. We can handle that pretty easily in the
pgaweb code.


>
>
> And for Windows systems, Electron recommended to use electron-winstaller
> or electron forge as using these packages will use Squirrel.Windows for
> creating windows installer and that will help in triggering custom launch
> events and that can be handled by our application for proper setup. But
> what I think is, as we are using Inno setup for creating our Windows
> installer, we can try updating our application with existing way only, if
> something does not work then we have the option to change our installer
> creation process.
>

So one thing that springs to mind is that on Windows, this is only likely
to work with per-user installations, however, generally the default is for
machine-wide installations. Have you given that any thought?


>
> Thanks,
>
> Anil
>
> On Wed, Nov 27, 2024 at 10:34 PM Dave Page <[email protected]> wrote:
>
>> Hi!
>>
>> On Wed, 27 Nov 2024 at 07:58, Anil Sahoo <[email protected]>
>> wrote:
>>
>>> Hi Dave/Team,
>>>
>>> I am currently working on the auto-update feature of pgAdmin 4 desktop
>>> application, #5766 <https://github.com/pgadmin-org/pgadmin4/issues/5766;
>>> .
>>>
>>>
>>> As we are using Electron for shipping our desktop application, I have
>>> gone through some possible ways we can implement the auto update of the
>>> app.
>>>
>>> I found 2 most popular ways, that are
>>>
>>>    1. *Use builtin electron’s autoUpdater* (Uses the Squirrel framework
>>>    & Available for Mac, Windows)
>>>    2. *Use electron-builder and electron-updater packages *(Available
>>>    for Mac, Windows and Linux systems)
>>>
>>> *Linux systems:*
>>>
>>>
>>>    - Builtin Electron’s autoUpdater support is not available.
>>>    - electron-builder and electron-updater can be used, but need to
>>>    change the whole build process. Also most apps like VS code, Chrome, etc
>>>    does not support auto-update of apps on linux systems.
>>>
>>> We should not try to auto-update on Linux, because we're using the
>> platform native packaging and auto-updating will cause nasty problems with
>> that.
>>
>>
>>> *Mac systems:*
>>>
>>>    - We can use the builtin Electron’s autoUpdater to add auto-update
>>>    feature to macOs systems, It is simple and easy to configure. We need a
>>>    minor modification in our build process i.e. as we are supporting Intel and
>>>    Apple silicon chips, deployment url will have 2 zip files and each zip file
>>>    will hold the build for arm64 and x86_64.
>>>    - electron-builder and electron-updater can be used. With this, we
>>>    have to change the whole build process.
>>>
>>> *Windows systems:*
>>>
>>>    - We can use the builtin Electron’s autoUpdater to add auto-update
>>>    feature to windows systems, Here also we need to change our build process.
>>>    Electron’s docs recommend using electron-winstaller or electron forge to
>>>    create the installer and some extra changes are needed in the deployment
>>>    server.
>>>    - electron-builder and electron-updater can be used. With this, we
>>>    have to change the whole build process.
>>>
>>> As Electron's builtin autoUpdater is easy to use so for now we can move
>>> with the auto-update of the pgAdmin app on macOs systems as it requires
>>> minimal changes.
>>>
>>
>> That certainly sounds like the better option. A couple of questions:
>>
>> - What changes are required in the deployment server? We are very limited
>> here, as we deploy through the postgresql.org infrastructure.
>>
>> - Whilst the docs (for Windows) recommend using electron-winstaller or
>> electron forge, can you confirm one of them *must* be used? Our current
>> installer is pretty standard in the way it works, so I'm curious to know if
>> we would actually need to change technology for a specific reason.
>>
>> Thanks!
>>
>> --
>> Dave Page
>> pgAdmin: https://www.pgadmin.org
>> PostgreSQL: https://www.postgresql.org
>> pgEdge: https://www.pgedge.com
>>
>>
>
> --
>
>
> *Anil Sahoo*
>
> Software Development Engineer II
>
> LinkedIn <https://www.linkedin.com/in/anilksahoo9/; || Blog
> <https://www.enterprisedb.com/anil-sahoo; || *GitHub
> <https://github.com/anilsahoo20>*
>
> enterprisedb.com
>


-- 
Dave Page
pgAdmin: https://www.pgadmin.org
PostgreSQL: https://www.postgresql.org
pgEdge: https://www.pgedge.com


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: Require suggestions on feature #5766
  2024-11-27 07:57 Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-11-27 17:04 ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2024-11-28 11:37   ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-11-29 13:44     ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
@ 2024-12-04 05:18       ` Anil Sahoo <[email protected]>
  2024-12-05 11:41         ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Anil Sahoo @ 2024-12-04 05:18 UTC (permalink / raw)
  To: Dave Page <[email protected]>; +Cc: pgadmin-hackers

Hi Dave,

For Windows, I checked how pgAdmin works for machine-wide installations as
admin1 (Administrator), and there is another admin user like admin2
(Administrator), and normal users are user1 and user2. When logged in as
other mentioned users, I was able to use pgAdmin, but when I tried to
upgrade pgAdmin as admin2 from v8.12 to v8.13, I faced the below error:

"An error occurred while trying to replace the existing file:

DeleteFile failed; code 5.

Access is denied."

 And if I cancel installation, then run pgAdmin, v8.12 is getting corrupted
and giving

"The pgAdmin 4 server could not be contacted:
C:\Program Files (x86)\pgAdmin 4\python\python.exe: can't open file ‘ C:\\
Program Files (x86)\\pgAdmin

4\\web\\pgAdmin4.py: [Errno 2] No such file or directory."

For user-level installation, everything is working fine for different users.

I have checked some of the desktop applications that are being built with
Electron, like VS Code and Postman.

*How VS Code works is,*

They have 2 different installers, one for user level and another for system
level.

When I installed the VS Code system installer on admin1, it was working
fine, and I was able to check for updates, and for admin2 and user1, it is
available, working fine and able to check for updates, not able to update
as I am in the latest version. (Note: not found system installers for older
versions, but user installers are available)

When I installed the VS Code user installer on admin1, it was working fine,
and VS Code says when running it as an administrator in a user setup
installation, updates will be disabled.

When I tried to install the user installer on user1, it was working fine
and able to check for updates.

*How Postman works is,*

When I installed Postman on admin1, it was available for admin2 also. It
was working fine, and checking for auto updates was also working fine for
both admins. It is not available for normal users when installed for admins.

When I installed Postman for user1, it was available only for the current
user, and checking for updates was working fine.

So please give your suggestions on which approach to follow.


Thanks,

Anil

On Fri, Nov 29, 2024 at 7:15 PM Dave Page <[email protected]> wrote:

> Hi
>
> On Thu, 28 Nov 2024 at 11:38, Anil Sahoo <[email protected]>
> wrote:
>
>> Hi Dave,
>>
>> I have mentioned the requirements for the deployment server to add
>> auto-update in macOs systems.
>>
>>
>> The frontend will request deployment server with Accept: application/json
>> and the current version of pgAdmin and the architecture of macOs system and
>> server will check if any update is available or not, if update available
>> then server responds with status code 200 OK  and sends the below format
>> JSON response in the body.
>>
>>
>> Example of deployment url:
>> https://your-deployment-url.com/update/darwin/8.12
>>
>>
>> Example of response:
>>
>> {
>>     "url": "https://your-deployment-url.com/your-app-8.13-darwin.zip";,
>>     "name": "8.13",
>>     "notes": "Theses are some release notes innit",
>>     "pub_date": "2024-09-18T12:29:53+01:00"
>> }
>>
>>
>> Here url is mandatory and others are optional.
>>
>> Squirrel will request "url" with Accept: application/zip and only
>> supports installing ZIP updates.
>>
>> "pub_date" if present must be formatted according to ISO 8601.
>>
>>
>> If no update is required, the server must respond with a status code
>> of 204 No Content.
>>
>
> Ah, OK - so it's just the metadata. We can handle that pretty easily in
> the pgaweb code.
>
>
>>
>>
>> And for Windows systems, Electron recommended to use electron-winstaller
>> or electron forge as using these packages will use Squirrel.Windows for
>> creating windows installer and that will help in triggering custom launch
>> events and that can be handled by our application for proper setup. But
>> what I think is, as we are using Inno setup for creating our Windows
>> installer, we can try updating our application with existing way only, if
>> something does not work then we have the option to change our installer
>> creation process.
>>
>
> So one thing that springs to mind is that on Windows, this is only likely
> to work with per-user installations, however, generally the default is for
> machine-wide installations. Have you given that any thought?
>
>
>>
>> Thanks,
>>
>> Anil
>>
>> On Wed, Nov 27, 2024 at 10:34 PM Dave Page <[email protected]> wrote:
>>
>>> Hi!
>>>
>>> On Wed, 27 Nov 2024 at 07:58, Anil Sahoo <[email protected]>
>>> wrote:
>>>
>>>> Hi Dave/Team,
>>>>
>>>> I am currently working on the auto-update feature of pgAdmin 4 desktop
>>>> application, #5766
>>>> <https://github.com/pgadmin-org/pgadmin4/issues/5766;.
>>>>
>>>>
>>>> As we are using Electron for shipping our desktop application, I have
>>>> gone through some possible ways we can implement the auto update of the
>>>> app.
>>>>
>>>> I found 2 most popular ways, that are
>>>>
>>>>    1. *Use builtin electron’s autoUpdater* (Uses the Squirrel
>>>>    framework & Available for Mac, Windows)
>>>>    2. *Use electron-builder and electron-updater packages *(Available
>>>>    for Mac, Windows and Linux systems)
>>>>
>>>> *Linux systems:*
>>>>
>>>>
>>>>    - Builtin Electron’s autoUpdater support is not available.
>>>>    - electron-builder and electron-updater can be used, but need to
>>>>    change the whole build process. Also most apps like VS code, Chrome, etc
>>>>    does not support auto-update of apps on linux systems.
>>>>
>>>> We should not try to auto-update on Linux, because we're using the
>>> platform native packaging and auto-updating will cause nasty problems with
>>> that.
>>>
>>>
>>>> *Mac systems:*
>>>>
>>>>    - We can use the builtin Electron’s autoUpdater to add auto-update
>>>>    feature to macOs systems, It is simple and easy to configure. We need a
>>>>    minor modification in our build process i.e. as we are supporting Intel and
>>>>    Apple silicon chips, deployment url will have 2 zip files and each zip file
>>>>    will hold the build for arm64 and x86_64.
>>>>    - electron-builder and electron-updater can be used. With this, we
>>>>    have to change the whole build process.
>>>>
>>>> *Windows systems:*
>>>>
>>>>    - We can use the builtin Electron’s autoUpdater to add auto-update
>>>>    feature to windows systems, Here also we need to change our build process.
>>>>    Electron’s docs recommend using electron-winstaller or electron forge to
>>>>    create the installer and some extra changes are needed in the deployment
>>>>    server.
>>>>    - electron-builder and electron-updater can be used. With this, we
>>>>    have to change the whole build process.
>>>>
>>>> As Electron's builtin autoUpdater is easy to use so for now we can move
>>>> with the auto-update of the pgAdmin app on macOs systems as it requires
>>>> minimal changes.
>>>>
>>>
>>> That certainly sounds like the better option. A couple of questions:
>>>
>>> - What changes are required in the deployment server? We are very
>>> limited here, as we deploy through the postgresql.org infrastructure.
>>>
>>> - Whilst the docs (for Windows) recommend using electron-winstaller or
>>> electron forge, can you confirm one of them *must* be used? Our current
>>> installer is pretty standard in the way it works, so I'm curious to know if
>>> we would actually need to change technology for a specific reason.
>>>
>>> Thanks!
>>>
>>> --
>>> Dave Page
>>> pgAdmin: https://www.pgadmin.org
>>> PostgreSQL: https://www.postgresql.org
>>> pgEdge: https://www.pgedge.com
>>>
>>>
>>
>> --
>>
>>
>> *Anil Sahoo*
>>
>> Software Development Engineer II
>>
>> LinkedIn <https://www.linkedin.com/in/anilksahoo9/; || Blog
>> <https://www.enterprisedb.com/anil-sahoo; || *GitHub
>> <https://github.com/anilsahoo20>*
>>
>> enterprisedb.com
>>
>
>
> --
> Dave Page
> pgAdmin: https://www.pgadmin.org
> PostgreSQL: https://www.postgresql.org
> pgEdge: https://www.pgedge.com
>
>

-- 


*Anil Sahoo*

Software Development Engineer II

LinkedIn <https://www.linkedin.com/in/anilksahoo9/; || Blog
<https://www.enterprisedb.com/anil-sahoo; || *GitHub
<https://github.com/anilsahoo20>*

enterprisedb.com


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: Require suggestions on feature #5766
  2024-11-27 07:57 Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-11-27 17:04 ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2024-11-28 11:37   ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-11-29 13:44     ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2024-12-04 05:18       ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
@ 2024-12-05 11:41         ` Dave Page <[email protected]>
  2025-03-19 10:57           ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Dave Page @ 2024-12-05 11:41 UTC (permalink / raw)
  To: Anil Sahoo <[email protected]>; +Cc: pgadmin-hackers

Hi

On Wed, 4 Dec 2024 at 05:19, Anil Sahoo <[email protected]> wrote:

> Hi Dave,
>
> For Windows, I checked how pgAdmin works for machine-wide installations as
> admin1 (Administrator), and there is another admin user like admin2
> (Administrator), and normal users are user1 and user2. When logged in as
> other mentioned users, I was able to use pgAdmin, but when I tried to
> upgrade pgAdmin as admin2 from v8.12 to v8.13, I faced the below error:
>
> "An error occurred while trying to replace the existing file:
>
> DeleteFile failed; code 5.
>
> Access is denied."
>
>  And if I cancel installation, then run pgAdmin, v8.12 is getting
> corrupted and giving
>
> "The pgAdmin 4 server could not be contacted:
> C:\Program Files (x86)\pgAdmin 4\python\python.exe: can't open file ‘ C:\\
> Program Files (x86)\\pgAdmin
>
> 4\\web\\pgAdmin4.py: [Errno 2] No such file or directory."
>
> For user-level installation, everything is working fine for different
> users.
>
> I have checked some of the desktop applications that are being built with
> Electron, like VS Code and Postman.
>
> *How VS Code works is,*
>
> They have 2 different installers, one for user level and another for
> system level.
>
> When I installed the VS Code system installer on admin1, it was working
> fine, and I was able to check for updates, and for admin2 and user1, it is
> available, working fine and able to check for updates, not able to update
> as I am in the latest version. (Note: not found system installers for older
> versions, but user installers are available)
>
> When I installed the VS Code user installer on admin1, it was working
> fine, and VS Code says when running it as an administrator in a user setup
> installation, updates will be disabled.
>
> When I tried to install the user installer on user1, it was working fine
> and able to check for updates.
>
> *How Postman works is,*
>
> When I installed Postman on admin1, it was available for admin2 also. It
> was working fine, and checking for auto updates was also working fine for
> both admins. It is not available for normal users when installed for admins.
>
> When I installed Postman for user1, it was available only for the current
> user, and checking for updates was working fine.
>
> So please give your suggestions on which approach to follow.
>
Postman seems to be a nice model to follow, though it will require us to
check if the current user has permissions to update the installation. That
might be tricky to get right.

I would suggest that for the initial version we simply disable auto-update
for machine wide installations, and think about supporting them for admin
users in the future when we can properly check that we have the desired
permissions. We should also consider changes to the installer - e.g.
perhaps make the per-user installation the default, and (if possible) add a
note under the machine-wide option to warn the user that auto updates would
be disabled.

Thanks, Dave.

-- 
Dave Page
pgAdmin: https://www.pgadmin.org
PostgreSQL: https://www.postgresql.org
pgEdge: https://www.pgedge.com


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: Require suggestions on feature #5766
  2024-11-27 07:57 Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-11-27 17:04 ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2024-11-28 11:37   ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-11-29 13:44     ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2024-12-04 05:18       ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-12-05 11:41         ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
@ 2025-03-19 10:57           ` Anil Sahoo <[email protected]>
  2025-03-19 11:43             ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Anil Sahoo @ 2025-03-19 10:57 UTC (permalink / raw)
  To: Dave Page <[email protected]>; +Cc: pgadmin-hackers

Hi Dave,

As discussed I moved with auto-update of pgAdmin 4 application in macOs
system locally. It is successful.
So now I have to do some additional user experience improvements.

Listing down some ways we can show the user that a new version is available
and he can download and install it.

*Option 1:*

Show a dialog with the released features and fixes(mentioned in the release
note) with *"Download & Restart"* and *"Cancel"*  buttons. This dialog will
be shown only when the application starts for the first time of the day.

Benefits of showing this dialog will help users to know about the new
features and bugs fixed available in the latest version.

"Download & Restart" button will download the latest version and quit the
app and install and open the latest app. "Cancel" will cancel the
notification.

*Option 2:*

We are currently showing a warning notification of the latest version
available, if the older version is being used by the user, we can add
*"Download
& Restart"* and *"Cancel" * buttons. And those buttons will work the way
they are working in Option 1.

Additionally we will add *"Check for updates"* option in pgAdmin 4 native
menu, if any time a user wants to check for updates manually then can
prefer this and if update is available then the *"Restart to update"*
option will show and if clicked will quit the app and install the latest
version.

Let me know in which way we can proceed.

Thanks
Anil


On Thu, Dec 5, 2024 at 5:11 PM Dave Page <[email protected]> wrote:

> Hi
>
> On Wed, 4 Dec 2024 at 05:19, Anil Sahoo <[email protected]>
> wrote:
>
>> Hi Dave,
>>
>> For Windows, I checked how pgAdmin works for machine-wide installations
>> as admin1 (Administrator), and there is another admin user like admin2
>> (Administrator), and normal users are user1 and user2. When logged in as
>> other mentioned users, I was able to use pgAdmin, but when I tried to
>> upgrade pgAdmin as admin2 from v8.12 to v8.13, I faced the below error:
>>
>> "An error occurred while trying to replace the existing file:
>>
>> DeleteFile failed; code 5.
>>
>> Access is denied."
>>
>>  And if I cancel installation, then run pgAdmin, v8.12 is getting
>> corrupted and giving
>>
>> "The pgAdmin 4 server could not be contacted:
>> C:\Program Files (x86)\pgAdmin 4\python\python.exe: can't open file ‘
>> C:\\ Program Files (x86)\\pgAdmin
>>
>> 4\\web\\pgAdmin4.py: [Errno 2] No such file or directory."
>>
>> For user-level installation, everything is working fine for different
>> users.
>>
>> I have checked some of the desktop applications that are being built with
>> Electron, like VS Code and Postman.
>>
>> *How VS Code works is,*
>>
>> They have 2 different installers, one for user level and another for
>> system level.
>>
>> When I installed the VS Code system installer on admin1, it was working
>> fine, and I was able to check for updates, and for admin2 and user1, it is
>> available, working fine and able to check for updates, not able to update
>> as I am in the latest version. (Note: not found system installers for older
>> versions, but user installers are available)
>>
>> When I installed the VS Code user installer on admin1, it was working
>> fine, and VS Code says when running it as an administrator in a user setup
>> installation, updates will be disabled.
>>
>> When I tried to install the user installer on user1, it was working fine
>> and able to check for updates.
>>
>> *How Postman works is,*
>>
>> When I installed Postman on admin1, it was available for admin2 also. It
>> was working fine, and checking for auto updates was also working fine for
>> both admins. It is not available for normal users when installed for admins.
>>
>> When I installed Postman for user1, it was available only for the current
>> user, and checking for updates was working fine.
>>
>> So please give your suggestions on which approach to follow.
>>
> Postman seems to be a nice model to follow, though it will require us to
> check if the current user has permissions to update the installation. That
> might be tricky to get right.
>
> I would suggest that for the initial version we simply disable auto-update
> for machine wide installations, and think about supporting them for admin
> users in the future when we can properly check that we have the desired
> permissions. We should also consider changes to the installer - e.g.
> perhaps make the per-user installation the default, and (if possible) add a
> note under the machine-wide option to warn the user that auto updates would
> be disabled.
>
> Thanks, Dave.
>
> --
> Dave Page
> pgAdmin: https://www.pgadmin.org
> PostgreSQL: https://www.postgresql.org
> pgEdge: https://www.pgedge.com
>
>

-- 


*Anil Sahoo*

Software Development Engineer II

LinkedIn <https://www.linkedin.com/in/anilksahoo9/; || Blog
<https://www.enterprisedb.com/anil-sahoo; || *GitHub
<https://github.com/anilsahoo20>*

enterprisedb.com


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: Require suggestions on feature #5766
  2024-11-27 07:57 Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-11-27 17:04 ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2024-11-28 11:37   ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-11-29 13:44     ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2024-12-04 05:18       ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-12-05 11:41         ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2025-03-19 10:57           ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
@ 2025-03-19 11:43             ` Dave Page <[email protected]>
  2025-03-19 13:23               ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Dave Page @ 2025-03-19 11:43 UTC (permalink / raw)
  To: Anil Sahoo <[email protected]>; +Cc: pgadmin-hackers

On Wed, 19 Mar 2025 at 10:58, Anil Sahoo <[email protected]>
wrote:

> Hi Dave,
>
> As discussed I moved with auto-update of pgAdmin 4 application in macOs
> system locally. It is successful.
> So now I have to do some additional user experience improvements.
>
> Listing down some ways we can show the user that a new version is
> available and he can download and install it.
>
> *Option 1:*
>
> Show a dialog with the released features and fixes(mentioned in the
> release note) with *"Download & Restart"* and *"Cancel"*  buttons. This
> dialog will be shown only when the application starts for the first time of
> the day.
>
> Benefits of showing this dialog will help users to know about the new
> features and bugs fixed available in the latest version.
>
> "Download & Restart" button will download the latest version and quit the
> app and install and open the latest app. "Cancel" will cancel the
> notification.
>
> *Option 2:*
>
> We are currently showing a warning notification of the latest version
> available, if the older version is being used by the user, we can add *"Download
> & Restart"* and *"Cancel" * buttons. And those buttons will work the way
> they are working in Option 1.
>
> Additionally we will add *"Check for updates"* option in pgAdmin 4 native
> menu, if any time a user wants to check for updates manually then can
> prefer this and if update is available then the *"Restart to update"*
> option will show and if clicked will quit the app and install the latest
> version.
>
> Let me know in which way we can proceed.
>

Option 1 seems good to me; though the current notifier should continue to
work as it does now if a particular distribution channel doesn't support
auto-updates (for example, the EDB PostgreSQL Installer).

-- 
Dave Page
pgAdmin: https://www.pgadmin.org
PostgreSQL: https://www.postgresql.org
pgEdge: https://www.pgedge.com


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: Require suggestions on feature #5766
  2024-11-27 07:57 Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-11-27 17:04 ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2024-11-28 11:37   ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-11-29 13:44     ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2024-12-04 05:18       ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-12-05 11:41         ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2025-03-19 10:57           ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2025-03-19 11:43             ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
@ 2025-03-19 13:23               ` Anil Sahoo <[email protected]>
  2025-04-16 10:37                 ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Anil Sahoo @ 2025-03-19 13:23 UTC (permalink / raw)
  To: Dave Page <[email protected]>; +Cc: pgadmin-hackers

Okay, I will implement it as per the suggestions.

Thanks

On Wed, Mar 19, 2025 at 5:14 PM Dave Page <[email protected]> wrote:

>
>
> On Wed, 19 Mar 2025 at 10:58, Anil Sahoo <[email protected]>
> wrote:
>
>> Hi Dave,
>>
>> As discussed I moved with auto-update of pgAdmin 4 application in macOs
>> system locally. It is successful.
>> So now I have to do some additional user experience improvements.
>>
>> Listing down some ways we can show the user that a new version is
>> available and he can download and install it.
>>
>> *Option 1:*
>>
>> Show a dialog with the released features and fixes(mentioned in the
>> release note) with *"Download & Restart"* and *"Cancel"*  buttons. This
>> dialog will be shown only when the application starts for the first time of
>> the day.
>>
>> Benefits of showing this dialog will help users to know about the new
>> features and bugs fixed available in the latest version.
>>
>> "Download & Restart" button will download the latest version and quit the
>> app and install and open the latest app. "Cancel" will cancel the
>> notification.
>>
>> *Option 2:*
>>
>> We are currently showing a warning notification of the latest version
>> available, if the older version is being used by the user, we can add *"Download
>> & Restart"* and *"Cancel" * buttons. And those buttons will work the way
>> they are working in Option 1.
>>
>> Additionally we will add *"Check for updates"* option in pgAdmin 4
>> native menu, if any time a user wants to check for updates manually then
>> can prefer this and if update is available then the *"Restart to update"*
>> option will show and if clicked will quit the app and install the latest
>> version.
>>
>> Let me know in which way we can proceed.
>>
>
> Option 1 seems good to me; though the current notifier should continue to
> work as it does now if a particular distribution channel doesn't support
> auto-updates (for example, the EDB PostgreSQL Installer).
>
> --
> Dave Page
> pgAdmin: https://www.pgadmin.org
> PostgreSQL: https://www.postgresql.org
> pgEdge: https://www.pgedge.com
>
>

-- 


*Anil Sahoo*

Software Development Engineer II

LinkedIn <https://www.linkedin.com/in/anilksahoo9/; || Blog
<https://www.enterprisedb.com/anil-sahoo; || *GitHub
<https://github.com/anilsahoo20>*

enterprisedb.com


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: Require suggestions on feature #5766
  2024-11-27 07:57 Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-11-27 17:04 ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2024-11-28 11:37   ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-11-29 13:44     ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2024-12-04 05:18       ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-12-05 11:41         ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2025-03-19 10:57           ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2025-03-19 11:43             ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2025-03-19 13:23               ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
@ 2025-04-16 10:37                 ` Anil Sahoo <[email protected]>
  2025-04-16 13:45                   ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Anil Sahoo @ 2025-04-16 10:37 UTC (permalink / raw)
  To: Dave Page <[email protected]>; +Cc: pgadmin-hackers

Hi Dave,

As we discussed in the last meeting, along with your suggestion to add a
key in pgaweb's versions.json indicating the source URL for downloading
updates for the auto-update feature, I propose the following approach. We
will need to make corresponding changes in the pgaweb repository to support
this.

*Example versions.json format:*

{

  “edb-pgadmin4”: {
    “version”: “9.0”,
    “version_int”: 90000,
    “download_url”: “
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads”,
    “auto_update_url”: {
        “macOS”: “<edb_installer_url>“,
        “windows”: “<edb_installer_url>”
   }
  },
  “pgadmin4”: {
    “version”: “9.2”,
    “version_int”: 90200,
    “download_url”: “https://www.pgadmin.org/download/”,
    “auto_update_url”: {
        “macOS”: “
https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v9.2/macos/”,
        “windows”: “
https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v9.2/windows/”
   }
  }
}

Additionally, as I mentioned earlier, for Electron’s auto-update to
function on macOS, we need to provide a zip installer that contains the pgAdmin
4.app.

If we maintain zip installers for both arm64 and x86_64 macOS
architectures, and potentially extend auto-update support to Windows in the
future, we estimate requiring up to 1.5 GB of additional storage on the FTP
server beyond the current allocation. Please note that we only need to
store the zip files for the latest version, as older versions will be
updated directly to the newest release.

Please share your suggestions on this.
Thanks,
Anil

On Wed, Mar 19, 2025 at 6:53 PM Anil Sahoo <[email protected]>
wrote:

> Okay, I will implement it as per the suggestions.
>
> Thanks
>
> On Wed, Mar 19, 2025 at 5:14 PM Dave Page <[email protected]> wrote:
>
>>
>>
>> On Wed, 19 Mar 2025 at 10:58, Anil Sahoo <[email protected]>
>> wrote:
>>
>>> Hi Dave,
>>>
>>> As discussed I moved with auto-update of pgAdmin 4 application in macOs
>>> system locally. It is successful.
>>> So now I have to do some additional user experience improvements.
>>>
>>> Listing down some ways we can show the user that a new version is
>>> available and he can download and install it.
>>>
>>> *Option 1:*
>>>
>>> Show a dialog with the released features and fixes(mentioned in the
>>> release note) with *"Download & Restart"* and *"Cancel"*  buttons. This
>>> dialog will be shown only when the application starts for the first time of
>>> the day.
>>>
>>> Benefits of showing this dialog will help users to know about the new
>>> features and bugs fixed available in the latest version.
>>>
>>> "Download & Restart" button will download the latest version and quit
>>> the app and install and open the latest app. "Cancel" will cancel the
>>> notification.
>>>
>>> *Option 2:*
>>>
>>> We are currently showing a warning notification of the latest version
>>> available, if the older version is being used by the user, we can add *"Download
>>> & Restart"* and *"Cancel" * buttons. And those buttons will work the
>>> way they are working in Option 1.
>>>
>>> Additionally we will add *"Check for updates"* option in pgAdmin 4
>>> native menu, if any time a user wants to check for updates manually then
>>> can prefer this and if update is available then the *"Restart to
>>> update"* option will show and if clicked will quit the app and install
>>> the latest version.
>>>
>>> Let me know in which way we can proceed.
>>>
>>
>> Option 1 seems good to me; though the current notifier should continue to
>> work as it does now if a particular distribution channel doesn't support
>> auto-updates (for example, the EDB PostgreSQL Installer).
>>
>> --
>> Dave Page
>> pgAdmin: https://www.pgadmin.org
>> PostgreSQL: https://www.postgresql.org
>> pgEdge: https://www.pgedge.com
>>
>>
>
> --
>
>
> *Anil Sahoo*
>
> Software Development Engineer II
>
> LinkedIn <https://www.linkedin.com/in/anilksahoo9/; || Blog
> <https://www.enterprisedb.com/anil-sahoo; || *GitHub
> <https://github.com/anilsahoo20>*
>
> enterprisedb.com
>


-- 


*Anil Sahoo*

Software Development Engineer II

LinkedIn <https://www.linkedin.com/in/anilksahoo9/; || Blog
<https://www.enterprisedb.com/anil-sahoo; || *GitHub
<https://github.com/anilsahoo20>*

enterprisedb.com


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: Require suggestions on feature #5766
  2024-11-27 07:57 Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-11-27 17:04 ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2024-11-28 11:37   ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-11-29 13:44     ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2024-12-04 05:18       ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-12-05 11:41         ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2025-03-19 10:57           ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2025-03-19 11:43             ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2025-03-19 13:23               ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2025-04-16 10:37                 ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
@ 2025-04-16 13:45                   ` Dave Page <[email protected]>
  2025-04-17 05:36                     ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Dave Page @ 2025-04-16 13:45 UTC (permalink / raw)
  To: Anil Sahoo <[email protected]>; +Cc: pgadmin-hackers

Hi

On Wed, 16 Apr 2025 at 11:38, Anil Sahoo <[email protected]>
wrote:

> Hi Dave,
>
> As we discussed in the last meeting, along with your suggestion to add a
> key in pgaweb's versions.json indicating the source URL for downloading
> updates for the auto-update feature, I propose the following approach. We
> will need to make corresponding changes in the pgaweb repository to
> support this.
>
> *Example versions.json format:*
>
> {
>
>   “edb-pgadmin4”: {
>     “version”: “9.0”,
>     “version_int”: 90000,
>     “download_url”: “
> https://www.enterprisedb.com/downloads/postgres-postgresql-downloads”,
>     “auto_update_url”: {
>         “macOS”: “<edb_installer_url>“,
>         “windows”: “<edb_installer_url>”
>    }
>   },
>   “pgadmin4”: {
>     “version”: “9.2”,
>     “version_int”: 90200,
>     “download_url”: “https://www.pgadmin.org/download/”,
>     “auto_update_url”: {
>         “macOS”: “
> https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v9.2/macos/”,
>         “windows”: “
> https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v9.2/windows/”
>    }
>   }
> }
>
Yes, that seems reasonable - except I'd keep the field names all in lower
case.


> Additionally, as I mentioned earlier, for Electron’s auto-update to
> function on macOS, we need to provide a zip installer that contains the pgAdmin
> 4.app.
>
> If we maintain zip installers for both arm64 and x86_64 macOS
> architectures, and potentially extend auto-update support to Windows in the
> future, we estimate requiring up to 1.5 GB of additional storage on the FTP
> server beyond the current allocation. Please note that we only need to
> store the zip files for the latest version, as older versions will be
> updated directly to the newest release.
>
> Please share your suggestions on this.
>
Do the zip files include the version number (and is that also included in
the URLs above)?


> Thanks,
> Anil
>
> On Wed, Mar 19, 2025 at 6:53 PM Anil Sahoo <[email protected]>
> wrote:
>
>> Okay, I will implement it as per the suggestions.
>>
>> Thanks
>>
>> On Wed, Mar 19, 2025 at 5:14 PM Dave Page <[email protected]> wrote:
>>
>>>
>>>
>>> On Wed, 19 Mar 2025 at 10:58, Anil Sahoo <[email protected]>
>>> wrote:
>>>
>>>> Hi Dave,
>>>>
>>>> As discussed I moved with auto-update of pgAdmin 4 application in macOs
>>>> system locally. It is successful.
>>>> So now I have to do some additional user experience improvements.
>>>>
>>>> Listing down some ways we can show the user that a new version is
>>>> available and he can download and install it.
>>>>
>>>> *Option 1:*
>>>>
>>>> Show a dialog with the released features and fixes(mentioned in the
>>>> release note) with *"Download & Restart"* and *"Cancel"*  buttons.
>>>> This dialog will be shown only when the application starts for the first
>>>> time of the day.
>>>>
>>>> Benefits of showing this dialog will help users to know about the new
>>>> features and bugs fixed available in the latest version.
>>>>
>>>> "Download & Restart" button will download the latest version and quit
>>>> the app and install and open the latest app. "Cancel" will cancel the
>>>> notification.
>>>>
>>>> *Option 2:*
>>>>
>>>> We are currently showing a warning notification of the latest version
>>>> available, if the older version is being used by the user, we can add *"Download
>>>> & Restart"* and *"Cancel" * buttons. And those buttons will work the
>>>> way they are working in Option 1.
>>>>
>>>> Additionally we will add *"Check for updates"* option in pgAdmin 4
>>>> native menu, if any time a user wants to check for updates manually then
>>>> can prefer this and if update is available then the *"Restart to
>>>> update"* option will show and if clicked will quit the app and install
>>>> the latest version.
>>>>
>>>> Let me know in which way we can proceed.
>>>>
>>>
>>> Option 1 seems good to me; though the current notifier should continue
>>> to work as it does now if a particular distribution channel doesn't support
>>> auto-updates (for example, the EDB PostgreSQL Installer).
>>>
>>> --
>>> Dave Page
>>> pgAdmin: https://www.pgadmin.org
>>> PostgreSQL: https://www.postgresql.org
>>> pgEdge: https://www.pgedge.com
>>>
>>>
>>
>> --
>>
>>
>> *Anil Sahoo*
>>
>> Software Development Engineer II
>>
>> LinkedIn <https://www.linkedin.com/in/anilksahoo9/; || Blog
>> <https://www.enterprisedb.com/anil-sahoo; || *GitHub
>> <https://github.com/anilsahoo20>*
>>
>> enterprisedb.com
>>
>
>
> --
>
>
> *Anil Sahoo*
>
> Software Development Engineer II
>
> LinkedIn <https://www.linkedin.com/in/anilksahoo9/; || Blog
> <https://www.enterprisedb.com/anil-sahoo; || *GitHub
> <https://github.com/anilsahoo20>*
>
> enterprisedb.com
>


-- 
Dave Page
pgAdmin: https://www.pgadmin.org
PostgreSQL: https://www.postgresql.org
pgEdge: https://www.pgedge.com


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: Require suggestions on feature #5766
  2024-11-27 07:57 Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-11-27 17:04 ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2024-11-28 11:37   ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-11-29 13:44     ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2024-12-04 05:18       ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-12-05 11:41         ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2025-03-19 10:57           ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2025-03-19 11:43             ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2025-03-19 13:23               ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2025-04-16 10:37                 ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2025-04-16 13:45                   ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
@ 2025-04-17 05:36                     ` Anil Sahoo <[email protected]>
  2025-04-17 06:06                       ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  0 siblings, 1 reply; 13+ messages in thread

From: Anil Sahoo @ 2025-04-17 05:36 UTC (permalink / raw)
  To: Dave Page <[email protected]>; +Cc: pgadmin-hackers

Hi Dave,

Yes zip files will have the version number, here is an
example: pgadmin4-9.2-arm64.zip.

Yes, version number will be included in the earlier mentioned URL.

Also I will keep the field names in lower case.

Thanks

On Wed, Apr 16, 2025 at 7:15 PM Dave Page <[email protected]> wrote:

> Hi
>
> On Wed, 16 Apr 2025 at 11:38, Anil Sahoo <[email protected]>
> wrote:
>
>> Hi Dave,
>>
>> As we discussed in the last meeting, along with your suggestion to add a
>> key in pgaweb's versions.json indicating the source URL for downloading
>> updates for the auto-update feature, I propose the following approach. We
>> will need to make corresponding changes in the pgaweb repository to
>> support this.
>>
>> *Example versions.json format:*
>>
>> {
>>
>>   “edb-pgadmin4”: {
>>     “version”: “9.0”,
>>     “version_int”: 90000,
>>     “download_url”: “
>> https://www.enterprisedb.com/downloads/postgres-postgresql-downloads”,
>>     “auto_update_url”: {
>>         “macOS”: “<edb_installer_url>“,
>>         “windows”: “<edb_installer_url>”
>>    }
>>   },
>>   “pgadmin4”: {
>>     “version”: “9.2”,
>>     “version_int”: 90200,
>>     “download_url”: “https://www.pgadmin.org/download/”,
>>     “auto_update_url”: {
>>         “macOS”: “
>> https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v9.2/macos/”,
>>         “windows”: “
>> https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v9.2/windows/”
>>    }
>>   }
>> }
>>
> Yes, that seems reasonable - except I'd keep the field names all in lower
> case.
>
>
>> Additionally, as I mentioned earlier, for Electron’s auto-update to
>> function on macOS, we need to provide a zip installer that contains the pgAdmin
>> 4.app.
>>
>> If we maintain zip installers for both arm64 and x86_64 macOS
>> architectures, and potentially extend auto-update support to Windows in the
>> future, we estimate requiring up to 1.5 GB of additional storage on the FTP
>> server beyond the current allocation. Please note that we only need to
>> store the zip files for the latest version, as older versions will be
>> updated directly to the newest release.
>>
>> Please share your suggestions on this.
>>
> Do the zip files include the version number (and is that also included in
> the URLs above)?
>
>
>> Thanks,
>> Anil
>>
>> On Wed, Mar 19, 2025 at 6:53 PM Anil Sahoo <[email protected]>
>> wrote:
>>
>>> Okay, I will implement it as per the suggestions.
>>>
>>> Thanks
>>>
>>> On Wed, Mar 19, 2025 at 5:14 PM Dave Page <[email protected]> wrote:
>>>
>>>>
>>>>
>>>> On Wed, 19 Mar 2025 at 10:58, Anil Sahoo <[email protected]>
>>>> wrote:
>>>>
>>>>> Hi Dave,
>>>>>
>>>>> As discussed I moved with auto-update of pgAdmin 4 application in
>>>>> macOs system locally. It is successful.
>>>>> So now I have to do some additional user experience improvements.
>>>>>
>>>>> Listing down some ways we can show the user that a new version is
>>>>> available and he can download and install it.
>>>>>
>>>>> *Option 1:*
>>>>>
>>>>> Show a dialog with the released features and fixes(mentioned in the
>>>>> release note) with *"Download & Restart"* and *"Cancel"*  buttons.
>>>>> This dialog will be shown only when the application starts for the first
>>>>> time of the day.
>>>>>
>>>>> Benefits of showing this dialog will help users to know about the new
>>>>> features and bugs fixed available in the latest version.
>>>>>
>>>>> "Download & Restart" button will download the latest version and quit
>>>>> the app and install and open the latest app. "Cancel" will cancel the
>>>>> notification.
>>>>>
>>>>> *Option 2:*
>>>>>
>>>>> We are currently showing a warning notification of the latest version
>>>>> available, if the older version is being used by the user, we can add *"Download
>>>>> & Restart"* and *"Cancel" * buttons. And those buttons will work the
>>>>> way they are working in Option 1.
>>>>>
>>>>> Additionally we will add *"Check for updates"* option in pgAdmin 4
>>>>> native menu, if any time a user wants to check for updates manually then
>>>>> can prefer this and if update is available then the *"Restart to
>>>>> update"* option will show and if clicked will quit the app and
>>>>> install the latest version.
>>>>>
>>>>> Let me know in which way we can proceed.
>>>>>
>>>>
>>>> Option 1 seems good to me; though the current notifier should continue
>>>> to work as it does now if a particular distribution channel doesn't support
>>>> auto-updates (for example, the EDB PostgreSQL Installer).
>>>>
>>>> --
>>>> Dave Page
>>>> pgAdmin: https://www.pgadmin.org
>>>> PostgreSQL: https://www.postgresql.org
>>>> pgEdge: https://www.pgedge.com
>>>>
>>>>
>>>
>>> --
>>>
>>>
>>> *Anil Sahoo*
>>>
>>> Software Development Engineer II
>>>
>>> LinkedIn <https://www.linkedin.com/in/anilksahoo9/; || Blog
>>> <https://www.enterprisedb.com/anil-sahoo; || *GitHub
>>> <https://github.com/anilsahoo20>*
>>>
>>> enterprisedb.com
>>>
>>
>>
>> --
>>
>>
>> *Anil Sahoo*
>>
>> Software Development Engineer II
>>
>> LinkedIn <https://www.linkedin.com/in/anilksahoo9/; || Blog
>> <https://www.enterprisedb.com/anil-sahoo; || *GitHub
>> <https://github.com/anilsahoo20>*
>>
>> enterprisedb.com
>>
>
>
> --
> Dave Page
> pgAdmin: https://www.pgadmin.org
> PostgreSQL: https://www.postgresql.org
> pgEdge: https://www.pgedge.com
>
>

-- 


*Anil Sahoo*

Software Development Engineer II

LinkedIn <https://www.linkedin.com/in/anilksahoo9/; || Blog
<https://www.enterprisedb.com/anil-sahoo; || *GitHub
<https://github.com/anilsahoo20>*

enterprisedb.com


^ permalink  raw  reply  [nested|flat] 13+ messages in thread

* Re: Require suggestions on feature #5766
  2024-11-27 07:57 Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-11-27 17:04 ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2024-11-28 11:37   ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-11-29 13:44     ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2024-12-04 05:18       ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2024-12-05 11:41         ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2025-03-19 10:57           ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2025-03-19 11:43             ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2025-03-19 13:23               ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2025-04-16 10:37                 ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
  2025-04-16 13:45                   ` Re: Require suggestions on feature #5766 Dave Page <[email protected]>
  2025-04-17 05:36                     ` Re: Require suggestions on feature #5766 Anil Sahoo <[email protected]>
@ 2025-04-17 06:06                       ` Anil Sahoo <[email protected]>
  0 siblings, 0 replies; 13+ messages in thread

From: Anil Sahoo @ 2025-04-17 06:06 UTC (permalink / raw)
  To: Dave Page <[email protected]>; +Cc: pgadmin-hackers

Hi Dave,

FYI auto_update_url can be anything, and it's optional to give a version
number.

Thanks

On Thu, Apr 17, 2025 at 11:06 AM Anil Sahoo <[email protected]>
wrote:

> Hi Dave,
>
> Yes zip files will have the version number, here is an
> example: pgadmin4-9.2-arm64.zip.
>
> Yes, version number will be included in the earlier mentioned URL.
>
> Also I will keep the field names in lower case.
>
> Thanks
>
> On Wed, Apr 16, 2025 at 7:15 PM Dave Page <[email protected]> wrote:
>
>> Hi
>>
>> On Wed, 16 Apr 2025 at 11:38, Anil Sahoo <[email protected]>
>> wrote:
>>
>>> Hi Dave,
>>>
>>> As we discussed in the last meeting, along with your suggestion to add a
>>> key in pgaweb's versions.json indicating the source URL for downloading
>>> updates for the auto-update feature, I propose the following approach. We
>>> will need to make corresponding changes in the pgaweb repository to
>>> support this.
>>>
>>> *Example versions.json format:*
>>>
>>> {
>>>
>>>   “edb-pgadmin4”: {
>>>     “version”: “9.0”,
>>>     “version_int”: 90000,
>>>     “download_url”: “
>>> https://www.enterprisedb.com/downloads/postgres-postgresql-downloads”,
>>>     “auto_update_url”: {
>>>         “macOS”: “<edb_installer_url>“,
>>>         “windows”: “<edb_installer_url>”
>>>    }
>>>   },
>>>   “pgadmin4”: {
>>>     “version”: “9.2”,
>>>     “version_int”: 90200,
>>>     “download_url”: “https://www.pgadmin.org/download/”,
>>>     “auto_update_url”: {
>>>         “macOS”: “
>>> https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v9.2/macos/”,
>>>         “windows”: “
>>> https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v9.2/windows/”
>>>    }
>>>   }
>>> }
>>>
>> Yes, that seems reasonable - except I'd keep the field names all in lower
>> case.
>>
>>
>>> Additionally, as I mentioned earlier, for Electron’s auto-update to
>>> function on macOS, we need to provide a zip installer that contains the pgAdmin
>>> 4.app.
>>>
>>> If we maintain zip installers for both arm64 and x86_64 macOS
>>> architectures, and potentially extend auto-update support to Windows in the
>>> future, we estimate requiring up to 1.5 GB of additional storage on the FTP
>>> server beyond the current allocation. Please note that we only need to
>>> store the zip files for the latest version, as older versions will be
>>> updated directly to the newest release.
>>>
>>> Please share your suggestions on this.
>>>
>> Do the zip files include the version number (and is that also included in
>> the URLs above)?
>>
>>
>>> Thanks,
>>> Anil
>>>
>>> On Wed, Mar 19, 2025 at 6:53 PM Anil Sahoo <[email protected]>
>>> wrote:
>>>
>>>> Okay, I will implement it as per the suggestions.
>>>>
>>>> Thanks
>>>>
>>>> On Wed, Mar 19, 2025 at 5:14 PM Dave Page <[email protected]> wrote:
>>>>
>>>>>
>>>>>
>>>>> On Wed, 19 Mar 2025 at 10:58, Anil Sahoo <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Hi Dave,
>>>>>>
>>>>>> As discussed I moved with auto-update of pgAdmin 4 application in
>>>>>> macOs system locally. It is successful.
>>>>>> So now I have to do some additional user experience improvements.
>>>>>>
>>>>>> Listing down some ways we can show the user that a new version is
>>>>>> available and he can download and install it.
>>>>>>
>>>>>> *Option 1:*
>>>>>>
>>>>>> Show a dialog with the released features and fixes(mentioned in the
>>>>>> release note) with *"Download & Restart"* and *"Cancel"*  buttons.
>>>>>> This dialog will be shown only when the application starts for the first
>>>>>> time of the day.
>>>>>>
>>>>>> Benefits of showing this dialog will help users to know about the new
>>>>>> features and bugs fixed available in the latest version.
>>>>>>
>>>>>> "Download & Restart" button will download the latest version and quit
>>>>>> the app and install and open the latest app. "Cancel" will cancel
>>>>>> the notification.
>>>>>>
>>>>>> *Option 2:*
>>>>>>
>>>>>> We are currently showing a warning notification of the latest version
>>>>>> available, if the older version is being used by the user, we can add *"Download
>>>>>> & Restart"* and *"Cancel" * buttons. And those buttons will work the
>>>>>> way they are working in Option 1.
>>>>>>
>>>>>> Additionally we will add *"Check for updates"* option in pgAdmin 4
>>>>>> native menu, if any time a user wants to check for updates manually then
>>>>>> can prefer this and if update is available then the *"Restart to
>>>>>> update"* option will show and if clicked will quit the app and
>>>>>> install the latest version.
>>>>>>
>>>>>> Let me know in which way we can proceed.
>>>>>>
>>>>>
>>>>> Option 1 seems good to me; though the current notifier should continue
>>>>> to work as it does now if a particular distribution channel doesn't support
>>>>> auto-updates (for example, the EDB PostgreSQL Installer).
>>>>>
>>>>> --
>>>>> Dave Page
>>>>> pgAdmin: https://www.pgadmin.org
>>>>> PostgreSQL: https://www.postgresql.org
>>>>> pgEdge: https://www.pgedge.com
>>>>>
>>>>>
>>>>
>>>> --
>>>>
>>>>
>>>> *Anil Sahoo*
>>>>
>>>> Software Development Engineer II
>>>>
>>>> LinkedIn <https://www.linkedin.com/in/anilksahoo9/; || Blog
>>>> <https://www.enterprisedb.com/anil-sahoo; || *GitHub
>>>> <https://github.com/anilsahoo20>*
>>>>
>>>> enterprisedb.com
>>>>
>>>
>>>
>>> --
>>>
>>>
>>> *Anil Sahoo*
>>>
>>> Software Development Engineer II
>>>
>>> LinkedIn <https://www.linkedin.com/in/anilksahoo9/; || Blog
>>> <https://www.enterprisedb.com/anil-sahoo; || *GitHub
>>> <https://github.com/anilsahoo20>*
>>>
>>> enterprisedb.com
>>>
>>
>>
>> --
>> Dave Page
>> pgAdmin: https://www.pgadmin.org
>> PostgreSQL: https://www.postgresql.org
>> pgEdge: https://www.pgedge.com
>>
>>
>
> --
>
>
> *Anil Sahoo*
>
> Software Development Engineer II
>
> LinkedIn <https://www.linkedin.com/in/anilksahoo9/; || Blog
> <https://www.enterprisedb.com/anil-sahoo; || *GitHub
> <https://github.com/anilsahoo20>*
>
> enterprisedb.com
>


-- 


*Anil Sahoo*

Software Development Engineer II

LinkedIn <https://www.linkedin.com/in/anilksahoo9/; || Blog
<https://www.enterprisedb.com/anil-sahoo; || *GitHub
<https://github.com/anilsahoo20>*

enterprisedb.com


^ permalink  raw  reply  [nested|flat] 13+ messages in thread


end of thread, other threads:[~2025-04-17 06:06 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2024-11-27 07:57 Require suggestions on feature #5766 Anil Sahoo <[email protected]>
2024-11-27 17:04 ` Dave Page <[email protected]>
2024-11-28 11:37   ` Anil Sahoo <[email protected]>
2024-11-29 13:44     ` Dave Page <[email protected]>
2024-12-04 05:18       ` Anil Sahoo <[email protected]>
2024-12-05 11:41         ` Dave Page <[email protected]>
2025-03-19 10:57           ` Anil Sahoo <[email protected]>
2025-03-19 11:43             ` Dave Page <[email protected]>
2025-03-19 13:23               ` Anil Sahoo <[email protected]>
2025-04-16 10:37                 ` Anil Sahoo <[email protected]>
2025-04-16 13:45                   ` Dave Page <[email protected]>
2025-04-17 05:36                     ` Anil Sahoo <[email protected]>
2025-04-17 06:06                       ` Anil Sahoo <[email protected]>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox