Feature #5370 User should be able to set the binary path for each database server

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

Feature #5370 User should be able to set the binary path for each database server

Akshay Joshi
Hi Dave/Hackers

I have implemented feature #5370 "User should be able to set the binary path for each database server." I have added "Utility path" control in the Advanced tab of the server dialog, refer to the image below:

                          Screenshot 2021-05-13 at 2.11.52 PM.png

If the above path is set by the user then will pick that else we will pick the default binary path of the preferences dialog (if set). In case utility is not found on the specified path we raise the popup dialog with the modified error message. 

                         Screenshot 2021-05-13 at 2.12.28 PM.png

If the above implementation looks good then, I'll commit this feature by today's EOD.

--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246

Reply | Threaded
Open this post in threaded view
|

Re: Feature #5370 User should be able to set the binary path for each database server

Aditya Toshniwal
Hi Akshay,

Just to make it more discoverable, please also change the help text in Preferences dialog.

On Thu, May 13, 2021 at 2:26 PM Akshay Joshi <[hidden email]> wrote:
Hi Dave/Hackers

I have implemented feature #5370 "User should be able to set the binary path for each database server." I have added "Utility path" control in the Advanced tab of the server dialog, refer to the image below:

                          Screenshot 2021-05-13 at 2.11.52 PM.png

If the above path is set by the user then will pick that else we will pick the default binary path of the preferences dialog (if set). In case utility is not found on the specified path we raise the popup dialog with the modified error message. 

                         Screenshot 2021-05-13 at 2.12.28 PM.png

If the above implementation looks good then, I'll commit this feature by today's EOD.

--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246



--
Thanks,
Aditya Toshniwal
pgAdmin hacker | Sr. Software Engineer | edbpostgres.com
"Don't Complain about Heat, Plant a TREE"
Reply | Threaded
Open this post in threaded view
|

Re: Feature #5370 User should be able to set the binary path for each database server

Akshay Joshi
Hi Aditya/Hackers

Screenshot 2021-05-13 at 3.02.59 PM.png

Are the above changes looks good? 


On Thu, May 13, 2021 at 2:43 PM Aditya Toshniwal <[hidden email]> wrote:
Hi Akshay,

Just to make it more discoverable, please also change the help text in Preferences dialog.

On Thu, May 13, 2021 at 2:26 PM Akshay Joshi <[hidden email]> wrote:
Hi Dave/Hackers

I have implemented feature #5370 "User should be able to set the binary path for each database server." I have added "Utility path" control in the Advanced tab of the server dialog, refer to the image below:

                          Screenshot 2021-05-13 at 2.11.52 PM.png

If the above path is set by the user then will pick that else we will pick the default binary path of the preferences dialog (if set). In case utility is not found on the specified path we raise the popup dialog with the modified error message. 

                         Screenshot 2021-05-13 at 2.12.28 PM.png

If the above implementation looks good then, I'll commit this feature by today's EOD.

--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246



--
Thanks,
Aditya Toshniwal
pgAdmin hacker | Sr. Software Engineer | edbpostgres.com
"Don't Complain about Heat, Plant a TREE"


--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246

Reply | Threaded
Open this post in threaded view
|

Re: Feature #5370 User should be able to set the binary path for each database server

Dave Page-7
Hi Akshay,

On Thu, May 13, 2021 at 10:35 AM Akshay Joshi <[hidden email]> wrote:
Hi Aditya/Hackers

Screenshot 2021-05-13 at 3.02.59 PM.png

Are the above changes looks good? 

Well, s/Global/Default, but otherwise that, and the other UI is fine.

However, that does mean the path needs to be set for every server (and keep in mind, I know some users of this code have hundreds registered), and it also means that we cannot pre-configure the paths in, for example, our container.

I'd prefer to see all the configuration in Preferences, so we'd maybe have a grid instead of a text field, containing three columns, one with the major version number, and one with the path to use for that version. The third column would be a radio button to mark a particular path as the default to use in case another path isn't set.
 


