Firstly, you should note that the repository you referenced is rather old and no longer maintained. Nevertheless, most concepts should still apply today. You can find the latest on the Extension API at the developer documentation site here: https://docs.developers.symphony.com/building-extension-applications-on-symphony/overview-of-extension-api
In a real-world scenario, what you would need to do is contact your pod administrator and have them create an Extension App entry in the Admin Console either by uploading a bundle.json
that you supply or manually filling in the required fields.
For the Developer Sandbox (develop2.symphony.com), we have a sample shared Extension App entry that you can use for develop-time testing on localhost
. The entry is called Localhost 4000
that you can self-install from Symphony Marketplace. As listed in the Marketplace description, you will need to have your app's entrypoint served on http://localhost:4000/controller.html and you can download the sample RSA key for App Authentication if you require things like the user's identity.
To get a quick example running, install the latest Symphony generator using npm i -g yo @finos/generator-symphony
. Then create a working directory, enter it and launch yo @finos/symphony
. When prompted for "Select your type of application", select "Extension App Application". Choose either language but I'll reference the Java project below. Once the project is generated, open it in your IDE and make a few changes:
- Edit
src/main/resources/application.yaml
, changingbdk.app.appId
tolocalhost-4000
andbdk.app.privateKey.path
to wherever you saved the private key. - Change
server.port
to4000
- Edit
src/main/resources/static/scripts/controller.js
, updating references toappId
and the server port:
let appId = 'localhost-4000'
...
modulesService.show("test-app", {title: "Circle Of Trust"}, "app:controller", "https://localhost:4000/app.html")
Launch the project and first visit https://localhost:4000. You will see a warning for the first time because the site serves an untrusted self-signed certificate. You will need to clear the warning, if not the extension app cannot load. You can then proceed into the sandbox, go into Marketplace, install the Localhost 4000 app and it should show up on the left nav. A new app entry named "Circle of Trust" will appear, which you can click into to launch a sample page with some buttons that demonstrate other backend calls.