Overview of Extension API
Symphony extension applications are standalone web applications that are embedded within the Symphony user interface as iframes that interact with the Symphony container using the Client Extension API.
Extension API Capabilities
The Client Extension API is a JavaScript library that consists of services containing methods that allow developers to build apps that extend and interact with Symphony's user interface. Using these services, developers can:
Add modules, or windows, containing your app content to the Symphony client
Add entry points for your app, such as navigation items in Symphony's left sidebar or links on #hashtag and $cashtag hovercards
Add interactive buttons to chat and user profile module headers
Enable users to share content from your app into Symphony chats
Register custom renderers to richly display messages containing structured objects
Some of Symphony’s services will require you to implement your own services with methods to handle events. For example:
Handling a user click on your app’s left sidebar menu item by opening your default app module
Handling a user click on your app’s #hashtag or $cashtag hovercard link by opening an app module with a contextual search
Many of these event handlers are provided out of the box by the BDK 1.0's App Template. To learn more about the out-of-the-box implementations provided by the BDK 1.0 continue to the Planning Your App or Tutorials sections.
App Controller and Views
Applications created with the Client Extension API run in iframes inside the Symphony client.
Symphony apps consists of:
The main application controller, a hidden iframe that uses the Client Extension API services to bootstrap your app, extending the Symphony user interface
In most cases, one or more application views, separate iframes that are rendered within Symphony modules
Applications can be built using any web development technology of your choice.
Extension API Services
Services are used for communication between your app and the Symphony client. There are two types of services: remote and local.
Remote Services
Remote services are services that are shared:
The services of the Client Extension API are remote services whose methods can be invoked by your application controller and views
You can also implement remote services that can be shared between your application controllers and views
Local Services
Local services are services are specific to either your controller or one of your views.
To learn more about the services and capabilities provided by the Extension API continue here:
Extension API ServicesLast updated