Enabling App Development¶
1. Enable App Development Mode in Dashboard¶
Enable App Development Mode in the Dashboard in three ways:
A. Enable your own account by creating the sandbox directory¶
Each user can by default enable app development by creating the directory that holds the sandbox apps. In a Shell session, create the dev directory in your home directory:
mkdir -p ~/ondemand/dev
Then reload OnDemand dashboard to see the Develop dropdown appear. Note: this will work only if the administrator has not configured the dashboard to enable or disable app development in the dashboard.
B. Enable for every user using environment variable¶
In the root of the dashboard app, add these contents to a file .env.local
:
OOD_APP_DEVELOPMENT=1
If this env var is present, Configuration.app_development_enabled
will be
set to true, and the Develop dropdown will
appear.
C. Enable for specific users using custom initializer¶
Create a custom initializer file for the Dashboard app at:
/etc/ood/config/apps/dashboard/initializers/ood.rb
Add whatever Ruby code you want to set the Configuration.app_development_enabled
flag.
This code will run as the user. This code also has access to the ood_support
library in which we provide
some helper classes to work with User’s and Groups.
If you want to restrict displaying the Develop dropdown to a list of users, you can do this:
Configuration.app_development_enabled = %w(
bgohar efranz bmcmichael
).include?(OodSupport::User.new.name)
If you want to restrict app development mode to group membership, you could do this:
Configuration.app_development_enabled = OodSupport::Process.groups.include?(
OodSupport::Group.new(name: "devgrp")
)
Or if you know the id of the group, this will avoid reading the /etc/group
file:
Configuration.app_development_enabled = Process.groups.include?(5014)
2. Specify Development Shell Host¶
When developing apps, you will eventually need to access the shell. It may be necessary to have shell access to a host that has the same SCL packages that OnDemand provides.
The developer app detail views provide a convenient “Shell” button to open a Shell with the starting directory to be the directory of the application.
If the host with these SCL packages is different from the default host for the
OOD shell app, you can specify this host by setting OOD_DEV_SSH_HOST
environment variable.
For example, at OSC we have provisioned a development host at apps-test.awesim.org
that developers can ssh to, which has a version of OnDemand running and
therefore has all the SCL packages installed. That host is apps-test.awesim.org
so we set in the .env.local
file OOD_DEV_SSH_HOST="apps-test.awesim.org"
.