Document toolboxDocument toolbox

Enabling/Disabling Features of a Stack

Some of the components of the stack can be disabled.  Each feature is controlled by a single stack configuration property.  The build and production stacks will enable these features by default.

When a feature is disabled, all of the tests associated with the feature are also disabled using the org.junit.Assume.assumeTrue() feature in the before() method of the tests.

Controllable Features

Featurestack config property namedefault value
CloudSearchorg.sagebionetworks.search.enabledfalse
Dynamoorg.sagebionetworks.dynamo.enabledfalse
Cassandraorg.sagebionetworks.cassandra.enabledfalse

 

In order to do development work on a feature that is disabled by default,  a developer will need to override the default property by making an addition to their maven settings file (<user_home>/.m2/settings.xml):

In this example search is enabled for a developer (see line: 28):

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <localRepository/>
  <interactiveMode/>
  <usePluginRegistry/>
  <offline/>
  <pluginGroups/>
  <servers/>
  <mirrors/>
  <proxies/>
  <profiles>
    <profile>
      <id>dev-environment</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <local.python27.path>/usr/local/bin/python2.7</local.python27.path>
        <local.r.path>/usr/bin/r</local.r.path>
        <org.sagebionetworks.stackEncryptionKey>your key</org.sagebionetworks.stackEncryptionKey>
        <org.sagebionetworks.developer>hill</org.sagebionetworks.developer>
        <org.sagebionetworks.stack.instance>hill</org.sagebionetworks.stack.instance>
        <org.sagebionetworks.stack.iam.id>some id</org.sagebionetworks.stack.iam.id>
        <org.sagebionetworks.stack.iam.key>some key</org.sagebionetworks.stack.iam.key>
        <org.sagebionetworks.stack>dev</org.sagebionetworks.stack> 
		<org.sagebionetworks.search.enabled>true</org.sagebionetworks.search.enabled>                 
      </properties>
    </profile>
  </profiles>
  <activeProfiles/>
</settings>