On Thu, May 13, 2021 at 2:43 PM Aditya Toshniwal <[hidden email]> wrote:
Hi Akshay,

Just to make it more discoverable, please also change the help text in Preferences dialog.

On Thu, May 13, 2021 at 2:26 PM Akshay Joshi <[hidden email]> wrote:
Hi Dave/Hackers

I have implemented feature #5370 "User should be able to set the binary path for each database server." I have added "Utility path" control in the Advanced tab of the server dialog, refer to the image below:

                          Screenshot 2021-05-13 at 2.11.52 PM.png

If the above path is set by the user then will pick that else we will pick the default binary path of the preferences dialog (if set). In case utility is not found on the specified path we raise the popup dialog with the modified error message. 

                         Screenshot 2021-05-13 at 2.12.28 PM.png

If the above implementation looks good then, I'll commit this feature by today's EOD.

--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246



--
Thanks,
Aditya Toshniwal
pgAdmin hacker | Sr. Software Engineer | edbpostgres.com
"Don't Complain about Heat, Plant a TREE"


--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246



--
Reply | Threaded
Open this post in threaded view
|

Re: Feature #5370 User should be able to set the binary path for each database server

Akshay Joshi


On Thu, May 13, 2021 at 3:09 PM Dave Page <[hidden email]> wrote:
Hi Akshay,

On Thu, May 13, 2021 at 10:35 AM Akshay Joshi <[hidden email]> wrote:
Hi Aditya/Hackers

Screenshot 2021-05-13 at 3.02.59 PM.png

Are the above changes looks good? 

Well, s/Global/Default, but otherwise that, and the other UI is fine.

However, that does mean the path needs to be set for every server (and keep in mind, I know some users of this code have hundreds registered), and it also means that we cannot pre-configure the paths in, for example, our container.

    Yes, if the user wants to set it, else default path in the preferences is applicable. Yes, we can't pre-configure the paths. 

I'd prefer to see all the configuration in Preferences, so we'd maybe have a grid instead of a text field, containing three columns, one with the major version number, and one with the path to use for that version. The third column would be a radio button to mark a particular path as the default to use in case another path isn't set.
 
   OK, we need to create a new control for that which we can add into the Preferences. If I understand correctly initially the grid is empty, the user will have to add the major version (from the drop-down and that list contains values like 'PostgreSQL 10', 'PostgreSQL 11', 'EDB Advanced Server 10', .....) and respective path.
 


On Thu, May 13, 2021 at 2:43 PM Aditya Toshniwal <[hidden email]> wrote:
Hi Akshay,

Just to make it more discoverable, please also change the help text in Preferences dialog.

On Thu, May 13, 2021 at 2:26 PM Akshay Joshi <[hidden email]> wrote:
Hi Dave/Hackers

I have implemented feature #5370 "User should be able to set the binary path for each database server." I have added "Utility path" control in the Advanced tab of the server dialog, refer to the image below:

                          Screenshot 2021-05-13 at 2.11.52 PM.png

If the above path is set by the user then will pick that else we will pick the default binary path of the preferences dialog (if set). In case utility is not found on the specified path we raise the popup dialog with the modified error message. 

                         Screenshot 2021-05-13 at 2.12.28 PM.png

If the above implementation looks good then, I'll commit this feature by today's EOD.

--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246



--
Thanks,
Aditya Toshniwal
pgAdmin hacker | Sr. Software Engineer | edbpostgres.com
"Don't Complain about Heat, Plant a TREE"


--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246



--


--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246

Reply | Threaded
Open this post in threaded view
|

Re: Feature #5370 User should be able to set the binary path for each database server

Dave Page-7


On Thu, May 13, 2021 at 11:03 AM Akshay Joshi <[hidden email]> wrote:


On Thu, May 13, 2021 at 3:09 PM Dave Page <[hidden email]> wrote:
Hi Akshay,

On Thu, May 13, 2021 at 10:35 AM Akshay Joshi <[hidden email]> wrote:
Hi Aditya/Hackers

