This repository was archived by the owner on Aug 29, 2025. It is now read-only.

oracle: new connector - #437

Merged
n-riesco merged 5 commits into
masterfrom
oracle
May 25, 2018
Merged

oracle: new connector#437
n-riesco merged 5 commits into
masterfrom
oracle

Conversation

@n-riesco

Copy link
Copy Markdown
Contributor
  • Implemented connector to Oracle based on node-oracledb.

  • Implemented a pool of clients to ensure all the request from a
    connector share the same client. For more details, see
    backend/persistent/datastores/pool.js.

  • Upgraded to electron@2.0 and node@8, so that:

    • both node and electron have ABI 57 (for which node-oracledb provides
      binaries)
    • unable to use electron@1.8 due to issue resulting in a empty window
      at some startups
  • Added Dockerfile and npm scripts to build and launch a container with
    an Oracle Express database setup for testing.

  • Ensure connector failures are logged.

  • Added npm script test-unit-oracle for testing. See CONTRIBUTING.md
    for the requirements to run these tests.

  • Updated documentation in CONTRIBUTING.md.

Closes#322

@n-riesco

n-riesco commented May 17, 2018

Copy link
Copy Markdown
ContributorAuthor

TODO:

@n-riesco
n-riescoforce-pushed the oracle branch 2 times, most recently from ab3b642 to bf60eccCompareMay 18, 2018 18:50
@n-riesco

n-riesco commented May 18, 2018

Copy link
Copy Markdown
ContributorAuthor

@shannonlalshannonlal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you need an oracle.LICENSE file as well?

Comment thread.travis.yml
osx_image: xcode9.0
language: node_js
node_js: "6"
node_js: "8"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to confirm. Once this is moved in we will need to use NodeJS 8? Will earlier versions work? Not an issue just want to know.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The oracle connector won't work in electron and yarn will refuse to install.

If you force yarn to ignore the node version (yarn install --ignore-engines), then Falcon seems to work (I mean everything I tried, except the Oracle connector).

@shannonlal

Copy link
Copy Markdown
Contributor

Looks good. No major issues. Just had a couple of quick questions for you on but should not block merging this in💃

@n-riesco

Copy link
Copy Markdown
ContributorAuthor

@shannonlal

Do you need an oracle.LICENSE file as well?

