Re: [pgAdmin4] [Patch] Implementation of the Data Grid and Query Tool

From: Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: [pgAdmin4] [Patch] Implementation of the Data Grid and Query Tool
Date: 2016-04-08 06:43:45
Message-ID: CANxoLDcxkQ+T8XwpVabDo2=E5P0x3e27Gz4Ob3NAsi_9C=m14w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Hi

On Thu, Apr 7, 2016 at 6:38 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:

>
>
> On Thu, Apr 7, 2016 at 2:03 PM, Akshay Joshi <
> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>
>> Hi
>>
>> On Thu, Apr 7, 2016 at 6:01 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:
>>
>>> Hi
>>>
>>> On Thu, Apr 7, 2016 at 10:07 AM, Akshay Joshi <
>>> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>>>
>>>>
>>>>> - The View Data menu option should be on the Object menu
>>>>>
>>>>
>>>> OK.
>>>>
>>>>
>>>>> , which should mirror the Context menu, except options should be
>>>>> disabled when not applicable instead of hidden.
>>>>>
>>>>
>>>> Context menu code is generic code, to do this we need to change
>>>> that code and it impacts other menu items like (Connect/Disconnect server,
>>>> Connect/Disconnect Database etc ...)
>>>>
>>>
>>> I think you misunderstand. The Context menu is fine - but options that
>>> are on it, should also be on the main "Object" menu. The difference is that
>>> where options are hidden on the context menu, they should be disabled on
>>> the object menu.
>>>
>>
>> The same behaviour I have already added in "Tools" menu, so you want
>> me to shift that menu from "Tools" to "Object"??
>>
>
> Just for the View/Edit options. The Query Tool is never shown on the
> Context menu, so it should be on Tools.
>
>
>>
>>>
>>>>
>>>>> - The Query Tool menu icon should be a glyphicon, to match the others.
>>>>>
>>>>
>>>> There is no glyphicon available which match the Query Tool icon. I
>>>> have found one like below which is "database-search" or can you please
>>>> suggest some other icon.
>>>> [image: Inline image 1]
>>>>
>>>
>>> That one looks perfect.
>>>
>>
We can't use this icon because it's not come with Bootstrap , I
have picked this from "http://glyphicons.com/" and I am not sure we can use
it as per the Licence.