Screenshot 2021-05-13 at 3.02.59 PM.png

Are the above changes looks good? 

Well, s/Global/Default, but otherwise that, and the other UI is fine.

However, that does mean the path needs to be set for every server (and keep in mind, I know some users of this code have hundreds registered), and it also means that we cannot pre-configure the paths in, for example, our container.

    Yes, if the user wants to set it, else default path in the preferences is applicable. Yes, we can't pre-configure the paths. 

I'd prefer to see all the configuration in Preferences, so we'd maybe have a grid instead of a text field, containing three columns, one with the major version number, and one with the path to use for that version. The third column would be a radio button to mark a particular path as the default to use in case another path isn't set.
 
   OK, we need to create a new control for that which we can add into the Preferences. If I understand correctly initially the grid is empty, the user will have to add the major version (from the drop-down and that list contains values like 'PostgreSQL 10', 'PostgreSQL 11', 'EDB Advanced Server 10', .....) and respective path.

No, I would say it should be pre-filled with the supported versions.

It doesn't necessarily have to be a grid though, if you can think of a better way of presenting it.

Also; we will also need some to migrate and extend this config:

DEFAULT_BINARY_PATHS = {
    "pg": "",
    "ppas": "",
    "gpdb": ""
}


 
 


On Thu, May 13, 2021 at 2:43 PM Aditya Toshniwal <[hidden email]> wrote:
Hi Akshay,

Just to make it more discoverable, please also change the help text in Preferences dialog.

On Thu, May 13, 2021 at 2:26 PM Akshay Joshi <[hidden email]> wrote:
Hi Dave/Hackers

I have implemented feature #5370 "User should be able to set the binary path for each database server." I have added "Utility path" control in the Advanced tab of the server dialog, refer to the image below:

                          Screenshot 2021-05-13 at 2.11.52 PM.png

If the above path is set by the user then will pick that else we will pick the default binary path of the preferences dialog (if set). In case utility is not found on the specified path we raise the popup dialog with the modified error message. 

                         Screenshot 2021-05-13 at 2.12.28 PM.png

If the above implementation looks good then, I'll commit this feature by today's EOD.

--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246



--
Thanks,
Aditya Toshniwal
pgAdmin hacker | Sr. Software Engineer | edbpostgres.com
"Don't Complain about Heat, Plant a TREE"


--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246



--


--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246



--
Reply | Threaded
Open this post in threaded view
|

Re: Feature #5370 User should be able to set the binary path for each database server

Akshay Joshi
Hi Dave/Hackers

On Thu, May 13, 2021 at 7:03 PM Dave Page <[hidden email]> wrote:


On Thu, May 13, 2021 at 11:03 AM Akshay Joshi <[hidden email]> wrote:


On Thu, May 13, 2021 at 3:09 PM Dave Page <[hidden email]> wrote:
Hi Akshay,

On Thu, May 13, 2021 at 10:35 AM Akshay Joshi <[hidden email]> wrote:
Hi Aditya/Hackers

Screenshot 2021-05-13 at 3.02.59 PM.png

Are the above changes looks good? 

Well, s/Global/Default, but otherwise that, and the other UI is fine.

However, that does mean the path needs to be set for every server (and keep in mind, I know some users of this code have hundreds registered), and it also means that we cannot pre-configure the paths in, for example, our container.

    Yes, if the user wants to set it, else default path in the preferences is applicable. Yes, we can't pre-configure the paths. 

I'd prefer to see all the configuration in Preferences, so we'd maybe have a grid instead of a text field, containing three columns, one with the major version number, and one with the path to use for that version. The third column would be a radio button to mark a particular path as the default to use in case another path isn't set.
 
   OK, we need to create a new control for that which we can add into the Preferences. If I understand correctly initially the grid is empty, the user will have to add the major version (from the drop-down and that list contains values like 'PostgreSQL 10', 'PostgreSQL 11', 'EDB Advanced Server 10', .....) and respective path.

No, I would say it should be pre-filled with the supported versions.

