Skip to content
This repository has been archived by the owner on May 25, 2020. It is now read-only.

HadoukenIO/symphony-of

Repository files navigation

FINOS - Archived

Archived Project

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.

OpenFin Sym Integration

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.

Notes

Development Setup

  • Install the OpenFin CLI Tool globally npm install -g openfin-cli
  • npm install
  • npm run build (or node build)
  • npm start
  • openfin -l -c public/app.json

Production Setup

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 (or node 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

Testing

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.

Screen Layout

  • Multiple Pop Out Windows
  • Pin Chats in Main Window
  • Rooms, Direct IM

Features

The following comprises a list of client features that are validated when using OpenFin.

Topic/FeatureAreaTests
Windowing
  • IMs
  • Multi User IMs
  • Rooms
  • Inbox
  • Min/Max/Restore
  • Resizable
  • Pop Out of main Window
  • Save location on close/restart
  • Main window w/ pinned chats
Notifications
  • IMs
  • Rooms
  • Signals
  • Flashing / Badges
  • Color customization
  • Persistence
  • Sound
  • Navigation to Chats
IM/Chats
  • IMs
  • Rooms
  • Create new IMs
  • Create new Rooms
  • Create new multi user IMs
  • Adding Attachments
  • Screen Snippet tool
  • Emojis
  • Chimes
  • Send Requests
  • Search for Users
  • Message Formatting
  • Folders
  • Spell Check*
IM/General Preferences
  • Display Settings
  • Themes
Signals
  • Ensure compatibility
  • Notifications / Badges / Flashing
Applications
  • Ensure compatibility
System Tray
  • Launch on Startup
  • Always on Top
  • Close on Exit
  • Quit
Inbox
  • Ensure compatibility
  • Navigation to chats
  • Sort / Filter
  • Quit
Audio / Video
  • Video / Phone Conferencing
  • Screen Sharing*

(*) Currently not supported

Memory Consumption

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
OSWindows 10
Version8.56.27.75
Image Type32-Bit

Process Memory

Initial Startup (3 windows)100+ 
MessagesOpen/Close (10 Windows)5+ Hrs Running
OpenFin362MB384MB428MB362MB

Release Notes

v1.0.23

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

v1.0.18

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

v0.0.37

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

Roadmap

  • Launch pop out chat windows on Notification Clicks
  • Spell Check Support
  • Support for “Meetings” and Screen Share (coming with OpenFin 9)

Known Issues

  • Content Navigation issues related to iFrames
  • Attachment feature no allowing to select ‘All File Types’
  • Notifications not observing “Color Coded Text” for specific Users

License

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 [email protected] with questions.

https://openfin.co/developer-agreement/ https://openfin.co/licensing/