studio-module-players-configuration-handler
"The Bat"
Information
This package handles player configuration logic for plugins within the players studio module. It is designed to manipulate the player configuration in tandem to the existing player-configuration-model.coffee - this allows us to continuously offload functionality from within the studio module into this project without any loss of functionality.
Currently, only (a subset of) the "first class" plugins within the studio view uses this module. The customer-facing studio CoffeeScript creates a view state object and sends it to the plugin-specific configuration handler. From the view state, the player configuration is modified as needed and sent to Topper Harley.
In order to support working in parallel with the studio's existing player configuration model (which also makes modifications to the preview configuration on Topper Harley), the module exposes the fetch()
method to synchronize any external updates to the configuration and assure this module maintains a clean & fresh internal onfiguration.
Installation / Development
To install:
npm install
To run tests:
npm test
To lint files:
npm run lint
To run code coverage:
npm run coverage
Deployment
Builds are automatically tested through TeamCity and their results are automatically posted onto pending pull requests.
To version this package:
npm version patch #or major or minor
git push --tags origin master
Roadmap
This is the planned API. It is not fully implemented or final.
-
player.initialize
-
player.fetch
-
player.publish
-
player.discard
-
player._oldPublish (delete when no longer needed by old studio)
-
player.save
-
player.deletePlayer
-
player.isPublished
-
player.containsUnpublishedPlugins
-
player.getName
-
player.getDescription
-
player.getId
-
player.getAccountId
-
player.getCreatedAt
-
player.getEmbedCount
-
player.getUrl
-
player.getPublishRequest
-
player.setName
-
player.setDescription
-
player.preview.removeConfigProperty
-
player.preview.applyConfigProperty
-
player.preview.removePlugin
-
player.preview.getVersion
-
player.preview.getVersionAlias
-
player.preview.getConfigProperty
-
player.preview.getPlugin
-
player.preview.getPreviewUrl
-
player.preview.setVersion
-
player.preview.setVersionAlias
-
player.preview.setConfigProperty
-
player.preview.setPlugin
-
player.master.getPlugin
-
player.master.getVersion
-
player.master.getVersionAlias
-
player.master.getConfigProperty
-
player.master.getPreviewUrl