Idea #17426
closedSupport plug-ins
Description
Design a plug-in scheme for workbench 2 whereby user extensions can be incorporated (probably compiled in).
Customization points¶
- Add entries to the left hand tree to load custom panel; hide default entries
- Add item to "NEW+"; hide existing items on NEW+
- Add entries to user menu; hide existing entries from user menu
Plug-in initialization allows adding to a list of plug-in routes and dialogs. WorkbenchPanel dynamic list of routes & dialogs.
Updated by Peter Amstutz almost 4 years ago
- Related to Idea #16782: Add-on module system added
Updated by Peter Amstutz almost 4 years ago
- Target version changed from 2021-03-17 sprint to 2021-03-03 sprint
Updated by Peter Amstutz almost 4 years ago
- Assigned To set to Peter Amstutz
- Status changed from New to In Progress
Updated by Peter Amstutz almost 4 years ago
- Target version changed from 2021-03-03 sprint to 2021-03-17 sprint
Updated by Lucas Di Pentima almost 4 years ago
Some comments:
- Unit test are failing
- I wonder how we can make plugins writers' life easier by not needing to attach their code to wb2's code tree?
- Looking for react apps plugin patterns I got to an article that made a good point: adding 3rd party code potentially exposes the whole app to plugin errors that make the entire app crash. I've found this that may be useful: https://reactjs.org/docs/error-boundaries.html#introducing-error-boundaries
Updated by Peter Amstutz almost 4 years ago
- Target version changed from 2021-03-17 sprint to 2021-03-31 sprint
Updated by Peter Amstutz over 3 years ago
Lucas Di Pentima wrote:
Some comments:
- Unit test are failing
They are passing for me, test run here:
developer-tests-workbench2: #359
- I wonder how we can make plugins writers' life easier by not needing to attach their code to wb2's code tree?
The intended way to do it is now "write it in another repo, check it out under src/plugins".
It seems like it could theoretically discover them without modifying the "plugins.tsx" file but that would involve digging deep into webpack.
- Looking for react apps plugin patterns I got to an article that made a good point: adding 3rd party code potentially exposes the whole app to plugin errors that make the entire app crash. I've found this that may be useful: https://reactjs.org/docs/error-boundaries.html#introducing-error-boundaries
I think this is not much different from isolating errors in our own code (which wb2 doesn't do very well). That sounds like it is worth doing but I don't know if it should be a blocker for this branch.
17426-plug-ins @ 370d78f65bca409aa1a295d94a96436959b568ae
Updated by Peter Amstutz over 3 years ago
- Target version changed from 2021-03-31 sprint to 2021-04-14 sprint
Updated by Lucas Di Pentima over 3 years ago
- File
src/plugins/README.md
- Line 56: there's an incomplete sentence. - As a final comment: I think it would be nice to have a way to ensure in some degree that we're not breaking plugin compatibility without knowing. Not sure if it's a project on its own, though.
Other than that, it LGTM.
Updated by Peter Amstutz over 3 years ago
Lucas Di Pentima wrote:
- File
src/plugins/README.md
- Line 56: there's an incomplete sentence.
Yea, I was distracted and didn't finish writing it. Fixed.
- As a final comment: I think it would be nice to have a way to ensure in some degree that we're not breaking plugin compatibility without knowing. Not sure if it's a project on its own, though.
I think that if we have more than a few of these, it will be worth setting up integration test infrastructure specifically for the plugins (something that enables a plugin and runs tests for that specific plugin). We're not quite there yet.
Other than that, it LGTM.
Ok! Merged!
Updated by Peter Amstutz over 3 years ago
- Status changed from In Progress to Resolved