Symphony Developer Pod

The Foundation's Symphony Developer Pod is a hosted tenant ("pod") that allows project teams to develop and test against the Symphony APIs.  Foundation Staff manage the pod and can provide accounts for project teams - both user accounts for developers, and system accounts for bots, apps, and integrations.

How to Access

To access the Foundation Developer Pod as a user, you can use the following methods:

  1. Web Interface

  2. Mobile App (Android/iPhone)

  3. Desktop App (for Windows)

Once granted access, you will receive one or more of the following accounts:

  1. A User Account, that grants you access to https://foundation-dev.symphony.com/ with username/password credentials; credentials are personal and must not be shared; password is initially emailed after registration and needs to be changed during the first login

  2. A Service Account, that allows your Symphony bots/apps to interact with the ODP using certificate-based credentials; certificates are per-project and distributed to and then managed by the Project Lead

  3. A Custom App ID, that allows Symphony extensions (using the Symphony Extensions API) to run against the ODP; this token is per-project and can be shared across different Developers that work on the same codebase

For service accounts (ie bots and integrations), these are the relevant endpoints:

  1. https://foundation-dev-api.symphony.com/keyauth

  2. https://foundation-dev-api.symphony.com/sessionauth

  3. https://foundation-dev.symphony.com/agent

  4. https://foundation-dev.symphony.com/pod

See below for instructions on how to validate access.

Requesting Access

Contributing to an Existing Project

If you're contributing Pull Requests to an existing project hosted by the Foundation, you may request a 2 month in order to evaluate the open source software hosted by the Foundation.  To request this level of access, raise a HELP issue or send an email to help@finos.org.

New Committer on Existing Project

If you have just become a committer on an existing Foundation-hosted open source project, you should request that the project lead request a new user account for you, by raising a HELP issue or sending an email to help@finos.org.

New Project

If your project is newly contributed to the Foundation, you can use the same basic process to register it in the ODP - the project lead should raise a HELP issue or send an email to help@finos.org, listing all of the developers in the project team who require access.

Terms of Use

Each Foundation Developer Pod user:
  1. Must agree to and comply with the Symphony Business User Terms & Conditions (BUTC);

  2. May only use the ODP for testing and development, not for production use;

  3. May only use the ODP for its own internal business purposes (as set out in the BUTC) or for purposes relating to the Foundation, its operations, and its corporate mission; and

  4. May not (a) use applications developed on the ODP in another Symphony environment or (b) sell or distribute those applications to third parties, unless it has entered into a separate written commercial agreement with Symphony Communication Services, LLC. The sole exception to this restriction is that ODP users may contribute their applications to the Foundation to be released as open source software under the Apache License, Version 2.

The Foundation reserves the rights to revoke/deactivate credentials at any time.

Service Level

This environment is not a Production or Staging environment, and therefore has the following restrictions:

  1. No data stored in this environment is backed up, therefore lost data cannot restored under any circumstances.

  2. This is a shared environment - there is no guarantee of privacy or secrecy between project teams - test messages and content sent by one developer or their code should be assumed to be fully visible to all other developers using the environment.

  3. There is no guaranteed uptime, the platform could go down at any time.

Default User Entitlements

The following default entitlements are assigned to user and service accounts by default; you can request entitlement to be changed at any time by raising a HELP issue or sending an email to help@finos.org.
  • Can have delegates - No

  • Can edit profile picture - Yes

  • Can create internal public rooms - Yes

  • Can send files internally - Yes

  • Can chat in external IM/MIMs - No

  • Can chat in private external rooms - No

  • Can share files externally - No

  • Can create push signals - No

Testing Access

As soon as you have the Service Account certificates, you can run one of the Symphony Java sample bots.  These are deliberately simple examples that demonstrate basic Symphony capabilities that a bot can leverage.

Prerequisites

  • A User Account used to login on foundation-dev.symphony.com (replace the user's email with your own, in the example is useraccount@acme.com)

  • A folder containing userbot.p12 and server.truststore (both provided by the Foundation, see above); in the example, we will refer to this folder as ./certs

  • JDK 1.8.x installed

    • java -version
  • Apache Maven 3.x installed

    • mvn -v

Running the HelloWorld Bot

Checkout and Build the Code

git clone https://github.com/symphonyoss/symphony-java-sample-bots.git
cd symphony-java-sample-bots
mvn clean package

Configure the Bot

Edit the following variables in your local copy of run-bot.sh (lines 9 to 14):

# RECEIVER_USER_EMAIL=receiver@mycompany.com
# BOT_USER_EMAIL=testbot@mycompany.com
# BOT_CERT_PATH=./certs/userbot.p12
# BOT_CERT_PASSWORD=changeit
# TRUSTSTORE_PATH=./certs/server.truststore
# TRUSTSTORE_PASSWORD=changeit

Run the Bot

./run-bot.sh org.symphonyoss.simplebot.HelloWorldBot

Validate the Result

You can now log into foundation-dev.symphony.com with your User Account credentials and check if you have received an “Hello World!” message from the Service Account the bot is using.

Submitting Bugs and Feature Requests

If you want to raise a bug or feature request against the Symphony APIs, you have two options:

  1. If you are Symphony Customer or Partner, please refer to support.symphony.com.
  2. If you're not a Symphony Customer or Partner, send a question to /wiki/spaces/FINOS/pages/77955298.
    1. If you want to raise a bug or feature request against the Symphony Integrations Framework, you can also use the project's open issue tracker.

For any other ODP issue, please raise a HELP issue or send an email to help@finos.org.

Need help? Email help@finos.org we'll get back to you.

Content on this page is licensed under the CC BY 4.0 license.
Code on this page is licensed under the Apache 2.0 license.