This project was archived 2018-10-31. For more information on how this may affect consumers and contributors of this project, please see the FINOS Foundation Project Lifecycle documentation.
Please note OpenFin Sym Integration is currently in beta and unsupported by Symphony
This project implements the SSF API standard to integrate chat with the OpenFin OS. The SSF API is defined by the Symphony Software Foundation Desktop Wrapper Working Group. Other implementations of the API include the Symphony Electron project and ContainerJS.
- API implementations are in progress. APIs are working off of what is defined here: https://symphonyoss.atlassian.net/wiki/display/WGDWAPI/Proposed+Standard+API+Specifications
- Install the OpenFin CLI Tool globally
npm install -g openfin-cli
npm install
npm run build
(ornode build
)npm start
openfin -l -c public/app.json
This project allows for multiple build configurations (by default there are three: local
, staging
, and prod
) to allow customized server and Pod URLs (and a number of other settings). These settings are defined in the config/settings.json
file which is generated on during install or on the first build if it does not exist. Settings defined in "default"
apply to all configurations and can be overwritten by values supplied in the other configurations.
npm install
(ornode build --init
)- Update the Pod URL and target URL (your web server which hosts the application) inside
config/settings.json
npm run build prod
- Deploy and host the
public
folder on your web server - Generate an OpenFin Installer pointing at the
public/app.json
file or use another deployment option
The client running in OpenFin is adding only a limited number of additions to the SSF API. These features pertain mainly to Windowing, Notifications, and a System Tray that exposes additional menu options to users. The client running in OpenFin is to have feature parity with the client running in Electron.
- Multiple Pop Out Windows
- Pin Chats in Main Window
- Rooms, Direct IM
The following comprises a list of client features that are validated when using OpenFin.
Topic/Feature | Area | Tests |
---|---|---|
Windowing |
|
|
Notifications |
|
|
IM/Chats |
|
|
IM/General Preferences |
| |
Signals |
| |
Applications |
| |
System Tray |
| |
Inbox |
| |
Audio / Video |
|
(*) Currently not supported
The following document highlights the memory consumption of the client running in OpenFin. The analysis is comprised of the following use cases:
- Initial App Startup
- Message Load
- Multi Window Open/Close
- Duration
Memory numbers gathered via Task Manager.
Environment Variables
OpenFin | |
---|---|
OS | Windows 10 |
Version | 8.56.27.75 |
Image Type | 32-Bit |
Process Memory
Initial Startup (3 windows) | 100+ Messages | Open/Close (10 Windows) | 5+ Hrs Running | |
---|---|---|---|---|
OpenFin | 362MB | 384MB | 428MB | 362MB |
Resolved Issues
- Resolved issue with popout window saved state not being observed post a Pod upgrade
- Added runtime argument --winhttp-proxy-resolver to app config to address known chromium bug observed in OF 8
Notifications
- Ability to configure desktop Notification positions
- New Notifications replace existing Notifications from existing chats / rooms
- Cleaned up Notification look and feel
Multi Pod Support
- Introduced ability to set up multiple Pods to a single instance
System Tray Menu
Added a System Tray menu that enables users access to the following features:
- Launch on Startup
- Always on Top
- Close on Exit
- Quit Application
Resolved Issues
- Resolved an issue where pop out windows were not retaining their position on restart
- Resolved issue where room notifications contained HTML
- Resolved issue where clicking a notification did not bring the app into focus or restore it
- Launch pop out chat windows on Notification Clicks
- Spell Check Support
- Support for “Meetings” and Screen Share (coming with OpenFin 9)
- Content Navigation issues related to iFrames
- Attachment feature no allowing to select ‘All File Types’
- Notifications not observing “Color Coded Text” for specific Users
The code in this repository is covered by the included license.
However, if you run this code, it may call on the OpenFin RVM or OpenFin Runtime, which are covered by OpenFin's Developer, Community, and Enterprise licenses. You can learn more about OpenFin licensing at the links listed below or just email us at support@openfin.co with questions.
https://openfin.co/developer-agreement/ https://openfin.co/licensing/