You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the feature
Currently the only way to distribute newer versions of a module to users is for the companion team to release a new version of everything. This has not been happening as often as I would like, as shown by the many users on old versions asking for already implemented device functionality.
It would be much nicer for modules to be distributed via a modules 'store'/registry. This would essentially mean that from within companion users could search for and install or upgrade device integrations. It would allow for much quicker development of modules to being deployed to users, and reduce some of the pressure and need to do frequent releases of the core code.
I expect that there will still want to be the same review process that modules go through before they are available on the store.
This will require a more formal and documented api for the modules, perhaps with some method of versioning (base classes & typescript definitions should live as an npm package).
This will require some updates to every module
Some thought will be needed on how to make native dependencies work properly.
A default set of common modules will want to be included in the default install
A way of downloading in a browser and installing from a file would be required (for offline machines, or private modules)
This would negate the need for Support for modules with build step #837, as that would be contained within each module repo and done as part of the publish script
Being able to hot reload modules for updates would really make this great to work with
Some thought is needed on how to develop modules and load them into the system (I have some ideas)
Ideally I would like for the streamdeck to be done in the same way (via a different module type/api) to allow for other hardware devices to be used, and to support newly released hardware much quicker, but that could be a separate task to this.
Is this platform dependent (windows, mac, ..)?
No
Usecases
Add a couple of usecases for why this should be implemented and when/why to use it.
The text was updated successfully, but these errors were encountered:
Groundwork for this has been done in https://github.com/bitfocus/companion/tree/develop
In Companion 3.0 it will be possible to both add in modules to an existing companion installation and develop modules against the release builds of companion.
However, it does require converting modules to a new module-api
More documentation will follow when we get closer to it being released. There will not be a push to update modules to the new api until we are very close to release, and it wont be required to be used until a later release of companion
In a future release we can look at how to distribute modules, to address the other points in this list
Something for v3
Describe the feature
Currently the only way to distribute newer versions of a module to users is for the companion team to release a new version of everything. This has not been happening as often as I would like, as shown by the many users on old versions asking for already implemented device functionality.
It would be much nicer for modules to be distributed via a modules 'store'/registry. This would essentially mean that from within companion users could search for and install or upgrade device integrations. It would allow for much quicker development of modules to being deployed to users, and reduce some of the pressure and need to do frequent releases of the core code.
This will require a more formal and documented api for the modules, perhaps with some method of versioning (base classes & typescript definitions should live as an npm package).This will require some updates to every moduleSome thought will be needed on how to make native dependencies work properly.This would negate the need for Support for modules with build step #837, as that would be contained within each module repo and done as part of the publish scriptBeing able to hot reload modules for updates would really make this great to work withSome thought is needed on how to develop modules and load them into the system (I have some ideas)Ideally I would like for the streamdeck to be done in the same way (via a different module type/api) to allow for other hardware devices to be used, and to support newly released hardware much quicker, but that could be a separate task to this.
Is this platform dependent (windows, mac, ..)?
No
Usecases
Add a couple of usecases for why this should be implemented and when/why to use it.
The text was updated successfully, but these errors were encountered: