Idea #17426
closed
Added by Peter Amstutz almost 4 years ago.
Updated over 3 years ago.
Release relationship:
Auto
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.
Related issues
1 (1 open — 0 closed)
- Description updated (diff)
- Target version changed from 2021-03-17 sprint to 2021-03-03 sprint
- Assigned To set to Peter Amstutz
- Status changed from New to In Progress
- Target version changed from 2021-03-03 sprint to 2021-03-17 sprint
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
- Target version changed from 2021-03-17 sprint to 2021-03-31 sprint
Lucas Di Pentima wrote:
Some comments:
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.
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
- Target version changed from 2021-03-31 sprint to 2021-04-14 sprint
- 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.
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!
- Status changed from In Progress to Resolved
Also available in: Atom
PDF