-
Notifications
You must be signed in to change notification settings - Fork 32
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
Plugin API RFC #23
Plugin API RFC #23
Conversation
Hi @alexandrebodin, It's a nice future update 👍 My first question is about the
Long time ago, I've publish a bug report about documentation of a plugin (generated in If I understand correctly, the It's not possible for now to I will continue to work on plugin's projects and read this RFC with attendance. |
First of all, excellent work! I'm very excited to read this RFC. It's going to be a huge step for the project, the scalability and quality of the ecosystem 👏 Server APII've also some concerns about the Does it mean every time we install a plugin the server has to restart? Admin APIRegisterapp.menu.addSection({
label: { id: 'upload', defaultMessage: 'Upload' },
to: '/upload',
component: Main,
permissions: [],
}); I'm not a huge fan of the app.menu.addSection({
id: 'upload',
defaultLabel: 'Upload',
to: '/upload',
component: Main,
permissions: [],
}); Injection ZonesWhy the injection zones aren't following a programmatic approach but an object one? module.exports = () => {
app.zones.addZone({
id: 'editView',
blocks: [
{ name: 'test', Component: (props) => 'button' },
],
});
}; |
Hi Guys, The RFC is really excellent work. As earlier stated, it would be a huge step forward for the Strapi ecosystem. I think the proposed approach of loading the conflicting plugin under another name is awesome. |
Excellent work! Something like: ./config/server.js:
After installing the Blog plugin and overwriting the default public folder, there should be a complete blog website accessible at root path of the website. |
Hello @sunnysonx
I think that would be out of concern about what strapi is: a headless cms. (It does not aim to serve frontend ui, but only data) |
Hello @stafyniaksacha, this is why I'm talking about plugins - their role is to extend the basic functionality. Currently, Strapi already uses a Public folder, and switching the A good example is WordPress, it was also a blog platform, and nobody was disturbed when woo-commerce extended its functionality by adding a complete e-commerce solution to it and breaking the concern of blog platform. It got more popular after this. |
This pull request has been mentioned on Strapi Community Forum. There might be relevant details there: https://forum.strapi.io/t/new-version-questions-thoughts-v4/4824/1 |
I would suggest using generally understood terms, some suggestions:
Writing technical docs I noticed that people ask questions using generally understood terms, like
Hope this helps. |
I like that this would allow me to write a (addon) plugin that when installed can change another (base) plugin. This sounds very powerful for writing small deviations for different clients. Very nice. I also like that it removes some of the import/loading magic. That really confused me when I started using Strapi. |
There would still be no support for |
Really love that the proposal will enable transpilation for plugins - it will be possible to write them in TypeScript. I'm at the point where I use TS for everything apart from Strapi. |
Fantastic work! I would suggest a standard way to manage plugin information and updates. i.e.: It could be a file (json, yaml, or other), with this information:
I know that a system to update the plugins maybe escapes a little on this phase. But at least know if there is an update, especially when it is a critical one. |
Fantastic work! |
Hey @webdelin, please file a detailed bug report on strapi/strapi, so it can be picked up. |
Plugin API RFC
This PR introduces the Plugin API.
Because of the size of this RFC it lives outside this repository.
You can read it here