We need written permission to use Oracle's logo. For the time being, the icon for Oracle's connector is just text (similar to what I've used for DB2 and CSV).

@n-riesco

n-riesco commented May 23, 2018

Copy link
Copy Markdown
ContributorAuthor

I've tested this branch on windows:

  • the web app works (i.e. oracledb works in Node)
  • the desktop app doesn't (i.e. oracledb fails when required from Electron)

The issue I have with the electron app has already been reported: oracle/node-oracledb#917

Running .\node_modules\.bin\electron-rebuild.cmd --version=2.0.1 --arch=x64 --only=oracledb as suggested in oracle/node-oracledb#881 (comment) fails with NAN-related errors (like these reported in oracle/node-oracledb#862 (comment))


Potential leads:

* Implemented connector to Oracle based on node-oracledb.
* Implemented a pool of clients to ensure all the request from a
connector share the same client. For more details, see
`backend/persistent/datastores/pool.js`.
* Upgraded to electron@2.0 and node@8, so that:
- both node and electron have ABI 57 (for which node-oracledb provides
binaries)
- unable to use electron@1.8 due to issue resulting in a empty window
at some startups
* Added Dockerfile and npm scripts to build and launch a container with
an Oracle Express database setup for testing.
* Ensure connector failures are logged.
* Added npm script `test-unit-oracle` for testing. See `CONTRIBUTING.md`
for the requirements to run these tests.
* Updated documentation in `CONTRIBUTING.md`.
Closes#322
* See nodejs/node#16196 for further details
about the cause.
* Ensure error response is formatted as {error: message: 'xxxx'}.
* Fixed the code parsing a connection error message.
* Ensure error message is a string.
* Ensure isConnected() and isSaved() returns false when status code is
500.
* Added tests.
Closes#342
* Use source package from github to prevent the use of prebuilt
binaries and force the rebuild of the native module.
@n-riesco

Copy link
Copy Markdown
ContributorAuthor

3c13700 fixes the issue with the windows installer.

I've tested both, the linux and the windows installer.

@tarzzz, could you test the mac installer here, please?

To test the connector for oracle, you'll need to:

  • Install the free Oracle Instant Client for mac, as described here
  • Build the docker image with the oracle database for testing: yarn docker:oracle:build
  • Launch the docker image: yarn docker:oracle:start
  • Wait until the docker container prints out Ready
  • Install falcon using the installer here
  • Open Falcon and create an connection to oracle using the sample credentials.

@tarzzz

Copy link
Copy Markdown
Contributor

Getting this while trying to connect:

image

It seems an issue with my Oracle client installation.. !!

@tarzzz

Copy link
Copy Markdown
Contributor

Okay, I was able to make it work by correctly installing clients:

image

Everything looks good to me from testing point of view.. 💃

@n-riesco
n-riesco merged commit 125ddb1 into masterMay 25, 2018
@n-riesco

Copy link
Copy Markdown
ContributorAuthor

@tarzzz I'm planning to update README.md with the instructions for installing Oracle Install Client.
For mac, did you have to do anything else other what is described here?

@n-riescon-riesco mentioned this pull request May 25, 2018
10 tasks
@n-riesco
n-riesco deleted the oracle branch May 28, 2018 16:47
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@n-riesco@shannonlal@tarzzz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

oracle: new connector - #437

Merged
n-riesco merged 5 commits into
masterfrom
oracle
May 25, 2018
Merged

oracle: new connector#437
n-riesco merged 5 commits into
masterfrom
oracle

Conversation

@n-riesco

Copy link
Copy Markdown
Contributor
  • Implemented connector to Oracle based on node-oracledb.

  • Implemented a pool of clients to ensure all the request from a
    connector share the same client. For more details, see
    backend/persistent/datastores/pool.js.

  • Upgraded to electron@2.0 and node@8, so that:

    • both node and electron have ABI 57 (for which node-oracledb provides
      binaries)
    • unable to use electron@1.8 due to issue resulting in a empty window
      at some startups
  • Added Dockerfile and npm scripts to build and launch a container with
    an Oracle Express database setup for testing.

  • Ensure connector failures are logged.

  • Added npm script test-unit-oracle for testing. See CONTRIBUTING.md
    for the requirements to run these tests.

  • Updated documentation in CONTRIBUTING.md.

Closes#322

@n-riesco

n-riesco commented May 17, 2018

Copy link
Copy Markdown
ContributorAuthor

TODO:

@n-riesco
n-riescoforce-pushed the oracle branch 2 times, most recently from ab3b642 to bf60eccCompareMay 18, 2018 18:50
@n-riesco

n-riesco commented May 18, 2018

Copy link
Copy Markdown
ContributorAuthor

@shannonlalshannonlal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you need an oracle.LICENSE file as well?

Comment thread.travis.yml
osx_image: xcode9.0
language: node_js
node_js: "6"
node_js: "8"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to confirm. Once this is moved in we will need to use NodeJS 8? Will earlier versions work? Not an issue just want to know.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The oracle connector won't work in electron and yarn will refuse to install.

If you force yarn to ignore the node version (yarn install --ignore-engines), then Falcon seems to work (I mean everything I tried, except the Oracle connector).

@shannonlal

Copy link
Copy Markdown
Contributor

Looks good. No major issues. Just had a couple of quick questions for you on but should not block merging this in💃

@n-riesco

Copy link
Copy Markdown
ContributorAuthor

@shannonlal

Do you need an oracle.LICENSE file as well?

We need written permission to use Oracle's logo. For the time being, the icon for Oracle's connector is just text (similar to what I've used for DB2 and CSV).

@n-riesco

n-riesco commented May 23, 2018

Copy link
Copy Markdown
ContributorAuthor

I've tested this branch on windows:

  • the web app works (i.e. oracledb works in Node)
  • the desktop app doesn't (i.e. oracledb fails when required from Electron)

The issue I have with the electron app has already been reported: oracle/node-oracledb#917

Running .\node_modules\.bin\electron-rebuild.cmd --version=2.0.1 --arch=x64 --only=oracledb as suggested in oracle/node-oracledb#881 (comment) fails with NAN-related errors (like these reported in oracle/node-oracledb#862 (comment))


Potential leads:

* Implemented connector to Oracle based on node-oracledb.
* Implemented a pool of clients to ensure all the request from a
connector share the same client. For more details, see
`backend/persistent/datastores/pool.js`.
* Upgraded to electron@2.0 and node@8, so that:
- both node and electron have ABI 57 (for which node-oracledb provides
binaries)
- unable to use electron@1.8 due to issue resulting in a empty window
at some startups
* Added Dockerfile and npm scripts to build and launch a container with
an Oracle Express database setup for testing.
* Ensure connector failures are logged.
* Added npm script `test-unit-oracle` for testing. See `CONTRIBUTING.md`
for the requirements to run these tests.
* Updated documentation in `CONTRIBUTING.md`.
Closes#322
* See nodejs/node#16196 for further details
about the cause.
* Ensure error response is formatted as {error: message: 'xxxx'}.
* Fixed the code parsing a connection error message.
* Ensure error message is a string.
* Ensure isConnected() and isSaved() returns false when status code is
500.
* Added tests.
Closes#342
* Use source package from github to prevent the use of prebuilt
binaries and force the rebuild of the native module.
@n-riesco

Copy link
Copy Markdown
ContributorAuthor

3c13700 fixes the issue with the windows installer.

I've tested both, the linux and the windows installer.

@tarzzz, could you test the mac installer here, please?

To test the connector for oracle, you'll need to:

  • Install the free Oracle Instant Client for mac, as described here
  • Build the docker image with the oracle database for testing: yarn docker:oracle:build
  • Launch the docker image: yarn docker:oracle:start
  • Wait until the docker container prints out Ready
  • Install falcon using the installer here
  • Open Falcon and create an connection to oracle using the sample credentials.

@tarzzz

Copy link
Copy Markdown
Contributor

Getting this while trying to connect:

image

It seems an issue with my Oracle client installation.. !!

@tarzzz

Copy link
Copy Markdown
Contributor

Okay, I was able to make it work by correctly installing clients:

image

Everything looks good to me from testing point of view.. 💃

@n-riesco
n-riesco merged commit 125ddb1 into masterMay 25, 2018
@n-riesco

Copy link
Copy Markdown
ContributorAuthor

@tarzzz I'm planning to update README.md with the instructions for installing Oracle Install Client.
For mac, did you have to do anything else other what is described here?

@n-riescon-riesco mentioned this pull request May 25, 2018
10 tasks
@n-riesco
n-riesco deleted the oracle branch May 28, 2018 16:47
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@n-riesco@shannonlal@tarzzz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

oracle: new connector - #437

Merged
n-riesco merged 5 commits into
masterfrom
oracle
May 25, 2018
Merged

oracle: new connector#437
n-riesco merged 5 commits into
masterfrom
oracle

Conversation

@n-riesco

Copy link
Copy Markdown
Contributor
  • Implemented connector to Oracle based on node-oracledb.

  • Implemented a pool of clients to ensure all the request from a
    connector share the same client. For more details, see
    backend/persistent/datastores/pool.js.

  • Upgraded to electron@2.0 and node@8, so that:

    • both node and electron have ABI 57 (for which node-oracledb provides
      binaries)
    • unable to use electron@1.8 due to issue resulting in a empty window
      at some startups
  • Added Dockerfile and npm scripts to build and launch a container with
    an Oracle Express database setup for testing.

  • Ensure connector failures are logged.

  • Added npm script test-unit-oracle for testing. See CONTRIBUTING.md
    for the requirements to run these tests.

  • Updated documentation in CONTRIBUTING.md.

Closes#322

@n-riesco

n-riesco commented May 17, 2018

Copy link
Copy Markdown
ContributorAuthor

TODO:

@n-riesco
n-riescoforce-pushed the oracle branch 2 times, most recently from ab3b642 to bf60eccCompareMay 18, 2018 18:50
@n-riesco

n-riesco commented May 18, 2018

Copy link
Copy Markdown
ContributorAuthor

@shannonlalshannonlal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you need an oracle.LICENSE file as well?

Comment thread.travis.yml
osx_image: xcode9.0
language: node_js
node_js: "6"
node_js: "8"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to confirm. Once this is moved in we will need to use NodeJS 8? Will earlier versions work? Not an issue just want to know.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The oracle connector won't work in electron and yarn will refuse to install.

If you force yarn to ignore the node version (yarn install --ignore-engines), then Falcon seems to work (I mean everything I tried, except the Oracle connector).

@shannonlal

Copy link
Copy Markdown
Contributor

Looks good. No major issues. Just had a couple of quick questions for you on but should not block merging this in💃

@n-riesco

Copy link
Copy Markdown
ContributorAuthor

@shannonlal

Do you need an oracle.LICENSE file as well?

We need written permission to use Oracle's logo. For the time being, the icon for Oracle's connector is just text (similar to what I've used for DB2 and CSV).

@n-riesco

n-riesco commented May 23, 2018

Copy link
Copy Markdown
ContributorAuthor

I've tested this branch on windows:

  • the web app works (i.e. oracledb works in Node)
  • the desktop app doesn't (i.e. oracledb fails when required from Electron)

The issue I have with the electron app has already been reported: oracle/node-oracledb#917

Running .\node_modules\.bin\electron-rebuild.cmd --version=2.0.1 --arch=x64 --only=oracledb as suggested in oracle/node-oracledb#881 (comment) fails with NAN-related errors (like these reported in oracle/node-oracledb#862 (comment))


Potential leads:

* Implemented connector to Oracle based on node-oracledb.
* Implemented a pool of clients to ensure all the request from a
connector share the same client. For more details, see
`backend/persistent/datastores/pool.js`.
* Upgraded to electron@2.0 and node@8, so that:
- both node and electron have ABI 57 (for which node-oracledb provides
binaries)
- unable to use electron@1.8 due to issue resulting in a empty window
at some startups
* Added Dockerfile and npm scripts to build and launch a container with
an Oracle Express database setup for testing.
* Ensure connector failures are logged.
* Added npm script `test-unit-oracle` for testing. See `CONTRIBUTING.md`
for the requirements to run these tests.
* Updated documentation in `CONTRIBUTING.md`.
Closes#322
* See nodejs/node#16196 for further details
about the cause.
* Ensure error response is formatted as {error: message: 'xxxx'}.
* Fixed the code parsing a connection error message.
* Ensure error message is a string.
* Ensure isConnected() and isSaved() returns false when status code is
500.
* Added tests.
Closes#342
* Use source package from github to prevent the use of prebuilt
binaries and force the rebuild of the native module.
@n-riesco

Copy link
Copy Markdown
ContributorAuthor

3c13700 fixes the issue with the windows installer.

I've tested both, the linux and the windows installer.

@tarzzz, could you test the mac installer here, please?

To test the connector for oracle, you'll need to:

  • Install the free Oracle Instant Client for mac, as described here
  • Build the docker image with the oracle database for testing: yarn docker:oracle:build
  • Launch the docker image: yarn docker:oracle:start
  • Wait until the docker container prints out Ready
  • Install falcon using the installer here
  • Open Falcon and create an connection to oracle using the sample credentials.

@tarzzz

Copy link
Copy Markdown
Contributor

Getting this while trying to connect:

image

It seems an issue with my Oracle client installation.. !!

@tarzzz

Copy link
Copy Markdown
Contributor

Okay, I was able to make it work by correctly installing clients:

image

Everything looks good to me from testing point of view.. 💃

@n-riesco
n-riesco merged commit 125ddb1 into masterMay 25, 2018
@n-riesco

Copy link
Copy Markdown
ContributorAuthor

@tarzzz I'm planning to update README.md with the instructions for installing Oracle Install Client.
For mac, did you have to do anything else other what is described here?

@n-riescon-riesco mentioned this pull request May 25, 2018
10 tasks
@n-riesco
n-riesco deleted the oracle branch May 28, 2018 16:47
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@n-riesco@shannonlal@tarzzz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

oracle: new connector - #437

Merged
n-riesco merged 5 commits into
masterfrom
oracle
May 25, 2018
Merged

oracle: new connector#437
n-riesco merged 5 commits into
masterfrom
oracle

Conversation

@n-riesco

Copy link
Copy Markdown
Contributor
  • Implemented connector to Oracle based on node-oracledb.

  • Implemented a pool of clients to ensure all the request from a
    connector share the same client. For more details, see
    backend/persistent/datastores/pool.js.

  • Upgraded to electron@2.0 and node@8, so that:

    • both node and electron have ABI 57 (for which node-oracledb provides
      binaries)
    • unable to use electron@1.8 due to issue resulting in a empty window
      at some startups
  • Added Dockerfile and npm scripts to build and launch a container with
    an Oracle Express database setup for testing.

  • Ensure connector failures are logged.

  • Added npm script test-unit-oracle for testing. See CONTRIBUTING.md
    for the requirements to run these tests.

  • Updated documentation in CONTRIBUTING.md.

Closes#322

@n-riesco

n-riesco commented May 17, 2018

Copy link
Copy Markdown
ContributorAuthor

TODO:

@n-riesco
n-riescoforce-pushed the oracle branch 2 times, most recently from ab3b642 to bf60eccCompareMay 18, 2018 18:50
@n-riesco

n-riesco commented May 18, 2018

Copy link
Copy Markdown
ContributorAuthor

@shannonlalshannonlal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you need an oracle.LICENSE file as well?

Comment thread.travis.yml
osx_image: xcode9.0
language: node_js
node_js: "6"
node_js: "8"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to confirm. Once this is moved in we will need to use NodeJS 8? Will earlier versions work? Not an issue just want to know.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The oracle connector won't work in electron and yarn will refuse to install.

If you force yarn to ignore the node version (yarn install --ignore-engines), then Falcon seems to work (I mean everything I tried, except the Oracle connector).

@shannonlal

Copy link
Copy Markdown
Contributor

Looks good. No major issues. Just had a couple of quick questions for you on but should not block merging this in💃

@n-riesco

Copy link
Copy Markdown
ContributorAuthor

@shannonlal

Do you need an oracle.LICENSE file as well?

We need written permission to use Oracle's logo. For the time being, the icon for Oracle's connector is just text (similar to what I've used for DB2 and CSV).

@n-riesco

n-riesco commented May 23, 2018

Copy link
Copy Markdown
ContributorAuthor

I've tested this branch on windows:

  • the web app works (i.e. oracledb works in Node)
  • the desktop app doesn't (i.e. oracledb fails when required from Electron)

The issue I have with the electron app has already been reported: oracle/node-oracledb#917

Running .\node_modules\.bin\electron-rebuild.cmd --version=2.0.1 --arch=x64 --only=oracledb as suggested in oracle/node-oracledb#881 (comment) fails with NAN-related errors (like these reported in oracle/node-oracledb#862 (comment))


Potential leads:

* Implemented connector to Oracle based on node-oracledb.
* Implemented a pool of clients to ensure all the request from a
connector share the same client. For more details, see
`backend/persistent/datastores/pool.js`.
* Upgraded to electron@2.0 and node@8, so that:
- both node and electron have ABI 57 (for which node-oracledb provides
binaries)
- unable to use electron@1.8 due to issue resulting in a empty window
at some startups
* Added Dockerfile and npm scripts to build and launch a container with
an Oracle Express database setup for testing.
* Ensure connector failures are logged.
* Added npm script `test-unit-oracle` for testing. See `CONTRIBUTING.md`
for the requirements to run these tests.
* Updated documentation in `CONTRIBUTING.md`.
Closes#322
* See nodejs/node#16196 for further details
about the cause.
* Ensure error response is formatted as {error: message: 'xxxx'}.
* Fixed the code parsing a connection error message.
* Ensure error message is a string.
* Ensure isConnected() and isSaved() returns false when status code is
500.
* Added tests.
Closes#342
* Use source package from github to prevent the use of prebuilt
binaries and force the rebuild of the native module.
@n-riesco

Copy link
Copy Markdown
ContributorAuthor

3c13700 fixes the issue with the windows installer.

I've tested both, the linux and the windows installer.

@tarzzz, could you test the mac installer here, please?

To test the connector for oracle, you'll need to:

  • Install the free Oracle Instant Client for mac, as described here
  • Build the docker image with the oracle database for testing: yarn docker:oracle:build
  • Launch the docker image: yarn docker:oracle:start
  • Wait until the docker container prints out Ready
  • Install falcon using the installer here
  • Open Falcon and create an connection to oracle using the sample credentials.

@tarzzz

Copy link
Copy Markdown
Contributor

Getting this while trying to connect:

image

It seems an issue with my Oracle client installation.. !!

@tarzzz

Copy link
Copy Markdown
Contributor

Okay, I was able to make it work by correctly installing clients:

image

Everything looks good to me from testing point of view.. 💃

@n-riesco
n-riesco merged commit 125ddb1 into masterMay 25, 2018
@n-riesco

Copy link
Copy Markdown
ContributorAuthor

@tarzzz I'm planning to update README.md with the instructions for installing Oracle Install Client.
For mac, did you have to do anything else other what is described here?

@n-riescon-riesco mentioned this pull request May 25, 2018
10 tasks
@n-riesco
n-riesco deleted the oracle branch May 28, 2018 16:47
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@n-riesco@shannonlal@tarzzz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

oracle: new connector - #437

Merged
n-riesco merged 5 commits into
masterfrom
oracle
May 25, 2018
Merged

oracle: new connector#437
n-riesco merged 5 commits into
masterfrom
oracle

Conversation

@n-riesco

Copy link
Copy Markdown
Contributor
  • Implemented connector to Oracle based on node-oracledb.

  • Implemented a pool of clients to ensure all the request from a
    connector share the same client. For more details, see
    backend/persistent/datastores/pool.js.

  • Upgraded to electron@2.0 and node@8, so that:

    • both node and electron have ABI 57 (for which node-oracledb provides
      binaries)
    • unable to use electron@1.8 due to issue resulting in a empty window
      at some startups
  • Added Dockerfile and npm scripts to build and launch a container with
    an Oracle Express database setup for testing.

  • Ensure connector failures are logged.

  • Added npm script test-unit-oracle for testing. See CONTRIBUTING.md
    for the requirements to run these tests.

  • Updated documentation in CONTRIBUTING.md.

Closes#322

@n-riesco

n-riesco commented May 17, 2018

Copy link
Copy Markdown
ContributorAuthor

TODO:

@n-riesco
n-riescoforce-pushed the oracle branch 2 times, most recently from ab3b642 to bf60eccCompareMay 18, 2018 18:50
@n-riesco

n-riesco commented May 18, 2018

Copy link
Copy Markdown
ContributorAuthor

@shannonlalshannonlal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you need an oracle.LICENSE file as well?

Comment thread.travis.yml
osx_image: xcode9.0
language: node_js
node_js: "6"
node_js: "8"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to confirm. Once this is moved in we will need to use NodeJS 8? Will earlier versions work? Not an issue just want to know.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The oracle connector won't work in electron and yarn will refuse to install.

If you force yarn to ignore the node version (yarn install --ignore-engines), then Falcon seems to work (I mean everything I tried, except the Oracle connector).

@shannonlal

Copy link
Copy Markdown
Contributor

Looks good. No major issues. Just had a couple of quick questions for you on but should not block merging this in💃

@n-riesco

Copy link
Copy Markdown
ContributorAuthor

@shannonlal

Do you need an oracle.LICENSE file as well?

We need written permission to use Oracle's logo. For the time being, the icon for Oracle's connector is just text (similar to what I've used for DB2 and CSV).

@n-riesco

n-riesco commented May 23, 2018

Copy link
Copy Markdown
ContributorAuthor

I've tested this branch on windows:

  • the web app works (i.e. oracledb works in Node)
  • the desktop app doesn't (i.e. oracledb fails when required from Electron)

The issue I have with the electron app has already been reported: oracle/node-oracledb#917

Running .\node_modules\.bin\electron-rebuild.cmd --version=2.0.1 --arch=x64 --only=oracledb as suggested in oracle/node-oracledb#881 (comment) fails with NAN-related errors (like these reported in oracle/node-oracledb#862 (comment))


Potential leads:

* Implemented connector to Oracle based on node-oracledb.
* Implemented a pool of clients to ensure all the request from a
connector share the same client. For more details, see
`backend/persistent/datastores/pool.js`.
* Upgraded to electron@2.0 and node@8, so that:
- both node and electron have ABI 57 (for which node-oracledb provides
binaries)
- unable to use electron@1.8 due to issue resulting in a empty window
at some startups
* Added Dockerfile and npm scripts to build and launch a container with
an Oracle Express database setup for testing.
* Ensure connector failures are logged.
* Added npm script `test-unit-oracle` for testing. See `CONTRIBUTING.md`
for the requirements to run these tests.
* Updated documentation in `CONTRIBUTING.md`.
Closes#322
* See nodejs/node#16196 for further details
about the cause.
* Ensure error response is formatted as {error: message: 'xxxx'}.
* Fixed the code parsing a connection error message.
* Ensure error message is a string.
* Ensure isConnected() and isSaved() returns false when status code is
500.
* Added tests.
Closes#342
* Use source package from github to prevent the use of prebuilt
binaries and force the rebuild of the native module.
@n-riesco

Copy link
Copy Markdown
ContributorAuthor

3c13700 fixes the issue with the windows installer.

I've tested both, the linux and the windows installer.

@tarzzz, could you test the mac installer here, please?

To test the connector for oracle, you'll need to:

  • Install the free Oracle Instant Client for mac, as described here
  • Build the docker image with the oracle database for testing: yarn docker:oracle:build
  • Launch the docker image: yarn docker:oracle:start
  • Wait until the docker container prints out Ready
  • Install falcon using the installer here
  • Open Falcon and create an connection to oracle using the sample credentials.

@tarzzz

Copy link
Copy Markdown
Contributor

Getting this while trying to connect:

image

It seems an issue with my Oracle client installation.. !!

@tarzzz

Copy link
Copy Markdown
Contributor

Okay, I was able to make it work by correctly installing clients:

image

Everything looks good to me from testing point of view.. 💃

@n-riesco
n-riesco merged commit 125ddb1 into masterMay 25, 2018
@n-riesco

Copy link
Copy Markdown
ContributorAuthor

@tarzzz I'm planning to update README.md with the instructions for installing Oracle Install Client.
For mac, did you have to do anything else other what is described here?

@n-riescon-riesco mentioned this pull request May 25, 2018
10 tasks
@n-riesco
n-riesco deleted the oracle branch May 28, 2018 16:47
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@n-riesco@shannonlal@tarzzz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

oracle: new connector - #437

Merged
n-riesco merged 5 commits into
masterfrom
oracle
May 25, 2018
Merged

oracle: new connector#437
n-riesco merged 5 commits into
masterfrom
oracle

Conversation

@n-riesco

Copy link
Copy Markdown
Contributor
  • Implemented connector to Oracle based on node-oracledb.

  • Implemented a pool of clients to ensure all the request from a
    connector share the same client. For more details, see
    backend/persistent/datastores/pool.js.

  • Upgraded to electron@2.0 and node@8, so that:

    • both node and electron have ABI 57 (for which node-oracledb provides
      binaries)
    • unable to use electron@1.8 due to issue resulting in a empty window
      at some startups
  • Added Dockerfile and npm scripts to build and launch a container with
    an Oracle Express database setup for testing.

  • Ensure connector failures are logged.

  • Added npm script test-unit-oracle for testing. See CONTRIBUTING.md
    for the requirements to run these tests.

  • Updated documentation in CONTRIBUTING.md.

Closes#322

@n-riesco

n-riesco commented May 17, 2018

Copy link
Copy Markdown
ContributorAuthor

TODO:

@n-riesco
n-riescoforce-pushed the oracle branch 2 times, most recently from ab3b642 to bf60eccCompareMay 18, 2018 18:50
@n-riesco

n-riesco commented May 18, 2018

Copy link
Copy Markdown
ContributorAuthor

@shannonlalshannonlal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you need an oracle.LICENSE file as well?

Comment thread.travis.yml
osx_image: xcode9.0
language: node_js
node_js: "6"
node_js: "8"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to confirm. Once this is moved in we will need to use NodeJS 8? Will earlier versions work? Not an issue just want to know.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The oracle connector won't work in electron and yarn will refuse to install.

If you force yarn to ignore the node version (yarn install --ignore-engines), then Falcon seems to work (I mean everything I tried, except the Oracle connector).

@shannonlal

Copy link
Copy Markdown
Contributor

Looks good. No major issues. Just had a couple of quick questions for you on but should not block merging this in💃

@n-riesco

Copy link
Copy Markdown
ContributorAuthor

@shannonlal

Do you need an oracle.LICENSE file as well?

We need written permission to use Oracle's logo. For the time being, the icon for Oracle's connector is just text (similar to what I've used for DB2 and CSV).

@n-riesco

n-riesco commented May 23, 2018

Copy link
Copy Markdown
ContributorAuthor

I've tested this branch on windows:

  • the web app works (i.e. oracledb works in Node)
  • the desktop app doesn't (i.e. oracledb fails when required from Electron)

The issue I have with the electron app has already been reported: oracle/node-oracledb#917

Running .\node_modules\.bin\electron-rebuild.cmd --version=2.0.1 --arch=x64 --only=oracledb as suggested in oracle/node-oracledb#881 (comment) fails with NAN-related errors (like these reported in oracle/node-oracledb#862 (comment))


Potential leads:

* Implemented connector to Oracle based on node-oracledb.
* Implemented a pool of clients to ensure all the request from a
connector share the same client. For more details, see
`backend/persistent/datastores/pool.js`.
* Upgraded to electron@2.0 and node@8, so that:
- both node and electron have ABI 57 (for which node-oracledb provides
binaries)
- unable to use electron@1.8 due to issue resulting in a empty window
at some startups
* Added Dockerfile and npm scripts to build and launch a container with
an Oracle Express database setup for testing.
* Ensure connector failures are logged.
* Added npm script `test-unit-oracle` for testing. See `CONTRIBUTING.md`
for the requirements to run these tests.
* Updated documentation in `CONTRIBUTING.md`.
Closes#322
* See nodejs/node#16196 for further details
about the cause.
* Ensure error response is formatted as {error: message: 'xxxx'}.
* Fixed the code parsing a connection error message.
* Ensure error message is a string.
* Ensure isConnected() and isSaved() returns false when status code is
500.
* Added tests.
Closes#342
* Use source package from github to prevent the use of prebuilt
binaries and force the rebuild of the native module.
@n-riesco

Copy link
Copy Markdown
ContributorAuthor

3c13700 fixes the issue with the windows installer.

I've tested both, the linux and the windows installer.

@tarzzz, could you test the mac installer here, please?

To test the connector for oracle, you'll need to:

  • Install the free Oracle Instant Client for mac, as described here
  • Build the docker image with the oracle database for testing: yarn docker:oracle:build
  • Launch the docker image: yarn docker:oracle:start
  • Wait until the docker container prints out Ready
  • Install falcon using the installer here
  • Open Falcon and create an connection to oracle using the sample credentials.

@tarzzz

Copy link
Copy Markdown
Contributor

Getting this while trying to connect:

image

It seems an issue with my Oracle client installation.. !!

@tarzzz

Copy link
Copy Markdown
Contributor

Okay, I was able to make it work by correctly installing clients:

image

Everything looks good to me from testing point of view.. 💃

@n-riesco
n-riesco merged commit 125ddb1 into masterMay 25, 2018
@n-riesco

Copy link
Copy Markdown
ContributorAuthor

@tarzzz I'm planning to update README.md with the instructions for installing Oracle Install Client.
For mac, did you have to do anything else other what is described here?

@n-riescon-riesco mentioned this pull request May 25, 2018
10 tasks
@n-riesco
n-riesco deleted the oracle branch May 28, 2018 16:47
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@n-riesco@shannonlal@tarzzz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

oracle: new connector - #437

Merged
n-riesco merged 5 commits into
masterfrom
oracle
May 25, 2018
Merged

oracle: new connector#437
n-riesco merged 5 commits into
masterfrom
oracle

Conversation

@n-riesco

Copy link
Copy Markdown
Contributor
  • Implemented connector to Oracle based on node-oracledb.

  • Implemented a pool of clients to ensure all the request from a
    connector share the same client. For more details, see
    backend/persistent/datastores/pool.js.

  • Upgraded to electron@2.0 and node@8, so that:

    • both node and electron have ABI 57 (for which node-oracledb provides
      binaries)
    • unable to use electron@1.8 due to issue resulting in a empty window
      at some startups
  • Added Dockerfile and npm scripts to build and launch a container with
    an Oracle Express database setup for testing.

  • Ensure connector failures are logged.

  • Added npm script test-unit-oracle for testing. See CONTRIBUTING.md
    for the requirements to run these tests.

  • Updated documentation in CONTRIBUTING.md.

Closes#322

@n-riesco

n-riesco commented May 17, 2018

Copy link
Copy Markdown
ContributorAuthor

TODO:

@n-riesco
n-riescoforce-pushed the oracle branch 2 times, most recently from ab3b642 to bf60eccCompareMay 18, 2018 18:50
@n-riesco

n-riesco commented May 18, 2018

Copy link
Copy Markdown
ContributorAuthor

@shannonlalshannonlal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you need an oracle.LICENSE file as well?

Comment thread.travis.yml
osx_image: xcode9.0
language: node_js
node_js: "6"
node_js: "8"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to confirm. Once this is moved in we will need to use NodeJS 8? Will earlier versions work? Not an issue just want to know.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The oracle connector won't work in electron and yarn will refuse to install.

If you force yarn to ignore the node version (yarn install --ignore-engines), then Falcon seems to work (I mean everything I tried, except the Oracle connector).

@shannonlal

Copy link
Copy Markdown
Contributor

Looks good. No major issues. Just had a couple of quick questions for you on but should not block merging this in💃

@n-riesco

Copy link
Copy Markdown
ContributorAuthor

@shannonlal

Do you need an oracle.LICENSE file as well?

We need written permission to use Oracle's logo. For the time being, the icon for Oracle's connector is just text (similar to what I've used for DB2 and CSV).

@n-riesco

n-riesco commented May 23, 2018

Copy link
Copy Markdown
ContributorAuthor

I've tested this branch on windows:

  • the web app works (i.e. oracledb works in Node)
  • the desktop app doesn't (i.e. oracledb fails when required from Electron)

The issue I have with the electron app has already been reported: oracle/node-oracledb#917

Running .\node_modules\.bin\electron-rebuild.cmd --version=2.0.1 --arch=x64 --only=oracledb as suggested in oracle/node-oracledb#881 (comment) fails with NAN-related errors (like these reported in oracle/node-oracledb#862 (comment))


Potential leads:

* Implemented connector to Oracle based on node-oracledb.
* Implemented a pool of clients to ensure all the request from a
connector share the same client. For more details, see
`backend/persistent/datastores/pool.js`.
* Upgraded to electron@2.0 and node@8, so that:
- both node and electron have ABI 57 (for which node-oracledb provides
binaries)
- unable to use electron@1.8 due to issue resulting in a empty window
at some startups
* Added Dockerfile and npm scripts to build and launch a container with
an Oracle Express database setup for testing.
* Ensure connector failures are logged.
* Added npm script `test-unit-oracle` for testing. See `CONTRIBUTING.md`
for the requirements to run these tests.
* Updated documentation in `CONTRIBUTING.md`.
Closes#322
* See nodejs/node#16196 for further details
about the cause.
* Ensure error response is formatted as {error: message: 'xxxx'}.
* Fixed the code parsing a connection error message.
* Ensure error message is a string.
* Ensure isConnected() and isSaved() returns false when status code is
500.
* Added tests.
Closes#342
* Use source package from github to prevent the use of prebuilt
binaries and force the rebuild of the native module.
@n-riesco

Copy link
Copy Markdown
ContributorAuthor

3c13700 fixes the issue with the windows installer.

I've tested both, the linux and the windows installer.

@tarzzz, could you test the mac installer here, please?

To test the connector for oracle, you'll need to:

  • Install the free Oracle Instant Client for mac, as described here
  • Build the docker image with the oracle database for testing: yarn docker:oracle:build
  • Launch the docker image: yarn docker:oracle:start
  • Wait until the docker container prints out Ready
  • Install falcon using the installer here
  • Open Falcon and create an connection to oracle using the sample credentials.

@tarzzz

Copy link
Copy Markdown
Contributor

Getting this while trying to connect:

image

It seems an issue with my Oracle client installation.. !!

@tarzzz

Copy link
Copy Markdown
Contributor

Okay, I was able to make it work by correctly installing clients:

image

Everything looks good to me from testing point of view.. 💃

@n-riesco
n-riesco merged commit 125ddb1 into masterMay 25, 2018
@n-riesco

Copy link
Copy Markdown
ContributorAuthor

@tarzzz I'm planning to update README.md with the instructions for installing Oracle Install Client.
For mac, did you have to do anything else other what is described here?

@n-riescon-riesco mentioned this pull request May 25, 2018
10 tasks
@n-riesco
n-riesco deleted the oracle branch May 28, 2018 16:47
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@n-riesco@shannonlal@tarzzz
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

oracle: new connector - #437

Merged
n-riesco merged 5 commits into
masterfrom
oracle
May 25, 2018
Merged

oracle: new connector#437
n-riesco merged 5 commits into
masterfrom
oracle

Conversation

@n-riesco

Copy link
Copy Markdown
Contributor
  • Implemented connector to Oracle based on node-oracledb.

  • Implemented a pool of clients to ensure all the request from a
    connector share the same client. For more details, see
    backend/persistent/datastores/pool.js.

  • Upgraded to electron@2.0 and node@8, so that:

    • both node and electron have ABI 57 (for which node-oracledb provides
      binaries)
    • unable to use electron@1.8 due to issue resulting in a empty window
      at some startups
  • Added Dockerfile and npm scripts to build and launch a container with
    an Oracle Express database setup for testing.

  • Ensure connector failures are logged.

  • Added npm script test-unit-oracle for testing. See CONTRIBUTING.md
    for the requirements to run these tests.

  • Updated documentation in CONTRIBUTING.md.

Closes#322

@n-riesco

n-riesco commented May 17, 2018

Copy link
Copy Markdown
ContributorAuthor

TODO:

@n-riesco
n-riescoforce-pushed the oracle branch 2 times, most recently from ab3b642 to bf60eccCompareMay 18, 2018 18:50
@n-riesco

n-riesco commented May 18, 2018

Copy link
Copy Markdown
ContributorAuthor

@shannonlalshannonlal left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you need an oracle.LICENSE file as well?

Comment thread.travis.yml
osx_image: xcode9.0
language: node_js
node_js: "6"
node_js: "8"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to confirm. Once this is moved in we will need to use NodeJS 8? Will earlier versions work? Not an issue just want to know.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The oracle connector won't work in electron and yarn will refuse to install.

If you force yarn to ignore the node version (yarn install --ignore-engines), then Falcon seems to work (I mean everything I tried, except the Oracle connector).

@shannonlal

Copy link
Copy Markdown
Contributor

Looks good. No major issues. Just had a couple of quick questions for you on but should not block merging this in💃

@n-riesco

Copy link
Copy Markdown
ContributorAuthor

@shannonlal

Do you need an oracle.LICENSE file as well?

We need written permission to use Oracle's logo. For the time being, the icon for Oracle's connector is just text (similar to what I've used for DB2 and CSV).

@n-riesco

n-riesco commented May 23, 2018

Copy link
Copy Markdown
ContributorAuthor

I've tested this branch on windows:

  • the web app works (i.e. oracledb works in Node)
  • the desktop app doesn't (i.e. oracledb fails when required from Electron)

The issue I have with the electron app has already been reported: oracle/node-oracledb#917

Running .\node_modules\.bin\electron-rebuild.cmd --version=2.0.1 --arch=x64 --only=oracledb as suggested in oracle/node-oracledb#881 (comment) fails with NAN-related errors (like these reported in oracle/node-oracledb#862 (comment))


Potential leads:

* Implemented connector to Oracle based on node-oracledb.
* Implemented a pool of clients to ensure all the request from a
connector share the same client. For more details, see
`backend/persistent/datastores/pool.js`.
* Upgraded to electron@2.0 and node@8, so that:
- both node and electron have ABI 57 (for which node-oracledb provides
binaries)
- unable to use electron@1.8 due to issue resulting in a empty window
at some startups
* Added Dockerfile and npm scripts to build and launch a container with
an Oracle Express database setup for testing.
* Ensure connector failures are logged.
* Added npm script `test-unit-oracle` for testing. See `CONTRIBUTING.md`
for the requirements to run these tests.
* Updated documentation in `CONTRIBUTING.md`.
Closes#322
* See nodejs/node#16196 for further details
about the cause.
* Ensure error response is formatted as {error: message: 'xxxx'}.
* Fixed the code parsing a connection error message.
* Ensure error message is a string.
* Ensure isConnected() and isSaved() returns false when status code is
500.
* Added tests.
Closes#342
* Use source package from github to prevent the use of prebuilt
binaries and force the rebuild of the native module.
@n-riesco

Copy link
Copy Markdown
ContributorAuthor

3c13700 fixes the issue with the windows installer.

I've tested both, the linux and the windows installer.

@tarzzz, could you test the mac installer here, please?

To test the connector for oracle, you'll need to:

  • Install the free Oracle Instant Client for mac, as described here
  • Build the docker image with the oracle database for testing: yarn docker:oracle:build
  • Launch the docker image: yarn docker:oracle:start
  • Wait until the docker container prints out Ready
  • Install falcon using the installer here
  • Open Falcon and create an connection to oracle using the sample credentials.

@tarzzz

Copy link
Copy Markdown
Contributor

Getting this while trying to connect:

image

It seems an issue with my Oracle client installation.. !!

@tarzzz

Copy link
Copy Markdown
Contributor

Okay, I was able to make it work by correctly installing clients:

image

Everything looks good to me from testing point of view.. 💃

@n-riesco
n-riesco merged commit 125ddb1 into masterMay 25, 2018
@n-riesco

Copy link
Copy Markdown
ContributorAuthor

@tarzzz I'm planning to update README.md with the instructions for installing Oracle Install Client.
For mac, did you have to do anything else other what is described here?

@n-riescon-riesco mentioned this pull request May 25, 2018
10 tasks
@n-riesco
n-riesco deleted the oracle branch May 28, 2018 16:47
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@n-riesco@shannonlal@tarzzz