>
>>>
>>>>
>>>> - Please merge the functionality of the Refresh and Execute buttons
>>>>> into one button. We shouldn't have two buttons that do essentially the same
>>>>> thing.
>>>>>
>>>>
>>>> I have modified the button toolbar, we will show buttons on the
>>>> toolbar specific to the module (QueryTool/EditGrid). Please refer the
>>>> attached screenshots (QueryTool and EditGrid).
>>>>
>>>
>>> No - please leave all buttons visible in either mode, but disable them
>>> as appropriate. Then, merge the execute/refresh buttons into one.
>>>
>>
>> In that case we will have to use either refresh icon or execute icon
>> (play button) or any other, as a user's perspective it's not good to have
>> play button works as "Refresh" in EG mode or refresh button works as
>> "Execute" in QT mode.
>>
>
> MySQL Workbench uses something like glyphicon-flash.
>
>
>>
>>> The reason for doing it this way is that eventually we will add query
>>> parsing support to the client so that we can start enabling some of the
>>> Edit Grid features when running in Query Tool mode - e.g. if a Query Tool
>>> authored query is determined to be updatable, we can enable buttons like
>>> "Add Row", "Save" etc.
>>>
>>
>> OK.
>>
>>>
>>>
>>>>
>>>>
>>>>> - In Edit Grid mode, the History panel should log all queries
>>>>> (SELECTs, UPDATEs, DELETEs etc) as it would in the Query Tool.
>>>>>
>>>>> - In Edit Grid mode, the Messages panel should display any messages
>>>>> from the most recent action as it would in the Query Tool.
>>>>>
>>>>
>>>> OK.
>>>>
>>>
>>> Thanks.
>>>
>>>
>>>>
>>>>> - Please add an SQL button. This should show/hide the SQL panel in
>>>>> *both* Query Tool and Edit Grid modes. In Edit Grid mode, that textbox
>>>>> should be read-only, but should display the SQL used (including any
>>>>> LIMIT/FILTER clauses)
>>>>>
>>>>
>>>> I think we don't need an SQL button, because I have added a
>>>> Splitter to split SQL panel and Output Panel, so user can any time
>>>> resize the SQL/Output panel. Please refer the attached screenshots (
>>>> QueryTool and EditGrid).
>>>>
>>>
>>> Right, but I'd also like to be able to hide it entirely (which would be
>>> the default in Edit Grid mode).
>>>
>>
>> To achieve this we need to hide the top half of the splitter, that I
>> am not sure how we can do that. We can't remove the splitter, because it
>> provide's ease to user to expand the SQL panel for reading the long SQL
>> queries/functions.
>>
>
> You could put the small panel (discussed below) that displays the name of
> the object in the splitter panel as well. Then, you wouldn't have to hide
> the whole thing. It might look a little weird unless you force the splitter
> to move when you hide the SQL box though.
>
>
>>
>>>
>>>>
>>>>> - Please remove the border from the SQL box, such that it fills all
>>>>> available space.
>>>>>
>>>>
>>>> Done. Please refer the attached screenshots (QueryTool and EditGrid
>>>> ).
>>>>
>>>>>
>>>>> - The Filter box should be in a modal overlay over the top of the SQL
>>>>> box/Results tabs as required. Those elements should be grayed whilst it is
>>>>> open.
>>>>>
>>>>
>>>> Done. Please refer the attached screenshot (Filter).
>>>>
>>>
>>> Cool.
>>>
>>>
>>>>
>>>>> - Please adjust the height of the Delete icon in the Edit Grid, such
>>>>> that it doesn't force the row height to be higher than it should be.
>>>>>
>>>>
>>>> OK.
>>>>
>>>>>
>>>>> - If a field has been edited, but not saved, can we highlight it
>>>>> somehow? Maybe make the text dark blue?
>>>>>
>>>>
>>>> OK, not sure right now but will try.
>>>>
>>>>>
>>>>> - I think the names of the tabs are far too long. Can we change them
>>>>> to "Query 1", "Query 2" etc, then rename them to the filename if the user
>>>>> saves/loads a file?
>>>>>
>>>>
>>>> I personally feel it's been difficult for user to identify the tab
>>>> if we will give names like "Query 1" . What we can do in case of edit grid
>>>> we will only show the servername-objectname (remove database and
>>>> schema) or only objectname, and in case of query tool we will show
>>>> servername-databasename. What do you think?
>>>>
>>>
>>> I think they're all ambiguous enough to not be useful for many users :-(
>>> - plus the tabs are so long, they look awful.
>>>
>>> We should perhaps add a small panel (below the toolbar?) that shows
>>> Server -> Database in QT mode, and Server -> Database -> Schema ->
>>> Table/View in EG mode.
>>>
>>
>> OK.
>>
>>>
>>>
>>>>
>>>>
>>>>> - Ashesh and I discussed changing the History tab to be a grid,
>>>>> showing: Date/Time, Query (first line only), Rows affected, Runtime and
>>>>> Status, in a row per query executed. Ashesh suggested using a sub-form that
>>>>> can be expanded for each row, which could show the full query and error
>>>>> details (SQL State etc). New rows should be added to the top of the list.
>>>>>
>>>>> - We should add an "Edit" button, which opens a drop-down menu. This
>>>>> would eventually include options as found on the Edit menu in the pgAdmin3
>>>>> query tool, such as the "Clear SQL" option.
>>>>>
>>>>> - Errors should be highlighted in the SQL box - a marker in the margin
>>>>> to note the line, and spellcheck-style underlining for the error word.
>>>>>
>>>>
>>>> OK.
>>>>
>>>>>
>>>>> - Query results should have spaces converted to "&nbsp;", so that
>>>>> proper indenting is maintained (for example, on EXPLAIN queries).
>>>>>
>>>>
>>>> Instead of converting spaces to "&nbsp;" we can have css style
>>>> "white-space: pre-wrap;". I have tested it and works fine.
>>>>
>>>>>
>>>>> - The "Add Row" button only works if you're on the last page of the
>>>>> resultset.
>>>>>
>>>>
>>>> OK.
>>>>
>>>>>
>>>>> - Can the "Copy Row" button also populate the clipboard with CSV data
>>>>> for the row?
>>>>>
>>>>
>>>> This required some research, not sure at the moment.
>>>>
>>>>>
>>>>> - In Edit mode, we need to be able to represent/set values to NULL.
>>>>>
>>>>
>>>> This will be taken care as part of multi-type rendering task.
>>>>
>>>
>>> OK.
>>>
>>>
>>>>
>>>>> - If I shutdown my pgAdmin server, then execute a query, I get no
>>>>> error, 0 rows displayed, and a message in the messages panel saying:
>>>>>
>>>>> Total query runtime: 46 msec
>>>>> 3 rows retrieved.
>>>>>
>>>>> If I restart the server, the query will execute correctly, however I
>>>>> should see appropriate messages when it's not running.
>>>>>
>>>>> - The layout of the result tabs should be maintained if new Query Tool
>>>>> or Edit Grid tabs are opened.
>>>>>
>>>>
>>>> OK.
>>>>
>>>
>>> Cool - thanks!
>>>
>>> --
>>> Dave Page
>>> Blog: http://pgsnake.blogspot.com
>>> Twitter: @pgsnake
>>>
>>> EnterpriseDB UK: http://www.enterprisedb.com
>>> The Enterprise PostgreSQL Company
>>>
>>
>>
>>
>> --
>> *Akshay Joshi*
>> *Principal Software Engineer *
>>
>>
>>
>> *Phone: +91 20-3058-9517 <%2B91%2020-3058-9517>Mobile: +91 976-788-8246*
>>
>
>
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>

--
*Akshay Joshi*
*Principal Software Engineer *

*Phone: +91 20-3058-9517Mobile: +91 976-788-8246*

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Dave Page 2016-04-08 09:02:40 Re: [pgAdmin4] [Patch] Implementation of the Data Grid and Query Tool
Previous Message Ashesh Vashi 2016-04-08 05:43:04 pgAdmin 4 commit: Changed the logic of transform function as per new im