Обсуждение: Feature #5370 User should be able to set the binary path for each database server

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

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

Вложения

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 <akshay.joshi@enterprisedb.com> 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"
Вложения

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 <aditya.toshniwal@enterprisedb.com> 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 <akshay.joshi@enterprisedb.com> 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

Вложения

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

От
Dave Page
Дата:
Hi Akshay,

On Thu, May 13, 2021 at 10:35 AM Akshay Joshi <akshay.joshi@enterprisedb.com> 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 <aditya.toshniwal@enterprisedb.com> 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 <akshay.joshi@enterprisedb.com> 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



--
Вложения

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 <dpage@pgadmin.org> wrote:
Hi Akshay,

On Thu, May 13, 2021 at 10:35 AM Akshay Joshi <akshay.joshi@enterprisedb.com> 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 <aditya.toshniwal@enterprisedb.com> 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 <akshay.joshi@enterprisedb.com> 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

Вложения

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

От
Dave Page
Дата:


On Thu, May 13, 2021 at 11:03 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:


On Thu, May 13, 2021 at 3:09 PM Dave Page <dpage@pgadmin.org> wrote:
Hi Akshay,

On Thu, May 13, 2021 at 10:35 AM Akshay Joshi <akshay.joshi@enterprisedb.com> 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 <aditya.toshniwal@enterprisedb.com> 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 <akshay.joshi@enterprisedb.com> 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



--
Вложения

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 <dpage@pgadmin.org> wrote:


On Thu, May 13, 2021 at 11:03 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:


On Thu, May 13, 2021 at 3:09 PM Dave Page <dpage@pgadmin.org> wrote:
Hi Akshay,

On Thu, May 13, 2021 at 10:35 AM Akshay Joshi <akshay.joshi@enterprisedb.com> 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 <aditya.toshniwal@enterprisedb.com> 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 <akshay.joshi@enterprisedb.com> 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

Вложения

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

От
Dave Page
Дата:
Hi Akshay,

On Fri, May 21, 2021 at 8:03 AM Akshay Joshi <akshay.joshi@enterprisedb.com> 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.


--
Вложения

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 <dpage@pgadmin.org> wrote:
Hi Akshay,

On Fri, May 21, 2021 at 8:03 AM Akshay Joshi <akshay.joshi@enterprisedb.com> 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

Вложения

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

От
Dave Page
Дата:
Hi Akshay,

On Fri, May 21, 2021 at 10:01 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:


On Fri, May 21, 2021 at 1:01 PM Dave Page <dpage@pgadmin.org> wrote:
Hi Akshay,

On Fri, May 21, 2021 at 8:03 AM Akshay Joshi <akshay.joshi@enterprisedb.com> 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. 


--
Вложения

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 <dpage@pgadmin.org> wrote:
Hi Akshay,

On Fri, May 21, 2021 at 10:01 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:


On Fri, May 21, 2021 at 1:01 PM Dave Page <dpage@pgadmin.org> wrote:
Hi Akshay,

On Fri, May 21, 2021 at 8:03 AM Akshay Joshi <akshay.joshi@enterprisedb.com> 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

Вложения

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

От
Dave Page
Дата:
Hi Akshay,

On Thu, Jun 3, 2021 at 3:07 PM Akshay Joshi <akshay.joshi@enterprisedb.com> 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 <dpage@pgadmin.org> wrote:
Hi Akshay,

On Fri, May 21, 2021 at 10:01 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:


On Fri, May 21, 2021 at 1:01 PM Dave Page <dpage@pgadmin.org> wrote:
Hi Akshay,

On Fri, May 21, 2021 at 8:03 AM Akshay Joshi <akshay.joshi@enterprisedb.com> 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



--
Вложения

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 <dpage@pgadmin.org> wrote:
Hi Akshay,

On Thu, Jun 3, 2021 at 3:07 PM Akshay Joshi <akshay.joshi@enterprisedb.com> 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 <dpage@pgadmin.org> wrote:
Hi Akshay,

On Fri, May 21, 2021 at 10:01 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:


On Fri, May 21, 2021 at 1:01 PM Dave Page <dpage@pgadmin.org> wrote:
Hi Akshay,

On Fri, May 21, 2021 at 8:03 AM Akshay Joshi <akshay.joshi@enterprisedb.com> 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

Вложения

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

От
Dave Page
Дата:


On Fri, Jun 4, 2021 at 9:59 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi Dave

On Fri, Jun 4, 2021 at 1:51 PM Dave Page <dpage@pgadmin.org> wrote:
Hi Akshay,

On Thu, Jun 3, 2021 at 3:07 PM Akshay Joshi <akshay.joshi@enterprisedb.com> 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 <dpage@pgadmin.org> wrote:
Hi Akshay,

On Fri, May 21, 2021 at 10:01 AM Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:


On Fri, May 21, 2021 at 1:01 PM Dave Page <dpage@pgadmin.org> wrote:
Hi Akshay,

On Fri, May 21, 2021 at 8:03 AM Akshay Joshi <akshay.joshi@enterprisedb.com> 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



--
Вложения