michael-s-molina commented on issue #26395:
URL: https://github.com/apache/superset/issues/26395#issuecomment-1875316419

   Thank you for the SIP @justinpark.
   
   Some thoughts to help with the discussion:
   
   > @justinpark it seems like the left-hand panel will likely define (for 
searching purposes) an exhaustive list of all database and namespaces (schemas) 
which i) our current API doesn't handle, and ii) could be rather costly to 
fetch if the corpus of databases, schemas, and table is large.
   
   > 2. What happens when databases have thousands of tables? Are we going to 
paginate the sidebar?
   
   > While the tree list view has the capability to manage large lists through 
virtual rendering, it doesn't currently have a plan to provide an option for 
pagination, as the backend API does not support this feature yet.
   
   I think the answer here is lazy loading and if necessary pagination. Even if 
the Ant Design tree does not natively support pagination, we can still 
implement it by adding a link to load more items of a specific node. We should 
also keep in mind that we already load all the tables once a particular 
database and schema are selected, and that's why lazy loading the items will 
probably be sufficient. There's an example of this type of tree 
[here](https://ant.design/components/tree#components-tree-demo-dynamic). 
   
   > As @john-bodley pointed out, we lack an API to search for a specific table 
name across the entire database, hence it's slated to be executed by the 
frontend. Thus, it will only highlight a record from the already fetched 
recordset, leading to some limitations in discovery.
   
   > Consequently, I'm leaning towards maintaining the dropdown UI (as opposed 
to a treeview UI) for the table schema selector (and designing the layout as 
per @betodealmeida 's first point) for the initial proposal until the API is 
fully equipped to handle pagination and search functions.
   
   My vote would be to enhance our current API to support the changes proposed 
here instead of trying to adapt the interface to our current API limitations. 
The tree view for displaying database/schema/tables is widely used in most 
database/sql editors and I think the UI and API changes are what justifies the 
SIP in the first place.
   
   > 3. Currently we have some affordances to show extra table metadata (in 
Presto, Hive, Trino, BigQuery, and GSheets). How are these going to be 
displayed in the new design?
   
   > 4. We've been discussing https://github.com/apache/superset/issues/22862 
(projects, in BigQuery terms) to Superset. It would be nice to keep that in 
mind during this redesign, to make that work easier.
   
   Great callout from @betodealmeida. Let's think about these concepts now 
while we're still in the design/prototype phase as it's way more costly to 
think about the after. If we could enhance the mockups with these concepts it 
would be great.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to