Code Monkey home page Code Monkey logo

symphony-of's Introduction

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

Contributing

  1. Fork it (https://github.com/HadoukenIO/symphony-of/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Read our contribution guidelines and Community Code of Conduct
  4. Commit your changes (git commit -am 'Add some fooBar')
  5. Push to the branch (git push origin feature/fooBar)
  6. Create a new Pull Request

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.

Copyright 2019 HadoukenIO

Distributed under the Apache License, Version 2.0.

SPDX-License-Identifier: Apache-2.0

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

https://openfin.co/licensing/

symphony-of's People

Contributors

tgoc99 avatar datamadic avatar luiemilio avatar michaelmcoates avatar dcchuck avatar mjosling avatar nicholasdgoodman avatar chuckdoerr avatar robdann avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.