Git Product home page Git Product logo

rework-space-com / superset Goto Github PK

View Code? Open in Web Editor NEW

This project forked from apache/superset

0.0 0.0 0.0 477.67 MB

Apache Superset is a Data Visualization and Data Exploration Platform

Home Page: https://superset.apache.org/

License: Apache License 2.0

Shell 0.26% JavaScript 9.27% Python 32.11% TypeScript 39.27% CSS 0.02% Makefile 0.02% HTML 5.33% Smarty 0.02% Mako 0.01% Jupyter Notebook 13.31% Dockerfile 0.03% Pug 0.01% Less 0.24% Jinja 0.02% MDX 0.07%

superset's Issues

Hybrid connection (On Cloud Solutions and default SQLAlquemy interface)

SIP-1: Adding Custom Icons to the Database Connection Form (For MySQL Database)

Abstract

The goal is to enhance the user interface of the database connection form by adding custom icons for MySQL databases.

Motivation

The current database connection form lacks visual cues that can improve user experience. By duplicating icons from the given URL and the [+Database] in STEP 1, we can make the form more intuitive and user-friendly.

Proposed Change

Implement the following steps:

Backend

  1. Implement a new database engine and make the database available at the /available/ endpoint. This involves creating a new class in the db_engine_specs module that defines the behavior of the new engine.

Configuration

  1. Adjust the superset_text.yml file accordingly for each custom type of MySQL database. This file contains the display text for various parts of the Superset application.

Frontend

  1. Generate a custom dynamic form in STEP 2 based on a remote type database engine that was selected in STEP 1. Add an extra list of radio buttons. This involves modifying the form generation logic to include the new engine and its associated form fields.

SIP-2: Replicating the Superset Frontend Logic to Generate Dynamic Forms

Abstract

The aim is to replicate the Superset frontend logic to generate dynamic forms to connect to external API resources (On Cloud with username/password).

Motivation

This change will allow Superset to connect to a wider range of data sources, increasing its versatility and usefulness.

Proposed Change

Implement the following steps:

Frontend

  1. Make modifications to setDatabaseModal to include the new custom engines and set db state to this. This involves modifying the state management logic to include the new engines.

  2. Use db to generate the custom dynamic form instead of SQLAlchemy. This involves changing the form generation logic to use the new db object.

Backend

  1. Make an API request to a new custom endpoint on the backend with the username/password that will run a custom python script to pull the data into Superset. This involves creating a new API endpoint and a Python script that fetches data from the external API.

References

Superset-customization branch

Task1 and Task2

Description

Task 1: Replicate Superset Frontend Login To Generate Dynamic Forms
To connect to external API resources
Task 2: Adding Custom Icons to Database Form
To enhance user interface of the database connection form by adding custom icons for MySQL databases

Commit: 9603e9c
apache@9603e9c
Branch: cjj20:photoanddata

Task 1:
-Installed the database driver for rockset api: pip install rockset-sqlalchemy
-login to apache superset
-click database
-click supported databases, then click other
-in the SQLALCHEMY URI section, enter the connection string for rockset:
rockset://{slzXRHem1lebeo13tDp9LqaeItDIJ201GWOhjcrbWelAQTxmHntftKWfntmvfwS5}:@{api.use1a1.rockset.com}
-Use this as guide for other connection string formats for other APIs: https://superset.apache.org/docs/databases/installing-database-drivers/
-click test connection, then connect

Task 2:
-Added a link to the MySQL image in the superset_text.yml file : mysql.jpg
-superset/superset/config.py contained a section referring to the 'preferred_databases'. MySQL already mentioned in that part so no need to add it in
-go to database page, then to Connect a Database form
enter parameters such as: localhost, host, database name
-click connect
-restart (run dev-server)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.