-
-
Notifications
You must be signed in to change notification settings - Fork 398
Description
Following the discussions at #3203, let's open a new RFC for the Symfony UX Bundle!
This is something the UX team has been thinking about privately for a while, but opening a public RFC can only be beneficial (rather than volatile Slack messages or verbal discussions 😇 ).
Similar to the FrameworkBundle, the UX Bundle would allow Symfony UX packages to be automatically configured in a Symfony application.
This would have the following advantages:
- centralizing the configuration of Symfony UX packages,
- pooling certain logic, e.g., “is AssetMapper installed?”, “add this path to AssetMapper,” etc.,
- and reducing the PHP “glue” code to register a Symfony UX package in a Symfony application.
- and more
Steps
Plan for 2.X
I would like the UX Bundle to be available (and optional) for version 2.x.
This way, we could work on BC layers and tell users that directly registering a bundle (e.g., UxTranslatorBundle in bundles.php) is deprecated, as are the associated DependencyInjection/*.php classes.
Instead, we could suggest installing the Symfony UX Bundle.
This will require, for each UX package:
deprecating*Bundle.phpand its associated classes (mainlyConfiguration.php,*Extension.php, etc.)duplicating and adapting theConfigurationin the UXBundle, under the configurationux_bundle.<package>duplicating theconfig/services.phpand renaming themconfig/<package>.php...more?
EDIT: let's skip this for 2.x!
Plan for X.0
For the next major version, we should:
- identify which package can be migrated to "component"
- move
config/*files - migrate and delete
*Bundle.phpand associated DependencyInjection classes - ...more?
Symfony Recipes
All Symfony recipes for Symfony UX will need to be adapted, if possible as soon as UX Bundle is released in 2.x..
Last version of 2.x recipes must be duplicated and adapter to 3.0, e.g.: configuration ux_translator will become becomes ux.translator.
Q&A
Q: What about the StimulusBundle?
Should we adapt the existing the StimulusBundle, or create a new package?
A: ???
Q: When someone installs a dependency in major version X, is the recipe for major version X-1 applied? If not, we will need to duplicate our previous recipes in 3.0.
To investigate.
A: We will duplicate the recipe for UX 3.0.
Q: Did I miss something?
A: Tell me! :D