-
Notifications
You must be signed in to change notification settings - Fork 481
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
Add plugins menu and client plugins #1143
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few pointers before we close this one out:
- ES6 migration -> due to the fact that you migrated a lot of stuff in the app as part of this PR it is super hard to understand what it is about
Ensure backwards compatibility
: How is this reated to the feature you're implementing? What is it about? I have no idea looking at both your comment + linked commit and the code
Is it possible to split up the actual feature from the ES 6 refactoring and other (possibly unrelated) changes?
I could seperate the ES6 refactoring, yes. As for the backwards compatibility, we've renamed/removed a couple of properties from the state that is passed to the backend. Any menu plugins that were built using a property that isn't there anymore would break (e.g. |
00fa6ec
to
c60cd66
Compare
Some plug-ins we should test for support: Utilities we need to support (plug-ins build upon these):
Regarding ensuring compatibility:
Error Handling:
|
Reduced Palette does not work, but it seems to fail calling bpmn-js internal stuff. Camunda Modeler Plugin - UserTask Generated Form Preview and Embedded Form Generator has some css issue, but anyway it works. Token Simulation for the Camunda Modeler stopped to work. We get the following exception:
|
Token Simulation for the Camunda Modeler is fixed in |
I just pushed a rewritten test suite for client side plugins implementation. Previously, we would mock the internal methods what made them uncovered during the tests. |
These two helpers cause problems at the moment: They are not included in any of the tested plugins. However, we documented them in the helpers repository. Thus, they are part of the public API and we can expect incompatibility problems if we remove them. I'm going to add window helpers which will use our plugin protocol instead of the real path. |
8078d85
to
e5c086f
Compare
Regarding your previous comment we should consider whether the current public API makes sense.
Because of that we could consider it safe to remove it. |
Cool. I agree with you. We should remember, though, to remove it also from the example plugin: https://github.com/camunda/camunda-modeler-plugin-example/blob/master/client/module.js#L11 |
It appeared that unnamed moddle extensions cause a failure of |
Let's sync tomorrow and wrap up this topic. |
We also might want to handle somehow errors thrown in menu actions. Now it's just the Electron displaying uncaught exception in the main process. I pushed a WIP commit with partial fix to that. |
I created a plugin to test the extension points: https://github.com/barmac/camunda-modeler-test-plugin. Tomorrow we can also add it to dev mode of Camunda Modeler. |
They will return and use arrays and objects for easier traversing within tests.
Previously, it had to be a function even for menu items which are intended to be always enabled.
Previously, an unnamed moddle extension caused the component to fail during construction.
beea666
to
9fdc702
Compare
Just found a bug that we sometimes add error label twice. I'm gonna fix it today. |
@nikku I think it's ready to merge. |
Window#getModelerDirectory * removed without replacement Window#getPluginsDirectory * deprecated; users should use app-plugins:// prefixed urls instead
I'll fix the Windows path problem. |
e8895e8
to
b426e64
Compare
Sanitize asset paths to prevent directory traversal.
Closes #1083