It doesn't necessarily have to be a grid though, if you can think of a better way of presenting it.

Also; we will also need some to migrate and extend this config:

DEFAULT_BINARY_PATHS = {
    "pg": "",
    "ppas": "",
    "gpdb": ""
}


    As per your suggestion, I have created a new Backform control "BinaryPathsGridControl" and two new BackgridCell (BackgridRadioCell and BackgridSelectFileCell). Please refer to the screenshot below: 
                                     Binary_Path.png
   
   Are the above changes look good to you? The radio button will only be enabled when there is a path. Added validate button which will validate the Utilities (pg_dump, pg_dumpall, ...)  
  

 
 


On Thu, May 13, 2021 at 2:43 PM Aditya Toshniwal <[hidden email]> wrote:
Hi Akshay,

Just to make it more discoverable, please also change the help text in Preferences dialog.

On Thu, May 13, 2021 at 2:26 PM Akshay Joshi <[hidden email]> wrote:
Hi Dave/Hackers

I have implemented feature #5370 "User should be able to set the binary path for each database server." I have added "Utility path" control in the Advanced tab of the server dialog, refer to the image below:

                          Screenshot 2021-05-13 at 2.11.52 PM.png

If the above path is set by the user then will pick that else we will pick the default binary path of the preferences dialog (if set). In case utility is not found on the specified path we raise the popup dialog with the modified error message. 

                         Screenshot 2021-05-13 at 2.12.28 PM.png

If the above implementation looks good then, I'll commit this feature by today's EOD.

--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246



--
Thanks,
Aditya Toshniwal
pgAdmin hacker | Sr. Software Engineer | edbpostgres.com
"Don't Complain about Heat, Plant a TREE"


--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246



--


--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246



--


--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246

Reply | Threaded
Open this post in threaded view
|

Re: Feature #5370 User should be able to set the binary path for each database server

Dave Page-7
Hi Akshay,

On Fri, May 21, 2021 at 8:03 AM Akshay Joshi <[hidden email]> wrote:
Hi Dave/Hackers

    As per your suggestion, I have created a new Backform control "BinaryPathsGridControl" and two new BackgridCell (BackgridRadioCell and BackgridSelectFileCell). Please refer to the screenshot below: 
                                     Binary_Path.png
   
   Are the above changes look good to you? The radio button will only be enabled when there is a path. Added validate button which will validate the Utilities (pg_dump, pg_dumpall, ...)  

Nice! Just a couple of comments:

- I assume the browse button is removed in server mode as discussed? Maybe we should add a config.py option to allow that behaviour to be overridden if the admin doesn't care about sandboxing? 

- I think we need some hint text. How about something like:

Enter the directory in which the psql, pg_dump, pg_dumpall, and pg_restore utilities can be found for the corresponding database server version. The default path will be used for server versions that do not have a path specified.


--
Reply | Threaded
Open this post in threaded view
|

Re: Feature #5370 User should be able to set the binary path for each database server

Akshay Joshi


On Fri, May 21, 2021 at 1:01 PM Dave Page <[hidden email]> wrote:
Hi Akshay,

On Fri, May 21, 2021 at 8:03 AM Akshay Joshi <[hidden email]> wrote:
Hi Dave/Hackers

    As per your suggestion, I have created a new Backform control "BinaryPathsGridControl" and two new BackgridCell (BackgridRadioCell and BackgridSelectFileCell). Please refer to the screenshot below: 
                                     Binary_Path.png
   
   Are the above changes look good to you? The radio button will only be enabled when there is a path. Added validate button which will validate the Utilities (pg_dump, pg_dumpall, ...)  

Nice! Just a couple of comments:

- I assume the browse button is removed in server mode as discussed? Maybe we should add a config.py option to allow that behaviour to be overridden if the admin doesn't care about sandboxing?

     Yes, will take care that in server mode browse button should not be visible. if the config option "ENABLE_FILE_BROWSING" is set to true then only the browse button will be enabled in server mode. 
 

- I think we need some hint text. How about something like:

Enter the directory in which the psql, pg_dump, pg_dumpall, and pg_restore utilities can be found for the corresponding database server version. The default path will be used for server versions that do not have a path specified.

    I have added the hint in two ways, please refer to the screenshots below and let me know your prefered one.
         Screenshot 2021-05-21 at 2.16.57 PM.png.        Screenshot 2021-05-21 at 2.23.50 PM.png


--


--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246

Reply | Threaded
Open this post in threaded view
|

Re: Feature #5370 User should be able to set the binary path for each database server

Dave Page-7
Hi Akshay,

On Fri, May 21, 2021 at 10:01 AM Akshay Joshi <[hidden email]> wrote:


On Fri, May 21, 2021 at 1:01 PM Dave Page <[hidden email]> wrote:
Hi Akshay,

On Fri, May 21, 2021 at 8:03 AM Akshay Joshi <[hidden email]> wrote:
Hi Dave/Hackers

    As per your suggestion, I have created a new Backform control "BinaryPathsGridControl" and two new BackgridCell (BackgridRadioCell and BackgridSelectFileCell). Please refer to the screenshot below: 
                                     Binary_Path.png
   
   Are the above changes look good to you? The radio button will only be enabled when there is a path. Added validate button which will validate the Utilities (pg_dump, pg_dumpall, ...)  

Nice! Just a couple of comments:

- I assume the browse button is removed in server mode as discussed? Maybe we should add a config.py option to allow that behaviour to be overridden if the admin doesn't care about sandboxing?

     Yes, will take care that in server mode browse button should not be visible. if the config option "ENABLE_FILE_BROWSING" is set to true then only the browse button will be enabled in server mode. 

I think the name needs to be a little more specific. How about ENABLE_BINARY_PATH_BROWSING?
 
 

- I think we need some hint text. How about something like:

Enter the directory in which the psql, pg_dump, pg_dumpall, and pg_restore utilities can be found for the corresponding database server version. The default path will be used for server versions that do not have a path specified.

    I have added the hint in two ways, please refer to the screenshots below and let me know your prefered one.
         Screenshot 2021-05-21 at 2.16.57 PM.png.        Screenshot 2021-05-21 at 2.23.50 PM.png

I think having the text below is better. It's more consistent with other controls. 


--
Reply | Threaded
Open this post in threaded view
|

Re: Feature #5370 User should be able to set the binary path for each database server

Akshay Joshi
Hi Dave/Hackers

I have almost completed the implementation of this feature as per the discussion. Facing one wired alertify issue whenever we open the preference dialog and scroll to the bottom of any page and then open another alertify dialog (About) scroll bars automatically scroll to top https://redmine.postgresql.org/issues/6506.

After creating a new RM #6506, I did some R&D and figure out that if create Preferences dialog as a modal dialog issue is resolved. So I think there should not be any problem to make the Preferences dialog as a modal dialog?

Please refer to the image below:
Validate_2.png

Is the above look good to you?

Regarding migrate and extend the configuration "DEFAULT_BINARY_PATHS" I have the following questions:
  • If "DEFAULT_BINARY_PATHS" is defined then, where to show this in the grid? Can we show it to the latest database server version and make it default?
  • If you agree to the first point then what if the user has already define another path for the latest database server version, should we overwrite it?


On Fri, May 21, 2021 at 2:46 PM Dave Page <[hidden email]> wrote:
Hi Akshay,

On Fri, May 21, 2021 at 10:01 AM Akshay Joshi <[hidden email]> wrote:


On Fri, May 21, 2021 at 1:01 PM Dave Page <[hidden email]> wrote:
Hi Akshay,

On Fri, May 21, 2021 at 8:03 AM Akshay Joshi <[hidden email]> wrote:
Hi Dave/Hackers

    As per your suggestion, I have created a new Backform control "BinaryPathsGridControl" and two new BackgridCell (BackgridRadioCell and BackgridSelectFileCell). Please refer to the screenshot below: 
                                     Binary_Path.png
   
   Are the above changes look good to you? The radio button will only be enabled when there is a path. Added validate button which will validate the Utilities (pg_dump, pg_dumpall, ...)  

