Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Dynamic Plugins #39

Open
wants to merge 14 commits into
base: master
Choose a base branch
from
Open

Feature: Dynamic Plugins #39

wants to merge 14 commits into from

Conversation

martinheidegger
Copy link
Contributor

This PR adds support for dynamic plugins to mycloud and removes in-house-plugins that should be loaded dynamically.

Documentation on the setup and development process of dynamic plugins can be found in the documentation.

Closes #37

@martinheidegger martinheidegger added enhancement plugin related to the plugin mechanism labels Apr 29, 2022
when running npm install against the packages, these missing definitions got added automatically.
To use a remote docker instance I am using SyncThing to get the binary packages pre-compiled for linux. The .stfolder should stay with the repo in order to avoid Syncthing to break.
This includes documentation in ./docs/plugins.md on the way the plugins work.

Note:
I am not happy about this implementation. It is done in order to have a working system but down-the-line I am reasonably certain that this will cause issues.

Currently the dynamic plugins are processed basically separately from the regular plugins and that makes a lot of things difficult. The, imo, correct alternative
to this implementation is a complex refactoring that loads all plugins using the same system. However, that may have a performance impact if done poorly.

Due to time-constraints I am going with this code that contains code duplication. I am sorry - orz.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement plugin related to the plugin mechanism
Projects
None yet
Development

Successfully merging this pull request may close these issues.

dynamic loading of mycloud plugins
1 participant