Skip to content
This repository was archived by the owner on Aug 18, 2020. It is now read-only.

Hosting output #51

Closed
sebinside opened this issue Jun 17, 2019 · 2 comments
Closed

Hosting output #51

sebinside opened this issue Jun 17, 2019 · 2 comments
Assignees
Labels
api Requires api changes enhancement New feature or request io Relies on a connector / input / output / parameter major Needs a major platform / framework / build environment rework

Comments

@sebinside
Copy link
Member

sebinside commented Jun 17, 2019

To enable simple web overlays, e.g. for OBS Studio, a HTML overlay output is needed. The communication should be easy through a generated rest interface or websocket. The output should be hosted from the framework web service itself.

@sebinside sebinside added enhancement New feature or request major Needs a major platform / framework / build environment rework io Relies on a connector / input / output / parameter future This issue is not relevant for the current development, but will become important in the future labels Jun 17, 2019
@J0B10 J0B10 added the api Requires api changes label Jun 18, 2019
@sebinside sebinside added this to the alpha 1 milestone Aug 7, 2019
@sebinside sebinside removed the future This issue is not relevant for the current development, but will become important in the future label Aug 7, 2019
@sebinside sebinside self-assigned this Dec 3, 2019
@sebinside
Copy link
Member Author

sebinside commented Dec 3, 2019

Requirements:

  • It shall be possible to create a infinite number of hosting connectors, which are available through their own scope, e.g. http://xyz:2400/content/connectorName/pluginName/abc
  • It shall be possible to host any content, e.g. html websites provided in the plugin resources
  • It shall be possible to provide dynamic content updates through a per-plugin websocket

Approach (framework site):

  • New Servlet registered in ScalatraBootstrap
  • Servlet has access to ConnectorRegistry
  • On http get access to servlet: scanns connectors for hosting connectors, deliver content based on previous plugin regisitrations (see below)
  • Optional speedup: web hosting connectors register / unregister themselves in global server (flow inversion, but breaks clean architecture, probably no good idea)
  • Start websocket for communication of plugin and delivered content

Approach (plugin site):

  • Write plugin logic, define websocket end points / communication in a simplified way
  • Write frontend html file, containing custom code for websocket communication (aided or native)
  • Register ressource in output, register websocket communication in output
  • Http get hosted content

Notes:

  • Naming: Since everything is possible to host, and the usage of (dynamic) html websites is only one possibility, we might call this connector simply "hosting connector"?
  • Approach: This approach would be also suitable for the REST output from REST Input/Output & Http Output #85

@sebinside sebinside changed the title HTML overlay output Hosting output Dec 12, 2019
@sebinside
Copy link
Member Author

Some TODOs:

  • Initial implementation of hosting
  • Websocket communication
  • Linking to one endpoint per plugin, visible on the GUI
  • Code documentation
  • Connector metadata
  • Wiki entry

# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
api Requires api changes enhancement New feature or request io Relies on a connector / input / output / parameter major Needs a major platform / framework / build environment rework
Projects
None yet
Development

No branches or pull requests

2 participants