Nice! Just a couple of comments:

- I assume the browse button is removed in server mode as discussed? Maybe we should add a config.py option to allow that behaviour to be overridden if the admin doesn't care about sandboxing?

     Yes, will take care that in server mode browse button should not be visible. if the config option "ENABLE_FILE_BROWSING" is set to true then only the browse button will be enabled in server mode. 

I think the name needs to be a little more specific. How about ENABLE_BINARY_PATH_BROWSING?
 
 

- I think we need some hint text. How about something like:

Enter the directory in which the psql, pg_dump, pg_dumpall, and pg_restore utilities can be found for the corresponding database server version. The default path will be used for server versions that do not have a path specified.

    I have added the hint in two ways, please refer to the screenshots below and let me know your prefered one.
         Screenshot 2021-05-21 at 2.16.57 PM.png.        Screenshot 2021-05-21 at 2.23.50 PM.png

I think having the text below is better. It's more consistent with other controls. 


--


--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246

Reply | Threaded
Open this post in threaded view
|

Re: Feature #5370 User should be able to set the binary path for each database server

Dave Page-7
Hi Akshay,

On Thu, Jun 3, 2021 at 3:07 PM Akshay Joshi <[hidden email]> wrote:
Hi Dave/Hackers

I have almost completed the implementation of this feature as per the discussion. Facing one wired alertify issue whenever we open the preference dialog and scroll to the bottom of any page and then open another alertify dialog (About) scroll bars automatically scroll to top https://redmine.postgresql.org/issues/6506.

After creating a new RM #6506, I did some R&D and figure out that if create Preferences dialog as a modal dialog issue is resolved. So I think there should not be any problem to make the Preferences dialog as a modal dialog?

I'd much prefer to avoid using modals (I'd also like to get rid of Alertify, but that's another issue altogether). I'm not sure this minor bug really warrants using a modal - it's a trivial inconvenience, that occurs in quite unusual circumstances.
 

Please refer to the image below:
Validate_2.png

Is the above look good to you?

Yes.
 

Regarding migrate and extend the configuration "DEFAULT_BINARY_PATHS" I have the following questions:
  • If "DEFAULT_BINARY_PATHS" is defined then, where to show this in the grid? Can we show it to the latest database server version and make it default?
Set it for the correct version, not the latest. It should be easy enough to figure out. 
  • If you agree to the first point then what if the user has already define another path for the latest database server version, should we overwrite it?
No - only set the per-version setting if it's empty.

Thanks.
 


On Fri, May 21, 2021 at 2:46 PM Dave Page <[hidden email]> wrote:
Hi Akshay,

On Fri, May 21, 2021 at 10:01 AM Akshay Joshi <[hidden email]> wrote:


On Fri, May 21, 2021 at 1:01 PM Dave Page <[hidden email]> wrote:
Hi Akshay,

On Fri, May 21, 2021 at 8:03 AM Akshay Joshi <[hidden email]> wrote:
Hi Dave/Hackers

    As per your suggestion, I have created a new Backform control "BinaryPathsGridControl" and two new BackgridCell (BackgridRadioCell and BackgridSelectFileCell). Please refer to the screenshot below: 
                                     Binary_Path.png
   
   Are the above changes look good to you? The radio button will only be enabled when there is a path. Added validate button which will validate the Utilities (pg_dump, pg_dumpall, ...)  

Nice! Just a couple of comments:

- I assume the browse button is removed in server mode as discussed? Maybe we should add a config.py option to allow that behaviour to be overridden if the admin doesn't care about sandboxing?

     Yes, will take care that in server mode browse button should not be visible. if the config option "ENABLE_FILE_BROWSING" is set to true then only the browse button will be enabled in server mode. 

I think the name needs to be a little more specific. How about ENABLE_BINARY_PATH_BROWSING?
 
 

- I think we need some hint text. How about something like:

