rusackas commented on issue #41779: URL: https://github.com/apache/superset/issues/41779#issuecomment-4940996235
Gave the proposal a solid rewrite based on the feedback here, @michael-s-molina and @EnxDev. It's reframed away from the dashboard renderer and onto how we register, resolve, and load built-in extensions in general, with dashboard-specific concerns left to @EnxDev's Dashboard Extensions SIP. A few things that came directly from your comments: code organization is now one package per built-in in the monorepo (the package boundary is what enforces the same-API discipline we ask of third-party authors); the single-vs-per-type question is answered as one shared `DefaultableRegistry` base with typed per-point registries on top; and there's a dedicated resolution-vs-lifecycle section so the SIP standardizes resolution and leaves instantiation to each surface, per @EnxDev's point. I also added a replace-vs-augment distinction (some points let you swap the built-in, others let you add alongside it with a user-facing picker, SQL Lab editors being the case there), and refined the loading story so critical-path built-ins stay statically bundled off the extension loader. Haven't taken it to the dev@ list yet, so any more steering here is welcome first. Thanks again both. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
