Developing SDK apps on c9.io
Cloud9 is an absolutely genius web-based IDE: https://c9.io - and it turns out to be a great dev environment for domo apps. The key is to make one small change to the server.js file after installing the CLI (I'm hoping this becomes a configurable option in a future release).
Sign up, create a new workspace:
- Workspace Name: whatever
- Clone from Git: leave blank, unless if you're cloning from an existing app repo
- Choose a template: Blank (with the Ubuntu logo)
That'll build a docker VM and drop you in the IDE window within about a minute. In the Terminal window, run:
nvm install 7.2.0
nvm alias default 7.2.0
I'm using NodeJS v7.2.0 as of today, but so long as you're running the version supported by the latest SDK release you'll be OK. The alias command forces the system to use the specified version as the default - without it you'd need to `nvm switch 7.2.0` every time you opened a terminal.
Then install the SDK:
npm install -g ryuu
When that's done, we need to make a small edit. Find the domo executable:
which domo
Edit the server.js file:
nano /home/ubuntu/.nvm/versions/node/v7.2.0/lib/node_modules/ryuu/server/server.js
On line 26, change basePort to 8080:
portfinder.basePort = 8080;
Save (Ctrl+O) and exit (Ctrl+X), then proceed normally:
cd ~/workspace
domo init
cd myapp
domo login
domo dev --external
The external switch is necessary, apparently, to let external connections into your app - c9.io uses a reverse proxy that maps :8080 in your VM, to :80/:443 on the outside. Click Preview > Preview Running Application in the top menu bar to bring up a browser window.
From here you can do all the cool stuff c9 lets you do - like share your workspace with colleagues, code collaboratively, share your app publically, whatever you need.
Categories
- All Categories
- 1.8K Product Ideas
- 1.8K Ideas Exchange
- 1.6K Connect
- 1.2K Connectors
- 300 Workbench
- 6 Cloud Amplifier
- 9 Federated
- 2.9K Transform
- 102 SQL DataFlows
- 626 Datasets
- 2.2K Magic ETL
- 3.9K Visualize
- 2.5K Charting
- 753 Beast Mode
- 61 App Studio
- 41 Variables
- 692 Automate
- 177 Apps
- 456 APIs & Domo Developer
- 49 Workflows
- 10 DomoAI
- 38 Predict
- 16 Jupyter Workspaces
- 22 R & Python Tiles
- 398 Distribute
- 115 Domo Everywhere
- 276 Scheduled Reports
- 7 Software Integrations
- 130 Manage
- 127 Governance & Security
- 8 Domo Community Gallery
- 38 Product Releases
- 11 Domo University
- 5.4K Community Forums
- 40 Getting Started
- 30 Community Member Introductions
- 110 Community Announcements
- 4.8K Archive