plotly / falcon Goto Github PK
View Code? Open in Web Editor NEWFree, open-source SQL client for Windows and Mac ๐ฆ
Home Page: https://plot.ly/free-sql-client-download/
License: MIT License
Free, open-source SQL client for Windows and Mac ๐ฆ
Home Page: https://plot.ly/free-sql-client-download/
License: MIT License
Plotly 2.0 runs over HTTPS but the connector server is running on HTTP. To connect Plotly 2.0 to the SQL connector the user needs to update their web browser settings to allow for insecure HTTP connections.
Here is the setting in Chrome:
Once this is enabled, Plotly 2.0 can connect to the connector but the connection is un-encrypted over HTTP. If you are running this locally, then this connection is just between your web browser and localhost, data isn't traveling over any other network.
To make these connections secure over a network (e.g. running the connector as a server) this app should use an SSL certificate and run over HTTPS.
When 'configuration.database = null`, postgres assumes the user's name ('Alexandre' in my case) as database/scheme and tries to connect to that instead.
Returns error "database 'Alexandre' not found".
Bug comes from TableDropdown.react.js
On the line if (tableNames === null) {
Since tableNames = ipc.get('tables')
if the tables
object is an empty list the if loop will still try to be evaluated.
display a single input field when selected engine is SQLITE in settings.react.js
, pass it to the sequelizeManager when creating a connector
app state will go disconnected as soon as an error
prop is received as a response from the server -- this should not happen when there was a query error or database was not accessible for the user
Project originated from an electron boilerplate
counter
componentResolve ESLint style issues of the following files:
v0.0.3-alpha, Plotly.Database.Connector.-.Windows.64bit.zip
I got this error when executing Plotly Database Connector.exe:
It's complaining that that the 'bunyan' module is not found.
I downloaded bunyan from https://github.com/trentm/node-bunyan and dropped it into resources\app\node_modules and the connector starts happily now.
button message should be connecting
once clicked on until connection request is resolved
#74 needs this to work. https setup pings at https://connector.plot.ly:5000
but we want to keep the port possibly setup by the user from the command line. Simply importing OPTIONS
object from backend/args.js
does not work.
If a user starts up the app on another port the secure connection will not work since pings will be sent to the wrong port.
Affects:
We'll need to make the CORS configuration configurable by the user so that their version of Plotly On-Prem can make requests to the connector.
to 4 spaces
as mentioned in #7 discussion
On ipcMain.on('connect')
, sequelizeManager.login
should return a promised confirmation or error message of the connection established with a given database. Otherwise, login state is may not be updated when event.sender
executes.
This requires:
initialize
send back a promiseThis tool should use an official port assigned by IANA before it's released to the public. See https://tools.ietf.org/html/rfc6335#section-8.1.1 for the process to request one.
Some notes:
Let me know if you have any โโ s
@chriddyp FYI
endpoints that should exist
updated findEl
to return not found
if element is not found instead of using a try...catch loop in testing elements that should not be rendered
{ [Error: spawn wine ENOENT]
code: 'ENOENT',
errno: 'ENOENT',
syscall: 'spawn wine',
path: 'wine',
spawnargs:
[ '/Users/Alexandre/Documents/workstation/repos/plotly-database-connector/node_modules/rcedit/bin/rcedit.exe',
'/var/folders/br/36z88hys2cz7kcy97lkrc5c40000gn/T/electron-packager/win32-x64/Plotly Desktop Connector-win32-x64/Plotly Desktop Connector.exe' ] }
talk about local-test-e2e set_creds.sh that is gitignored
On Fedora 24 I enter the path to an sqlite db file, press connect and get the error popup below. sqlite3 is of course installed on the system.
Uncaught Exception:
Error: Please install sqlite3 package manually
at new ConnectionManager (/home/scb/code/plotly/Plotly Database Connector-linux-x64/resources/app/node_modules/sequelize/lib/dialects/sqlite/connection-manager.js:25:13)
at new SqliteDialect (/home/scb/code/plotly/Plotly Database Connector-linux-x64/resources/app/node_modules/sequelize/lib/dialects/sqlite/index.js:12:28)
at new Sequelize (/home/scb/code/plotly/Plotly Database Connector-linux-x64/resources/app/node_modules/sequelize/lib/sequelize.js:233:18)
at e.value (/home/scb/code/plotly/Plotly Database Connector-linux-x64/resources/app/backend/webpack:/backend/sequelizeManager.js:101:27)
at e.value (/home/scb/code/plotly/Plotly Database Connector-linux-x64/resources/app/backend/webpack:/backend/sequelizeManager.js:128:18)
at u (/home/scb/code/plotly/Plotly Database Connector-linux-x64/resources/app/backend/webpack:/backend/messageHandler.js:276:21)
at EventEmitter.<anonymous> (/home/scb/code/plotly/Plotly Database Connector-linux-x64/resources/app/backend/webpack:/backend/messageHandler.js:114:3)
at emitTwo (events.js:106:13)
at EventEmitter.emit (events.js:191:7)
at WebContents.<anonymous> (/home/scb/code/plotly/Plotly Database Connector-linux-x64/resources/electron.asar/browser/api/web-contents.js:209:13)
at emitTwo (events.js:106:13)
at WebContents.emit (events.js:191:7)
SHOW DATABASES
becomes SELECT * FROM Sys.Databases
SHOW TABLES
becomes SELECT * FROM information_schema.tables
will resolve #20
create a function that returns query for showing databases or tables using the dialect that the user chose
catch in the code a non-existant sequelizeManager object and return an error: 'no connection exists yet'
Currently connection credentials are hard-coded inside main.development.js
. They should be sent via the currently unused payload
.
This requires:
payload
Support multiple connections:
The Postgresql driver returns the following error when trying to connect to a Redshift server. Some Postgresql clients are able to work with Redshift. If that's not workable, any plans to add support for Redshift?
$11:22:53 GMT-0700 (PDT) - $[object Object]
$11:22:53 GMT-0700 (PDT) - $[object Object]
$11:22:53 GMT-0700 (PDT) - $Querying: SELECT datname AS database FROM pg_database WHERE datistemplate = false;
$11:22:53 GMT-0700 (PDT) - $Creating a connection for user dudleycarr
Redshift connection object requires a dialectOptions: {ssl: Bool}
Other databases may support ssl as well.
Here an ssl checkbox is proposed.
The default value is currently undefined
by sequelize which the app will set to false.
example of mssql Sequelize connection instance to an MS Azure database
this.connection = new Sequelize(database, username, password, {
dialect: engine,
port: portNumber,
storage: databasePath,
host: 'mssqltest.database.windows.net',
dialectOptions: {
encrypt: true
}
});
openssl
work or find an alternative for windowscreateKeyes
and redirectConnector
won't work on windows due to the paths inside themsudo
commands, the paths should be built using the nodejs path library, use path.dirname to convert directory paths and path.sep for separatorsBy default, the function will return two arguments: an array of results, and a metadata object, containing number of affected rows etc. Use .spread to access the results.
If you are running a type of query where you don't need the metadata, for example a SELECT query, you can pass in a query type to make sequelize format the results:
sequelize.query('SELECT...').spread(function (results, metadata) { // Raw query - use spread });
sequelize.query('SELECT...', { type: sequelize.QueryTypes.SELECT }).then(function (results) { // SELECT query - use then })
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.