Enter the directory in which the psql, pg_dump, pg_dumpall, and pg_restore utilities can be found for the corresponding database server version. The default path will be used for server versions that do not have a path specified.

    I have added the hint in two ways, please refer to the screenshots below and let me know your prefered one.
         Screenshot 2021-05-21 at 2.16.57 PM.png.        Screenshot 2021-05-21 at 2.23.50 PM.png

I think having the text below is better. It's more consistent with other controls. 


--


--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246



--
Reply | Threaded
Open this post in threaded view
|

Re: Feature #5370 User should be able to set the binary path for each database server

Akshay Joshi
Hi Dave

On Fri, Jun 4, 2021 at 1:51 PM Dave Page <[hidden email]> wrote:
Hi Akshay,

On Thu, Jun 3, 2021 at 3:07 PM Akshay Joshi <[hidden email]> wrote:
Hi Dave/Hackers

I have almost completed the implementation of this feature as per the discussion. Facing one wired alertify issue whenever we open the preference dialog and scroll to the bottom of any page and then open another alertify dialog (About) scroll bars automatically scroll to top https://redmine.postgresql.org/issues/6506.

After creating a new RM #6506, I did some R&D and figure out that if create Preferences dialog as a modal dialog issue is resolved. So I think there should not be any problem to make the Preferences dialog as a modal dialog?

I'd much prefer to avoid using modals (I'd also like to get rid of Alertify, but that's another issue altogether). I'm not sure this minor bug really warrants using a modal - it's a trivial inconvenience, that occurs in quite unusual circumstances.

    This is very annoying for Binary Path when the user selects the binary path and tries to validate or try to select 'Set as default', it scrolls to the top. We need to fix it by making Preferences dialog as a modal dialog. 
 

Please refer to the image below:
Validate_2.png

Is the above look good to you?

Yes.
 

Regarding migrate and extend the configuration "DEFAULT_BINARY_PATHS" I have the following questions:
  • If "DEFAULT_BINARY_PATHS" is defined then, where to show this in the grid? Can we show it to the latest database server version and make it default?
Set it for the correct version, not the latest. It should be easy enough to figure out. 
  • If you agree to the first point then what if the user has already define another path for the latest database server version, should we overwrite it?
No - only set the per-version setting if it's empty.

Thanks.
 


On Fri, May 21, 2021 at 2:46 PM Dave Page <[hidden email]> wrote:
Hi Akshay,

On Fri, May 21, 2021 at 10:01 AM Akshay Joshi <[hidden email]> wrote:


On Fri, May 21, 2021 at 1:01 PM Dave Page <[hidden email]> wrote:
Hi Akshay,

On Fri, May 21, 2021 at 8:03 AM Akshay Joshi <[hidden email]> wrote:
Hi Dave/Hackers

    As per your suggestion, I have created a new Backform control "BinaryPathsGridControl" and two new BackgridCell (BackgridRadioCell and BackgridSelectFileCell). Please refer to the screenshot below: 
                                     Binary_Path.png
   
   Are the above changes look good to you? The radio button will only be enabled when there is a path. Added validate button which will validate the Utilities (pg_dump, pg_dumpall, ...)  

Nice! Just a couple of comments:

- I assume the browse button is removed in server mode as discussed? Maybe we should add a config.py option to allow that behaviour to be overridden if the admin doesn't care about sandboxing?

     Yes, will take care that in server mode browse button should not be visible. if the config option "ENABLE_FILE_BROWSING" is set to true then only the browse button will be enabled in server mode. 

I think the name needs to be a little more specific. How about ENABLE_BINARY_PATH_BROWSING?
 
 

- I think we need some hint text. How about something like:

Enter the directory in which the psql, pg_dump, pg_dumpall, and pg_restore utilities can be found for the corresponding database server version. The default path will be used for server versions that do not have a path specified.

    I have added the hint in two ways, please refer to the screenshots below and let me know your prefered one.
         Screenshot 2021-05-21 at 2.16.57 PM.png.        Screenshot 2021-05-21 at 2.23.50 PM.png

