Subject: Regarding feature #642

From: Nikhil Mohite <[email-masked]>
Date: Mon, 3 Jul 2023 18:15:54 +0530

Hi Hackers,

I am currently working on #642
<https://github.com/pgadmin-org/pgadmin4/issues/642> to allow to
selection/deselect of objects under the object backup operation.

This will be only applicable to the database and its sub-nodes(Not for
Backup Global and Backup server)

Details:

   1. Added a new tab in the backup dialog '*Objects*'
   2. On the '*Objects*' tab it will list down all the schemas and tables
   under the selected database.
   3. 
   4. If the user selects the specific Schema then it will list down
   only tables under the selected schema.
   5. 
   6. By default, all the nodes from the tree will be selected and the user
   can deselect them if required.
   7. If the user de-selects all the nodes and took a backup it will take a
   normal backup and all other nodes will get included in the backup.

Questions:

   1. pgAdmin III use to support taking backup of tables only from the UI,
   a user was not able to select views, materialized views, foreign tables,
   and sequences from the backup dialog. (If the user selects all from the
   checkbox on the UI then other database objects are included implicitly in
   the backup)
   2. Should we continue with the above behavior or should we now allow the
   user to select these database objects in the backup dialog?

Please let me know your suggestions/thoughts.

-- 
*Thanks & Regards,*
*Nikhil Mohite*
*Senior Software Engineer.*
*EDB Postgres* <https://www.enterprisedb.com/>
*Mob.No: +91-7798364578.*

---

From: Akshay Joshi <[email-masked]>
Date: Tue, 4 Jul 2023 10:20:29 +0530

Hi Nikhil

On Mon, Jul 3, 2023 at 6:16 PM Nikhil Mohite <[email-masked]>
wrote:

>    6. By default, all the nodes from the tree will be selected and the
>    user can deselect them if required.
>
>                I personally think by default nodes should be de-selected
and the user will select it later if needed.

>
>    1. If the user de-selects all the nodes and took a backup it will take
>    a normal backup and all other nodes will get included in the backup.
>
> Questions:
>
>    1. pgAdmin III use to support taking backup of tables only from the
>    UI, a user was not able to select views, materialized views, foreign
>    tables, and sequences from the backup dialog. (If the user selects all from
>    the checkbox on the UI then other database objects are included implicitly
>    in the backup)
>    2. Should we continue with the above behavior or should we now allow
>    the user to select these database objects in the backup dialog?
>
>             I think continue with the old behavior.

---

From: Khushboo Vashi <[email-masked]>
Date: Tue, 4 Jul 2023 10:30:34 +0530

On Mon, Jul 3, 2023 at 6:16 PM Nikhil Mohite <[email-masked]>
wrote:

> The second tab name (Data/Objects) should be changed because the last tab
is named Objects.

>
>    1.
>    2. If the user selects the specific Schema then it will list down
>    4. By default, all the nodes from the tree will be selected and the
> +1

> Then, selecting all the tree objects by default will make no sense.

---

From: Nikhil Mohite <[email-masked]>
Date: Wed, 13 Sep 2023 11:05:58 +0530

Hi Hackers,

I have implemented feature #642 as follows.
1. If the user selects the schema node from the tree, it will use *--schema*
to take a backup of that schema. (This is only when the user selects the
schema node)
2. If a user selects a few nodes from the tree, like tables it will
partially select the schema node and it will use the *--table* to take a
backup of the selected nodes.
3. If the user selects all children of a schema but not the schema node
then it will partially select the schema node and will use the *--table *to
take a backup of the selected nodes.

Please let me know if you have any questions/ suggestions.

On Tue, Jul 4, 2023 at 10:30 AM Khushboo Vashi <
[email-masked]> wrote:

>
>
> On Mon, Jul 3, 2023 at 6:16 PM Nikhil Mohite <
> [email-masked]> wrote:
>
>> Hi Hackers,
>>
>>    2. On the '*Objects*' tab it will list down all the schemas and
>>    tables under the selected database.
>>    3. 
>>
>>    1. If the user de-selects all the nodes and took a backup it will
>>    take a normal backup and all other nodes will get included in the backup.
>>
 Regards,
Nikhil Mohite

---

From: Aditya Toshniwal <[email-masked]>
Date: Wed, 13 Sep 2023 11:24:09 +0530

Hi Nikhil,

It looks good to me. I have few suggestions here:
1. Can we remove the grey background for selected nodes?
2. Can/Should we add a label next to collections like - Tables (Selected:
3), d1 (Selected: 8), and when schema is selected then d1 (Selected:
schema)?
3. We can have a three state checkbox for schema level checkbox. - empty,
partial (select all child nodes) and full (schema selected).

Let me know what you think.

On Wed, Sep 13, 2023 at 11:06 AM Nikhil Mohite <
[email-masked]> wrote:

> 1. If the user selects the schema node from the tree, it will use
> *--schema* to take a backup of that schema. (This is only when the user
> selects the schema node)
>>> The second tab name (Data/Objects) should be changed because the last
>> tab is named Objects.
>>
>>>
>>>    1.

-- 
Thanks,
Aditya Toshniwal
pgAdmin Hacker | Sr. Software Architect | *enterprisedb.com*
<https://www.enterprisedb.com/>
"Don't Complain about Heat, Plant a TREE"