I think having the text below is better. It's more consistent with other controls. 


--


--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246



--


--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246

Reply | Threaded
Open this post in threaded view
|

Re: Feature #5370 User should be able to set the binary path for each database server

Dave Page-7


On Fri, Jun 4, 2021 at 9:59 AM Akshay Joshi <[hidden email]> wrote:
Hi Dave

On Fri, Jun 4, 2021 at 1:51 PM Dave Page <[hidden email]> wrote:
Hi Akshay,

On Thu, Jun 3, 2021 at 3:07 PM Akshay Joshi <[hidden email]> wrote:
Hi Dave/Hackers

I have almost completed the implementation of this feature as per the discussion. Facing one wired alertify issue whenever we open the preference dialog and scroll to the bottom of any page and then open another alertify dialog (About) scroll bars automatically scroll to top https://redmine.postgresql.org/issues/6506.

After creating a new RM #6506, I did some R&D and figure out that if create Preferences dialog as a modal dialog issue is resolved. So I think there should not be any problem to make the Preferences dialog as a modal dialog?

I'd much prefer to avoid using modals (I'd also like to get rid of Alertify, but that's another issue altogether). I'm not sure this minor bug really warrants using a modal - it's a trivial inconvenience, that occurs in quite unusual circumstances.

    This is very annoying for Binary Path when the user selects the binary path and tries to validate or try to select 'Set as default', it scrolls to the top. We need to fix it by making Preferences dialog as a modal dialog. 

OK.
 
 

Please refer to the image below:
Validate_2.png

Is the above look good to you?

Yes.
 

Regarding migrate and extend the configuration "DEFAULT_BINARY_PATHS" I have the following questions:
  • If "DEFAULT_BINARY_PATHS" is defined then, where to show this in the grid? Can we show it to the latest database server version and make it default?
Set it for the correct version, not the latest. It should be easy enough to figure out. 
  • If you agree to the first point then what if the user has already define another path for the latest database server version, should we overwrite it?
No - only set the per-version setting if it's empty.

Thanks.
 


On Fri, May 21, 2021 at 2:46 PM Dave Page <[hidden email]> wrote:
Hi Akshay,

On Fri, May 21, 2021 at 10:01 AM Akshay Joshi <[hidden email]> wrote:


On Fri, May 21, 2021 at 1:01 PM Dave Page <[hidden email]> wrote:
Hi Akshay,

On Fri, May 21, 2021 at 8:03 AM Akshay Joshi <[hidden email]> wrote:
Hi Dave/Hackers

    As per your suggestion, I have created a new Backform control "BinaryPathsGridControl" and two new BackgridCell (BackgridRadioCell and BackgridSelectFileCell). Please refer to the screenshot below: 
                                     Binary_Path.png
   
   Are the above changes look good to you? The radio button will only be enabled when there is a path. Added validate button which will validate the Utilities (pg_dump, pg_dumpall, ...)  

Nice! Just a couple of comments:

- I assume the browse button is removed in server mode as discussed? Maybe we should add a config.py option to allow that behaviour to be overridden if the admin doesn't care about sandboxing?

     Yes, will take care that in server mode browse button should not be visible. if the config option "ENABLE_FILE_BROWSING" is set to true then only the browse button will be enabled in server mode. 

I think the name needs to be a little more specific. How about ENABLE_BINARY_PATH_BROWSING?
 
 

- I think we need some hint text. How about something like:

Enter the directory in which the psql, pg_dump, pg_dumpall, and pg_restore utilities can be found for the corresponding database server version. The default path will be used for server versions that do not have a path specified.

    I have added the hint in two ways, please refer to the screenshots below and let me know your prefered one.
         Screenshot 2021-05-21 at 2.16.57 PM.png.        Screenshot 2021-05-21 at 2.23.50 PM.png

I think having the text below is better. It's more consistent with other controls. 


--


--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246



--


--
Thanks & Regards
Akshay Joshi
pgAdmin Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246



--